java.lang.Object
software.amazon.jsii.JsiiObject
software.amazon.awscdk.Mixin
software.amazon.awscdk.cfnpropertymixins.services.route53recoverycontrol.CfnSafetyRulePropsMixin
All Implemented Interfaces:
software.amazon.jsii.JsiiSerializable, software.constructs.IMixin

@Generated(value="jsii-pacmak/1.127.0 (build 2117ad5)", date="2026-04-14T18:32:18.475Z") @Stability(Stable) public class CfnSafetyRulePropsMixin extends Mixin implements software.constructs.IMixin
Creates a safety rule in a control panel in Amazon Route 53 Application Recovery Controller.

Safety rules in Amazon Route 53 Application Recovery Controller let you add safeguards around changing routing control states, and enabling and disabling routing controls, to help prevent unwanted outcomes. Note that the name of a safety rule must be unique within a control panel.

There are two types of safety rules in Route 53 ARC: assertion rules and gating rules.

Assertion rule: An assertion rule enforces that, when you change a routing control state, certain criteria are met. For example, the criteria might be that at least one routing control state is On after the transaction completes so that traffic continues to be directed to at least one cell for the application. This prevents a fail-open scenario.

Gating rule: A gating rule lets you configure a gating routing control as an overall on-off switch for a group of routing controls. Or, you can configure more complex gating scenarios, for example, by configuring multiple gating routing controls.

For more information, see Safety rules in the Amazon Route 53 Application Recovery Controller Developer Guide.

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.cfnpropertymixins.services.route53recoverycontrol.*;
 import software.amazon.awscdk.*;
 IMergeStrategy mergeStrategy;
 CfnSafetyRulePropsMixin cfnSafetyRulePropsMixin = CfnSafetyRulePropsMixin.Builder.create(CfnSafetyRuleMixinProps.builder()
         .assertionRule(AssertionRuleProperty.builder()
                 .assertedControls(List.of("assertedControls"))
                 .waitPeriodMs(123)
                 .build())
         .controlPanelArn("controlPanelArn")
         .gatingRule(GatingRuleProperty.builder()
                 .gatingControls(List.of("gatingControls"))
                 .targetControls(List.of("targetControls"))
                 .waitPeriodMs(123)
                 .build())
         .name("name")
         .ruleConfig(RuleConfigProperty.builder()
                 .inverted(false)
                 .threshold(123)
                 .type("type")
                 .build())
         .tags(List.of(CfnTag.builder()
                 .key("key")
                 .value("value")
                 .build()))
         .build())
 .strategy(mergeStrategy)
 .build();
 

See Also:
  • Field Details

    • CFN_PROPERTY_KEYS

      @Stability(Stable) protected static final List<String> CFN_PROPERTY_KEYS
  • Constructor Details

    • CfnSafetyRulePropsMixin

      protected CfnSafetyRulePropsMixin(software.amazon.jsii.JsiiObjectRef objRef)
    • CfnSafetyRulePropsMixin

      protected CfnSafetyRulePropsMixin(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • CfnSafetyRulePropsMixin

      @Stability(Stable) public CfnSafetyRulePropsMixin(@NotNull CfnSafetyRuleMixinProps props, @Nullable CfnPropertyMixinOptions options)
      Create a mixin to apply properties to AWS::Route53RecoveryControl::SafetyRule.

      Parameters:
      props - L1 properties to apply. This parameter is required.
      options - Mixin options.
    • CfnSafetyRulePropsMixin

      @Stability(Stable) public CfnSafetyRulePropsMixin(@NotNull CfnSafetyRuleMixinProps props)
      Create a mixin to apply properties to AWS::Route53RecoveryControl::SafetyRule.

      Parameters:
      props - L1 properties to apply. This parameter is required.
  • Method Details

    • applyTo

      @Stability(Stable) public void applyTo(@NotNull software.constructs.IConstruct construct)
      Apply the mixin properties to the construct.

      Specified by:
      applyTo in interface software.constructs.IMixin
      Specified by:
      applyTo in class Mixin
      Parameters:
      construct - This parameter is required.
    • supports

      @Stability(Stable) @NotNull public Boolean supports(@NotNull software.constructs.IConstruct construct)
      Check if this mixin supports the given construct.

      Specified by:
      supports in interface software.constructs.IMixin
      Overrides:
      supports in class Mixin
      Parameters:
      construct - This parameter is required.
    • getProps

      @Stability(Stable) @NotNull protected CfnSafetyRuleMixinProps getProps()
    • getStrategy

      @Stability(Stable) @NotNull protected IMergeStrategy getStrategy()