Class InstanceGroupManagerUpdatePolicy

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

@Generated public final class InstanceGroupManagerUpdatePolicy extends com.google.protobuf.GeneratedMessage implements InstanceGroupManagerUpdatePolicyOrBuilder
 
Protobuf type google.cloud.compute.v1.InstanceGroupManagerUpdatePolicy
See Also:
  • Field Details

    • INSTANCE_REDISTRIBUTION_TYPE_FIELD_NUMBER

      public static final int INSTANCE_REDISTRIBUTION_TYPE_FIELD_NUMBER
      See Also:
    • MAX_SURGE_FIELD_NUMBER

      public static final int MAX_SURGE_FIELD_NUMBER
      See Also:
    • MAX_UNAVAILABLE_FIELD_NUMBER

      public static final int MAX_UNAVAILABLE_FIELD_NUMBER
      See Also:
    • MINIMAL_ACTION_FIELD_NUMBER

      public static final int MINIMAL_ACTION_FIELD_NUMBER
      See Also:
    • MOST_DISRUPTIVE_ALLOWED_ACTION_FIELD_NUMBER

      public static final int MOST_DISRUPTIVE_ALLOWED_ACTION_FIELD_NUMBER
      See Also:
    • REPLACEMENT_METHOD_FIELD_NUMBER

      public static final int REPLACEMENT_METHOD_FIELD_NUMBER
      See Also:
    • TYPE_FIELD_NUMBER

      public static final int 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
    • hasInstanceRedistributionType

      public boolean hasInstanceRedistributionType()
       The
       instance redistribution policy for regional managed instance groups.
       Valid values are:
      
       - PROACTIVE (default): The group attempts to maintain an
       even distribution of VM instances across zones in the region.
       - NONE: For non-autoscaled groups, proactive
       redistribution is disabled.
       Check the InstanceRedistributionType enum for the list of possible values.
       
      optional string instance_redistribution_type = 292630424;
      Specified by:
      hasInstanceRedistributionType in interface InstanceGroupManagerUpdatePolicyOrBuilder
      Returns:
      Whether the instanceRedistributionType field is set.
    • getInstanceRedistributionType

      public String getInstanceRedistributionType()
       The
       instance redistribution policy for regional managed instance groups.
       Valid values are:
      
       - PROACTIVE (default): The group attempts to maintain an
       even distribution of VM instances across zones in the region.
       - NONE: For non-autoscaled groups, proactive
       redistribution is disabled.
       Check the InstanceRedistributionType enum for the list of possible values.
       
      optional string instance_redistribution_type = 292630424;
      Specified by:
      getInstanceRedistributionType in interface InstanceGroupManagerUpdatePolicyOrBuilder
      Returns:
      The instanceRedistributionType.
    • getInstanceRedistributionTypeBytes

      public com.google.protobuf.ByteString getInstanceRedistributionTypeBytes()
       The
       instance redistribution policy for regional managed instance groups.
       Valid values are:
      
       - PROACTIVE (default): The group attempts to maintain an
       even distribution of VM instances across zones in the region.
       - NONE: For non-autoscaled groups, proactive
       redistribution is disabled.
       Check the InstanceRedistributionType enum for the list of possible values.
       
      optional string instance_redistribution_type = 292630424;
      Specified by:
      getInstanceRedistributionTypeBytes in interface InstanceGroupManagerUpdatePolicyOrBuilder
      Returns:
      The bytes for instanceRedistributionType.
    • hasMaxSurge

      public boolean hasMaxSurge()
       The maximum number of instances that can be created above the specifiedtargetSize during the update process. This value can be
       either a fixed number or, if the group has 10 or more instances, a
       percentage. If you set a percentage, the number of instances is rounded
       if necessary.  The default value for maxSurge is a fixed
       value equal to the number of zones in which the managed instance group
       operates.
      
       At least one of either maxSurge ormaxUnavailable must be greater than 0. Learn more about maxSurge.
       
      optional .google.cloud.compute.v1.FixedOrPercent max_surge = 302572691;
      Specified by:
      hasMaxSurge in interface InstanceGroupManagerUpdatePolicyOrBuilder
      Returns:
      Whether the maxSurge field is set.
    • getMaxSurge

      public FixedOrPercent getMaxSurge()
       The maximum number of instances that can be created above the specifiedtargetSize during the update process. This value can be
       either a fixed number or, if the group has 10 or more instances, a
       percentage. If you set a percentage, the number of instances is rounded
       if necessary.  The default value for maxSurge is a fixed
       value equal to the number of zones in which the managed instance group
       operates.
      
       At least one of either maxSurge ormaxUnavailable must be greater than 0. Learn more about maxSurge.
       
      optional .google.cloud.compute.v1.FixedOrPercent max_surge = 302572691;
      Specified by:
      getMaxSurge in interface InstanceGroupManagerUpdatePolicyOrBuilder
      Returns:
      The maxSurge.
    • getMaxSurgeOrBuilder

      public FixedOrPercentOrBuilder getMaxSurgeOrBuilder()
       The maximum number of instances that can be created above the specifiedtargetSize during the update process. This value can be
       either a fixed number or, if the group has 10 or more instances, a
       percentage. If you set a percentage, the number of instances is rounded
       if necessary.  The default value for maxSurge is a fixed
       value equal to the number of zones in which the managed instance group
       operates.
      
       At least one of either maxSurge ormaxUnavailable must be greater than 0. Learn more about maxSurge.
       
      optional .google.cloud.compute.v1.FixedOrPercent max_surge = 302572691;
      Specified by:
      getMaxSurgeOrBuilder in interface InstanceGroupManagerUpdatePolicyOrBuilder
    • hasMaxUnavailable

      public boolean hasMaxUnavailable()
       The maximum number of instances that can be unavailable during the update
       process. An instance is considered available if all of the following
       conditions are satisfied:
      
      
      
       - The instance's status is
       RUNNING.
       - If there is a health
       check on the instance group, the instance's health check status
       must be HEALTHY at least once. If there is no health check
       on the group, then the instance only needs to have a status of
       RUNNING to be considered available.
      
      
       This value can be either a fixed number or, if the group has 10 or more
       instances, a percentage. If you set a percentage, the number of instances
       is rounded if necessary. The default value formaxUnavailable is a fixed value equal to the number of zones
       in which the managed instance group operates.
      
       At least one of either maxSurge ormaxUnavailable must be greater than 0. Learn more about maxUnavailable.
       
      optional .google.cloud.compute.v1.FixedOrPercent max_unavailable = 404940277;
      Specified by:
      hasMaxUnavailable in interface InstanceGroupManagerUpdatePolicyOrBuilder
      Returns:
      Whether the maxUnavailable field is set.
    • getMaxUnavailable

      public FixedOrPercent getMaxUnavailable()
       The maximum number of instances that can be unavailable during the update
       process. An instance is considered available if all of the following
       conditions are satisfied:
      
      
      
       - The instance's status is
       RUNNING.
       - If there is a health
       check on the instance group, the instance's health check status
       must be HEALTHY at least once. If there is no health check
       on the group, then the instance only needs to have a status of
       RUNNING to be considered available.
      
      
       This value can be either a fixed number or, if the group has 10 or more
       instances, a percentage. If you set a percentage, the number of instances
       is rounded if necessary. The default value formaxUnavailable is a fixed value equal to the number of zones
       in which the managed instance group operates.
      
       At least one of either maxSurge ormaxUnavailable must be greater than 0. Learn more about maxUnavailable.
       
      optional .google.cloud.compute.v1.FixedOrPercent max_unavailable = 404940277;
      Specified by:
      getMaxUnavailable in interface InstanceGroupManagerUpdatePolicyOrBuilder
      Returns:
      The maxUnavailable.
    • getMaxUnavailableOrBuilder

      public FixedOrPercentOrBuilder getMaxUnavailableOrBuilder()
       The maximum number of instances that can be unavailable during the update
       process. An instance is considered available if all of the following
       conditions are satisfied:
      
      
      
       - The instance's status is
       RUNNING.
       - If there is a health
       check on the instance group, the instance's health check status
       must be HEALTHY at least once. If there is no health check
       on the group, then the instance only needs to have a status of
       RUNNING to be considered available.
      
      
       This value can be either a fixed number or, if the group has 10 or more
       instances, a percentage. If you set a percentage, the number of instances
       is rounded if necessary. The default value formaxUnavailable is a fixed value equal to the number of zones
       in which the managed instance group operates.
      
       At least one of either maxSurge ormaxUnavailable must be greater than 0. Learn more about maxUnavailable.
       
      optional .google.cloud.compute.v1.FixedOrPercent max_unavailable = 404940277;
      Specified by:
      getMaxUnavailableOrBuilder in interface InstanceGroupManagerUpdatePolicyOrBuilder
    • hasMinimalAction

      public boolean hasMinimalAction()
       Minimal action to be taken on an instance. Use this option to minimize
       disruption as much as possible or to apply a more disruptive action than
       is necessary.
      
       - To limit disruption as much as possible, set the minimal action toREFRESH. If your update requires a more disruptive action,
       Compute Engine performs the necessary action to execute the update.
       - To apply a more disruptive action than is strictly necessary, set the
       minimal action to RESTART or REPLACE. For
       example, Compute Engine does not need to restart a VM to change its
       metadata. But if your application reads instance metadata only when a VM
       is restarted, you can set the minimal action to RESTART in
       order to pick up metadata changes.
       Check the MinimalAction enum for the list of possible values.
       
      optional string minimal_action = 270567060;
      Specified by:
      hasMinimalAction in interface InstanceGroupManagerUpdatePolicyOrBuilder
      Returns:
      Whether the minimalAction field is set.
    • getMinimalAction

      public String getMinimalAction()
       Minimal action to be taken on an instance. Use this option to minimize
       disruption as much as possible or to apply a more disruptive action than
       is necessary.
      
       - To limit disruption as much as possible, set the minimal action toREFRESH. If your update requires a more disruptive action,
       Compute Engine performs the necessary action to execute the update.
       - To apply a more disruptive action than is strictly necessary, set the
       minimal action to RESTART or REPLACE. For
       example, Compute Engine does not need to restart a VM to change its
       metadata. But if your application reads instance metadata only when a VM
       is restarted, you can set the minimal action to RESTART in
       order to pick up metadata changes.
       Check the MinimalAction enum for the list of possible values.
       
      optional string minimal_action = 270567060;
      Specified by:
      getMinimalAction in interface InstanceGroupManagerUpdatePolicyOrBuilder
      Returns:
      The minimalAction.
    • getMinimalActionBytes

      public com.google.protobuf.ByteString getMinimalActionBytes()
       Minimal action to be taken on an instance. Use this option to minimize
       disruption as much as possible or to apply a more disruptive action than
       is necessary.
      
       - To limit disruption as much as possible, set the minimal action toREFRESH. If your update requires a more disruptive action,
       Compute Engine performs the necessary action to execute the update.
       - To apply a more disruptive action than is strictly necessary, set the
       minimal action to RESTART or REPLACE. For
       example, Compute Engine does not need to restart a VM to change its
       metadata. But if your application reads instance metadata only when a VM
       is restarted, you can set the minimal action to RESTART in
       order to pick up metadata changes.
       Check the MinimalAction enum for the list of possible values.
       
      optional string minimal_action = 270567060;
      Specified by:
      getMinimalActionBytes in interface InstanceGroupManagerUpdatePolicyOrBuilder
      Returns:
      The bytes for minimalAction.
    • hasMostDisruptiveAllowedAction

      public boolean hasMostDisruptiveAllowedAction()
       Most disruptive action that is allowed to be taken on an instance.
       You can specify either NONE to forbid any actions,REFRESH to avoid restarting the VM and to limit disruption
       as much as possible. RESTART to allow actions that can be
       applied without instance replacing or REPLACE to allow all
       possible actions. If the Updater determines that the minimal update
       action needed is more disruptive than most disruptive allowed action you
       specify it will not perform the update at all.
       Check the MostDisruptiveAllowedAction enum for the list of possible values.
       
      optional string most_disruptive_allowed_action = 66103053;
      Specified by:
      hasMostDisruptiveAllowedAction in interface InstanceGroupManagerUpdatePolicyOrBuilder
      Returns:
      Whether the mostDisruptiveAllowedAction field is set.
    • getMostDisruptiveAllowedAction

      public String getMostDisruptiveAllowedAction()
       Most disruptive action that is allowed to be taken on an instance.
       You can specify either NONE to forbid any actions,REFRESH to avoid restarting the VM and to limit disruption
       as much as possible. RESTART to allow actions that can be
       applied without instance replacing or REPLACE to allow all
       possible actions. If the Updater determines that the minimal update
       action needed is more disruptive than most disruptive allowed action you
       specify it will not perform the update at all.
       Check the MostDisruptiveAllowedAction enum for the list of possible values.
       
      optional string most_disruptive_allowed_action = 66103053;
      Specified by:
      getMostDisruptiveAllowedAction in interface InstanceGroupManagerUpdatePolicyOrBuilder
      Returns:
      The mostDisruptiveAllowedAction.
    • getMostDisruptiveAllowedActionBytes

      public com.google.protobuf.ByteString getMostDisruptiveAllowedActionBytes()
       Most disruptive action that is allowed to be taken on an instance.
       You can specify either NONE to forbid any actions,REFRESH to avoid restarting the VM and to limit disruption
       as much as possible. RESTART to allow actions that can be
       applied without instance replacing or REPLACE to allow all
       possible actions. If the Updater determines that the minimal update
       action needed is more disruptive than most disruptive allowed action you
       specify it will not perform the update at all.
       Check the MostDisruptiveAllowedAction enum for the list of possible values.
       
      optional string most_disruptive_allowed_action = 66103053;
      Specified by:
      getMostDisruptiveAllowedActionBytes in interface InstanceGroupManagerUpdatePolicyOrBuilder
      Returns:
      The bytes for mostDisruptiveAllowedAction.
    • hasReplacementMethod

      public boolean hasReplacementMethod()
       What action should be used to replace instances.
       See minimal_action.REPLACE
       Check the ReplacementMethod enum for the list of possible values.
       
      optional string replacement_method = 505931694;
      Specified by:
      hasReplacementMethod in interface InstanceGroupManagerUpdatePolicyOrBuilder
      Returns:
      Whether the replacementMethod field is set.
    • getReplacementMethod

      public String getReplacementMethod()
       What action should be used to replace instances.
       See minimal_action.REPLACE
       Check the ReplacementMethod enum for the list of possible values.
       
      optional string replacement_method = 505931694;
      Specified by:
      getReplacementMethod in interface InstanceGroupManagerUpdatePolicyOrBuilder
      Returns:
      The replacementMethod.
    • getReplacementMethodBytes

      public com.google.protobuf.ByteString getReplacementMethodBytes()
       What action should be used to replace instances.
       See minimal_action.REPLACE
       Check the ReplacementMethod enum for the list of possible values.
       
      optional string replacement_method = 505931694;
      Specified by:
      getReplacementMethodBytes in interface InstanceGroupManagerUpdatePolicyOrBuilder
      Returns:
      The bytes for replacementMethod.
    • hasType

      public boolean hasType()
       The type
       of update process. You can specify either PROACTIVE so
       that the MIG automatically updates VMs to the latest configurations orOPPORTUNISTIC so that you can select the VMs that you want
       to update.
       Check the Type enum for the list of possible values.
       
      optional string type = 3575610;
      Specified by:
      hasType in interface InstanceGroupManagerUpdatePolicyOrBuilder
      Returns:
      Whether the type field is set.
    • getType

      public String getType()
       The type
       of update process. You can specify either PROACTIVE so
       that the MIG automatically updates VMs to the latest configurations orOPPORTUNISTIC so that you can select the VMs that you want
       to update.
       Check the Type enum for the list of possible values.
       
      optional string type = 3575610;
      Specified by:
      getType in interface InstanceGroupManagerUpdatePolicyOrBuilder
      Returns:
      The type.
    • getTypeBytes

      public com.google.protobuf.ByteString getTypeBytes()
       The type
       of update process. You can specify either PROACTIVE so
       that the MIG automatically updates VMs to the latest configurations orOPPORTUNISTIC so that you can select the VMs that you want
       to update.
       Check the Type enum for the list of possible values.
       
      optional string type = 3575610;
      Specified by:
      getTypeBytes in interface InstanceGroupManagerUpdatePolicyOrBuilder
      Returns:
      The bytes for type.
    • 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 InstanceGroupManagerUpdatePolicy parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

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

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

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

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

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

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

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

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

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

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

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

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

      public static InstanceGroupManagerUpdatePolicy.Builder newBuilder()
    • newBuilder

    • toBuilder

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

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

      public static InstanceGroupManagerUpdatePolicy getDefaultInstance()
    • parser

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

      public com.google.protobuf.Parser<InstanceGroupManagerUpdatePolicy> 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 InstanceGroupManagerUpdatePolicy getDefaultInstanceForType()
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder