Class GatingRule
- java.lang.Object
-
- software.amazon.awssdk.services.route53recoverycontrolconfig.model.GatingRule
-
- All Implemented Interfaces:
Serializable,SdkPojo,ToCopyableBuilder<GatingRule.Builder,GatingRule>
@Generated("software.amazon.awssdk:codegen") public final class GatingRule extends Object implements SdkPojo, Serializable, ToCopyableBuilder<GatingRule.Builder,GatingRule>
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.
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceGatingRule.Builder
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static GatingRule.Builderbuilder()StringcontrolPanelArn()The Amazon Resource Name (ARN) of the control panel.booleanequals(Object obj)booleanequalsBySdkFields(Object obj)List<String>gatingControls()An array of gating routing control Amazon Resource Names (ARNs).<T> Optional<T>getValueForField(String fieldName, Class<T> clazz)booleanhasGatingControls()For responses, this returns true if the service returned a value for the GatingControls property.inthashCode()booleanhasTargetControls()For responses, this returns true if the service returned a value for the TargetControls property.Stringname()The name for the gating rule.Stringowner()The Amazon Web Services account ID of the gating rule owner.RuleConfigruleConfig()The criteria that you set for gating routing controls that designate how many of the routing control states must be ON to allow you to update target routing control states.StringsafetyRuleArn()The Amazon Resource Name (ARN) of the gating rule.List<SdkField<?>>sdkFields()static Class<? extends GatingRule.Builder>serializableBuilderClass()Statusstatus()The deployment status of a gating rule.StringstatusAsString()The deployment status of a gating rule.List<String>targetControls()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.GatingRule.BuildertoBuilder()StringtoString()Returns a string representation of this object.IntegerwaitPeriodMs()An evaluation period, in milliseconds (ms), during which any request against the target routing controls will fail.-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface software.amazon.awssdk.utils.builder.ToCopyableBuilder
copy
-
-
-
-
Method Detail
-
controlPanelArn
public final String controlPanelArn()
The Amazon Resource Name (ARN) of the control panel.
- Returns:
- The Amazon Resource Name (ARN) of the control panel.
-
hasGatingControls
public final boolean hasGatingControls()
For responses, this returns true if the service returned a value for the GatingControls property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
-
gatingControls
public final List<String> gatingControls()
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.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasGatingControls()method.- Returns:
- 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.
-
name
public final String name()
The name for the gating rule. You can use any non-white space character in the name.
- Returns:
- The name for the gating rule. You can use any non-white space character in the name.
-
ruleConfig
public final RuleConfig ruleConfig()
The criteria that you set for gating routing controls that designate how many of the routing control states must be ON to allow you to update target routing control states.
- Returns:
- The criteria that you set for gating routing controls that designate how many of the routing control states must be ON to allow you to update target routing control states.
-
safetyRuleArn
public final String safetyRuleArn()
The Amazon Resource Name (ARN) of the gating rule.
- Returns:
- The Amazon Resource Name (ARN) of the gating rule.
-
status
public final Status status()
The deployment status of a gating rule. Status can be one of the following: PENDING, DEPLOYED, PENDING_DELETION.
If the service returns an enum value that is not available in the current SDK version,
statuswill returnStatus.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available fromstatusAsString().- Returns:
- The deployment status of a gating rule. Status can be one of the following: PENDING, DEPLOYED, PENDING_DELETION.
- See Also:
Status
-
statusAsString
public final String statusAsString()
The deployment status of a gating rule. Status can be one of the following: PENDING, DEPLOYED, PENDING_DELETION.
If the service returns an enum value that is not available in the current SDK version,
statuswill returnStatus.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available fromstatusAsString().- Returns:
- The deployment status of a gating rule. Status can be one of the following: PENDING, DEPLOYED, PENDING_DELETION.
- See Also:
Status
-
hasTargetControls
public final boolean hasTargetControls()
For responses, this returns true if the service returned a value for the TargetControls property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
-
targetControls
public final List<String> targetControls()
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.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasTargetControls()method.- Returns:
- 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.
-
waitPeriodMs
public final Integer waitPeriodMs()
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.
- Returns:
- 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.
-
owner
public final String owner()
The Amazon Web Services account ID of the gating rule owner.
- Returns:
- The Amazon Web Services account ID of the gating rule owner.
-
toBuilder
public GatingRule.Builder toBuilder()
- Specified by:
toBuilderin interfaceToCopyableBuilder<GatingRule.Builder,GatingRule>
-
builder
public static GatingRule.Builder builder()
-
serializableBuilderClass
public static Class<? extends GatingRule.Builder> serializableBuilderClass()
-
equalsBySdkFields
public final boolean equalsBySdkFields(Object obj)
- Specified by:
equalsBySdkFieldsin interfaceSdkPojo
-
toString
public final String toString()
Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
-
-