Class: AWSCDK::CfnTrafficRoutingConfig

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
cfn_traffic_routing_config.rb

Overview

Traffic routing configuration settings.

The type of the CfnCodeDeployBlueGreenHookProps.trafficRoutingConfig property.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(type:, time_based_canary: nil, time_based_linear: nil) ⇒ CfnTrafficRoutingConfig

Returns a new instance of CfnTrafficRoutingConfig.

Parameters:



12
13
14
15
16
17
18
19
# File 'cfn_traffic_routing_config.rb', line 12

def initialize(type:, time_based_canary: nil, time_based_linear: nil)
  @type = type
  Jsii::Type.check_type(@type, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5DZm5UcmFmZmljUm91dGluZ1R5cGUifQ==")), "type")
  @time_based_canary = time_based_canary.is_a?(Hash) ? ::AWSCDK::CfnTrafficRoutingTimeBasedCanary.new(**time_based_canary.transform_keys(&:to_sym)) : time_based_canary
  Jsii::Type.check_type(@time_based_canary, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5DZm5UcmFmZmljUm91dGluZ1RpbWVCYXNlZENhbmFyeSJ9")), "timeBasedCanary") unless @time_based_canary.nil?
  @time_based_linear = time_based_linear.is_a?(Hash) ? ::AWSCDK::CfnTrafficRoutingTimeBasedLinear.new(**time_based_linear.transform_keys(&:to_sym)) : time_based_linear
  Jsii::Type.check_type(@time_based_linear, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5DZm5UcmFmZmljUm91dGluZ1RpbWVCYXNlZExpbmVhciJ9")), "timeBasedLinear") unless @time_based_linear.nil?
end

Instance Attribute Details

#time_based_canaryAWSCDK::CfnTrafficRoutingTimeBasedCanary? (readonly)

Note:

Default: - none

The configuration for traffic routing when type is CfnTrafficRoutingType.TIME_BASED_CANARY.



29
30
31
# File 'cfn_traffic_routing_config.rb', line 29

def time_based_canary
  @time_based_canary
end

#time_based_linearAWSCDK::CfnTrafficRoutingTimeBasedLinear? (readonly)

Note:

Default: - none

The configuration for traffic routing when type is CfnTrafficRoutingType.TIME_BASED_LINEAR.



34
35
36
# File 'cfn_traffic_routing_config.rb', line 34

def time_based_linear
  @time_based_linear
end

#typeAWSCDK::CfnTrafficRoutingType (readonly)

The type of traffic shifting used by the blue-green deployment configuration.



24
25
26
# File 'cfn_traffic_routing_config.rb', line 24

def type
  @type
end

Class Method Details

.jsii_propertiesObject



36
37
38
39
40
41
42
# File 'cfn_traffic_routing_config.rb', line 36

def self.jsii_properties
  {
    :type => "type",
    :time_based_canary => "timeBasedCanary",
    :time_based_linear => "timeBasedLinear",
  }
end

Instance Method Details

#to_jsiiObject



44
45
46
47
48
49
50
51
52
# File 'cfn_traffic_routing_config.rb', line 44

def to_jsii
  result = {}
  result.merge!({
    "type" => @type,
    "timeBasedCanary" => @time_based_canary,
    "timeBasedLinear" => @time_based_linear,
  })
  result.compact
end