Class: AWSCDK::CodeDeploy::TrafficRouting

Inherits:
Jsii::Object
  • Object
show all
Defined in:
code_deploy/traffic_routing.rb

Overview

Represents how traffic is shifted during a CodeDeploy deployment.

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeTrafficRouting

Returns a new instance of TrafficRouting.



8
9
10
# File 'code_deploy/traffic_routing.rb', line 8

def initialize
  Jsii::Object.instance_method(:initialize).bind(self).call
end

Class Method Details

.all_at_onceAWSCDK::CodeDeploy::TrafficRouting

Shifts 100% of traffic in a single shift.

Returns:

  • (AWSCDK::CodeDeploy::TrafficRouting)


21
22
23
# File 'code_deploy/traffic_routing.rb', line 21

def self.all_at_once()
  Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_codedeploy.TrafficRouting", "allAtOnce", [])
end

.jsii_overridable_methodsObject



12
13
14
15
16
# File 'code_deploy/traffic_routing.rb', line 12

def self.jsii_overridable_methods
  {
    :bind => { kind: :method, name: "bind", is_optional: false },
  }
end

.time_based_canary(props) ⇒ AWSCDK::CodeDeploy::TrafficRouting

Shifts a specified percentage of traffic, waits for a specified amount of time, then shifts the rest of traffic.

Parameters:

Returns:

  • (AWSCDK::CodeDeploy::TrafficRouting)


29
30
31
32
33
# File 'code_deploy/traffic_routing.rb', line 29

def self.time_based_canary(props)
  props = props.is_a?(Hash) ? ::AWSCDK::CodeDeploy::TimeBasedCanaryTrafficRoutingProps.new(**props.transform_keys(&:to_sym)) : props
  Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY29kZWRlcGxveS5UaW1lQmFzZWRDYW5hcnlUcmFmZmljUm91dGluZ1Byb3BzIn0=")), "props")
  Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_codedeploy.TrafficRouting", "timeBasedCanary", [props])
end

.time_based_linear(props) ⇒ AWSCDK::CodeDeploy::TrafficRouting

Keeps shifting a specified percentage of traffic until reaching 100%, waiting for a specified amount of time in between each traffic shift.

Parameters:

Returns:

  • (AWSCDK::CodeDeploy::TrafficRouting)


39
40
41
42
43
# File 'code_deploy/traffic_routing.rb', line 39

def self.time_based_linear(props)
  props = props.is_a?(Hash) ? ::AWSCDK::CodeDeploy::TimeBasedLinearTrafficRoutingProps.new(**props.transform_keys(&:to_sym)) : props
  Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY29kZWRlcGxveS5UaW1lQmFzZWRMaW5lYXJUcmFmZmljUm91dGluZ1Byb3BzIn0=")), "props")
  Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_codedeploy.TrafficRouting", "timeBasedLinear", [props])
end

Instance Method Details

#bind(scope) ⇒ AWSCDK::CodeDeploy::TrafficRoutingConfig

Returns the traffic routing configuration.

Parameters:

  • scope (Constructs::Construct)

Returns:



49
50
51
52
# File 'code_deploy/traffic_routing.rb', line 49

def bind(scope)
  Jsii::Type.check_type(scope, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJjb25zdHJ1Y3RzLkNvbnN0cnVjdCJ9")), "scope")
  jsii_call_method("bind", [scope])
end