Class AutoScalingConfiguration

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

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

Describes an App Runner automatic scaling configuration resource.

A higher MinSize increases the spread of your App Runner service over more Availability Zones in the Amazon Web Services Region. The tradeoff is a higher minimal cost.

A lower MaxSize controls your cost. The tradeoff is lower responsiveness during peak demand.

Multiple revisions of a configuration might have the same AutoScalingConfigurationName and different AutoScalingConfigurationRevision values.

See Also:
  • Method Details

    • autoScalingConfigurationArn

      public final String autoScalingConfigurationArn()

      The Amazon Resource Name (ARN) of this auto scaling configuration.

      Returns:
      The Amazon Resource Name (ARN) of this auto scaling configuration.
    • autoScalingConfigurationName

      public final String autoScalingConfigurationName()

      The customer-provided auto scaling configuration name. It can be used in multiple revisions of a configuration.

      Returns:
      The customer-provided auto scaling configuration name. It can be used in multiple revisions of a configuration.
    • autoScalingConfigurationRevision

      public final Integer autoScalingConfigurationRevision()

      The revision of this auto scaling configuration. It's unique among all the active configurations ( "Status": "ACTIVE") that share the same AutoScalingConfigurationName.

      Returns:
      The revision of this auto scaling configuration. It's unique among all the active configurations ( "Status": "ACTIVE") that share the same AutoScalingConfigurationName.
    • latest

      public final Boolean latest()

      It's set to true for the configuration with the highest Revision among all configurations that share the same AutoScalingConfigurationName. It's set to false otherwise.

      Returns:
      It's set to true for the configuration with the highest Revision among all configurations that share the same AutoScalingConfigurationName. It's set to false otherwise.
    • status

      public final AutoScalingConfigurationStatus status()

      The current state of the auto scaling configuration. If the status of a configuration revision is INACTIVE, it was deleted and can't be used. Inactive configuration revisions are permanently removed some time after they are deleted.

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

      Returns:
      The current state of the auto scaling configuration. If the status of a configuration revision is INACTIVE, it was deleted and can't be used. Inactive configuration revisions are permanently removed some time after they are deleted.
      See Also:
    • statusAsString

      public final String statusAsString()

      The current state of the auto scaling configuration. If the status of a configuration revision is INACTIVE, it was deleted and can't be used. Inactive configuration revisions are permanently removed some time after they are deleted.

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

      Returns:
      The current state of the auto scaling configuration. If the status of a configuration revision is INACTIVE, it was deleted and can't be used. Inactive configuration revisions are permanently removed some time after they are deleted.
      See Also:
    • maxConcurrency

      public final Integer maxConcurrency()

      The maximum number of concurrent requests that an instance processes. If the number of concurrent requests exceeds this limit, App Runner scales the service up.

      Returns:
      The maximum number of concurrent requests that an instance processes. If the number of concurrent requests exceeds this limit, App Runner scales the service up.
    • minSize

      public final Integer minSize()

      The minimum number of instances that App Runner provisions for a service. The service always has at least MinSize provisioned instances. Some of them actively serve traffic. The rest of them (provisioned and inactive instances) are a cost-effective compute capacity reserve and are ready to be quickly activated. You pay for memory usage of all the provisioned instances. You pay for CPU usage of only the active subset.

      App Runner temporarily doubles the number of provisioned instances during deployments, to maintain the same capacity for both old and new code.

      Returns:
      The minimum number of instances that App Runner provisions for a service. The service always has at least MinSize provisioned instances. Some of them actively serve traffic. The rest of them (provisioned and inactive instances) are a cost-effective compute capacity reserve and are ready to be quickly activated. You pay for memory usage of all the provisioned instances. You pay for CPU usage of only the active subset.

      App Runner temporarily doubles the number of provisioned instances during deployments, to maintain the same capacity for both old and new code.

    • maxSize

      public final Integer maxSize()

      The maximum number of instances that a service scales up to. At most MaxSize instances actively serve traffic for your service.

      Returns:
      The maximum number of instances that a service scales up to. At most MaxSize instances actively serve traffic for your service.
    • createdAt

      public final Instant createdAt()

      The time when the auto scaling configuration was created. It's in Unix time stamp format.

      Returns:
      The time when the auto scaling configuration was created. It's in Unix time stamp format.
    • deletedAt

      public final Instant deletedAt()

      The time when the auto scaling configuration was deleted. It's in Unix time stamp format.

      Returns:
      The time when the auto scaling configuration was deleted. It's in Unix time stamp format.
    • hasAssociatedService

      public final Boolean hasAssociatedService()

      Indicates if this auto scaling configuration has an App Runner service associated with it. A value of true indicates one or more services are associated. A value of false indicates no services are associated.

      Returns:
      Indicates if this auto scaling configuration has an App Runner service associated with it. A value of true indicates one or more services are associated. A value of false indicates no services are associated.
    • isDefault

      public final Boolean isDefault()

      Indicates if this auto scaling configuration should be used as the default for a new App Runner service that does not have an auto scaling configuration ARN specified during creation. Each account can have only one default AutoScalingConfiguration per region. The default AutoScalingConfiguration can be any revision under the same AutoScalingConfigurationName.

      Returns:
      Indicates if this auto scaling configuration should be used as the default for a new App Runner service that does not have an auto scaling configuration ARN specified during creation. Each account can have only one default AutoScalingConfiguration per region. The default AutoScalingConfiguration can be any revision under the same AutoScalingConfigurationName.
    • 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<AutoScalingConfiguration.Builder,AutoScalingConfiguration>
      Returns:
      a builder for type T
    • builder

      public static AutoScalingConfiguration.Builder builder()
    • serializableBuilderClass

      public static Class<? extends AutoScalingConfiguration.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.