Class AutoScalingConfiguration

java.lang.Object
software.amazon.awssdk.services.finspace.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>

The configuration based on which FinSpace will scale in or scale out nodes in your cluster.

See Also:
  • Method Details

    • minNodeCount

      public final Integer minNodeCount()

      The lowest number of nodes to scale. This value must be at least 1 and less than the maxNodeCount. If the nodes in a cluster belong to multiple availability zones, then minNodeCount must be at least 3.

      Returns:
      The lowest number of nodes to scale. This value must be at least 1 and less than the maxNodeCount. If the nodes in a cluster belong to multiple availability zones, then minNodeCount must be at least 3.
    • maxNodeCount

      public final Integer maxNodeCount()

      The highest number of nodes to scale. This value cannot be greater than 5.

      Returns:
      The highest number of nodes to scale. This value cannot be greater than 5.
    • autoScalingMetric

      public final AutoScalingMetric autoScalingMetric()

      The metric your cluster will track in order to scale in and out. For example, CPU_UTILIZATION_PERCENTAGE is the average CPU usage across all the nodes in a cluster.

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

      Returns:
      The metric your cluster will track in order to scale in and out. For example, CPU_UTILIZATION_PERCENTAGE is the average CPU usage across all the nodes in a cluster.
      See Also:
    • autoScalingMetricAsString

      public final String autoScalingMetricAsString()

      The metric your cluster will track in order to scale in and out. For example, CPU_UTILIZATION_PERCENTAGE is the average CPU usage across all the nodes in a cluster.

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

      Returns:
      The metric your cluster will track in order to scale in and out. For example, CPU_UTILIZATION_PERCENTAGE is the average CPU usage across all the nodes in a cluster.
      See Also:
    • metricTarget

      public final Double metricTarget()

      The desired value of the chosen autoScalingMetric. When the metric drops below this value, the cluster will scale in. When the metric goes above this value, the cluster will scale out. You can set the target value between 1 and 100 percent.

      Returns:
      The desired value of the chosen autoScalingMetric. When the metric drops below this value, the cluster will scale in. When the metric goes above this value, the cluster will scale out. You can set the target value between 1 and 100 percent.
    • scaleInCooldownSeconds

      public final Double scaleInCooldownSeconds()

      The duration in seconds that FinSpace will wait after a scale in event before initiating another scaling event.

      Returns:
      The duration in seconds that FinSpace will wait after a scale in event before initiating another scaling event.
    • scaleOutCooldownSeconds

      public final Double scaleOutCooldownSeconds()

      The duration in seconds that FinSpace will wait after a scale out event before initiating another scaling event.

      Returns:
      The duration in seconds that FinSpace will wait after a scale out event before initiating another scaling event.
    • 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.