Class: AWSCDK::Route53RecoveryControl::CfnSafetyRuleProps
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::Route53RecoveryControl::CfnSafetyRuleProps
- Defined in:
- route53_recovery_control/cfn_safety_rule_props.rb
Overview
Properties for defining a CfnSafetyRule.
Instance Attribute Summary collapse
-
#assertion_rule ⇒ AWSCDK::IResolvable, ...
readonly
An assertion rule enforces that, when you change a routing control state, that the criteria that you set in the rule configuration is met.
-
#control_panel_arn ⇒ String, AWSCDK::Interfaces::AWSRoute53Recoverycontrol::IControlPanelRef
readonly
The Amazon Resource Name (ARN) of the control panel.
-
#gating_rule ⇒ AWSCDK::IResolvable, ...
readonly
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.
-
#name ⇒ String
readonly
The name of the assertion rule.
-
#rule_config ⇒ AWSCDK::IResolvable, AWSCDK::Route53RecoveryControl::CfnSafetyRule::RuleConfigProperty
readonly
The criteria that you set for specific assertion controls (routing controls) that designate how many control states must be
ONas the result of a transaction. -
#tags ⇒ Array<AWSCDK::CfnTag>?
readonly
The tags associated with the safety rule.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(control_panel_arn:, name:, rule_config:, assertion_rule: nil, gating_rule: nil, tags: nil) ⇒ CfnSafetyRuleProps
constructor
A new instance of CfnSafetyRuleProps.
- #to_jsii ⇒ Object
Constructor Details
#initialize(control_panel_arn:, name:, rule_config:, assertion_rule: nil, gating_rule: nil, tags: nil) ⇒ CfnSafetyRuleProps
Returns a new instance of CfnSafetyRuleProps.
15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'route53_recovery_control/cfn_safety_rule_props.rb', line 15 def initialize(control_panel_arn:, name:, rule_config:, assertion_rule: nil, gating_rule: nil, tags: nil) @control_panel_arn = control_panel_arn Jsii::Type.check_type(@control_panel_arn, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19yb3V0ZTUzcmVjb3Zlcnljb250cm9sLklDb250cm9sUGFuZWxSZWYifV19fQ==")), "controlPanelArn") @name = name Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name") @rule_config = rule_config.is_a?(Hash) ? ::AWSCDK::Route53RecoveryControl::CfnSafetyRule::RuleConfigProperty.new(**rule_config.transform_keys(&:to_sym)) : rule_config Jsii::Type.check_type(@rule_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19yb3V0ZTUzcmVjb3Zlcnljb250cm9sLkNmblNhZmV0eVJ1bGUuUnVsZUNvbmZpZ1Byb3BlcnR5In1dfX0=")), "ruleConfig") @assertion_rule = assertion_rule.is_a?(Hash) ? ::AWSCDK::Route53RecoveryControl::CfnSafetyRule::AssertionRuleProperty.new(**assertion_rule.transform_keys(&:to_sym)) : assertion_rule Jsii::Type.check_type(@assertion_rule, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19yb3V0ZTUzcmVjb3Zlcnljb250cm9sLkNmblNhZmV0eVJ1bGUuQXNzZXJ0aW9uUnVsZVByb3BlcnR5In1dfX0=")), "assertionRule") unless @assertion_rule.nil? @gating_rule = gating_rule.is_a?(Hash) ? ::AWSCDK::Route53RecoveryControl::CfnSafetyRule::GatingRuleProperty.new(**gating_rule.transform_keys(&:to_sym)) : gating_rule Jsii::Type.check_type(@gating_rule, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19yb3V0ZTUzcmVjb3Zlcnljb250cm9sLkNmblNhZmV0eVJ1bGUuR2F0aW5nUnVsZVByb3BlcnR5In1dfX0=")), "gatingRule") unless @gating_rule.nil? @tags = .is_a?(Array) ? .map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil? end |
Instance Attribute Details
#assertion_rule ⇒ AWSCDK::IResolvable, ... (readonly)
An assertion rule enforces that, when you change a routing control state, that the criteria that you set in the rule configuration is met.
Otherwise, the change to the routing control is not accepted. For example, the criteria might be that at least one routing control state is On after the transaction so that traffic continues to flow to at least one cell for the application. This ensures that you avoid a fail-open scenario.
55 56 57 |
# File 'route53_recovery_control/cfn_safety_rule_props.rb', line 55 def assertion_rule @assertion_rule end |
#control_panel_arn ⇒ String, AWSCDK::Interfaces::AWSRoute53Recoverycontrol::IControlPanelRef (readonly)
The Amazon Resource Name (ARN) of the control panel.
34 35 36 |
# File 'route53_recovery_control/cfn_safety_rule_props.rb', line 34 def control_panel_arn @control_panel_arn end |
#gating_rule ⇒ AWSCDK::IResolvable, ... (readonly)
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.
62 63 64 |
# File 'route53_recovery_control/cfn_safety_rule_props.rb', line 62 def gating_rule @gating_rule end |
#name ⇒ String (readonly)
The name of the assertion rule.
The name must be unique within a control panel. You can use any non-white space character in the name except the following: & > < ' (single quote) " (double quote) ; (semicolon)
41 42 43 |
# File 'route53_recovery_control/cfn_safety_rule_props.rb', line 41 def name @name end |
#rule_config ⇒ AWSCDK::IResolvable, AWSCDK::Route53RecoveryControl::CfnSafetyRule::RuleConfigProperty (readonly)
The criteria that you set for specific assertion controls (routing controls) that designate how many control states must be ON as the result of a transaction.
For example, if you have three assertion controls, you might specify ATLEAST 2 for your rule configuration. This means that at least two assertion controls must be ON , so that at least two AWS Regions have traffic flowing to them.
48 49 50 |
# File 'route53_recovery_control/cfn_safety_rule_props.rb', line 48 def rule_config @rule_config end |
#tags ⇒ Array<AWSCDK::CfnTag>? (readonly)
The tags associated with the safety rule.
67 68 69 |
# File 'route53_recovery_control/cfn_safety_rule_props.rb', line 67 def @tags end |
Class Method Details
.jsii_properties ⇒ Object
69 70 71 72 73 74 75 76 77 78 |
# File 'route53_recovery_control/cfn_safety_rule_props.rb', line 69 def self.jsii_properties { :control_panel_arn => "controlPanelArn", :name => "name", :rule_config => "ruleConfig", :assertion_rule => "assertionRule", :gating_rule => "gatingRule", :tags => "tags", } end |
Instance Method Details
#to_jsii ⇒ Object
80 81 82 83 84 85 86 87 88 89 90 91 |
# File 'route53_recovery_control/cfn_safety_rule_props.rb', line 80 def to_jsii result = {} result.merge!({ "controlPanelArn" => @control_panel_arn, "name" => @name, "ruleConfig" => @rule_config, "assertionRule" => @assertion_rule, "gatingRule" => @gating_rule, "tags" => @tags, }) result.compact end |