Class InstanceGroupManagerUpdatePolicy

    • Field Detail

      • INSTANCE_REDISTRIBUTION_TYPE_FIELD_NUMBER

        public static final int INSTANCE_REDISTRIBUTION_TYPE_FIELD_NUMBER
        See Also:
        Constant Field Values
      • MAX_UNAVAILABLE_FIELD_NUMBER

        public static final int MAX_UNAVAILABLE_FIELD_NUMBER
        See Also:
        Constant Field Values
      • MINIMAL_ACTION_FIELD_NUMBER

        public static final int MINIMAL_ACTION_FIELD_NUMBER
        See Also:
        Constant Field Values
      • MOST_DISRUPTIVE_ALLOWED_ACTION_FIELD_NUMBER

        public static final int MOST_DISRUPTIVE_ALLOWED_ACTION_FIELD_NUMBER
        See Also:
        Constant Field Values
      • REPLACEMENT_METHOD_FIELD_NUMBER

        public static final int REPLACEMENT_METHOD_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()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
      • 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 specified targetSize 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 or maxUnavailable 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 specified targetSize 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 or maxUnavailable 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 specified targetSize 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 or maxUnavailable 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 for maxUnavailable is a fixed value equal to the number of zones in which the managed instance group operates. At least one of either maxSurge or maxUnavailable 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 for maxUnavailable is a fixed value equal to the number of zones in which the managed instance group operates. At least one of either maxSurge or maxUnavailable 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 for maxUnavailable is a fixed value equal to the number of zones in which the managed instance group operates. At least one of either maxSurge or maxUnavailable 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 to REFRESH. 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 to REFRESH. 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 to REFRESH. 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 or OPPORTUNISTIC 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 or OPPORTUNISTIC 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 or OPPORTUNISTIC 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.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 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
      • newBuilderForType

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

        public InstanceGroupManagerUpdatePolicy.Builder 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.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • 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.GeneratedMessageV3
      • getDefaultInstanceForType

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