Class AutoscalingPolicyCustomMetricUtilization

java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessage
com.google.cloud.compute.v1.AutoscalingPolicyCustomMetricUtilization
All Implemented Interfaces:
AutoscalingPolicyCustomMetricUtilizationOrBuilder, com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Serializable

@Generated public final class AutoscalingPolicyCustomMetricUtilization extends com.google.protobuf.GeneratedMessage implements AutoscalingPolicyCustomMetricUtilizationOrBuilder
 Custom utilization metric policy.
 
Protobuf type google.cloud.compute.v1.AutoscalingPolicyCustomMetricUtilization
See Also:
  • Field Details

    • FILTER_FIELD_NUMBER

      public static final int FILTER_FIELD_NUMBER
      See Also:
    • METRIC_FIELD_NUMBER

      public static final int METRIC_FIELD_NUMBER
      See Also:
    • SINGLE_INSTANCE_ASSIGNMENT_FIELD_NUMBER

      public static final int SINGLE_INSTANCE_ASSIGNMENT_FIELD_NUMBER
      See Also:
    • UTILIZATION_TARGET_FIELD_NUMBER

      public static final int UTILIZATION_TARGET_FIELD_NUMBER
      See Also:
    • UTILIZATION_TARGET_TYPE_FIELD_NUMBER

      public static final int UTILIZATION_TARGET_TYPE_FIELD_NUMBER
      See Also:
  • Method Details

    • getDescriptor

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

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessage
    • hasFilter

      public boolean hasFilter()
       A filter string, compatible with a Stackdriver Monitoringfilter string forTimeSeries.list API call. This filter is
       used to select a specific TimeSeries for the purpose of autoscaling and
       to determine whether the metric is exporting per-instance or
       per-group data.
      
       For the filter to be valid for autoscaling purposes, the following rules
       apply:
      
      
       - You can only use the AND operator for joining
       selectors.
       - You can only use direct equality comparison operator
       (=) without any functions for each selector.
       - You can specify the metric in both the filter string and in the
       metric field. However, if specified in both places, the metric must
       be identical.
       - The monitored resource type
       determines what kind of values are expected for the metric. If it is
       a gce_instance, the autoscaler expects the metric to
       include a separate TimeSeries for each instance in a group. In such a
       case, you cannot filter on resource labels.
      
      
       If the resource type is any other value, the autoscaler expects
       this metric to contain values that apply to the entire autoscaled
       instance group and resource label filtering can be performed to
       point autoscaler at the correct TimeSeries to scale upon. This is
       called a *per-group metric* for the purpose of autoscaling.
      
       If not specified, the type defaults to
       gce_instance.
      
      
      
       Try to provide a filter that is selective enough to pick just one
       TimeSeries for the autoscaled group or for each of the instances (if you
       are using gce_instance resource type). If multiple
       TimeSeries are returned upon the query execution, the autoscaler will sum
       their respective values to obtain its scaling value.
       
      optional string filter = 336120696;
      Specified by:
      hasFilter in interface AutoscalingPolicyCustomMetricUtilizationOrBuilder
      Returns:
      Whether the filter field is set.
    • getFilter

      public String getFilter()
       A filter string, compatible with a Stackdriver Monitoringfilter string forTimeSeries.list API call. This filter is
       used to select a specific TimeSeries for the purpose of autoscaling and
       to determine whether the metric is exporting per-instance or
       per-group data.
      
       For the filter to be valid for autoscaling purposes, the following rules
       apply:
      
      
       - You can only use the AND operator for joining
       selectors.
       - You can only use direct equality comparison operator
       (=) without any functions for each selector.
       - You can specify the metric in both the filter string and in the
       metric field. However, if specified in both places, the metric must
       be identical.
       - The monitored resource type
       determines what kind of values are expected for the metric. If it is
       a gce_instance, the autoscaler expects the metric to
       include a separate TimeSeries for each instance in a group. In such a
       case, you cannot filter on resource labels.
      
      
       If the resource type is any other value, the autoscaler expects
       this metric to contain values that apply to the entire autoscaled
       instance group and resource label filtering can be performed to
       point autoscaler at the correct TimeSeries to scale upon. This is
       called a *per-group metric* for the purpose of autoscaling.
      
       If not specified, the type defaults to
       gce_instance.
      
      
      
       Try to provide a filter that is selective enough to pick just one
       TimeSeries for the autoscaled group or for each of the instances (if you
       are using gce_instance resource type). If multiple
       TimeSeries are returned upon the query execution, the autoscaler will sum
       their respective values to obtain its scaling value.
       
      optional string filter = 336120696;
      Specified by:
      getFilter in interface AutoscalingPolicyCustomMetricUtilizationOrBuilder
      Returns:
      The filter.
    • getFilterBytes

      public com.google.protobuf.ByteString getFilterBytes()
       A filter string, compatible with a Stackdriver Monitoringfilter string forTimeSeries.list API call. This filter is
       used to select a specific TimeSeries for the purpose of autoscaling and
       to determine whether the metric is exporting per-instance or
       per-group data.
      
       For the filter to be valid for autoscaling purposes, the following rules
       apply:
      
      
       - You can only use the AND operator for joining
       selectors.
       - You can only use direct equality comparison operator
       (=) without any functions for each selector.
       - You can specify the metric in both the filter string and in the
       metric field. However, if specified in both places, the metric must
       be identical.
       - The monitored resource type
       determines what kind of values are expected for the metric. If it is
       a gce_instance, the autoscaler expects the metric to
       include a separate TimeSeries for each instance in a group. In such a
       case, you cannot filter on resource labels.
      
      
       If the resource type is any other value, the autoscaler expects
       this metric to contain values that apply to the entire autoscaled
       instance group and resource label filtering can be performed to
       point autoscaler at the correct TimeSeries to scale upon. This is
       called a *per-group metric* for the purpose of autoscaling.
      
       If not specified, the type defaults to
       gce_instance.
      
      
      
       Try to provide a filter that is selective enough to pick just one
       TimeSeries for the autoscaled group or for each of the instances (if you
       are using gce_instance resource type). If multiple
       TimeSeries are returned upon the query execution, the autoscaler will sum
       their respective values to obtain its scaling value.
       
      optional string filter = 336120696;
      Specified by:
      getFilterBytes in interface AutoscalingPolicyCustomMetricUtilizationOrBuilder
      Returns:
      The bytes for filter.
    • hasMetric

      public boolean hasMetric()
       The identifier (type) of the Stackdriver Monitoring metric. The metric
       cannot have negative values.
      
       The metric must have a value type of INT64 orDOUBLE.
       
      optional string metric = 533067184;
      Specified by:
      hasMetric in interface AutoscalingPolicyCustomMetricUtilizationOrBuilder
      Returns:
      Whether the metric field is set.
    • getMetric

      public String getMetric()
       The identifier (type) of the Stackdriver Monitoring metric. The metric
       cannot have negative values.
      
       The metric must have a value type of INT64 orDOUBLE.
       
      optional string metric = 533067184;
      Specified by:
      getMetric in interface AutoscalingPolicyCustomMetricUtilizationOrBuilder
      Returns:
      The metric.
    • getMetricBytes

      public com.google.protobuf.ByteString getMetricBytes()
       The identifier (type) of the Stackdriver Monitoring metric. The metric
       cannot have negative values.
      
       The metric must have a value type of INT64 orDOUBLE.
       
      optional string metric = 533067184;
      Specified by:
      getMetricBytes in interface AutoscalingPolicyCustomMetricUtilizationOrBuilder
      Returns:
      The bytes for metric.
    • hasSingleInstanceAssignment

      public boolean hasSingleInstanceAssignment()
       If scaling is based on a per-group metric value that represents the
       total amount of work to be done or resource usage, set this value to an
       amount assigned for a single instance of the scaled group. Autoscaler
       keeps the number of instances proportional to the value of this
       metric. The metric itself does not change value due to group
       resizing.
      
       A good metric to use with the target is for examplepubsub.googleapis.com/subscription/num_undelivered_messages
       or a custom metric exporting the total number of requests coming to
       your instances.
      
       A bad example would be a metric exporting an average or median latency,
       since this value can't include a chunk assignable to a single instance,
       it could be better used with utilization_target instead.
       
      optional double single_instance_assignment = 504768064;
      Specified by:
      hasSingleInstanceAssignment in interface AutoscalingPolicyCustomMetricUtilizationOrBuilder
      Returns:
      Whether the singleInstanceAssignment field is set.
    • getSingleInstanceAssignment

      public double getSingleInstanceAssignment()
       If scaling is based on a per-group metric value that represents the
       total amount of work to be done or resource usage, set this value to an
       amount assigned for a single instance of the scaled group. Autoscaler
       keeps the number of instances proportional to the value of this
       metric. The metric itself does not change value due to group
       resizing.
      
       A good metric to use with the target is for examplepubsub.googleapis.com/subscription/num_undelivered_messages
       or a custom metric exporting the total number of requests coming to
       your instances.
      
       A bad example would be a metric exporting an average or median latency,
       since this value can't include a chunk assignable to a single instance,
       it could be better used with utilization_target instead.
       
      optional double single_instance_assignment = 504768064;
      Specified by:
      getSingleInstanceAssignment in interface AutoscalingPolicyCustomMetricUtilizationOrBuilder
      Returns:
      The singleInstanceAssignment.
    • hasUtilizationTarget

      public boolean hasUtilizationTarget()
       The target value of the metric that autoscaler maintains. This
       must be a positive value. A utilization metric scales number of
       virtual machines handling requests to increase or decrease
       proportionally to the metric.
      
       For example, a good metric to use as a utilization_target ishttps://www.googleapis.com/compute/v1/instance/network/received_bytes_count.
       The autoscaler works to keep this value constant for each of the
       instances.
       
      optional double utilization_target = 215905870;
      Specified by:
      hasUtilizationTarget in interface AutoscalingPolicyCustomMetricUtilizationOrBuilder
      Returns:
      Whether the utilizationTarget field is set.
    • getUtilizationTarget

      public double getUtilizationTarget()
       The target value of the metric that autoscaler maintains. This
       must be a positive value. A utilization metric scales number of
       virtual machines handling requests to increase or decrease
       proportionally to the metric.
      
       For example, a good metric to use as a utilization_target ishttps://www.googleapis.com/compute/v1/instance/network/received_bytes_count.
       The autoscaler works to keep this value constant for each of the
       instances.
       
      optional double utilization_target = 215905870;
      Specified by:
      getUtilizationTarget in interface AutoscalingPolicyCustomMetricUtilizationOrBuilder
      Returns:
      The utilizationTarget.
    • hasUtilizationTargetType

      public boolean hasUtilizationTargetType()
       Defines how target utilization value is expressed for a Stackdriver
       Monitoring metric. Either GAUGE,DELTA_PER_SECOND, or DELTA_PER_MINUTE.
       Check the UtilizationTargetType enum for the list of possible values.
       
      optional string utilization_target_type = 340169355;
      Specified by:
      hasUtilizationTargetType in interface AutoscalingPolicyCustomMetricUtilizationOrBuilder
      Returns:
      Whether the utilizationTargetType field is set.
    • getUtilizationTargetType

      public String getUtilizationTargetType()
       Defines how target utilization value is expressed for a Stackdriver
       Monitoring metric. Either GAUGE,DELTA_PER_SECOND, or DELTA_PER_MINUTE.
       Check the UtilizationTargetType enum for the list of possible values.
       
      optional string utilization_target_type = 340169355;
      Specified by:
      getUtilizationTargetType in interface AutoscalingPolicyCustomMetricUtilizationOrBuilder
      Returns:
      The utilizationTargetType.
    • getUtilizationTargetTypeBytes

      public com.google.protobuf.ByteString getUtilizationTargetTypeBytes()
       Defines how target utilization value is expressed for a Stackdriver
       Monitoring metric. Either GAUGE,DELTA_PER_SECOND, or DELTA_PER_MINUTE.
       Check the UtilizationTargetType enum for the list of possible values.
       
      optional string utilization_target_type = 340169355;
      Specified by:
      getUtilizationTargetTypeBytes in interface AutoscalingPolicyCustomMetricUtilizationOrBuilder
      Returns:
      The bytes for utilizationTargetType.
    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessage
    • 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.GeneratedMessage
      Throws:
      IOException
    • getSerializedSize

      public int getSerializedSize()
      Specified by:
      getSerializedSize in interface com.google.protobuf.MessageLite
      Overrides:
      getSerializedSize in class com.google.protobuf.GeneratedMessage
    • 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 AutoscalingPolicyCustomMetricUtilization parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

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

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

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

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

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

      public static AutoscalingPolicyCustomMetricUtilization parseFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static AutoscalingPolicyCustomMetricUtilization parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static AutoscalingPolicyCustomMetricUtilization parseDelimitedFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static AutoscalingPolicyCustomMetricUtilization parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseFrom

      public static AutoscalingPolicyCustomMetricUtilization parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

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

      Specified by:
      newBuilderForType in interface com.google.protobuf.Message
      Specified by:
      newBuilderForType in interface com.google.protobuf.MessageLite
    • newBuilder

    • newBuilder

    • toBuilder

      Specified by:
      toBuilder in interface com.google.protobuf.Message
      Specified by:
      toBuilder in interface com.google.protobuf.MessageLite
    • newBuilderForType

      protected AutoscalingPolicyCustomMetricUtilization.Builder newBuilderForType(com.google.protobuf.AbstractMessage.BuilderParent parent)
      Overrides:
      newBuilderForType in class com.google.protobuf.AbstractMessage
    • getDefaultInstance

      public static AutoscalingPolicyCustomMetricUtilization getDefaultInstance()
    • parser

      public static com.google.protobuf.Parser<AutoscalingPolicyCustomMetricUtilization> parser()
    • getParserForType

      public com.google.protobuf.Parser<AutoscalingPolicyCustomMetricUtilization> 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.GeneratedMessage
    • getDefaultInstanceForType

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