Class 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
    • 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 the isEmpty() 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, status will return Status.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from statusAsString().

        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, status will return Status.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from statusAsString().

        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 the isEmpty() 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.
      • hashCode

        public final int hashCode()
        Overrides:
        hashCode in class Object
      • equals

        public final boolean equals​(Object obj)
        Overrides:
        equals in class Object
      • 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.
        Overrides:
        toString in class Object
      • getValueForField

        public final <T> Optional<T> getValueForField​(String fieldName,
                                                      Class<T> clazz)