Class DeploymentEarlySuccessCriteria

java.lang.Object
software.amazon.awssdk.services.ecs.model.DeploymentEarlySuccessCriteria
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<DeploymentEarlySuccessCriteria.Builder,DeploymentEarlySuccessCriteria>

@Generated("software.amazon.awssdk:codegen") public final class DeploymentEarlySuccessCriteria extends Object implements SdkPojo, Serializable, ToCopyableBuilder<DeploymentEarlySuccessCriteria.Builder,DeploymentEarlySuccessCriteria>

You can use early success criteria only with rolling deployment strategy.

The configuration that determines when a rolling update deployment is considered successful. Early success criteria defines the percentage of tasks that must be healthy before a deployment completes. It also controls whether Amazon ECS must remove the previous tasks before a deployment completes.

See Also:
  • Method Details

    • enable

      public final Boolean enable()

      Specifies whether to use the early success criteria for the service deployment. When set to false, the deployment uses the default behavior, where Amazon ECS considers the deployment successful when the target service revision fully stabilizes and the previous tasks are removed. The default value is false.

      When set to true, Amazon ECS monitors the deployment to meet early success criteria. You must also specify healthyPercent and sourceServiceRevisionCleanup.

      Returns:
      Specifies whether to use the early success criteria for the service deployment. When set to false, the deployment uses the default behavior, where Amazon ECS considers the deployment successful when the target service revision fully stabilizes and the previous tasks are removed. The default value is false.

      When set to true, Amazon ECS monitors the deployment to meet early success criteria. You must also specify healthyPercent and sourceServiceRevisionCleanup.

    • healthyPercent

      public final Integer healthyPercent()

      The percentage of healthy tasks that the target service revision must reach before Amazon ECS considers the deployment successful. This percentage is relative to the service's desiredCount and must be an integer between 0 and 100. This value must be greater than or equal to the minimumHealthyPercent value.

      After this percentage of tasks is healthy and the bake time elapses, Amazon ECS completes the deployment. Amazon ECS continues to scale the target service revision to 100 percent in the background.

      Returns:
      The percentage of healthy tasks that the target service revision must reach before Amazon ECS considers the deployment successful. This percentage is relative to the service's desiredCount and must be an integer between 0 and 100. This value must be greater than or equal to the minimumHealthyPercent value.

      After this percentage of tasks is healthy and the bake time elapses, Amazon ECS completes the deployment. Amazon ECS continues to scale the target service revision to 100 percent in the background.

    • sourceServiceRevisionCleanup

      public final ServiceRevisionCleanup sourceServiceRevisionCleanup()

      The time when Amazon ECS removes the source revisions' tasks relative to deployment completion. The valid values are:

      • BLOCKING—Amazon ECS removes the previous tasks before it marks the deployment as successful.

      • DEFERRED—Amazon ECS marks the deployment successful, and then removes the previous tasks in the background.

      If the service returns an enum value that is not available in the current SDK version, sourceServiceRevisionCleanup will return ServiceRevisionCleanup.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from sourceServiceRevisionCleanupAsString().

      Returns:
      The time when Amazon ECS removes the source revisions' tasks relative to deployment completion. The valid values are:

      • BLOCKING—Amazon ECS removes the previous tasks before it marks the deployment as successful.

      • DEFERRED—Amazon ECS marks the deployment successful, and then removes the previous tasks in the background.

      See Also:
    • sourceServiceRevisionCleanupAsString

      public final String sourceServiceRevisionCleanupAsString()

      The time when Amazon ECS removes the source revisions' tasks relative to deployment completion. The valid values are:

      • BLOCKING—Amazon ECS removes the previous tasks before it marks the deployment as successful.

      • DEFERRED—Amazon ECS marks the deployment successful, and then removes the previous tasks in the background.

      If the service returns an enum value that is not available in the current SDK version, sourceServiceRevisionCleanup will return ServiceRevisionCleanup.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from sourceServiceRevisionCleanupAsString().

      Returns:
      The time when Amazon ECS removes the source revisions' tasks relative to deployment completion. The valid values are:

      • BLOCKING—Amazon ECS removes the previous tasks before it marks the deployment as successful.

      • DEFERRED—Amazon ECS marks the deployment successful, and then removes the previous tasks in the background.

      See Also:
    • toBuilder

      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<DeploymentEarlySuccessCriteria.Builder,DeploymentEarlySuccessCriteria>
      Returns:
      a builder for type T
    • builder

      public static DeploymentEarlySuccessCriteria.Builder builder()
    • serializableBuilderClass

      public static Class<? extends DeploymentEarlySuccessCriteria.Builder> serializableBuilderClass()
    • hashCode

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

      public final boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • 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)
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.
    • sdkFieldNameToField

      public final Map<String,SdkField<?>> sdkFieldNameToField()
      Specified by:
      sdkFieldNameToField in interface SdkPojo
      Returns:
      The mapping between the field name and its corresponding field.