Class ComputeInstanceGroupManagerUpdatePolicy.Jsii$Proxy

    • Method Detail

      • getMinimalAction

        public final String getMinimalAction()
        Description copied from interface: ComputeInstanceGroupManagerUpdatePolicy
        Minimal action to be taken on an instance.

        You can specify either NONE to forbid any actions, REFRESH to update without stopping instances, RESTART to restart existing instances or REPLACE to delete and create new instances from the target template. If you specify a REFRESH, the Updater will attempt to perform that action only. However, if the Updater determines that the minimal action you specify is not enough to perform the update, it might perform a more disruptive action. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_instance_group_manager#minimal_action ComputeInstanceGroupManager#minimal_action}

        Specified by:
        getMinimalAction in interface ComputeInstanceGroupManagerUpdatePolicy
      • getType

        public final String getType()
        Description copied from interface: ComputeInstanceGroupManagerUpdatePolicy
        The type of update process.

        You can specify either PROACTIVE so that the instance group manager proactively executes actions in order to bring instances to their target versions or OPPORTUNISTIC so that no action is proactively executed but the update will be performed as part of other actions (for example, resizes or recreateInstances calls). Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_instance_group_manager#type ComputeInstanceGroupManager#type}

        Specified by:
        getType in interface ComputeInstanceGroupManagerUpdatePolicy
      • getMaxSurgeFixed

        public final Number getMaxSurgeFixed()
        Description copied from interface: ComputeInstanceGroupManagerUpdatePolicy
        Specifies a fixed number of VM instances.

        This must be a positive integer. Conflicts with max_surge_percent. Both cannot be 0 Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_instance_group_manager#max_surge_fixed ComputeInstanceGroupManager#max_surge_fixed}

        Specified by:
        getMaxSurgeFixed in interface ComputeInstanceGroupManagerUpdatePolicy
      • getMaxSurgePercent

        public final Number getMaxSurgePercent()
        Description copied from interface: ComputeInstanceGroupManagerUpdatePolicy
        Specifies a percentage of instances between 0 to 100%, inclusive. For example, specify 80 for 80%. Conflicts with max_surge_fixed.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_instance_group_manager#max_surge_percent ComputeInstanceGroupManager#max_surge_percent}

        Specified by:
        getMaxSurgePercent in interface ComputeInstanceGroupManagerUpdatePolicy
      • getMaxUnavailableFixed

        public final Number getMaxUnavailableFixed()
        Description copied from interface: ComputeInstanceGroupManagerUpdatePolicy
        Specifies a fixed number of VM instances. This must be a positive integer.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_instance_group_manager#max_unavailable_fixed ComputeInstanceGroupManager#max_unavailable_fixed}

        Specified by:
        getMaxUnavailableFixed in interface ComputeInstanceGroupManagerUpdatePolicy
      • getMaxUnavailablePercent

        public final Number getMaxUnavailablePercent()
        Description copied from interface: ComputeInstanceGroupManagerUpdatePolicy
        Specifies a percentage of instances between 0 to 100%, inclusive. For example, specify 80 for 80%.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_instance_group_manager#max_unavailable_percent ComputeInstanceGroupManager#max_unavailable_percent}

        Specified by:
        getMaxUnavailablePercent in interface ComputeInstanceGroupManagerUpdatePolicy
      • getMostDisruptiveAllowedAction

        public final String getMostDisruptiveAllowedAction()
        Description copied from interface: ComputeInstanceGroupManagerUpdatePolicy
        Most disruptive action that is allowed to be taken on an instance.

        You can specify either NONE to forbid any actions, REFRESH to allow actions that do not need instance restart, 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. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_instance_group_manager#most_disruptive_allowed_action ComputeInstanceGroupManager#most_disruptive_allowed_action}

        Specified by:
        getMostDisruptiveAllowedAction in interface ComputeInstanceGroupManagerUpdatePolicy
      • getReplacementMethod

        public final String getReplacementMethod()
        Description copied from interface: ComputeInstanceGroupManagerUpdatePolicy
        The instance replacement method for managed instance groups.

        Valid values are: "RECREATE", "SUBSTITUTE". If SUBSTITUTE (default), the group replaces VM instances with new instances that have randomly generated names. If RECREATE, instance names are preserved. You must also set max_unavailable_fixed or max_unavailable_percent to be greater than 0. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_instance_group_manager#replacement_method ComputeInstanceGroupManager#replacement_method}

        Specified by:
        getReplacementMethod in interface ComputeInstanceGroupManagerUpdatePolicy
      • $jsii$toJson

        @Internal
        public com.fasterxml.jackson.databind.JsonNode $jsii$toJson()
        Specified by:
        $jsii$toJson in interface software.amazon.jsii.JsiiSerializable
      • hashCode

        public final int hashCode()
        Overrides:
        hashCode in class Object