Class AutoscalingPolicyCustomMetricUtilization.Builder

java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<BuilderT>
com.google.protobuf.GeneratedMessage.Builder<AutoscalingPolicyCustomMetricUtilization.Builder>
com.google.cloud.compute.v1.AutoscalingPolicyCustomMetricUtilization.Builder
All Implemented Interfaces:
AutoscalingPolicyCustomMetricUtilizationOrBuilder, com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Cloneable
Enclosing class:
AutoscalingPolicyCustomMetricUtilization

public static final class AutoscalingPolicyCustomMetricUtilization.Builder extends com.google.protobuf.GeneratedMessage.Builder<AutoscalingPolicyCustomMetricUtilization.Builder> implements AutoscalingPolicyCustomMetricUtilizationOrBuilder
 Custom utilization metric policy.
 
Protobuf type google.cloud.compute.v1.AutoscalingPolicyCustomMetricUtilization
  • 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.Builder<AutoscalingPolicyCustomMetricUtilization.Builder>
    • clear

      Specified by:
      clear in interface com.google.protobuf.Message.Builder
      Specified by:
      clear in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      clear in class com.google.protobuf.GeneratedMessage.Builder<AutoscalingPolicyCustomMetricUtilization.Builder>
    • getDescriptorForType

      public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
      Specified by:
      getDescriptorForType in interface com.google.protobuf.Message.Builder
      Specified by:
      getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
      Overrides:
      getDescriptorForType in class com.google.protobuf.GeneratedMessage.Builder<AutoscalingPolicyCustomMetricUtilization.Builder>
    • getDefaultInstanceForType

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

      Specified by:
      build in interface com.google.protobuf.Message.Builder
      Specified by:
      build in interface com.google.protobuf.MessageLite.Builder
    • buildPartial

      Specified by:
      buildPartial in interface com.google.protobuf.Message.Builder
      Specified by:
      buildPartial in interface com.google.protobuf.MessageLite.Builder
    • mergeFrom

      public AutoscalingPolicyCustomMetricUtilization.Builder mergeFrom(com.google.protobuf.Message other)
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<AutoscalingPolicyCustomMetricUtilization.Builder>
    • mergeFrom

    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessage.Builder<AutoscalingPolicyCustomMetricUtilization.Builder>
    • mergeFrom

      public AutoscalingPolicyCustomMetricUtilization.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Specified by:
      mergeFrom in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<AutoscalingPolicyCustomMetricUtilization.Builder>
      Throws:
      IOException
    • 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.
    • setFilter

       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;
      Parameters:
      value - The filter to set.
      Returns:
      This builder for chaining.
    • clearFilter

       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;
      Returns:
      This builder for chaining.
    • setFilterBytes

      public AutoscalingPolicyCustomMetricUtilization.Builder setFilterBytes(com.google.protobuf.ByteString value)
       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;
      Parameters:
      value - The bytes for filter to set.
      Returns:
      This builder for chaining.
    • 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.
    • setMetric

       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;
      Parameters:
      value - The metric to set.
      Returns:
      This builder for chaining.
    • clearMetric

       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;
      Returns:
      This builder for chaining.
    • setMetricBytes

      public AutoscalingPolicyCustomMetricUtilization.Builder setMetricBytes(com.google.protobuf.ByteString value)
       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;
      Parameters:
      value - The bytes for metric to set.
      Returns:
      This builder for chaining.
    • 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.
    • setSingleInstanceAssignment

      public AutoscalingPolicyCustomMetricUtilization.Builder setSingleInstanceAssignment(double value)
       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;
      Parameters:
      value - The singleInstanceAssignment to set.
      Returns:
      This builder for chaining.
    • clearSingleInstanceAssignment

      public AutoscalingPolicyCustomMetricUtilization.Builder clearSingleInstanceAssignment()
       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;
      Returns:
      This builder for chaining.
    • 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.
    • setUtilizationTarget

      public AutoscalingPolicyCustomMetricUtilization.Builder setUtilizationTarget(double value)
       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;
      Parameters:
      value - The utilizationTarget to set.
      Returns:
      This builder for chaining.
    • clearUtilizationTarget

      public AutoscalingPolicyCustomMetricUtilization.Builder clearUtilizationTarget()
       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;
      Returns:
      This builder for chaining.
    • 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.
    • setUtilizationTargetType

      public AutoscalingPolicyCustomMetricUtilization.Builder setUtilizationTargetType(String value)
       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;
      Parameters:
      value - The utilizationTargetType to set.
      Returns:
      This builder for chaining.
    • clearUtilizationTargetType

      public AutoscalingPolicyCustomMetricUtilization.Builder clearUtilizationTargetType()
       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;
      Returns:
      This builder for chaining.
    • setUtilizationTargetTypeBytes

      public AutoscalingPolicyCustomMetricUtilization.Builder setUtilizationTargetTypeBytes(com.google.protobuf.ByteString value)
       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;
      Parameters:
      value - The bytes for utilizationTargetType to set.
      Returns:
      This builder for chaining.