InstanceGroupManagerArgs

data class InstanceGroupManagerArgs(val allInstancesConfig: Output<InstanceGroupManagerAllInstancesConfigArgs>? = null, val autoHealingPolicies: Output<List<InstanceGroupManagerAutoHealingPolicyArgs>>? = null, val baseInstanceName: Output<String>? = null, val description: Output<String>? = null, val distributionPolicy: Output<DistributionPolicyArgs>? = null, val failoverAction: Output<InstanceGroupManagerFailoverAction>? = null, val instanceLifecyclePolicy: Output<InstanceGroupManagerInstanceLifecyclePolicyArgs>? = null, val instanceTemplate: Output<String>? = null, val listManagedInstancesResults: Output<InstanceGroupManagerListManagedInstancesResults>? = null, val name: Output<String>? = null, val namedPorts: Output<List<NamedPortArgs>>? = null, val project: Output<String>? = null, val requestId: Output<String>? = null, val serviceAccount: Output<String>? = null, val statefulPolicy: Output<StatefulPolicyArgs>? = null, val targetPools: Output<List<String>>? = null, val targetSize: Output<Int>? = null, val updatePolicy: Output<InstanceGroupManagerUpdatePolicyArgs>? = null, val versions: Output<List<InstanceGroupManagerVersionArgs>>? = null, val zone: Output<String>? = null) : ConvertibleToJava<InstanceGroupManagerArgs>

Creates a managed instance group using the information that you specify in the request. After the group is created, instances in the group are created using the specified instance template. This operation is marked as DONE when the group is created even if the instances in the group have not yet been created. You must separately verify the status of the individual instances with the listmanagedinstances method. A managed instance group can have up to 1000 VM instances per group. Please contact Cloud Support if you need an increase in this limit.

Constructors

Link copied to clipboard
fun InstanceGroupManagerArgs(allInstancesConfig: Output<InstanceGroupManagerAllInstancesConfigArgs>? = null, autoHealingPolicies: Output<List<InstanceGroupManagerAutoHealingPolicyArgs>>? = null, baseInstanceName: Output<String>? = null, description: Output<String>? = null, distributionPolicy: Output<DistributionPolicyArgs>? = null, failoverAction: Output<InstanceGroupManagerFailoverAction>? = null, instanceLifecyclePolicy: Output<InstanceGroupManagerInstanceLifecyclePolicyArgs>? = null, instanceTemplate: Output<String>? = null, listManagedInstancesResults: Output<InstanceGroupManagerListManagedInstancesResults>? = null, name: Output<String>? = null, namedPorts: Output<List<NamedPortArgs>>? = null, project: Output<String>? = null, requestId: Output<String>? = null, serviceAccount: Output<String>? = null, statefulPolicy: Output<StatefulPolicyArgs>? = null, targetPools: Output<List<String>>? = null, targetSize: Output<Int>? = null, updatePolicy: Output<InstanceGroupManagerUpdatePolicyArgs>? = null, versions: Output<List<InstanceGroupManagerVersionArgs>>? = null, zone: Output<String>? = null)

Functions

Link copied to clipboard
open override fun toJava(): InstanceGroupManagerArgs

Properties

Link copied to clipboard

Specifies configuration that overrides the instance template configuration for the group.

Link copied to clipboard

The autohealing policy for this managed instance group. You can specify only one value.

Link copied to clipboard
val baseInstanceName: Output<String>? = null

The base instance name to use for instances in this group. The value must be 1-58 characters long. Instances are named by appending a hyphen and a random four-character string to the base instance name. The base instance name must comply with RFC1035.

Link copied to clipboard
val description: Output<String>? = null

An optional description of this resource.

Link copied to clipboard

Policy specifying the intended distribution of managed instances across zones in a regional managed instance group.

Link copied to clipboard

The action to perform in case of zone failure. Only one value is supported, NO_FAILOVER. The default is NO_FAILOVER.

Link copied to clipboard

The repair policy for this managed instance group.

Link copied to clipboard
val instanceTemplate: Output<String>? = null

The URL of the instance template that is specified for this managed instance group. The group uses this template to create all new instances in the managed instance group. The templates for existing instances in the group do not change unless you run recreateInstances, run applyUpdatesToInstances, or set the group's updatePolicy.type to PROACTIVE.

Link copied to clipboard

Pagination behavior of the listManagedInstances API method for this managed instance group.

Link copied to clipboard
val name: Output<String>? = null

The name of the managed instance group. The name must be 1-63 characters long, and comply with RFC1035.

Link copied to clipboard
val namedPorts: Output<List<NamedPortArgs>>? = null

Named ports configured for the Instance Groups complementary to this Instance Group Manager.

Link copied to clipboard
val project: Output<String>? = null
Link copied to clipboard
val requestId: Output<String>? = null

An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).

Link copied to clipboard
val serviceAccount: Output<String>? = null

The service account to be used as credentials for all operations performed by the managed instance group on instances. The service accounts needs all permissions required to create and delete instances. By default, the service account {projectNumber}@cloudservices.gserviceaccount.com is used.

Link copied to clipboard
val statefulPolicy: Output<StatefulPolicyArgs>? = null

Stateful configuration for this Instanced Group Manager

Link copied to clipboard
val targetPools: Output<List<String>>? = null

The URLs for all TargetPool resources to which instances in the instanceGroup field are added. The target pools automatically apply to all of the instances in the managed instance group.

Link copied to clipboard
val targetSize: Output<Int>? = null

The target number of running instances for this managed instance group. You can reduce this number by using the instanceGroupManager deleteInstances or abandonInstances methods. Resizing the group also changes this number.

Link copied to clipboard

The update policy for this managed instance group.

Link copied to clipboard

Specifies the instance templates used by this managed instance group to create instances. Each version is defined by an instanceTemplate and a name. Every version can appear at most once per instance group. This field overrides the top-level instanceTemplate field. Read more about the relationships between these fields. Exactly one version must leave the targetSize field unset. That version will be applied to all remaining instances. For more information, read about canary updates.

Link copied to clipboard
val zone: Output<String>? = null