Class: AWSCDK::Route53RecoveryControl::CfnSafetyRule::GatingRuleProperty
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::Route53RecoveryControl::CfnSafetyRule::GatingRuleProperty
- Defined in:
- route53_recovery_control/cfn_safety_rule.rb
Overview
A gating rule verifies that a gating routing control or set of gating routing controls, evaluates as true, based on a rule configuration that you specify, which allows a set of routing control state changes to complete.
For example, if you specify one gating routing control and you set the Type in the rule configuration to OR , that indicates that you must set the gating routing control to On for the rule to evaluate as true; that is, for the gating control switch to be On. When you do that, then you can update the routing control states for the target routing controls that you specify in the gating rule.
Instance Attribute Summary collapse
-
#gating_controls ⇒ Array<String>
readonly
An array of gating routing control Amazon Resource Names (ARNs).
-
#target_controls ⇒ Array<String>
readonly
An array of target routing control Amazon Resource Names (ARNs) for which the states can only be updated if the rule configuration that you specify evaluates to true for the gating routing control.
-
#wait_period_ms ⇒ Numeric
readonly
An evaluation period, in milliseconds (ms), during which any request against the target routing controls will fail.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(gating_controls:, target_controls:, wait_period_ms:) ⇒ GatingRuleProperty
constructor
A new instance of GatingRuleProperty.
- #to_jsii ⇒ Object
Constructor Details
#initialize(gating_controls:, target_controls:, wait_period_ms:) ⇒ GatingRuleProperty
Returns a new instance of GatingRuleProperty.
658 659 660 661 662 663 664 665 |
# File 'route53_recovery_control/cfn_safety_rule.rb', line 658 def initialize(gating_controls:, target_controls:, wait_period_ms:) @gating_controls = gating_controls Jsii::Type.check_type(@gating_controls, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "gatingControls") @target_controls = target_controls Jsii::Type.check_type(@target_controls, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "targetControls") @wait_period_ms = wait_period_ms Jsii::Type.check_type(@wait_period_ms, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "waitPeriodMs") end |
Instance Attribute Details
#gating_controls ⇒ Array<String> (readonly)
An array of gating routing control Amazon Resource Names (ARNs).
For a simple on-off switch, specify the ARN for one routing control. The gating routing controls are evaluated by the rule configuration that you specify to determine if the target routing control states can be changed.
673 674 675 |
# File 'route53_recovery_control/cfn_safety_rule.rb', line 673 def gating_controls @gating_controls end |
#target_controls ⇒ Array<String> (readonly)
An array of target routing control Amazon Resource Names (ARNs) for which the states can only be updated if the rule configuration that you specify evaluates to true for the gating routing control.
As a simple example, if you have a single gating control, it acts as an overall on-off switch for a set of target routing controls. You can use this to manually override automated failover, for example.
680 681 682 |
# File 'route53_recovery_control/cfn_safety_rule.rb', line 680 def target_controls @target_controls end |
#wait_period_ms ⇒ Numeric (readonly)
An evaluation period, in milliseconds (ms), during which any request against the target routing controls will fail.
This helps prevent flapping of state. The wait period is 5000 ms by default, but you can choose a custom value.
687 688 689 |
# File 'route53_recovery_control/cfn_safety_rule.rb', line 687 def wait_period_ms @wait_period_ms end |
Class Method Details
.jsii_properties ⇒ Object
689 690 691 692 693 694 695 |
# File 'route53_recovery_control/cfn_safety_rule.rb', line 689 def self.jsii_properties { :gating_controls => "gatingControls", :target_controls => "targetControls", :wait_period_ms => "waitPeriodMs", } end |
Instance Method Details
#to_jsii ⇒ Object
697 698 699 700 701 702 703 704 705 |
# File 'route53_recovery_control/cfn_safety_rule.rb', line 697 def to_jsii result = {} result.merge!({ "gatingControls" => @gating_controls, "targetControls" => @target_controls, "waitPeriodMs" => @wait_period_ms, }) result.compact end |