Class AutoscalingPolicy

  • All Implemented Interfaces:
    AutoscalingPolicyOrBuilder, com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Serializable

    public final class AutoscalingPolicy
    extends com.google.protobuf.GeneratedMessageV3
    implements AutoscalingPolicyOrBuilder
     Cloud Autoscaler policy.
     
    Protobuf type google.cloud.compute.v1.AutoscalingPolicy
    See Also:
    Serialized Form
    • Field Detail

      • COOL_DOWN_PERIOD_SEC_FIELD_NUMBER

        public static final int COOL_DOWN_PERIOD_SEC_FIELD_NUMBER
        See Also:
        Constant Field Values
      • CPU_UTILIZATION_FIELD_NUMBER

        public static final int CPU_UTILIZATION_FIELD_NUMBER
        See Also:
        Constant Field Values
      • CUSTOM_METRIC_UTILIZATIONS_FIELD_NUMBER

        public static final int CUSTOM_METRIC_UTILIZATIONS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • LOAD_BALANCING_UTILIZATION_FIELD_NUMBER

        public static final int LOAD_BALANCING_UTILIZATION_FIELD_NUMBER
        See Also:
        Constant Field Values
      • MAX_NUM_REPLICAS_FIELD_NUMBER

        public static final int MAX_NUM_REPLICAS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • MIN_NUM_REPLICAS_FIELD_NUMBER

        public static final int MIN_NUM_REPLICAS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • SCALE_IN_CONTROL_FIELD_NUMBER

        public static final int SCALE_IN_CONTROL_FIELD_NUMBER
        See Also:
        Constant Field Values
      • SCALING_SCHEDULES_FIELD_NUMBER

        public static final int SCALING_SCHEDULES_FIELD_NUMBER
        See Also:
        Constant Field Values
    • Method Detail

      • newInstance

        protected Object newInstance​(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetMapField

        protected com.google.protobuf.MapField internalGetMapField​(int number)
        Overrides:
        internalGetMapField in class com.google.protobuf.GeneratedMessageV3
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
      • hasCoolDownPeriodSec

        public boolean hasCoolDownPeriodSec()
         The number of seconds that your application takes to initialize on a VM instance. This is referred to as the [initialization period](/compute/docs/autoscaler#cool_down_period). Specifying an accurate initialization period improves autoscaler decisions. For example, when scaling out, the autoscaler ignores data from VMs that are still initializing because those VMs might not yet represent normal usage of your application. The default initialization period is 60 seconds. Initialization periods might vary because of numerous factors. We recommend that you test how long your application takes to initialize. To do this, create a VM and time your application's startup process.
         
        optional int32 cool_down_period_sec = 107692954;
        Specified by:
        hasCoolDownPeriodSec in interface AutoscalingPolicyOrBuilder
        Returns:
        Whether the coolDownPeriodSec field is set.
      • getCoolDownPeriodSec

        public int getCoolDownPeriodSec()
         The number of seconds that your application takes to initialize on a VM instance. This is referred to as the [initialization period](/compute/docs/autoscaler#cool_down_period). Specifying an accurate initialization period improves autoscaler decisions. For example, when scaling out, the autoscaler ignores data from VMs that are still initializing because those VMs might not yet represent normal usage of your application. The default initialization period is 60 seconds. Initialization periods might vary because of numerous factors. We recommend that you test how long your application takes to initialize. To do this, create a VM and time your application's startup process.
         
        optional int32 cool_down_period_sec = 107692954;
        Specified by:
        getCoolDownPeriodSec in interface AutoscalingPolicyOrBuilder
        Returns:
        The coolDownPeriodSec.
      • hasCpuUtilization

        public boolean hasCpuUtilization()
         Defines the CPU utilization policy that allows the autoscaler to scale based on the average CPU utilization of a managed instance group.
         
        optional .google.cloud.compute.v1.AutoscalingPolicyCpuUtilization cpu_utilization = 381211147;
        Specified by:
        hasCpuUtilization in interface AutoscalingPolicyOrBuilder
        Returns:
        Whether the cpuUtilization field is set.
      • getCpuUtilization

        public AutoscalingPolicyCpuUtilization getCpuUtilization()
         Defines the CPU utilization policy that allows the autoscaler to scale based on the average CPU utilization of a managed instance group.
         
        optional .google.cloud.compute.v1.AutoscalingPolicyCpuUtilization cpu_utilization = 381211147;
        Specified by:
        getCpuUtilization in interface AutoscalingPolicyOrBuilder
        Returns:
        The cpuUtilization.
      • getCustomMetricUtilizationsCount

        public int getCustomMetricUtilizationsCount()
         Configuration parameters of autoscaling based on a custom metric.
         
        repeated .google.cloud.compute.v1.AutoscalingPolicyCustomMetricUtilization custom_metric_utilizations = 131972850;
        Specified by:
        getCustomMetricUtilizationsCount in interface AutoscalingPolicyOrBuilder
      • hasLoadBalancingUtilization

        public boolean hasLoadBalancingUtilization()
         Configuration parameters of autoscaling based on load balancer.
         
        optional .google.cloud.compute.v1.AutoscalingPolicyLoadBalancingUtilization load_balancing_utilization = 429746403;
        Specified by:
        hasLoadBalancingUtilization in interface AutoscalingPolicyOrBuilder
        Returns:
        Whether the loadBalancingUtilization field is set.
      • hasMaxNumReplicas

        public boolean hasMaxNumReplicas()
         The maximum number of instances that the autoscaler can scale out to. This is required when creating or updating an autoscaler. The maximum number of replicas must not be lower than minimal number of replicas.
         
        optional int32 max_num_replicas = 62327375;
        Specified by:
        hasMaxNumReplicas in interface AutoscalingPolicyOrBuilder
        Returns:
        Whether the maxNumReplicas field is set.
      • getMaxNumReplicas

        public int getMaxNumReplicas()
         The maximum number of instances that the autoscaler can scale out to. This is required when creating or updating an autoscaler. The maximum number of replicas must not be lower than minimal number of replicas.
         
        optional int32 max_num_replicas = 62327375;
        Specified by:
        getMaxNumReplicas in interface AutoscalingPolicyOrBuilder
        Returns:
        The maxNumReplicas.
      • hasMinNumReplicas

        public boolean hasMinNumReplicas()
         The minimum number of replicas that the autoscaler can scale in to. This cannot be less than 0. If not provided, autoscaler chooses a default value depending on maximum number of instances allowed.
         
        optional int32 min_num_replicas = 535329825;
        Specified by:
        hasMinNumReplicas in interface AutoscalingPolicyOrBuilder
        Returns:
        Whether the minNumReplicas field is set.
      • getMinNumReplicas

        public int getMinNumReplicas()
         The minimum number of replicas that the autoscaler can scale in to. This cannot be less than 0. If not provided, autoscaler chooses a default value depending on maximum number of instances allowed.
         
        optional int32 min_num_replicas = 535329825;
        Specified by:
        getMinNumReplicas in interface AutoscalingPolicyOrBuilder
        Returns:
        The minNumReplicas.
      • hasMode

        public boolean hasMode()
         Defines the operating mode for this policy. The following modes are available: - OFF: Disables the autoscaler but maintains its configuration. - ONLY_SCALE_OUT: Restricts the autoscaler to add VM instances only. - ON: Enables all autoscaler activities according to its policy. For more information, see "Turning off or restricting an autoscaler"
         Check the Mode enum for the list of possible values.
         
        optional string mode = 3357091;
        Specified by:
        hasMode in interface AutoscalingPolicyOrBuilder
        Returns:
        Whether the mode field is set.
      • getMode

        public String getMode()
         Defines the operating mode for this policy. The following modes are available: - OFF: Disables the autoscaler but maintains its configuration. - ONLY_SCALE_OUT: Restricts the autoscaler to add VM instances only. - ON: Enables all autoscaler activities according to its policy. For more information, see "Turning off or restricting an autoscaler"
         Check the Mode enum for the list of possible values.
         
        optional string mode = 3357091;
        Specified by:
        getMode in interface AutoscalingPolicyOrBuilder
        Returns:
        The mode.
      • getModeBytes

        public com.google.protobuf.ByteString getModeBytes()
         Defines the operating mode for this policy. The following modes are available: - OFF: Disables the autoscaler but maintains its configuration. - ONLY_SCALE_OUT: Restricts the autoscaler to add VM instances only. - ON: Enables all autoscaler activities according to its policy. For more information, see "Turning off or restricting an autoscaler"
         Check the Mode enum for the list of possible values.
         
        optional string mode = 3357091;
        Specified by:
        getModeBytes in interface AutoscalingPolicyOrBuilder
        Returns:
        The bytes for mode.
      • hasScaleInControl

        public boolean hasScaleInControl()
        optional .google.cloud.compute.v1.AutoscalingPolicyScaleInControl scale_in_control = 527670872;
        Specified by:
        hasScaleInControl in interface AutoscalingPolicyOrBuilder
        Returns:
        Whether the scaleInControl field is set.
      • getScalingSchedulesCount

        public int getScalingSchedulesCount()
        Description copied from interface: AutoscalingPolicyOrBuilder
         Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed.
         
        map<string, .google.cloud.compute.v1.AutoscalingPolicyScalingSchedule> scaling_schedules = 355416580;
        Specified by:
        getScalingSchedulesCount in interface AutoscalingPolicyOrBuilder
      • containsScalingSchedules

        public boolean containsScalingSchedules​(String key)
         Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed.
         
        map<string, .google.cloud.compute.v1.AutoscalingPolicyScalingSchedule> scaling_schedules = 355416580;
        Specified by:
        containsScalingSchedules in interface AutoscalingPolicyOrBuilder
      • getScalingSchedulesMap

        public Map<String,​AutoscalingPolicyScalingSchedule> getScalingSchedulesMap()
         Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed.
         
        map<string, .google.cloud.compute.v1.AutoscalingPolicyScalingSchedule> scaling_schedules = 355416580;
        Specified by:
        getScalingSchedulesMap in interface AutoscalingPolicyOrBuilder
      • getScalingSchedulesOrThrow

        public AutoscalingPolicyScalingSchedule getScalingSchedulesOrThrow​(String key)
         Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed.
         
        map<string, .google.cloud.compute.v1.AutoscalingPolicyScalingSchedule> scaling_schedules = 355416580;
        Specified by:
        getScalingSchedulesOrThrow in interface AutoscalingPolicyOrBuilder
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3
      • writeTo

        public void writeTo​(com.google.protobuf.CodedOutputStream output)
                     throws IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessageV3
        Throws:
        IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessageV3
      • equals

        public boolean equals​(Object obj)
        Specified by:
        equals in interface com.google.protobuf.Message
        Overrides:
        equals in class com.google.protobuf.AbstractMessage
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface com.google.protobuf.Message
        Overrides:
        hashCode in class com.google.protobuf.AbstractMessage
      • parseFrom

        public static AutoscalingPolicy parseFrom​(ByteBuffer data)
                                           throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static AutoscalingPolicy parseFrom​(ByteBuffer data,
                                                  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                           throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static AutoscalingPolicy parseFrom​(com.google.protobuf.ByteString data)
                                           throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static AutoscalingPolicy parseFrom​(com.google.protobuf.ByteString data,
                                                  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                           throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static AutoscalingPolicy parseFrom​(byte[] data)
                                           throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static AutoscalingPolicy parseFrom​(byte[] data,
                                                  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                           throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static AutoscalingPolicy parseFrom​(com.google.protobuf.CodedInputStream input,
                                                  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                           throws IOException
        Throws:
        IOException
      • newBuilderForType

        public AutoscalingPolicy.Builder newBuilderForType()
        Specified by:
        newBuilderForType in interface com.google.protobuf.Message
        Specified by:
        newBuilderForType in interface com.google.protobuf.MessageLite
      • toBuilder

        public AutoscalingPolicy.Builder toBuilder()
        Specified by:
        toBuilder in interface com.google.protobuf.Message
        Specified by:
        toBuilder in interface com.google.protobuf.MessageLite
      • newBuilderForType

        protected AutoscalingPolicy.Builder newBuilderForType​(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getParserForType

        public com.google.protobuf.Parser<AutoscalingPolicy> getParserForType()
        Specified by:
        getParserForType in interface com.google.protobuf.Message
        Specified by:
        getParserForType in interface com.google.protobuf.MessageLite
        Overrides:
        getParserForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstanceForType

        public AutoscalingPolicy getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder