Class: AWSCDK::ARCRegionSwitch::CfnPlan::ArcRoutingControlConfigurationProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
arc_region_switch/cfn_plan.rb

Overview

Configuration for ARC routing controls used in a Region switch plan.

Routing controls are simple on/off switches that you can use to shift traffic away from an impaired Region.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(region_and_routing_controls:, cross_account_role: nil, external_id: nil, timeout_minutes: nil) ⇒ ArcRoutingControlConfigurationProperty

Returns a new instance of ArcRoutingControlConfigurationProperty.

Parameters:



699
700
701
702
703
704
705
706
707
708
# File 'arc_region_switch/cfn_plan.rb', line 699

def initialize(region_and_routing_controls:, cross_account_role: nil, external_id: nil, timeout_minutes: nil)
  @region_and_routing_controls = region_and_routing_controls
  Jsii::Type.check_type(@region_and_routing_controls, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InVuaW9uIjp7InR5cGVzIjpbeyJmcW4iOiJhd3MtY2RrLWxpYi5JUmVzb2x2YWJsZSJ9LHsiZnFuIjoiYXdzLWNkay1saWIuYXdzX2FyY3JlZ2lvbnN3aXRjaC5DZm5QbGFuLkFyY1JvdXRpbmdDb250cm9sU3RhdGVQcm9wZXJ0eSJ9XX19LCJraW5kIjoiYXJyYXkifX1dfX0sImtpbmQiOiJtYXAifX1dfX0=")), "regionAndRoutingControls")
  @cross_account_role = 
  Jsii::Type.check_type(@cross_account_role, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "crossAccountRole") unless @cross_account_role.nil?
  @external_id = external_id
  Jsii::Type.check_type(@external_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "externalId") unless @external_id.nil?
  @timeout_minutes = timeout_minutes
  Jsii::Type.check_type(@timeout_minutes, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "timeoutMinutes") unless @timeout_minutes.nil?
end

Instance Attribute Details

#cross_account_roleString? (readonly)

The cross account role for the configuration.



719
720
721
# File 'arc_region_switch/cfn_plan.rb', line 719

def 
  @cross_account_role
end

#external_idString? (readonly)

The external ID (secret key) for the configuration.



724
725
726
# File 'arc_region_switch/cfn_plan.rb', line 724

def external_id
  @external_id
end

#region_and_routing_controlsAWSCDK::IResolvable, Hash{String => AWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::ARCRegionSwitch::CfnPlan::ArcRoutingControlStateProperty>} (readonly)

The Region and ARC routing controls for the configuration.



714
715
716
# File 'arc_region_switch/cfn_plan.rb', line 714

def region_and_routing_controls
  @region_and_routing_controls
end

#timeout_minutesNumeric? (readonly)

Note:

Default: - 60

The timeout value specified for the configuration.



730
731
732
# File 'arc_region_switch/cfn_plan.rb', line 730

def timeout_minutes
  @timeout_minutes
end

Class Method Details

.jsii_propertiesObject



732
733
734
735
736
737
738
739
# File 'arc_region_switch/cfn_plan.rb', line 732

def self.jsii_properties
  {
    :region_and_routing_controls => "regionAndRoutingControls",
    :cross_account_role => "crossAccountRole",
    :external_id => "externalId",
    :timeout_minutes => "timeoutMinutes",
  }
end

Instance Method Details

#to_jsiiObject



741
742
743
744
745
746
747
748
749
750
# File 'arc_region_switch/cfn_plan.rb', line 741

def to_jsii
  result = {}
  result.merge!({
    "regionAndRoutingControls" => @region_and_routing_controls,
    "crossAccountRole" => @cross_account_role,
    "externalId" => @external_id,
    "timeoutMinutes" => @timeout_minutes,
  })
  result.compact
end