@Generated(value="jsii-pacmak/1.67.0 (build 2c027f5)", date="2022-09-19T20:26:41.689Z") @Stability(value=Stable) public class CfnSafetyRule extends CfnResource implements IInspectable
List the safety rules (the assertion rules and gating rules) that you've defined for the routing controls in a control panel.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import software.amazon.awscdk.services.route53recoverycontrol.*;
CfnSafetyRule cfnSafetyRule = CfnSafetyRule.Builder.create(this, "MyCfnSafetyRule")
.controlPanelArn("controlPanelArn")
.name("name")
.ruleConfig(RuleConfigProperty.builder()
.inverted(false)
.threshold(123)
.type("type")
.build())
// the properties below are optional
.assertionRule(AssertionRuleProperty.builder()
.assertedControls(List.of("assertedControls"))
.waitPeriodMs(123)
.build())
.gatingRule(GatingRuleProperty.builder()
.gatingControls(List.of("gatingControls"))
.targetControls(List.of("targetControls"))
.waitPeriodMs(123)
.build())
.tags(List.of(CfnTag.builder()
.key("key")
.value("value")
.build()))
.build();
| Modifier and Type | Class and Description |
|---|---|
static interface |
CfnSafetyRule.AssertionRuleProperty
An assertion rule enforces that, when you change a routing control state, that the criteria that you set in the rule configuration is met.
|
static class |
CfnSafetyRule.Builder
A fluent builder for
CfnSafetyRule. |
static interface |
CfnSafetyRule.GatingRuleProperty
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.
|
static interface |
CfnSafetyRule.RuleConfigProperty
The rule configuration for an assertion rule.
|
software.amazon.jsii.JsiiObject.InitializationModeIInspectable.Jsii$Default, IInspectable.Jsii$Proxy| Modifier and Type | Field and Description |
|---|---|
static String |
CFN_RESOURCE_TYPE_NAME
The CloudFormation resource type name for this resource class.
|
| Modifier | Constructor and Description |
|---|---|
|
CfnSafetyRule(software.constructs.Construct scope,
String id,
CfnSafetyRuleProps props)
Create a new `AWS::Route53RecoveryControl::SafetyRule`.
|
protected |
CfnSafetyRule(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) |
protected |
CfnSafetyRule(software.amazon.jsii.JsiiObjectRef objRef) |
| Modifier and Type | Method and Description |
|---|---|
Object |
getAssertionRule()
An assertion rule enforces that, when you change a routing control state, that the criteria that you set in the rule configuration is met.
|
String |
getAttrSafetyRuleArn()
The Amazon Resource Name (ARN) of the safety rule.
|
String |
getAttrStatus()
The deployment status of the safety rule.
|
protected Map<String,Object> |
getCfnProperties() |
String |
getControlPanelArn()
The Amazon Resource Name (ARN) for the control panel.
|
Object |
getGatingRule()
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.
|
String |
getName()
The name of the assertion rule.
|
Object |
getRuleConfig()
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.
|
TagManager |
getTags()
The value for a tag.
|
void |
inspect(TreeInspector inspector)
Examines the CloudFormation resource and discloses attributes.
|
protected Map<String,Object> |
renderProperties(Map<String,Object> props) |
void |
setAssertionRule(CfnSafetyRule.AssertionRuleProperty value)
An assertion rule enforces that, when you change a routing control state, that the criteria that you set in the rule configuration is met.
|
void |
setAssertionRule(IResolvable value)
An assertion rule enforces that, when you change a routing control state, that the criteria that you set in the rule configuration is met.
|
void |
setControlPanelArn(String value)
The Amazon Resource Name (ARN) for the control panel.
|
void |
setGatingRule(CfnSafetyRule.GatingRuleProperty value)
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.
|
void |
setGatingRule(IResolvable value)
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.
|
void |
setName(String value)
The name of the assertion rule.
|
void |
setRuleConfig(CfnSafetyRule.RuleConfigProperty value)
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.
|
void |
setRuleConfig(IResolvable value)
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.
|
addDeletionOverride, addDependsOn, addMetadata, addOverride, addPropertyDeletionOverride, addPropertyOverride, applyRemovalPolicy, applyRemovalPolicy, applyRemovalPolicy, getAtt, getCfnOptions, getCfnResourceType, getMetadata, getUpdatedProperites, getUpdatedProperties, isCfnResource, shouldSynthesize, toString, validatePropertiesgetRefgetCreationStack, getLogicalId, getStack, isCfnElement, overrideLogicalIdjsiiAsyncCall, jsiiAsyncCall, jsiiCall, jsiiCall, jsiiGet, jsiiGet, jsiiSet, jsiiStaticCall, jsiiStaticCall, jsiiStaticGet, jsiiStaticGet, jsiiStaticSet, jsiiStaticSet@Stability(value=Stable) public static final String CFN_RESOURCE_TYPE_NAME
protected CfnSafetyRule(software.amazon.jsii.JsiiObjectRef objRef)
protected CfnSafetyRule(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
@Stability(value=Stable)
public CfnSafetyRule(@NotNull
software.constructs.Construct scope,
@NotNull
String id,
@NotNull
CfnSafetyRuleProps props)
scope - - scope in which this resource is defined. This parameter is required.id - - scoped id of the resource. This parameter is required.props - - resource properties. This parameter is required.@Stability(value=Stable)
public void inspect(@NotNull
TreeInspector inspector)
inspect in interface IInspectableinspector - - tree inspector to collect and process attributes. This parameter is required.@Stability(value=Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String,Object> props)
renderProperties in class CfnResourceprops - This parameter is required.@Stability(value=Stable) @NotNull public String getAttrSafetyRuleArn()
@Stability(value=Stable) @NotNull public String getAttrStatus()
Status can be one of the following: PENDING, DEPLOYED, PENDING_DELETION.
@Stability(value=Stable) @NotNull protected Map<String,Object> getCfnProperties()
getCfnProperties in class CfnResource@Stability(value=Stable) @NotNull public TagManager getTags()
@Stability(value=Stable) @NotNull public String getControlPanelArn()
@Stability(value=Stable)
public void setControlPanelArn(@NotNull
String value)
@Stability(value=Stable) @NotNull public String getName()
You can use any non-white space character in the name. The name must be unique within a control panel.
@Stability(value=Stable)
public void setName(@NotNull
String value)
You can use any non-white space character in the name. The name must be unique within a control panel.
@Stability(value=Stable) @NotNull public Object getRuleConfig()
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.
@Stability(value=Stable)
public void setRuleConfig(@NotNull
CfnSafetyRule.RuleConfigProperty value)
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.
@Stability(value=Stable)
public void setRuleConfig(@NotNull
IResolvable value)
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.
@Stability(value=Stable) @Nullable public Object getAssertionRule()
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.
@Stability(value=Stable)
public void setAssertionRule(@Nullable
CfnSafetyRule.AssertionRuleProperty value)
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.
@Stability(value=Stable)
public void setAssertionRule(@Nullable
IResolvable value)
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.
@Stability(value=Stable) @Nullable public Object getGatingRule()
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.
@Stability(value=Stable)
public void setGatingRule(@Nullable
CfnSafetyRule.GatingRuleProperty value)
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.
@Stability(value=Stable)
public void setGatingRule(@Nullable
IResolvable value)
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.
Copyright © 2022. All rights reserved.