1. Packages
  2. Google Cloud (GCP) Classic
  3. API Docs
  4. compute
  5. InstanceGroupManager
Google Cloud v8.23.0 published on Monday, Mar 24, 2025 by Pulumi

gcp.compute.InstanceGroupManager

Explore with Pulumi AI

The Google Compute Engine Instance Group Manager API creates and manages pools of homogeneous Compute Engine virtual machine instances from a common instance template. For more information, see the official documentation and API

Note: Use gcp.compute.RegionInstanceGroupManager to create a regional (multi-zone) instance group manager.

Example Usage

With Top Level Instance Template (Google Provider)

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const autohealing = new gcp.compute.HealthCheck("autohealing", {
    name: "autohealing-health-check",
    checkIntervalSec: 5,
    timeoutSec: 5,
    healthyThreshold: 2,
    unhealthyThreshold: 10,
    httpHealthCheck: {
        requestPath: "/healthz",
        port: 8080,
    },
});
const appserver = new gcp.compute.InstanceGroupManager("appserver", {
    name: "appserver-igm",
    baseInstanceName: "app",
    zone: "us-central1-a",
    versions: [{
        instanceTemplate: appserverGoogleComputeInstanceTemplate.selfLinkUnique,
    }],
    allInstancesConfig: {
        metadata: {
            metadata_key: "metadata_value",
        },
        labels: {
            label_key: "label_value",
        },
    },
    targetPools: [appserverGoogleComputeTargetPool.id],
    targetSize: 2,
    namedPorts: [{
        name: "customhttp",
        port: 8888,
    }],
    autoHealingPolicies: {
        healthCheck: autohealing.id,
        initialDelaySec: 300,
    },
});
Copy
import pulumi
import pulumi_gcp as gcp

autohealing = gcp.compute.HealthCheck("autohealing",
    name="autohealing-health-check",
    check_interval_sec=5,
    timeout_sec=5,
    healthy_threshold=2,
    unhealthy_threshold=10,
    http_health_check={
        "request_path": "/healthz",
        "port": 8080,
    })
appserver = gcp.compute.InstanceGroupManager("appserver",
    name="appserver-igm",
    base_instance_name="app",
    zone="us-central1-a",
    versions=[{
        "instance_template": appserver_google_compute_instance_template["selfLinkUnique"],
    }],
    all_instances_config={
        "metadata": {
            "metadata_key": "metadata_value",
        },
        "labels": {
            "label_key": "label_value",
        },
    },
    target_pools=[appserver_google_compute_target_pool["id"]],
    target_size=2,
    named_ports=[{
        "name": "customhttp",
        "port": 8888,
    }],
    auto_healing_policies={
        "health_check": autohealing.id,
        "initial_delay_sec": 300,
    })
Copy
package main

import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/compute"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		autohealing, err := compute.NewHealthCheck(ctx, "autohealing", &compute.HealthCheckArgs{
			Name:               pulumi.String("autohealing-health-check"),
			CheckIntervalSec:   pulumi.Int(5),
			TimeoutSec:         pulumi.Int(5),
			HealthyThreshold:   pulumi.Int(2),
			UnhealthyThreshold: pulumi.Int(10),
			HttpHealthCheck: &compute.HealthCheckHttpHealthCheckArgs{
				RequestPath: pulumi.String("/healthz"),
				Port:        pulumi.Int(8080),
			},
		})
		if err != nil {
			return err
		}
		_, err = compute.NewInstanceGroupManager(ctx, "appserver", &compute.InstanceGroupManagerArgs{
			Name:             pulumi.String("appserver-igm"),
			BaseInstanceName: pulumi.String("app"),
			Zone:             pulumi.String("us-central1-a"),
			Versions: compute.InstanceGroupManagerVersionArray{
				&compute.InstanceGroupManagerVersionArgs{
					InstanceTemplate: pulumi.Any(appserverGoogleComputeInstanceTemplate.SelfLinkUnique),
				},
			},
			AllInstancesConfig: &compute.InstanceGroupManagerAllInstancesConfigArgs{
				Metadata: pulumi.StringMap{
					"metadata_key": pulumi.String("metadata_value"),
				},
				Labels: pulumi.StringMap{
					"label_key": pulumi.String("label_value"),
				},
			},
			TargetPools: pulumi.StringArray{
				appserverGoogleComputeTargetPool.Id,
			},
			TargetSize: pulumi.Int(2),
			NamedPorts: compute.InstanceGroupManagerNamedPortArray{
				&compute.InstanceGroupManagerNamedPortArgs{
					Name: pulumi.String("customhttp"),
					Port: pulumi.Int(8888),
				},
			},
			AutoHealingPolicies: &compute.InstanceGroupManagerAutoHealingPoliciesArgs{
				HealthCheck:     autohealing.ID(),
				InitialDelaySec: pulumi.Int(300),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;

return await Deployment.RunAsync(() => 
{
    var autohealing = new Gcp.Compute.HealthCheck("autohealing", new()
    {
        Name = "autohealing-health-check",
        CheckIntervalSec = 5,
        TimeoutSec = 5,
        HealthyThreshold = 2,
        UnhealthyThreshold = 10,
        HttpHealthCheck = new Gcp.Compute.Inputs.HealthCheckHttpHealthCheckArgs
        {
            RequestPath = "/healthz",
            Port = 8080,
        },
    });

    var appserver = new Gcp.Compute.InstanceGroupManager("appserver", new()
    {
        Name = "appserver-igm",
        BaseInstanceName = "app",
        Zone = "us-central1-a",
        Versions = new[]
        {
            new Gcp.Compute.Inputs.InstanceGroupManagerVersionArgs
            {
                InstanceTemplate = appserverGoogleComputeInstanceTemplate.SelfLinkUnique,
            },
        },
        AllInstancesConfig = new Gcp.Compute.Inputs.InstanceGroupManagerAllInstancesConfigArgs
        {
            Metadata = 
            {
                { "metadata_key", "metadata_value" },
            },
            Labels = 
            {
                { "label_key", "label_value" },
            },
        },
        TargetPools = new[]
        {
            appserverGoogleComputeTargetPool.Id,
        },
        TargetSize = 2,
        NamedPorts = new[]
        {
            new Gcp.Compute.Inputs.InstanceGroupManagerNamedPortArgs
            {
                Name = "customhttp",
                Port = 8888,
            },
        },
        AutoHealingPolicies = new Gcp.Compute.Inputs.InstanceGroupManagerAutoHealingPoliciesArgs
        {
            HealthCheck = autohealing.Id,
            InitialDelaySec = 300,
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.compute.HealthCheck;
import com.pulumi.gcp.compute.HealthCheckArgs;
import com.pulumi.gcp.compute.inputs.HealthCheckHttpHealthCheckArgs;
import com.pulumi.gcp.compute.InstanceGroupManager;
import com.pulumi.gcp.compute.InstanceGroupManagerArgs;
import com.pulumi.gcp.compute.inputs.InstanceGroupManagerVersionArgs;
import com.pulumi.gcp.compute.inputs.InstanceGroupManagerAllInstancesConfigArgs;
import com.pulumi.gcp.compute.inputs.InstanceGroupManagerNamedPortArgs;
import com.pulumi.gcp.compute.inputs.InstanceGroupManagerAutoHealingPoliciesArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var autohealing = new HealthCheck("autohealing", HealthCheckArgs.builder()
            .name("autohealing-health-check")
            .checkIntervalSec(5)
            .timeoutSec(5)
            .healthyThreshold(2)
            .unhealthyThreshold(10)
            .httpHealthCheck(HealthCheckHttpHealthCheckArgs.builder()
                .requestPath("/healthz")
                .port("8080")
                .build())
            .build());

        var appserver = new InstanceGroupManager("appserver", InstanceGroupManagerArgs.builder()
            .name("appserver-igm")
            .baseInstanceName("app")
            .zone("us-central1-a")
            .versions(InstanceGroupManagerVersionArgs.builder()
                .instanceTemplate(appserverGoogleComputeInstanceTemplate.selfLinkUnique())
                .build())
            .allInstancesConfig(InstanceGroupManagerAllInstancesConfigArgs.builder()
                .metadata(Map.of("metadata_key", "metadata_value"))
                .labels(Map.of("label_key", "label_value"))
                .build())
            .targetPools(appserverGoogleComputeTargetPool.id())
            .targetSize(2)
            .namedPorts(InstanceGroupManagerNamedPortArgs.builder()
                .name("customhttp")
                .port(8888)
                .build())
            .autoHealingPolicies(InstanceGroupManagerAutoHealingPoliciesArgs.builder()
                .healthCheck(autohealing.id())
                .initialDelaySec(300)
                .build())
            .build());

    }
}
Copy
resources:
  autohealing:
    type: gcp:compute:HealthCheck
    properties:
      name: autohealing-health-check
      checkIntervalSec: 5
      timeoutSec: 5
      healthyThreshold: 2
      unhealthyThreshold: 10 # 50 seconds
      httpHealthCheck:
        requestPath: /healthz
        port: '8080'
  appserver:
    type: gcp:compute:InstanceGroupManager
    properties:
      name: appserver-igm
      baseInstanceName: app
      zone: us-central1-a
      versions:
        - instanceTemplate: ${appserverGoogleComputeInstanceTemplate.selfLinkUnique}
      allInstancesConfig:
        metadata:
          metadata_key: metadata_value
        labels:
          label_key: label_value
      targetPools:
        - ${appserverGoogleComputeTargetPool.id}
      targetSize: 2
      namedPorts:
        - name: customhttp
          port: 8888
      autoHealingPolicies:
        healthCheck: ${autohealing.id}
        initialDelaySec: 300
Copy

With Multiple Versions (Google-Beta Provider)

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const appserver = new gcp.compute.InstanceGroupManager("appserver", {
    name: "appserver-igm",
    baseInstanceName: "app",
    zone: "us-central1-a",
    targetSize: 5,
    versions: [
        {
            name: "appserver",
            instanceTemplate: appserverGoogleComputeInstanceTemplate.selfLinkUnique,
        },
        {
            name: "appserver-canary",
            instanceTemplate: appserver_canary.selfLinkUnique,
            targetSize: {
                fixed: 1,
            },
        },
    ],
});
Copy
import pulumi
import pulumi_gcp as gcp

appserver = gcp.compute.InstanceGroupManager("appserver",
    name="appserver-igm",
    base_instance_name="app",
    zone="us-central1-a",
    target_size=5,
    versions=[
        {
            "name": "appserver",
            "instance_template": appserver_google_compute_instance_template["selfLinkUnique"],
        },
        {
            "name": "appserver-canary",
            "instance_template": appserver_canary["selfLinkUnique"],
            "target_size": {
                "fixed": 1,
            },
        },
    ])
Copy
package main

import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/compute"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewInstanceGroupManager(ctx, "appserver", &compute.InstanceGroupManagerArgs{
			Name:             pulumi.String("appserver-igm"),
			BaseInstanceName: pulumi.String("app"),
			Zone:             pulumi.String("us-central1-a"),
			TargetSize:       pulumi.Int(5),
			Versions: compute.InstanceGroupManagerVersionArray{
				&compute.InstanceGroupManagerVersionArgs{
					Name:             pulumi.String("appserver"),
					InstanceTemplate: pulumi.Any(appserverGoogleComputeInstanceTemplate.SelfLinkUnique),
				},
				&compute.InstanceGroupManagerVersionArgs{
					Name:             pulumi.String("appserver-canary"),
					InstanceTemplate: pulumi.Any(appserver_canary.SelfLinkUnique),
					TargetSize: &compute.InstanceGroupManagerVersionTargetSizeArgs{
						Fixed: pulumi.Int(1),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;

return await Deployment.RunAsync(() => 
{
    var appserver = new Gcp.Compute.InstanceGroupManager("appserver", new()
    {
        Name = "appserver-igm",
        BaseInstanceName = "app",
        Zone = "us-central1-a",
        TargetSize = 5,
        Versions = new[]
        {
            new Gcp.Compute.Inputs.InstanceGroupManagerVersionArgs
            {
                Name = "appserver",
                InstanceTemplate = appserverGoogleComputeInstanceTemplate.SelfLinkUnique,
            },
            new Gcp.Compute.Inputs.InstanceGroupManagerVersionArgs
            {
                Name = "appserver-canary",
                InstanceTemplate = appserver_canary.SelfLinkUnique,
                TargetSize = new Gcp.Compute.Inputs.InstanceGroupManagerVersionTargetSizeArgs
                {
                    Fixed = 1,
                },
            },
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.compute.InstanceGroupManager;
import com.pulumi.gcp.compute.InstanceGroupManagerArgs;
import com.pulumi.gcp.compute.inputs.InstanceGroupManagerVersionArgs;
import com.pulumi.gcp.compute.inputs.InstanceGroupManagerVersionTargetSizeArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var appserver = new InstanceGroupManager("appserver", InstanceGroupManagerArgs.builder()
            .name("appserver-igm")
            .baseInstanceName("app")
            .zone("us-central1-a")
            .targetSize(5)
            .versions(            
                InstanceGroupManagerVersionArgs.builder()
                    .name("appserver")
                    .instanceTemplate(appserverGoogleComputeInstanceTemplate.selfLinkUnique())
                    .build(),
                InstanceGroupManagerVersionArgs.builder()
                    .name("appserver-canary")
                    .instanceTemplate(appserver_canary.selfLinkUnique())
                    .targetSize(InstanceGroupManagerVersionTargetSizeArgs.builder()
                        .fixed(1)
                        .build())
                    .build())
            .build());

    }
}
Copy
resources:
  appserver:
    type: gcp:compute:InstanceGroupManager
    properties:
      name: appserver-igm
      baseInstanceName: app
      zone: us-central1-a
      targetSize: 5
      versions:
        - name: appserver
          instanceTemplate: ${appserverGoogleComputeInstanceTemplate.selfLinkUnique}
        - name: appserver-canary
          instanceTemplate: ${["appserver-canary"].selfLinkUnique}
          targetSize:
            fixed: 1
Copy

With Standby Policy (Google Provider)

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const igm_sr = new gcp.compute.InstanceGroupManager("igm-sr", {
    name: "tf-sr-igm",
    baseInstanceName: "tf-sr-igm-instance",
    zone: "us-central1-a",
    targetSize: 5,
    versions: [{
        instanceTemplate: sr_igm.selfLink,
        name: "primary",
    }],
    standbyPolicy: {
        initialDelaySec: 30,
        mode: "MANUAL",
    },
    targetSuspendedSize: 2,
    targetStoppedSize: 1,
});
Copy
import pulumi
import pulumi_gcp as gcp

igm_sr = gcp.compute.InstanceGroupManager("igm-sr",
    name="tf-sr-igm",
    base_instance_name="tf-sr-igm-instance",
    zone="us-central1-a",
    target_size=5,
    versions=[{
        "instance_template": sr_igm["selfLink"],
        "name": "primary",
    }],
    standby_policy={
        "initial_delay_sec": 30,
        "mode": "MANUAL",
    },
    target_suspended_size=2,
    target_stopped_size=1)
Copy
package main

import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/compute"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewInstanceGroupManager(ctx, "igm-sr", &compute.InstanceGroupManagerArgs{
			Name:             pulumi.String("tf-sr-igm"),
			BaseInstanceName: pulumi.String("tf-sr-igm-instance"),
			Zone:             pulumi.String("us-central1-a"),
			TargetSize:       pulumi.Int(5),
			Versions: compute.InstanceGroupManagerVersionArray{
				&compute.InstanceGroupManagerVersionArgs{
					InstanceTemplate: pulumi.Any(sr_igm.SelfLink),
					Name:             pulumi.String("primary"),
				},
			},
			StandbyPolicy: &compute.InstanceGroupManagerStandbyPolicyArgs{
				InitialDelaySec: pulumi.Int(30),
				Mode:            pulumi.String("MANUAL"),
			},
			TargetSuspendedSize: pulumi.Int(2),
			TargetStoppedSize:   pulumi.Int(1),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;

return await Deployment.RunAsync(() => 
{
    var igm_sr = new Gcp.Compute.InstanceGroupManager("igm-sr", new()
    {
        Name = "tf-sr-igm",
        BaseInstanceName = "tf-sr-igm-instance",
        Zone = "us-central1-a",
        TargetSize = 5,
        Versions = new[]
        {
            new Gcp.Compute.Inputs.InstanceGroupManagerVersionArgs
            {
                InstanceTemplate = sr_igm.SelfLink,
                Name = "primary",
            },
        },
        StandbyPolicy = new Gcp.Compute.Inputs.InstanceGroupManagerStandbyPolicyArgs
        {
            InitialDelaySec = 30,
            Mode = "MANUAL",
        },
        TargetSuspendedSize = 2,
        TargetStoppedSize = 1,
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.compute.InstanceGroupManager;
import com.pulumi.gcp.compute.InstanceGroupManagerArgs;
import com.pulumi.gcp.compute.inputs.InstanceGroupManagerVersionArgs;
import com.pulumi.gcp.compute.inputs.InstanceGroupManagerStandbyPolicyArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var igm_sr = new InstanceGroupManager("igm-sr", InstanceGroupManagerArgs.builder()
            .name("tf-sr-igm")
            .baseInstanceName("tf-sr-igm-instance")
            .zone("us-central1-a")
            .targetSize(5)
            .versions(InstanceGroupManagerVersionArgs.builder()
                .instanceTemplate(sr_igm.selfLink())
                .name("primary")
                .build())
            .standbyPolicy(InstanceGroupManagerStandbyPolicyArgs.builder()
                .initialDelaySec(30)
                .mode("MANUAL")
                .build())
            .targetSuspendedSize(2)
            .targetStoppedSize(1)
            .build());

    }
}
Copy
resources:
  igm-sr:
    type: gcp:compute:InstanceGroupManager
    properties:
      name: tf-sr-igm
      baseInstanceName: tf-sr-igm-instance
      zone: us-central1-a
      targetSize: 5
      versions:
        - instanceTemplate: ${["sr-igm"].selfLink}
          name: primary
      standbyPolicy:
        initialDelaySec: 30
        mode: MANUAL
      targetSuspendedSize: 2
      targetStoppedSize: 1
Copy

Create InstanceGroupManager Resource

Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

Constructor syntax

new InstanceGroupManager(name: string, args: InstanceGroupManagerArgs, opts?: CustomResourceOptions);
@overload
def InstanceGroupManager(resource_name: str,
                         args: InstanceGroupManagerArgs,
                         opts: Optional[ResourceOptions] = None)

@overload
def InstanceGroupManager(resource_name: str,
                         opts: Optional[ResourceOptions] = None,
                         base_instance_name: Optional[str] = None,
                         versions: Optional[Sequence[InstanceGroupManagerVersionArgs]] = None,
                         standby_policy: Optional[InstanceGroupManagerStandbyPolicyArgs] = None,
                         stateful_internal_ips: Optional[Sequence[InstanceGroupManagerStatefulInternalIpArgs]] = None,
                         instance_lifecycle_policy: Optional[InstanceGroupManagerInstanceLifecyclePolicyArgs] = None,
                         list_managed_instances_results: Optional[str] = None,
                         name: Optional[str] = None,
                         named_ports: Optional[Sequence[InstanceGroupManagerNamedPortArgs]] = None,
                         params: Optional[InstanceGroupManagerParamsArgs] = None,
                         project: Optional[str] = None,
                         all_instances_config: Optional[InstanceGroupManagerAllInstancesConfigArgs] = None,
                         stateful_disks: Optional[Sequence[InstanceGroupManagerStatefulDiskArgs]] = None,
                         stateful_external_ips: Optional[Sequence[InstanceGroupManagerStatefulExternalIpArgs]] = None,
                         description: Optional[str] = None,
                         target_pools: Optional[Sequence[str]] = None,
                         target_size: Optional[int] = None,
                         target_stopped_size: Optional[int] = None,
                         target_suspended_size: Optional[int] = None,
                         update_policy: Optional[InstanceGroupManagerUpdatePolicyArgs] = None,
                         auto_healing_policies: Optional[InstanceGroupManagerAutoHealingPoliciesArgs] = None,
                         wait_for_instances: Optional[bool] = None,
                         wait_for_instances_status: Optional[str] = None,
                         zone: Optional[str] = None)
func NewInstanceGroupManager(ctx *Context, name string, args InstanceGroupManagerArgs, opts ...ResourceOption) (*InstanceGroupManager, error)
public InstanceGroupManager(string name, InstanceGroupManagerArgs args, CustomResourceOptions? opts = null)
public InstanceGroupManager(String name, InstanceGroupManagerArgs args)
public InstanceGroupManager(String name, InstanceGroupManagerArgs args, CustomResourceOptions options)
type: gcp:compute:InstanceGroupManager
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args This property is required. InstanceGroupManagerArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. InstanceGroupManagerArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name This property is required. string
The unique name of the resource.
args This property is required. InstanceGroupManagerArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. InstanceGroupManagerArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. InstanceGroupManagerArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

Constructor example

The following reference example uses placeholder values for all input properties.

var instanceGroupManagerResource = new Gcp.Compute.InstanceGroupManager("instanceGroupManagerResource", new()
{
    BaseInstanceName = "string",
    Versions = new[]
    {
        new Gcp.Compute.Inputs.InstanceGroupManagerVersionArgs
        {
            InstanceTemplate = "string",
            Name = "string",
            TargetSize = new Gcp.Compute.Inputs.InstanceGroupManagerVersionTargetSizeArgs
            {
                Fixed = 0,
                Percent = 0,
            },
        },
    },
    StandbyPolicy = new Gcp.Compute.Inputs.InstanceGroupManagerStandbyPolicyArgs
    {
        InitialDelaySec = 0,
        Mode = "string",
    },
    StatefulInternalIps = new[]
    {
        new Gcp.Compute.Inputs.InstanceGroupManagerStatefulInternalIpArgs
        {
            DeleteRule = "string",
            InterfaceName = "string",
        },
    },
    InstanceLifecyclePolicy = new Gcp.Compute.Inputs.InstanceGroupManagerInstanceLifecyclePolicyArgs
    {
        DefaultActionOnFailure = "string",
        ForceUpdateOnRepair = "string",
    },
    ListManagedInstancesResults = "string",
    Name = "string",
    NamedPorts = new[]
    {
        new Gcp.Compute.Inputs.InstanceGroupManagerNamedPortArgs
        {
            Name = "string",
            Port = 0,
        },
    },
    Params = new Gcp.Compute.Inputs.InstanceGroupManagerParamsArgs
    {
        ResourceManagerTags = 
        {
            { "string", "string" },
        },
    },
    Project = "string",
    AllInstancesConfig = new Gcp.Compute.Inputs.InstanceGroupManagerAllInstancesConfigArgs
    {
        Labels = 
        {
            { "string", "string" },
        },
        Metadata = 
        {
            { "string", "string" },
        },
    },
    StatefulDisks = new[]
    {
        new Gcp.Compute.Inputs.InstanceGroupManagerStatefulDiskArgs
        {
            DeviceName = "string",
            DeleteRule = "string",
        },
    },
    StatefulExternalIps = new[]
    {
        new Gcp.Compute.Inputs.InstanceGroupManagerStatefulExternalIpArgs
        {
            DeleteRule = "string",
            InterfaceName = "string",
        },
    },
    Description = "string",
    TargetPools = new[]
    {
        "string",
    },
    TargetSize = 0,
    TargetStoppedSize = 0,
    TargetSuspendedSize = 0,
    UpdatePolicy = new Gcp.Compute.Inputs.InstanceGroupManagerUpdatePolicyArgs
    {
        MinimalAction = "string",
        Type = "string",
        MaxSurgeFixed = 0,
        MaxSurgePercent = 0,
        MaxUnavailableFixed = 0,
        MaxUnavailablePercent = 0,
        MinReadySec = 0,
        MostDisruptiveAllowedAction = "string",
        ReplacementMethod = "string",
    },
    AutoHealingPolicies = new Gcp.Compute.Inputs.InstanceGroupManagerAutoHealingPoliciesArgs
    {
        HealthCheck = "string",
        InitialDelaySec = 0,
    },
    WaitForInstances = false,
    WaitForInstancesStatus = "string",
    Zone = "string",
});
Copy
example, err := compute.NewInstanceGroupManager(ctx, "instanceGroupManagerResource", &compute.InstanceGroupManagerArgs{
	BaseInstanceName: pulumi.String("string"),
	Versions: compute.InstanceGroupManagerVersionArray{
		&compute.InstanceGroupManagerVersionArgs{
			InstanceTemplate: pulumi.String("string"),
			Name:             pulumi.String("string"),
			TargetSize: &compute.InstanceGroupManagerVersionTargetSizeArgs{
				Fixed:   pulumi.Int(0),
				Percent: pulumi.Int(0),
			},
		},
	},
	StandbyPolicy: &compute.InstanceGroupManagerStandbyPolicyArgs{
		InitialDelaySec: pulumi.Int(0),
		Mode:            pulumi.String("string"),
	},
	StatefulInternalIps: compute.InstanceGroupManagerStatefulInternalIpArray{
		&compute.InstanceGroupManagerStatefulInternalIpArgs{
			DeleteRule:    pulumi.String("string"),
			InterfaceName: pulumi.String("string"),
		},
	},
	InstanceLifecyclePolicy: &compute.InstanceGroupManagerInstanceLifecyclePolicyArgs{
		DefaultActionOnFailure: pulumi.String("string"),
		ForceUpdateOnRepair:    pulumi.String("string"),
	},
	ListManagedInstancesResults: pulumi.String("string"),
	Name:                        pulumi.String("string"),
	NamedPorts: compute.InstanceGroupManagerNamedPortArray{
		&compute.InstanceGroupManagerNamedPortArgs{
			Name: pulumi.String("string"),
			Port: pulumi.Int(0),
		},
	},
	Params: &compute.InstanceGroupManagerParamsArgs{
		ResourceManagerTags: pulumi.StringMap{
			"string": pulumi.String("string"),
		},
	},
	Project: pulumi.String("string"),
	AllInstancesConfig: &compute.InstanceGroupManagerAllInstancesConfigArgs{
		Labels: pulumi.StringMap{
			"string": pulumi.String("string"),
		},
		Metadata: pulumi.StringMap{
			"string": pulumi.String("string"),
		},
	},
	StatefulDisks: compute.InstanceGroupManagerStatefulDiskArray{
		&compute.InstanceGroupManagerStatefulDiskArgs{
			DeviceName: pulumi.String("string"),
			DeleteRule: pulumi.String("string"),
		},
	},
	StatefulExternalIps: compute.InstanceGroupManagerStatefulExternalIpArray{
		&compute.InstanceGroupManagerStatefulExternalIpArgs{
			DeleteRule:    pulumi.String("string"),
			InterfaceName: pulumi.String("string"),
		},
	},
	Description: pulumi.String("string"),
	TargetPools: pulumi.StringArray{
		pulumi.String("string"),
	},
	TargetSize:          pulumi.Int(0),
	TargetStoppedSize:   pulumi.Int(0),
	TargetSuspendedSize: pulumi.Int(0),
	UpdatePolicy: &compute.InstanceGroupManagerUpdatePolicyArgs{
		MinimalAction:               pulumi.String("string"),
		Type:                        pulumi.String("string"),
		MaxSurgeFixed:               pulumi.Int(0),
		MaxSurgePercent:             pulumi.Int(0),
		MaxUnavailableFixed:         pulumi.Int(0),
		MaxUnavailablePercent:       pulumi.Int(0),
		MinReadySec:                 pulumi.Int(0),
		MostDisruptiveAllowedAction: pulumi.String("string"),
		ReplacementMethod:           pulumi.String("string"),
	},
	AutoHealingPolicies: &compute.InstanceGroupManagerAutoHealingPoliciesArgs{
		HealthCheck:     pulumi.String("string"),
		InitialDelaySec: pulumi.Int(0),
	},
	WaitForInstances:       pulumi.Bool(false),
	WaitForInstancesStatus: pulumi.String("string"),
	Zone:                   pulumi.String("string"),
})
Copy
var instanceGroupManagerResource = new InstanceGroupManager("instanceGroupManagerResource", InstanceGroupManagerArgs.builder()
    .baseInstanceName("string")
    .versions(InstanceGroupManagerVersionArgs.builder()
        .instanceTemplate("string")
        .name("string")
        .targetSize(InstanceGroupManagerVersionTargetSizeArgs.builder()
            .fixed(0)
            .percent(0)
            .build())
        .build())
    .standbyPolicy(InstanceGroupManagerStandbyPolicyArgs.builder()
        .initialDelaySec(0)
        .mode("string")
        .build())
    .statefulInternalIps(InstanceGroupManagerStatefulInternalIpArgs.builder()
        .deleteRule("string")
        .interfaceName("string")
        .build())
    .instanceLifecyclePolicy(InstanceGroupManagerInstanceLifecyclePolicyArgs.builder()
        .defaultActionOnFailure("string")
        .forceUpdateOnRepair("string")
        .build())
    .listManagedInstancesResults("string")
    .name("string")
    .namedPorts(InstanceGroupManagerNamedPortArgs.builder()
        .name("string")
        .port(0)
        .build())
    .params(InstanceGroupManagerParamsArgs.builder()
        .resourceManagerTags(Map.of("string", "string"))
        .build())
    .project("string")
    .allInstancesConfig(InstanceGroupManagerAllInstancesConfigArgs.builder()
        .labels(Map.of("string", "string"))
        .metadata(Map.of("string", "string"))
        .build())
    .statefulDisks(InstanceGroupManagerStatefulDiskArgs.builder()
        .deviceName("string")
        .deleteRule("string")
        .build())
    .statefulExternalIps(InstanceGroupManagerStatefulExternalIpArgs.builder()
        .deleteRule("string")
        .interfaceName("string")
        .build())
    .description("string")
    .targetPools("string")
    .targetSize(0)
    .targetStoppedSize(0)
    .targetSuspendedSize(0)
    .updatePolicy(InstanceGroupManagerUpdatePolicyArgs.builder()
        .minimalAction("string")
        .type("string")
        .maxSurgeFixed(0)
        .maxSurgePercent(0)
        .maxUnavailableFixed(0)
        .maxUnavailablePercent(0)
        .minReadySec(0)
        .mostDisruptiveAllowedAction("string")
        .replacementMethod("string")
        .build())
    .autoHealingPolicies(InstanceGroupManagerAutoHealingPoliciesArgs.builder()
        .healthCheck("string")
        .initialDelaySec(0)
        .build())
    .waitForInstances(false)
    .waitForInstancesStatus("string")
    .zone("string")
    .build());
Copy
instance_group_manager_resource = gcp.compute.InstanceGroupManager("instanceGroupManagerResource",
    base_instance_name="string",
    versions=[{
        "instance_template": "string",
        "name": "string",
        "target_size": {
            "fixed": 0,
            "percent": 0,
        },
    }],
    standby_policy={
        "initial_delay_sec": 0,
        "mode": "string",
    },
    stateful_internal_ips=[{
        "delete_rule": "string",
        "interface_name": "string",
    }],
    instance_lifecycle_policy={
        "default_action_on_failure": "string",
        "force_update_on_repair": "string",
    },
    list_managed_instances_results="string",
    name="string",
    named_ports=[{
        "name": "string",
        "port": 0,
    }],
    params={
        "resource_manager_tags": {
            "string": "string",
        },
    },
    project="string",
    all_instances_config={
        "labels": {
            "string": "string",
        },
        "metadata": {
            "string": "string",
        },
    },
    stateful_disks=[{
        "device_name": "string",
        "delete_rule": "string",
    }],
    stateful_external_ips=[{
        "delete_rule": "string",
        "interface_name": "string",
    }],
    description="string",
    target_pools=["string"],
    target_size=0,
    target_stopped_size=0,
    target_suspended_size=0,
    update_policy={
        "minimal_action": "string",
        "type": "string",
        "max_surge_fixed": 0,
        "max_surge_percent": 0,
        "max_unavailable_fixed": 0,
        "max_unavailable_percent": 0,
        "min_ready_sec": 0,
        "most_disruptive_allowed_action": "string",
        "replacement_method": "string",
    },
    auto_healing_policies={
        "health_check": "string",
        "initial_delay_sec": 0,
    },
    wait_for_instances=False,
    wait_for_instances_status="string",
    zone="string")
Copy
const instanceGroupManagerResource = new gcp.compute.InstanceGroupManager("instanceGroupManagerResource", {
    baseInstanceName: "string",
    versions: [{
        instanceTemplate: "string",
        name: "string",
        targetSize: {
            fixed: 0,
            percent: 0,
        },
    }],
    standbyPolicy: {
        initialDelaySec: 0,
        mode: "string",
    },
    statefulInternalIps: [{
        deleteRule: "string",
        interfaceName: "string",
    }],
    instanceLifecyclePolicy: {
        defaultActionOnFailure: "string",
        forceUpdateOnRepair: "string",
    },
    listManagedInstancesResults: "string",
    name: "string",
    namedPorts: [{
        name: "string",
        port: 0,
    }],
    params: {
        resourceManagerTags: {
            string: "string",
        },
    },
    project: "string",
    allInstancesConfig: {
        labels: {
            string: "string",
        },
        metadata: {
            string: "string",
        },
    },
    statefulDisks: [{
        deviceName: "string",
        deleteRule: "string",
    }],
    statefulExternalIps: [{
        deleteRule: "string",
        interfaceName: "string",
    }],
    description: "string",
    targetPools: ["string"],
    targetSize: 0,
    targetStoppedSize: 0,
    targetSuspendedSize: 0,
    updatePolicy: {
        minimalAction: "string",
        type: "string",
        maxSurgeFixed: 0,
        maxSurgePercent: 0,
        maxUnavailableFixed: 0,
        maxUnavailablePercent: 0,
        minReadySec: 0,
        mostDisruptiveAllowedAction: "string",
        replacementMethod: "string",
    },
    autoHealingPolicies: {
        healthCheck: "string",
        initialDelaySec: 0,
    },
    waitForInstances: false,
    waitForInstancesStatus: "string",
    zone: "string",
});
Copy
type: gcp:compute:InstanceGroupManager
properties:
    allInstancesConfig:
        labels:
            string: string
        metadata:
            string: string
    autoHealingPolicies:
        healthCheck: string
        initialDelaySec: 0
    baseInstanceName: string
    description: string
    instanceLifecyclePolicy:
        defaultActionOnFailure: string
        forceUpdateOnRepair: string
    listManagedInstancesResults: string
    name: string
    namedPorts:
        - name: string
          port: 0
    params:
        resourceManagerTags:
            string: string
    project: string
    standbyPolicy:
        initialDelaySec: 0
        mode: string
    statefulDisks:
        - deleteRule: string
          deviceName: string
    statefulExternalIps:
        - deleteRule: string
          interfaceName: string
    statefulInternalIps:
        - deleteRule: string
          interfaceName: string
    targetPools:
        - string
    targetSize: 0
    targetStoppedSize: 0
    targetSuspendedSize: 0
    updatePolicy:
        maxSurgeFixed: 0
        maxSurgePercent: 0
        maxUnavailableFixed: 0
        maxUnavailablePercent: 0
        minReadySec: 0
        minimalAction: string
        mostDisruptiveAllowedAction: string
        replacementMethod: string
        type: string
    versions:
        - instanceTemplate: string
          name: string
          targetSize:
            fixed: 0
            percent: 0
    waitForInstances: false
    waitForInstancesStatus: string
    zone: string
Copy

InstanceGroupManager Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

The InstanceGroupManager resource accepts the following input properties:

BaseInstanceName
This property is required.
Changes to this property will trigger replacement.
string
The base instance name to use for instances in this group. The value must be a valid RFC1035 name. Supported characters are lowercase letters, numbers, and hyphens (-). Instances are named by appending a hyphen and a random four-character string to the base instance name.
Versions This property is required. List<InstanceGroupManagerVersion>
Application versions managed by this instance group. Each version deals with a specific instance template, allowing canary release scenarios. Structure is documented below.
AllInstancesConfig InstanceGroupManagerAllInstancesConfig
Properties to set on all instances in the group. After setting allInstancesConfig on the group, you must update the group's instances to apply the configuration.
AutoHealingPolicies InstanceGroupManagerAutoHealingPolicies
The autohealing policies for this managed instance group. You can specify only one value. Structure is documented below. For more information, see the official documentation.
Description string
An optional textual description of the instance group manager.
InstanceLifecyclePolicy InstanceGroupManagerInstanceLifecyclePolicy
The instance lifecycle policy for this managed instance group.
ListManagedInstancesResults string
Pagination behavior of the listManagedInstances API method for this managed instance group. Valid values are: PAGELESS, PAGINATED. If PAGELESS (default), Pagination is disabled for the group's listManagedInstances API method. maxResults and pageToken query parameters are ignored and all instances are returned in a single response. If PAGINATED, pagination is enabled, maxResults and pageToken query parameters are respected.
Name Changes to this property will trigger replacement. string
The name of the instance group manager. Must be 1-63 characters long and comply with RFC1035. Supported characters include lowercase letters, numbers, and hyphens.
NamedPorts List<InstanceGroupManagerNamedPort>
The named port configuration. See the section below for details on configuration.
Params Changes to this property will trigger replacement. InstanceGroupManagerParams
Input only additional params for instance group manager creation. Structure is documented below. For more information, see API.


Project Changes to this property will trigger replacement. string
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
StandbyPolicy InstanceGroupManagerStandbyPolicy
The standby policy for stopped and suspended instances. Structure is documented below. For more information, see the official documentation.
StatefulDisks List<InstanceGroupManagerStatefulDisk>
Disks created on the instances that will be preserved on instance delete, update, etc. Structure is documented below. For more information see the official documentation.
StatefulExternalIps List<InstanceGroupManagerStatefulExternalIp>
External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
StatefulInternalIps List<InstanceGroupManagerStatefulInternalIp>
Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
TargetPools List<string>
The full URL of all target pools to which new instances in the group are added. Updating the target pools attribute does not affect existing instances.
TargetSize int
The target number of running instances for this managed instance group. This value should always be explicitly set unless this resource is attached to an autoscaler, in which case it should never be set. Defaults to 0.
TargetStoppedSize int
The target number of stopped instances for this managed instance group.
TargetSuspendedSize int
The target number of suspended instances for this managed instance group.
UpdatePolicy InstanceGroupManagerUpdatePolicy
The update policy for this managed instance group. Structure is documented below. For more information, see the official documentation and API.
WaitForInstances bool
Whether to wait for all instances to be created/updated before returning. Note that if this is set to true and the operation does not succeed, this provider will continue trying until it times out.
WaitForInstancesStatus string
When used with wait_for_instances it specifies the status to wait for. When STABLE is specified this resource will wait until the instances are stable before returning. When UPDATED is set, it will wait for the version target to be reached and any per instance configs to be effective as well as all instances to be stable before returning. The possible values are STABLE and UPDATED
Zone Changes to this property will trigger replacement. string
The zone that instances in this group should be created in.


BaseInstanceName
This property is required.
Changes to this property will trigger replacement.
string
The base instance name to use for instances in this group. The value must be a valid RFC1035 name. Supported characters are lowercase letters, numbers, and hyphens (-). Instances are named by appending a hyphen and a random four-character string to the base instance name.
Versions This property is required. []InstanceGroupManagerVersionArgs
Application versions managed by this instance group. Each version deals with a specific instance template, allowing canary release scenarios. Structure is documented below.
AllInstancesConfig InstanceGroupManagerAllInstancesConfigArgs
Properties to set on all instances in the group. After setting allInstancesConfig on the group, you must update the group's instances to apply the configuration.
AutoHealingPolicies InstanceGroupManagerAutoHealingPoliciesArgs
The autohealing policies for this managed instance group. You can specify only one value. Structure is documented below. For more information, see the official documentation.
Description string
An optional textual description of the instance group manager.
InstanceLifecyclePolicy InstanceGroupManagerInstanceLifecyclePolicyArgs
The instance lifecycle policy for this managed instance group.
ListManagedInstancesResults string
Pagination behavior of the listManagedInstances API method for this managed instance group. Valid values are: PAGELESS, PAGINATED. If PAGELESS (default), Pagination is disabled for the group's listManagedInstances API method. maxResults and pageToken query parameters are ignored and all instances are returned in a single response. If PAGINATED, pagination is enabled, maxResults and pageToken query parameters are respected.
Name Changes to this property will trigger replacement. string
The name of the instance group manager. Must be 1-63 characters long and comply with RFC1035. Supported characters include lowercase letters, numbers, and hyphens.
NamedPorts []InstanceGroupManagerNamedPortArgs
The named port configuration. See the section below for details on configuration.
Params Changes to this property will trigger replacement. InstanceGroupManagerParamsArgs
Input only additional params for instance group manager creation. Structure is documented below. For more information, see API.


Project Changes to this property will trigger replacement. string
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
StandbyPolicy InstanceGroupManagerStandbyPolicyArgs
The standby policy for stopped and suspended instances. Structure is documented below. For more information, see the official documentation.
StatefulDisks []InstanceGroupManagerStatefulDiskArgs
Disks created on the instances that will be preserved on instance delete, update, etc. Structure is documented below. For more information see the official documentation.
StatefulExternalIps []InstanceGroupManagerStatefulExternalIpArgs
External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
StatefulInternalIps []InstanceGroupManagerStatefulInternalIpArgs
Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
TargetPools []string
The full URL of all target pools to which new instances in the group are added. Updating the target pools attribute does not affect existing instances.
TargetSize int
The target number of running instances for this managed instance group. This value should always be explicitly set unless this resource is attached to an autoscaler, in which case it should never be set. Defaults to 0.
TargetStoppedSize int
The target number of stopped instances for this managed instance group.
TargetSuspendedSize int
The target number of suspended instances for this managed instance group.
UpdatePolicy InstanceGroupManagerUpdatePolicyArgs
The update policy for this managed instance group. Structure is documented below. For more information, see the official documentation and API.
WaitForInstances bool
Whether to wait for all instances to be created/updated before returning. Note that if this is set to true and the operation does not succeed, this provider will continue trying until it times out.
WaitForInstancesStatus string
When used with wait_for_instances it specifies the status to wait for. When STABLE is specified this resource will wait until the instances are stable before returning. When UPDATED is set, it will wait for the version target to be reached and any per instance configs to be effective as well as all instances to be stable before returning. The possible values are STABLE and UPDATED
Zone Changes to this property will trigger replacement. string
The zone that instances in this group should be created in.


baseInstanceName
This property is required.
Changes to this property will trigger replacement.
String
The base instance name to use for instances in this group. The value must be a valid RFC1035 name. Supported characters are lowercase letters, numbers, and hyphens (-). Instances are named by appending a hyphen and a random four-character string to the base instance name.
versions This property is required. List<InstanceGroupManagerVersion>
Application versions managed by this instance group. Each version deals with a specific instance template, allowing canary release scenarios. Structure is documented below.
allInstancesConfig InstanceGroupManagerAllInstancesConfig
Properties to set on all instances in the group. After setting allInstancesConfig on the group, you must update the group's instances to apply the configuration.
autoHealingPolicies InstanceGroupManagerAutoHealingPolicies
The autohealing policies for this managed instance group. You can specify only one value. Structure is documented below. For more information, see the official documentation.
description String
An optional textual description of the instance group manager.
instanceLifecyclePolicy InstanceGroupManagerInstanceLifecyclePolicy
The instance lifecycle policy for this managed instance group.
listManagedInstancesResults String
Pagination behavior of the listManagedInstances API method for this managed instance group. Valid values are: PAGELESS, PAGINATED. If PAGELESS (default), Pagination is disabled for the group's listManagedInstances API method. maxResults and pageToken query parameters are ignored and all instances are returned in a single response. If PAGINATED, pagination is enabled, maxResults and pageToken query parameters are respected.
name Changes to this property will trigger replacement. String
The name of the instance group manager. Must be 1-63 characters long and comply with RFC1035. Supported characters include lowercase letters, numbers, and hyphens.
namedPorts List<InstanceGroupManagerNamedPort>
The named port configuration. See the section below for details on configuration.
params Changes to this property will trigger replacement. InstanceGroupManagerParams
Input only additional params for instance group manager creation. Structure is documented below. For more information, see API.


project Changes to this property will trigger replacement. String
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
standbyPolicy InstanceGroupManagerStandbyPolicy
The standby policy for stopped and suspended instances. Structure is documented below. For more information, see the official documentation.
statefulDisks List<InstanceGroupManagerStatefulDisk>
Disks created on the instances that will be preserved on instance delete, update, etc. Structure is documented below. For more information see the official documentation.
statefulExternalIps List<InstanceGroupManagerStatefulExternalIp>
External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
statefulInternalIps List<InstanceGroupManagerStatefulInternalIp>
Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
targetPools List<String>
The full URL of all target pools to which new instances in the group are added. Updating the target pools attribute does not affect existing instances.
targetSize Integer
The target number of running instances for this managed instance group. This value should always be explicitly set unless this resource is attached to an autoscaler, in which case it should never be set. Defaults to 0.
targetStoppedSize Integer
The target number of stopped instances for this managed instance group.
targetSuspendedSize Integer
The target number of suspended instances for this managed instance group.
updatePolicy InstanceGroupManagerUpdatePolicy
The update policy for this managed instance group. Structure is documented below. For more information, see the official documentation and API.
waitForInstances Boolean
Whether to wait for all instances to be created/updated before returning. Note that if this is set to true and the operation does not succeed, this provider will continue trying until it times out.
waitForInstancesStatus String
When used with wait_for_instances it specifies the status to wait for. When STABLE is specified this resource will wait until the instances are stable before returning. When UPDATED is set, it will wait for the version target to be reached and any per instance configs to be effective as well as all instances to be stable before returning. The possible values are STABLE and UPDATED
zone Changes to this property will trigger replacement. String
The zone that instances in this group should be created in.


baseInstanceName
This property is required.
Changes to this property will trigger replacement.
string
The base instance name to use for instances in this group. The value must be a valid RFC1035 name. Supported characters are lowercase letters, numbers, and hyphens (-). Instances are named by appending a hyphen and a random four-character string to the base instance name.
versions This property is required. InstanceGroupManagerVersion[]
Application versions managed by this instance group. Each version deals with a specific instance template, allowing canary release scenarios. Structure is documented below.
allInstancesConfig InstanceGroupManagerAllInstancesConfig
Properties to set on all instances in the group. After setting allInstancesConfig on the group, you must update the group's instances to apply the configuration.
autoHealingPolicies InstanceGroupManagerAutoHealingPolicies
The autohealing policies for this managed instance group. You can specify only one value. Structure is documented below. For more information, see the official documentation.
description string
An optional textual description of the instance group manager.
instanceLifecyclePolicy InstanceGroupManagerInstanceLifecyclePolicy
The instance lifecycle policy for this managed instance group.
listManagedInstancesResults string
Pagination behavior of the listManagedInstances API method for this managed instance group. Valid values are: PAGELESS, PAGINATED. If PAGELESS (default), Pagination is disabled for the group's listManagedInstances API method. maxResults and pageToken query parameters are ignored and all instances are returned in a single response. If PAGINATED, pagination is enabled, maxResults and pageToken query parameters are respected.
name Changes to this property will trigger replacement. string
The name of the instance group manager. Must be 1-63 characters long and comply with RFC1035. Supported characters include lowercase letters, numbers, and hyphens.
namedPorts InstanceGroupManagerNamedPort[]
The named port configuration. See the section below for details on configuration.
params Changes to this property will trigger replacement. InstanceGroupManagerParams
Input only additional params for instance group manager creation. Structure is documented below. For more information, see API.


project Changes to this property will trigger replacement. string
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
standbyPolicy InstanceGroupManagerStandbyPolicy
The standby policy for stopped and suspended instances. Structure is documented below. For more information, see the official documentation.
statefulDisks InstanceGroupManagerStatefulDisk[]
Disks created on the instances that will be preserved on instance delete, update, etc. Structure is documented below. For more information see the official documentation.
statefulExternalIps InstanceGroupManagerStatefulExternalIp[]
External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
statefulInternalIps InstanceGroupManagerStatefulInternalIp[]
Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
targetPools string[]
The full URL of all target pools to which new instances in the group are added. Updating the target pools attribute does not affect existing instances.
targetSize number
The target number of running instances for this managed instance group. This value should always be explicitly set unless this resource is attached to an autoscaler, in which case it should never be set. Defaults to 0.
targetStoppedSize number
The target number of stopped instances for this managed instance group.
targetSuspendedSize number
The target number of suspended instances for this managed instance group.
updatePolicy InstanceGroupManagerUpdatePolicy
The update policy for this managed instance group. Structure is documented below. For more information, see the official documentation and API.
waitForInstances boolean
Whether to wait for all instances to be created/updated before returning. Note that if this is set to true and the operation does not succeed, this provider will continue trying until it times out.
waitForInstancesStatus string
When used with wait_for_instances it specifies the status to wait for. When STABLE is specified this resource will wait until the instances are stable before returning. When UPDATED is set, it will wait for the version target to be reached and any per instance configs to be effective as well as all instances to be stable before returning. The possible values are STABLE and UPDATED
zone Changes to this property will trigger replacement. string
The zone that instances in this group should be created in.


base_instance_name
This property is required.
Changes to this property will trigger replacement.
str
The base instance name to use for instances in this group. The value must be a valid RFC1035 name. Supported characters are lowercase letters, numbers, and hyphens (-). Instances are named by appending a hyphen and a random four-character string to the base instance name.
versions This property is required. Sequence[InstanceGroupManagerVersionArgs]
Application versions managed by this instance group. Each version deals with a specific instance template, allowing canary release scenarios. Structure is documented below.
all_instances_config InstanceGroupManagerAllInstancesConfigArgs
Properties to set on all instances in the group. After setting allInstancesConfig on the group, you must update the group's instances to apply the configuration.
auto_healing_policies InstanceGroupManagerAutoHealingPoliciesArgs
The autohealing policies for this managed instance group. You can specify only one value. Structure is documented below. For more information, see the official documentation.
description str
An optional textual description of the instance group manager.
instance_lifecycle_policy InstanceGroupManagerInstanceLifecyclePolicyArgs
The instance lifecycle policy for this managed instance group.
list_managed_instances_results str
Pagination behavior of the listManagedInstances API method for this managed instance group. Valid values are: PAGELESS, PAGINATED. If PAGELESS (default), Pagination is disabled for the group's listManagedInstances API method. maxResults and pageToken query parameters are ignored and all instances are returned in a single response. If PAGINATED, pagination is enabled, maxResults and pageToken query parameters are respected.
name Changes to this property will trigger replacement. str
The name of the instance group manager. Must be 1-63 characters long and comply with RFC1035. Supported characters include lowercase letters, numbers, and hyphens.
named_ports Sequence[InstanceGroupManagerNamedPortArgs]
The named port configuration. See the section below for details on configuration.
params Changes to this property will trigger replacement. InstanceGroupManagerParamsArgs
Input only additional params for instance group manager creation. Structure is documented below. For more information, see API.


project Changes to this property will trigger replacement. str
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
standby_policy InstanceGroupManagerStandbyPolicyArgs
The standby policy for stopped and suspended instances. Structure is documented below. For more information, see the official documentation.
stateful_disks Sequence[InstanceGroupManagerStatefulDiskArgs]
Disks created on the instances that will be preserved on instance delete, update, etc. Structure is documented below. For more information see the official documentation.
stateful_external_ips Sequence[InstanceGroupManagerStatefulExternalIpArgs]
External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
stateful_internal_ips Sequence[InstanceGroupManagerStatefulInternalIpArgs]
Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
target_pools Sequence[str]
The full URL of all target pools to which new instances in the group are added. Updating the target pools attribute does not affect existing instances.
target_size int
The target number of running instances for this managed instance group. This value should always be explicitly set unless this resource is attached to an autoscaler, in which case it should never be set. Defaults to 0.
target_stopped_size int
The target number of stopped instances for this managed instance group.
target_suspended_size int
The target number of suspended instances for this managed instance group.
update_policy InstanceGroupManagerUpdatePolicyArgs
The update policy for this managed instance group. Structure is documented below. For more information, see the official documentation and API.
wait_for_instances bool
Whether to wait for all instances to be created/updated before returning. Note that if this is set to true and the operation does not succeed, this provider will continue trying until it times out.
wait_for_instances_status str
When used with wait_for_instances it specifies the status to wait for. When STABLE is specified this resource will wait until the instances are stable before returning. When UPDATED is set, it will wait for the version target to be reached and any per instance configs to be effective as well as all instances to be stable before returning. The possible values are STABLE and UPDATED
zone Changes to this property will trigger replacement. str
The zone that instances in this group should be created in.


baseInstanceName
This property is required.
Changes to this property will trigger replacement.
String
The base instance name to use for instances in this group. The value must be a valid RFC1035 name. Supported characters are lowercase letters, numbers, and hyphens (-). Instances are named by appending a hyphen and a random four-character string to the base instance name.
versions This property is required. List<Property Map>
Application versions managed by this instance group. Each version deals with a specific instance template, allowing canary release scenarios. Structure is documented below.
allInstancesConfig Property Map
Properties to set on all instances in the group. After setting allInstancesConfig on the group, you must update the group's instances to apply the configuration.
autoHealingPolicies Property Map
The autohealing policies for this managed instance group. You can specify only one value. Structure is documented below. For more information, see the official documentation.
description String
An optional textual description of the instance group manager.
instanceLifecyclePolicy Property Map
The instance lifecycle policy for this managed instance group.
listManagedInstancesResults String
Pagination behavior of the listManagedInstances API method for this managed instance group. Valid values are: PAGELESS, PAGINATED. If PAGELESS (default), Pagination is disabled for the group's listManagedInstances API method. maxResults and pageToken query parameters are ignored and all instances are returned in a single response. If PAGINATED, pagination is enabled, maxResults and pageToken query parameters are respected.
name Changes to this property will trigger replacement. String
The name of the instance group manager. Must be 1-63 characters long and comply with RFC1035. Supported characters include lowercase letters, numbers, and hyphens.
namedPorts List<Property Map>
The named port configuration. See the section below for details on configuration.
params Changes to this property will trigger replacement. Property Map
Input only additional params for instance group manager creation. Structure is documented below. For more information, see API.


project Changes to this property will trigger replacement. String
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
standbyPolicy Property Map
The standby policy for stopped and suspended instances. Structure is documented below. For more information, see the official documentation.
statefulDisks List<Property Map>
Disks created on the instances that will be preserved on instance delete, update, etc. Structure is documented below. For more information see the official documentation.
statefulExternalIps List<Property Map>
External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
statefulInternalIps List<Property Map>
Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
targetPools List<String>
The full URL of all target pools to which new instances in the group are added. Updating the target pools attribute does not affect existing instances.
targetSize Number
The target number of running instances for this managed instance group. This value should always be explicitly set unless this resource is attached to an autoscaler, in which case it should never be set. Defaults to 0.
targetStoppedSize Number
The target number of stopped instances for this managed instance group.
targetSuspendedSize Number
The target number of suspended instances for this managed instance group.
updatePolicy Property Map
The update policy for this managed instance group. Structure is documented below. For more information, see the official documentation and API.
waitForInstances Boolean
Whether to wait for all instances to be created/updated before returning. Note that if this is set to true and the operation does not succeed, this provider will continue trying until it times out.
waitForInstancesStatus String
When used with wait_for_instances it specifies the status to wait for. When STABLE is specified this resource will wait until the instances are stable before returning. When UPDATED is set, it will wait for the version target to be reached and any per instance configs to be effective as well as all instances to be stable before returning. The possible values are STABLE and UPDATED
zone Changes to this property will trigger replacement. String
The zone that instances in this group should be created in.


Outputs

All input properties are implicitly available as output properties. Additionally, the InstanceGroupManager resource produces the following output properties:

CreationTimestamp string
Creation timestamp in RFC3339 text format.
Fingerprint string
The fingerprint of the instance group manager.
Id string
The provider-assigned unique ID for this managed resource.
InstanceGroup string
The full URL of the instance group created by the manager.
InstanceGroupManagerId int
The unique identifier number for the resource. This identifier is defined by the server.
Operation string
SelfLink string
The URL of the created resource.
Statuses List<InstanceGroupManagerStatus>
The status of this managed instance group.
CreationTimestamp string
Creation timestamp in RFC3339 text format.
Fingerprint string
The fingerprint of the instance group manager.
Id string
The provider-assigned unique ID for this managed resource.
InstanceGroup string
The full URL of the instance group created by the manager.
InstanceGroupManagerId int
The unique identifier number for the resource. This identifier is defined by the server.
Operation string
SelfLink string
The URL of the created resource.
Statuses []InstanceGroupManagerStatus
The status of this managed instance group.
creationTimestamp String
Creation timestamp in RFC3339 text format.
fingerprint String
The fingerprint of the instance group manager.
id String
The provider-assigned unique ID for this managed resource.
instanceGroup String
The full URL of the instance group created by the manager.
instanceGroupManagerId Integer
The unique identifier number for the resource. This identifier is defined by the server.
operation String
selfLink String
The URL of the created resource.
statuses List<InstanceGroupManagerStatus>
The status of this managed instance group.
creationTimestamp string
Creation timestamp in RFC3339 text format.
fingerprint string
The fingerprint of the instance group manager.
id string
The provider-assigned unique ID for this managed resource.
instanceGroup string
The full URL of the instance group created by the manager.
instanceGroupManagerId number
The unique identifier number for the resource. This identifier is defined by the server.
operation string
selfLink string
The URL of the created resource.
statuses InstanceGroupManagerStatus[]
The status of this managed instance group.
creation_timestamp str
Creation timestamp in RFC3339 text format.
fingerprint str
The fingerprint of the instance group manager.
id str
The provider-assigned unique ID for this managed resource.
instance_group str
The full URL of the instance group created by the manager.
instance_group_manager_id int
The unique identifier number for the resource. This identifier is defined by the server.
operation str
self_link str
The URL of the created resource.
statuses Sequence[InstanceGroupManagerStatus]
The status of this managed instance group.
creationTimestamp String
Creation timestamp in RFC3339 text format.
fingerprint String
The fingerprint of the instance group manager.
id String
The provider-assigned unique ID for this managed resource.
instanceGroup String
The full URL of the instance group created by the manager.
instanceGroupManagerId Number
The unique identifier number for the resource. This identifier is defined by the server.
operation String
selfLink String
The URL of the created resource.
statuses List<Property Map>
The status of this managed instance group.

Look up Existing InstanceGroupManager Resource

Get an existing InstanceGroupManager resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: InstanceGroupManagerState, opts?: CustomResourceOptions): InstanceGroupManager
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        all_instances_config: Optional[InstanceGroupManagerAllInstancesConfigArgs] = None,
        auto_healing_policies: Optional[InstanceGroupManagerAutoHealingPoliciesArgs] = None,
        base_instance_name: Optional[str] = None,
        creation_timestamp: Optional[str] = None,
        description: Optional[str] = None,
        fingerprint: Optional[str] = None,
        instance_group: Optional[str] = None,
        instance_group_manager_id: Optional[int] = None,
        instance_lifecycle_policy: Optional[InstanceGroupManagerInstanceLifecyclePolicyArgs] = None,
        list_managed_instances_results: Optional[str] = None,
        name: Optional[str] = None,
        named_ports: Optional[Sequence[InstanceGroupManagerNamedPortArgs]] = None,
        operation: Optional[str] = None,
        params: Optional[InstanceGroupManagerParamsArgs] = None,
        project: Optional[str] = None,
        self_link: Optional[str] = None,
        standby_policy: Optional[InstanceGroupManagerStandbyPolicyArgs] = None,
        stateful_disks: Optional[Sequence[InstanceGroupManagerStatefulDiskArgs]] = None,
        stateful_external_ips: Optional[Sequence[InstanceGroupManagerStatefulExternalIpArgs]] = None,
        stateful_internal_ips: Optional[Sequence[InstanceGroupManagerStatefulInternalIpArgs]] = None,
        statuses: Optional[Sequence[InstanceGroupManagerStatusArgs]] = None,
        target_pools: Optional[Sequence[str]] = None,
        target_size: Optional[int] = None,
        target_stopped_size: Optional[int] = None,
        target_suspended_size: Optional[int] = None,
        update_policy: Optional[InstanceGroupManagerUpdatePolicyArgs] = None,
        versions: Optional[Sequence[InstanceGroupManagerVersionArgs]] = None,
        wait_for_instances: Optional[bool] = None,
        wait_for_instances_status: Optional[str] = None,
        zone: Optional[str] = None) -> InstanceGroupManager
func GetInstanceGroupManager(ctx *Context, name string, id IDInput, state *InstanceGroupManagerState, opts ...ResourceOption) (*InstanceGroupManager, error)
public static InstanceGroupManager Get(string name, Input<string> id, InstanceGroupManagerState? state, CustomResourceOptions? opts = null)
public static InstanceGroupManager get(String name, Output<String> id, InstanceGroupManagerState state, CustomResourceOptions options)
resources:  _:    type: gcp:compute:InstanceGroupManager    get:      id: ${id}
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
AllInstancesConfig InstanceGroupManagerAllInstancesConfig
Properties to set on all instances in the group. After setting allInstancesConfig on the group, you must update the group's instances to apply the configuration.
AutoHealingPolicies InstanceGroupManagerAutoHealingPolicies
The autohealing policies for this managed instance group. You can specify only one value. Structure is documented below. For more information, see the official documentation.
BaseInstanceName Changes to this property will trigger replacement. string
The base instance name to use for instances in this group. The value must be a valid RFC1035 name. Supported characters are lowercase letters, numbers, and hyphens (-). Instances are named by appending a hyphen and a random four-character string to the base instance name.
CreationTimestamp string
Creation timestamp in RFC3339 text format.
Description string
An optional textual description of the instance group manager.
Fingerprint string
The fingerprint of the instance group manager.
InstanceGroup string
The full URL of the instance group created by the manager.
InstanceGroupManagerId int
The unique identifier number for the resource. This identifier is defined by the server.
InstanceLifecyclePolicy InstanceGroupManagerInstanceLifecyclePolicy
The instance lifecycle policy for this managed instance group.
ListManagedInstancesResults string
Pagination behavior of the listManagedInstances API method for this managed instance group. Valid values are: PAGELESS, PAGINATED. If PAGELESS (default), Pagination is disabled for the group's listManagedInstances API method. maxResults and pageToken query parameters are ignored and all instances are returned in a single response. If PAGINATED, pagination is enabled, maxResults and pageToken query parameters are respected.
Name Changes to this property will trigger replacement. string
The name of the instance group manager. Must be 1-63 characters long and comply with RFC1035. Supported characters include lowercase letters, numbers, and hyphens.
NamedPorts List<InstanceGroupManagerNamedPort>
The named port configuration. See the section below for details on configuration.
Operation string
Params Changes to this property will trigger replacement. InstanceGroupManagerParams
Input only additional params for instance group manager creation. Structure is documented below. For more information, see API.


Project Changes to this property will trigger replacement. string
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
SelfLink string
The URL of the created resource.
StandbyPolicy InstanceGroupManagerStandbyPolicy
The standby policy for stopped and suspended instances. Structure is documented below. For more information, see the official documentation.
StatefulDisks List<InstanceGroupManagerStatefulDisk>
Disks created on the instances that will be preserved on instance delete, update, etc. Structure is documented below. For more information see the official documentation.
StatefulExternalIps List<InstanceGroupManagerStatefulExternalIp>
External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
StatefulInternalIps List<InstanceGroupManagerStatefulInternalIp>
Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
Statuses List<InstanceGroupManagerStatus>
The status of this managed instance group.
TargetPools List<string>
The full URL of all target pools to which new instances in the group are added. Updating the target pools attribute does not affect existing instances.
TargetSize int
The target number of running instances for this managed instance group. This value should always be explicitly set unless this resource is attached to an autoscaler, in which case it should never be set. Defaults to 0.
TargetStoppedSize int
The target number of stopped instances for this managed instance group.
TargetSuspendedSize int
The target number of suspended instances for this managed instance group.
UpdatePolicy InstanceGroupManagerUpdatePolicy
The update policy for this managed instance group. Structure is documented below. For more information, see the official documentation and API.
Versions List<InstanceGroupManagerVersion>
Application versions managed by this instance group. Each version deals with a specific instance template, allowing canary release scenarios. Structure is documented below.
WaitForInstances bool
Whether to wait for all instances to be created/updated before returning. Note that if this is set to true and the operation does not succeed, this provider will continue trying until it times out.
WaitForInstancesStatus string
When used with wait_for_instances it specifies the status to wait for. When STABLE is specified this resource will wait until the instances are stable before returning. When UPDATED is set, it will wait for the version target to be reached and any per instance configs to be effective as well as all instances to be stable before returning. The possible values are STABLE and UPDATED
Zone Changes to this property will trigger replacement. string
The zone that instances in this group should be created in.


AllInstancesConfig InstanceGroupManagerAllInstancesConfigArgs
Properties to set on all instances in the group. After setting allInstancesConfig on the group, you must update the group's instances to apply the configuration.
AutoHealingPolicies InstanceGroupManagerAutoHealingPoliciesArgs
The autohealing policies for this managed instance group. You can specify only one value. Structure is documented below. For more information, see the official documentation.
BaseInstanceName Changes to this property will trigger replacement. string
The base instance name to use for instances in this group. The value must be a valid RFC1035 name. Supported characters are lowercase letters, numbers, and hyphens (-). Instances are named by appending a hyphen and a random four-character string to the base instance name.
CreationTimestamp string
Creation timestamp in RFC3339 text format.
Description string
An optional textual description of the instance group manager.
Fingerprint string
The fingerprint of the instance group manager.
InstanceGroup string
The full URL of the instance group created by the manager.
InstanceGroupManagerId int
The unique identifier number for the resource. This identifier is defined by the server.
InstanceLifecyclePolicy InstanceGroupManagerInstanceLifecyclePolicyArgs
The instance lifecycle policy for this managed instance group.
ListManagedInstancesResults string
Pagination behavior of the listManagedInstances API method for this managed instance group. Valid values are: PAGELESS, PAGINATED. If PAGELESS (default), Pagination is disabled for the group's listManagedInstances API method. maxResults and pageToken query parameters are ignored and all instances are returned in a single response. If PAGINATED, pagination is enabled, maxResults and pageToken query parameters are respected.
Name Changes to this property will trigger replacement. string
The name of the instance group manager. Must be 1-63 characters long and comply with RFC1035. Supported characters include lowercase letters, numbers, and hyphens.
NamedPorts []InstanceGroupManagerNamedPortArgs
The named port configuration. See the section below for details on configuration.
Operation string
Params Changes to this property will trigger replacement. InstanceGroupManagerParamsArgs
Input only additional params for instance group manager creation. Structure is documented below. For more information, see API.


Project Changes to this property will trigger replacement. string
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
SelfLink string
The URL of the created resource.
StandbyPolicy InstanceGroupManagerStandbyPolicyArgs
The standby policy for stopped and suspended instances. Structure is documented below. For more information, see the official documentation.
StatefulDisks []InstanceGroupManagerStatefulDiskArgs
Disks created on the instances that will be preserved on instance delete, update, etc. Structure is documented below. For more information see the official documentation.
StatefulExternalIps []InstanceGroupManagerStatefulExternalIpArgs
External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
StatefulInternalIps []InstanceGroupManagerStatefulInternalIpArgs
Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
Statuses []InstanceGroupManagerStatusArgs
The status of this managed instance group.
TargetPools []string
The full URL of all target pools to which new instances in the group are added. Updating the target pools attribute does not affect existing instances.
TargetSize int
The target number of running instances for this managed instance group. This value should always be explicitly set unless this resource is attached to an autoscaler, in which case it should never be set. Defaults to 0.
TargetStoppedSize int
The target number of stopped instances for this managed instance group.
TargetSuspendedSize int
The target number of suspended instances for this managed instance group.
UpdatePolicy InstanceGroupManagerUpdatePolicyArgs
The update policy for this managed instance group. Structure is documented below. For more information, see the official documentation and API.
Versions []InstanceGroupManagerVersionArgs
Application versions managed by this instance group. Each version deals with a specific instance template, allowing canary release scenarios. Structure is documented below.
WaitForInstances bool
Whether to wait for all instances to be created/updated before returning. Note that if this is set to true and the operation does not succeed, this provider will continue trying until it times out.
WaitForInstancesStatus string
When used with wait_for_instances it specifies the status to wait for. When STABLE is specified this resource will wait until the instances are stable before returning. When UPDATED is set, it will wait for the version target to be reached and any per instance configs to be effective as well as all instances to be stable before returning. The possible values are STABLE and UPDATED
Zone Changes to this property will trigger replacement. string
The zone that instances in this group should be created in.


allInstancesConfig InstanceGroupManagerAllInstancesConfig
Properties to set on all instances in the group. After setting allInstancesConfig on the group, you must update the group's instances to apply the configuration.
autoHealingPolicies InstanceGroupManagerAutoHealingPolicies
The autohealing policies for this managed instance group. You can specify only one value. Structure is documented below. For more information, see the official documentation.
baseInstanceName Changes to this property will trigger replacement. String
The base instance name to use for instances in this group. The value must be a valid RFC1035 name. Supported characters are lowercase letters, numbers, and hyphens (-). Instances are named by appending a hyphen and a random four-character string to the base instance name.
creationTimestamp String
Creation timestamp in RFC3339 text format.
description String
An optional textual description of the instance group manager.
fingerprint String
The fingerprint of the instance group manager.
instanceGroup String
The full URL of the instance group created by the manager.
instanceGroupManagerId Integer
The unique identifier number for the resource. This identifier is defined by the server.
instanceLifecyclePolicy InstanceGroupManagerInstanceLifecyclePolicy
The instance lifecycle policy for this managed instance group.
listManagedInstancesResults String
Pagination behavior of the listManagedInstances API method for this managed instance group. Valid values are: PAGELESS, PAGINATED. If PAGELESS (default), Pagination is disabled for the group's listManagedInstances API method. maxResults and pageToken query parameters are ignored and all instances are returned in a single response. If PAGINATED, pagination is enabled, maxResults and pageToken query parameters are respected.
name Changes to this property will trigger replacement. String
The name of the instance group manager. Must be 1-63 characters long and comply with RFC1035. Supported characters include lowercase letters, numbers, and hyphens.
namedPorts List<InstanceGroupManagerNamedPort>
The named port configuration. See the section below for details on configuration.
operation String
params Changes to this property will trigger replacement. InstanceGroupManagerParams
Input only additional params for instance group manager creation. Structure is documented below. For more information, see API.


project Changes to this property will trigger replacement. String
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
selfLink String
The URL of the created resource.
standbyPolicy InstanceGroupManagerStandbyPolicy
The standby policy for stopped and suspended instances. Structure is documented below. For more information, see the official documentation.
statefulDisks List<InstanceGroupManagerStatefulDisk>
Disks created on the instances that will be preserved on instance delete, update, etc. Structure is documented below. For more information see the official documentation.
statefulExternalIps List<InstanceGroupManagerStatefulExternalIp>
External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
statefulInternalIps List<InstanceGroupManagerStatefulInternalIp>
Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
statuses List<InstanceGroupManagerStatus>
The status of this managed instance group.
targetPools List<String>
The full URL of all target pools to which new instances in the group are added. Updating the target pools attribute does not affect existing instances.
targetSize Integer
The target number of running instances for this managed instance group. This value should always be explicitly set unless this resource is attached to an autoscaler, in which case it should never be set. Defaults to 0.
targetStoppedSize Integer
The target number of stopped instances for this managed instance group.
targetSuspendedSize Integer
The target number of suspended instances for this managed instance group.
updatePolicy InstanceGroupManagerUpdatePolicy
The update policy for this managed instance group. Structure is documented below. For more information, see the official documentation and API.
versions List<InstanceGroupManagerVersion>
Application versions managed by this instance group. Each version deals with a specific instance template, allowing canary release scenarios. Structure is documented below.
waitForInstances Boolean
Whether to wait for all instances to be created/updated before returning. Note that if this is set to true and the operation does not succeed, this provider will continue trying until it times out.
waitForInstancesStatus String
When used with wait_for_instances it specifies the status to wait for. When STABLE is specified this resource will wait until the instances are stable before returning. When UPDATED is set, it will wait for the version target to be reached and any per instance configs to be effective as well as all instances to be stable before returning. The possible values are STABLE and UPDATED
zone Changes to this property will trigger replacement. String
The zone that instances in this group should be created in.


allInstancesConfig InstanceGroupManagerAllInstancesConfig
Properties to set on all instances in the group. After setting allInstancesConfig on the group, you must update the group's instances to apply the configuration.
autoHealingPolicies InstanceGroupManagerAutoHealingPolicies
The autohealing policies for this managed instance group. You can specify only one value. Structure is documented below. For more information, see the official documentation.
baseInstanceName Changes to this property will trigger replacement. string
The base instance name to use for instances in this group. The value must be a valid RFC1035 name. Supported characters are lowercase letters, numbers, and hyphens (-). Instances are named by appending a hyphen and a random four-character string to the base instance name.
creationTimestamp string
Creation timestamp in RFC3339 text format.
description string
An optional textual description of the instance group manager.
fingerprint string
The fingerprint of the instance group manager.
instanceGroup string
The full URL of the instance group created by the manager.
instanceGroupManagerId number
The unique identifier number for the resource. This identifier is defined by the server.
instanceLifecyclePolicy InstanceGroupManagerInstanceLifecyclePolicy
The instance lifecycle policy for this managed instance group.
listManagedInstancesResults string
Pagination behavior of the listManagedInstances API method for this managed instance group. Valid values are: PAGELESS, PAGINATED. If PAGELESS (default), Pagination is disabled for the group's listManagedInstances API method. maxResults and pageToken query parameters are ignored and all instances are returned in a single response. If PAGINATED, pagination is enabled, maxResults and pageToken query parameters are respected.
name Changes to this property will trigger replacement. string
The name of the instance group manager. Must be 1-63 characters long and comply with RFC1035. Supported characters include lowercase letters, numbers, and hyphens.
namedPorts InstanceGroupManagerNamedPort[]
The named port configuration. See the section below for details on configuration.
operation string
params Changes to this property will trigger replacement. InstanceGroupManagerParams
Input only additional params for instance group manager creation. Structure is documented below. For more information, see API.


project Changes to this property will trigger replacement. string
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
selfLink string
The URL of the created resource.
standbyPolicy InstanceGroupManagerStandbyPolicy
The standby policy for stopped and suspended instances. Structure is documented below. For more information, see the official documentation.
statefulDisks InstanceGroupManagerStatefulDisk[]
Disks created on the instances that will be preserved on instance delete, update, etc. Structure is documented below. For more information see the official documentation.
statefulExternalIps InstanceGroupManagerStatefulExternalIp[]
External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
statefulInternalIps InstanceGroupManagerStatefulInternalIp[]
Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
statuses InstanceGroupManagerStatus[]
The status of this managed instance group.
targetPools string[]
The full URL of all target pools to which new instances in the group are added. Updating the target pools attribute does not affect existing instances.
targetSize number
The target number of running instances for this managed instance group. This value should always be explicitly set unless this resource is attached to an autoscaler, in which case it should never be set. Defaults to 0.
targetStoppedSize number
The target number of stopped instances for this managed instance group.
targetSuspendedSize number
The target number of suspended instances for this managed instance group.
updatePolicy InstanceGroupManagerUpdatePolicy
The update policy for this managed instance group. Structure is documented below. For more information, see the official documentation and API.
versions InstanceGroupManagerVersion[]
Application versions managed by this instance group. Each version deals with a specific instance template, allowing canary release scenarios. Structure is documented below.
waitForInstances boolean
Whether to wait for all instances to be created/updated before returning. Note that if this is set to true and the operation does not succeed, this provider will continue trying until it times out.
waitForInstancesStatus string
When used with wait_for_instances it specifies the status to wait for. When STABLE is specified this resource will wait until the instances are stable before returning. When UPDATED is set, it will wait for the version target to be reached and any per instance configs to be effective as well as all instances to be stable before returning. The possible values are STABLE and UPDATED
zone Changes to this property will trigger replacement. string
The zone that instances in this group should be created in.


all_instances_config InstanceGroupManagerAllInstancesConfigArgs
Properties to set on all instances in the group. After setting allInstancesConfig on the group, you must update the group's instances to apply the configuration.
auto_healing_policies InstanceGroupManagerAutoHealingPoliciesArgs
The autohealing policies for this managed instance group. You can specify only one value. Structure is documented below. For more information, see the official documentation.
base_instance_name Changes to this property will trigger replacement. str
The base instance name to use for instances in this group. The value must be a valid RFC1035 name. Supported characters are lowercase letters, numbers, and hyphens (-). Instances are named by appending a hyphen and a random four-character string to the base instance name.
creation_timestamp str
Creation timestamp in RFC3339 text format.
description str
An optional textual description of the instance group manager.
fingerprint str
The fingerprint of the instance group manager.
instance_group str
The full URL of the instance group created by the manager.
instance_group_manager_id int
The unique identifier number for the resource. This identifier is defined by the server.
instance_lifecycle_policy InstanceGroupManagerInstanceLifecyclePolicyArgs
The instance lifecycle policy for this managed instance group.
list_managed_instances_results str
Pagination behavior of the listManagedInstances API method for this managed instance group. Valid values are: PAGELESS, PAGINATED. If PAGELESS (default), Pagination is disabled for the group's listManagedInstances API method. maxResults and pageToken query parameters are ignored and all instances are returned in a single response. If PAGINATED, pagination is enabled, maxResults and pageToken query parameters are respected.
name Changes to this property will trigger replacement. str
The name of the instance group manager. Must be 1-63 characters long and comply with RFC1035. Supported characters include lowercase letters, numbers, and hyphens.
named_ports Sequence[InstanceGroupManagerNamedPortArgs]
The named port configuration. See the section below for details on configuration.
operation str
params Changes to this property will trigger replacement. InstanceGroupManagerParamsArgs
Input only additional params for instance group manager creation. Structure is documented below. For more information, see API.


project Changes to this property will trigger replacement. str
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
self_link str
The URL of the created resource.
standby_policy InstanceGroupManagerStandbyPolicyArgs
The standby policy for stopped and suspended instances. Structure is documented below. For more information, see the official documentation.
stateful_disks Sequence[InstanceGroupManagerStatefulDiskArgs]
Disks created on the instances that will be preserved on instance delete, update, etc. Structure is documented below. For more information see the official documentation.
stateful_external_ips Sequence[InstanceGroupManagerStatefulExternalIpArgs]
External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
stateful_internal_ips Sequence[InstanceGroupManagerStatefulInternalIpArgs]
Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
statuses Sequence[InstanceGroupManagerStatusArgs]
The status of this managed instance group.
target_pools Sequence[str]
The full URL of all target pools to which new instances in the group are added. Updating the target pools attribute does not affect existing instances.
target_size int
The target number of running instances for this managed instance group. This value should always be explicitly set unless this resource is attached to an autoscaler, in which case it should never be set. Defaults to 0.
target_stopped_size int
The target number of stopped instances for this managed instance group.
target_suspended_size int
The target number of suspended instances for this managed instance group.
update_policy InstanceGroupManagerUpdatePolicyArgs
The update policy for this managed instance group. Structure is documented below. For more information, see the official documentation and API.
versions Sequence[InstanceGroupManagerVersionArgs]
Application versions managed by this instance group. Each version deals with a specific instance template, allowing canary release scenarios. Structure is documented below.
wait_for_instances bool
Whether to wait for all instances to be created/updated before returning. Note that if this is set to true and the operation does not succeed, this provider will continue trying until it times out.
wait_for_instances_status str
When used with wait_for_instances it specifies the status to wait for. When STABLE is specified this resource will wait until the instances are stable before returning. When UPDATED is set, it will wait for the version target to be reached and any per instance configs to be effective as well as all instances to be stable before returning. The possible values are STABLE and UPDATED
zone Changes to this property will trigger replacement. str
The zone that instances in this group should be created in.


allInstancesConfig Property Map
Properties to set on all instances in the group. After setting allInstancesConfig on the group, you must update the group's instances to apply the configuration.
autoHealingPolicies Property Map
The autohealing policies for this managed instance group. You can specify only one value. Structure is documented below. For more information, see the official documentation.
baseInstanceName Changes to this property will trigger replacement. String
The base instance name to use for instances in this group. The value must be a valid RFC1035 name. Supported characters are lowercase letters, numbers, and hyphens (-). Instances are named by appending a hyphen and a random four-character string to the base instance name.
creationTimestamp String
Creation timestamp in RFC3339 text format.
description String
An optional textual description of the instance group manager.
fingerprint String
The fingerprint of the instance group manager.
instanceGroup String
The full URL of the instance group created by the manager.
instanceGroupManagerId Number
The unique identifier number for the resource. This identifier is defined by the server.
instanceLifecyclePolicy Property Map
The instance lifecycle policy for this managed instance group.
listManagedInstancesResults String
Pagination behavior of the listManagedInstances API method for this managed instance group. Valid values are: PAGELESS, PAGINATED. If PAGELESS (default), Pagination is disabled for the group's listManagedInstances API method. maxResults and pageToken query parameters are ignored and all instances are returned in a single response. If PAGINATED, pagination is enabled, maxResults and pageToken query parameters are respected.
name Changes to this property will trigger replacement. String
The name of the instance group manager. Must be 1-63 characters long and comply with RFC1035. Supported characters include lowercase letters, numbers, and hyphens.
namedPorts List<Property Map>
The named port configuration. See the section below for details on configuration.
operation String
params Changes to this property will trigger replacement. Property Map
Input only additional params for instance group manager creation. Structure is documented below. For more information, see API.


project Changes to this property will trigger replacement. String
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
selfLink String
The URL of the created resource.
standbyPolicy Property Map
The standby policy for stopped and suspended instances. Structure is documented below. For more information, see the official documentation.
statefulDisks List<Property Map>
Disks created on the instances that will be preserved on instance delete, update, etc. Structure is documented below. For more information see the official documentation.
statefulExternalIps List<Property Map>
External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
statefulInternalIps List<Property Map>
Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
statuses List<Property Map>
The status of this managed instance group.
targetPools List<String>
The full URL of all target pools to which new instances in the group are added. Updating the target pools attribute does not affect existing instances.
targetSize Number
The target number of running instances for this managed instance group. This value should always be explicitly set unless this resource is attached to an autoscaler, in which case it should never be set. Defaults to 0.
targetStoppedSize Number
The target number of stopped instances for this managed instance group.
targetSuspendedSize Number
The target number of suspended instances for this managed instance group.
updatePolicy Property Map
The update policy for this managed instance group. Structure is documented below. For more information, see the official documentation and API.
versions List<Property Map>
Application versions managed by this instance group. Each version deals with a specific instance template, allowing canary release scenarios. Structure is documented below.
waitForInstances Boolean
Whether to wait for all instances to be created/updated before returning. Note that if this is set to true and the operation does not succeed, this provider will continue trying until it times out.
waitForInstancesStatus String
When used with wait_for_instances it specifies the status to wait for. When STABLE is specified this resource will wait until the instances are stable before returning. When UPDATED is set, it will wait for the version target to be reached and any per instance configs to be effective as well as all instances to be stable before returning. The possible values are STABLE and UPDATED
zone Changes to this property will trigger replacement. String
The zone that instances in this group should be created in.


Supporting Types

InstanceGroupManagerAllInstancesConfig
, InstanceGroupManagerAllInstancesConfigArgs

Labels Dictionary<string, string>
, The label key-value pairs that you want to patch onto the instance.


Metadata Dictionary<string, string>
, The metadata key-value pairs that you want to patch onto the instance. For more information, see Project and instance metadata.
Labels map[string]string
, The label key-value pairs that you want to patch onto the instance.


Metadata map[string]string
, The metadata key-value pairs that you want to patch onto the instance. For more information, see Project and instance metadata.
labels Map<String,String>
, The label key-value pairs that you want to patch onto the instance.


metadata Map<String,String>
, The metadata key-value pairs that you want to patch onto the instance. For more information, see Project and instance metadata.
labels {[key: string]: string}
, The label key-value pairs that you want to patch onto the instance.


metadata {[key: string]: string}
, The metadata key-value pairs that you want to patch onto the instance. For more information, see Project and instance metadata.
labels Mapping[str, str]
, The label key-value pairs that you want to patch onto the instance.


metadata Mapping[str, str]
, The metadata key-value pairs that you want to patch onto the instance. For more information, see Project and instance metadata.
labels Map<String>
, The label key-value pairs that you want to patch onto the instance.


metadata Map<String>
, The metadata key-value pairs that you want to patch onto the instance. For more information, see Project and instance metadata.

InstanceGroupManagerAutoHealingPolicies
, InstanceGroupManagerAutoHealingPoliciesArgs

HealthCheck This property is required. string
The health check resource that signals autohealing.
InitialDelaySec This property is required. int
The number of seconds that the managed instance group waits before it applies autohealing policies to new instances or recently recreated instances. Between 0 and 3600.
HealthCheck This property is required. string
The health check resource that signals autohealing.
InitialDelaySec This property is required. int
The number of seconds that the managed instance group waits before it applies autohealing policies to new instances or recently recreated instances. Between 0 and 3600.
healthCheck This property is required. String
The health check resource that signals autohealing.
initialDelaySec This property is required. Integer
The number of seconds that the managed instance group waits before it applies autohealing policies to new instances or recently recreated instances. Between 0 and 3600.
healthCheck This property is required. string
The health check resource that signals autohealing.
initialDelaySec This property is required. number
The number of seconds that the managed instance group waits before it applies autohealing policies to new instances or recently recreated instances. Between 0 and 3600.
health_check This property is required. str
The health check resource that signals autohealing.
initial_delay_sec This property is required. int
The number of seconds that the managed instance group waits before it applies autohealing policies to new instances or recently recreated instances. Between 0 and 3600.
healthCheck This property is required. String
The health check resource that signals autohealing.
initialDelaySec This property is required. Number
The number of seconds that the managed instance group waits before it applies autohealing policies to new instances or recently recreated instances. Between 0 and 3600.

InstanceGroupManagerInstanceLifecyclePolicy
, InstanceGroupManagerInstanceLifecyclePolicyArgs

DefaultActionOnFailure string
, Default behavior for all instance or health check failures. Valid options are: REPAIR, DO_NOTHING. If DO_NOTHING then instances will not be repaired. If REPAIR (default), then failed instances will be repaired.


ForceUpdateOnRepair string
, Specifies whether to apply the group's latest configuration when repairing a VM. Valid options are: YES, NO. If YES and you updated the group's instance template or per-instance configurations after the VM was created, then these changes are applied when VM is repaired. If NO (default), then updates are applied in accordance with the group's update policy type.
DefaultActionOnFailure string
, Default behavior for all instance or health check failures. Valid options are: REPAIR, DO_NOTHING. If DO_NOTHING then instances will not be repaired. If REPAIR (default), then failed instances will be repaired.


ForceUpdateOnRepair string
, Specifies whether to apply the group's latest configuration when repairing a VM. Valid options are: YES, NO. If YES and you updated the group's instance template or per-instance configurations after the VM was created, then these changes are applied when VM is repaired. If NO (default), then updates are applied in accordance with the group's update policy type.
defaultActionOnFailure String
, Default behavior for all instance or health check failures. Valid options are: REPAIR, DO_NOTHING. If DO_NOTHING then instances will not be repaired. If REPAIR (default), then failed instances will be repaired.


forceUpdateOnRepair String
, Specifies whether to apply the group's latest configuration when repairing a VM. Valid options are: YES, NO. If YES and you updated the group's instance template or per-instance configurations after the VM was created, then these changes are applied when VM is repaired. If NO (default), then updates are applied in accordance with the group's update policy type.
defaultActionOnFailure string
, Default behavior for all instance or health check failures. Valid options are: REPAIR, DO_NOTHING. If DO_NOTHING then instances will not be repaired. If REPAIR (default), then failed instances will be repaired.


forceUpdateOnRepair string
, Specifies whether to apply the group's latest configuration when repairing a VM. Valid options are: YES, NO. If YES and you updated the group's instance template or per-instance configurations after the VM was created, then these changes are applied when VM is repaired. If NO (default), then updates are applied in accordance with the group's update policy type.
default_action_on_failure str
, Default behavior for all instance or health check failures. Valid options are: REPAIR, DO_NOTHING. If DO_NOTHING then instances will not be repaired. If REPAIR (default), then failed instances will be repaired.


force_update_on_repair str
, Specifies whether to apply the group's latest configuration when repairing a VM. Valid options are: YES, NO. If YES and you updated the group's instance template or per-instance configurations after the VM was created, then these changes are applied when VM is repaired. If NO (default), then updates are applied in accordance with the group's update policy type.
defaultActionOnFailure String
, Default behavior for all instance or health check failures. Valid options are: REPAIR, DO_NOTHING. If DO_NOTHING then instances will not be repaired. If REPAIR (default), then failed instances will be repaired.


forceUpdateOnRepair String
, Specifies whether to apply the group's latest configuration when repairing a VM. Valid options are: YES, NO. If YES and you updated the group's instance template or per-instance configurations after the VM was created, then these changes are applied when VM is repaired. If NO (default), then updates are applied in accordance with the group's update policy type.

InstanceGroupManagerNamedPort
, InstanceGroupManagerNamedPortArgs

Name This property is required. string
The name of the port.
Port This property is required. int
The port number.


Name This property is required. string
The name of the port.
Port This property is required. int
The port number.


name This property is required. String
The name of the port.
port This property is required. Integer
The port number.


name This property is required. string
The name of the port.
port This property is required. number
The port number.


name This property is required. str
The name of the port.
port This property is required. int
The port number.


name This property is required. String
The name of the port.
port This property is required. Number
The port number.


InstanceGroupManagerParams
, InstanceGroupManagerParamsArgs

ResourceManagerTags Changes to this property will trigger replacement. Dictionary<string, string>
Resource manager tags to bind to the managed instance group. The tags are key-value pairs. Keys must be in the format tagKeys/123 and values in the format tagValues/456. For more information, see Manage tags for resources
ResourceManagerTags Changes to this property will trigger replacement. map[string]string
Resource manager tags to bind to the managed instance group. The tags are key-value pairs. Keys must be in the format tagKeys/123 and values in the format tagValues/456. For more information, see Manage tags for resources
resourceManagerTags Changes to this property will trigger replacement. Map<String,String>
Resource manager tags to bind to the managed instance group. The tags are key-value pairs. Keys must be in the format tagKeys/123 and values in the format tagValues/456. For more information, see Manage tags for resources
resourceManagerTags Changes to this property will trigger replacement. {[key: string]: string}
Resource manager tags to bind to the managed instance group. The tags are key-value pairs. Keys must be in the format tagKeys/123 and values in the format tagValues/456. For more information, see Manage tags for resources
resource_manager_tags Changes to this property will trigger replacement. Mapping[str, str]
Resource manager tags to bind to the managed instance group. The tags are key-value pairs. Keys must be in the format tagKeys/123 and values in the format tagValues/456. For more information, see Manage tags for resources
resourceManagerTags Changes to this property will trigger replacement. Map<String>
Resource manager tags to bind to the managed instance group. The tags are key-value pairs. Keys must be in the format tagKeys/123 and values in the format tagValues/456. For more information, see Manage tags for resources

InstanceGroupManagerStandbyPolicy
, InstanceGroupManagerStandbyPolicyArgs

InitialDelaySec int
Specifies the number of seconds that the MIG should wait to suspend or stop a VM after that VM was created. The initial delay gives the initialization script the time to prepare your VM for a quick scale out. The value of initial delay must be between 0 and 3600 seconds. The default value is 0.
Mode string
Defines how a MIG resumes or starts VMs from a standby pool when the group scales out. Valid options are: MANUAL, SCALE_OUT_POOL. If MANUAL(default), you have full control over which VMs are stopped and suspended in the MIG. If SCALE_OUT_POOL, the MIG uses the VMs from the standby pools to accelerate the scale out by resuming or starting them and then automatically replenishes the standby pool with new VMs to maintain the target sizes.


InitialDelaySec int
Specifies the number of seconds that the MIG should wait to suspend or stop a VM after that VM was created. The initial delay gives the initialization script the time to prepare your VM for a quick scale out. The value of initial delay must be between 0 and 3600 seconds. The default value is 0.
Mode string
Defines how a MIG resumes or starts VMs from a standby pool when the group scales out. Valid options are: MANUAL, SCALE_OUT_POOL. If MANUAL(default), you have full control over which VMs are stopped and suspended in the MIG. If SCALE_OUT_POOL, the MIG uses the VMs from the standby pools to accelerate the scale out by resuming or starting them and then automatically replenishes the standby pool with new VMs to maintain the target sizes.


initialDelaySec Integer
Specifies the number of seconds that the MIG should wait to suspend or stop a VM after that VM was created. The initial delay gives the initialization script the time to prepare your VM for a quick scale out. The value of initial delay must be between 0 and 3600 seconds. The default value is 0.
mode String
Defines how a MIG resumes or starts VMs from a standby pool when the group scales out. Valid options are: MANUAL, SCALE_OUT_POOL. If MANUAL(default), you have full control over which VMs are stopped and suspended in the MIG. If SCALE_OUT_POOL, the MIG uses the VMs from the standby pools to accelerate the scale out by resuming or starting them and then automatically replenishes the standby pool with new VMs to maintain the target sizes.


initialDelaySec number
Specifies the number of seconds that the MIG should wait to suspend or stop a VM after that VM was created. The initial delay gives the initialization script the time to prepare your VM for a quick scale out. The value of initial delay must be between 0 and 3600 seconds. The default value is 0.
mode string
Defines how a MIG resumes or starts VMs from a standby pool when the group scales out. Valid options are: MANUAL, SCALE_OUT_POOL. If MANUAL(default), you have full control over which VMs are stopped and suspended in the MIG. If SCALE_OUT_POOL, the MIG uses the VMs from the standby pools to accelerate the scale out by resuming or starting them and then automatically replenishes the standby pool with new VMs to maintain the target sizes.


initial_delay_sec int
Specifies the number of seconds that the MIG should wait to suspend or stop a VM after that VM was created. The initial delay gives the initialization script the time to prepare your VM for a quick scale out. The value of initial delay must be between 0 and 3600 seconds. The default value is 0.
mode str
Defines how a MIG resumes or starts VMs from a standby pool when the group scales out. Valid options are: MANUAL, SCALE_OUT_POOL. If MANUAL(default), you have full control over which VMs are stopped and suspended in the MIG. If SCALE_OUT_POOL, the MIG uses the VMs from the standby pools to accelerate the scale out by resuming or starting them and then automatically replenishes the standby pool with new VMs to maintain the target sizes.


initialDelaySec Number
Specifies the number of seconds that the MIG should wait to suspend or stop a VM after that VM was created. The initial delay gives the initialization script the time to prepare your VM for a quick scale out. The value of initial delay must be between 0 and 3600 seconds. The default value is 0.
mode String
Defines how a MIG resumes or starts VMs from a standby pool when the group scales out. Valid options are: MANUAL, SCALE_OUT_POOL. If MANUAL(default), you have full control over which VMs are stopped and suspended in the MIG. If SCALE_OUT_POOL, the MIG uses the VMs from the standby pools to accelerate the scale out by resuming or starting them and then automatically replenishes the standby pool with new VMs to maintain the target sizes.


InstanceGroupManagerStatefulDisk
, InstanceGroupManagerStatefulDiskArgs

DeviceName This property is required. string
, The device name of the disk to be attached.
DeleteRule string
, A value that prescribes what should happen to the stateful disk when the VM instance is deleted. The available options are NEVER and ON_PERMANENT_INSTANCE_DELETION. NEVER - detach the disk when the VM is deleted, but do not delete the disk. ON_PERMANENT_INSTANCE_DELETION will delete the stateful disk when the VM is permanently deleted from the instance group. The default is NEVER.
DeviceName This property is required. string
, The device name of the disk to be attached.
DeleteRule string
, A value that prescribes what should happen to the stateful disk when the VM instance is deleted. The available options are NEVER and ON_PERMANENT_INSTANCE_DELETION. NEVER - detach the disk when the VM is deleted, but do not delete the disk. ON_PERMANENT_INSTANCE_DELETION will delete the stateful disk when the VM is permanently deleted from the instance group. The default is NEVER.
deviceName This property is required. String
, The device name of the disk to be attached.
deleteRule String
, A value that prescribes what should happen to the stateful disk when the VM instance is deleted. The available options are NEVER and ON_PERMANENT_INSTANCE_DELETION. NEVER - detach the disk when the VM is deleted, but do not delete the disk. ON_PERMANENT_INSTANCE_DELETION will delete the stateful disk when the VM is permanently deleted from the instance group. The default is NEVER.
deviceName This property is required. string
, The device name of the disk to be attached.
deleteRule string
, A value that prescribes what should happen to the stateful disk when the VM instance is deleted. The available options are NEVER and ON_PERMANENT_INSTANCE_DELETION. NEVER - detach the disk when the VM is deleted, but do not delete the disk. ON_PERMANENT_INSTANCE_DELETION will delete the stateful disk when the VM is permanently deleted from the instance group. The default is NEVER.
device_name This property is required. str
, The device name of the disk to be attached.
delete_rule str
, A value that prescribes what should happen to the stateful disk when the VM instance is deleted. The available options are NEVER and ON_PERMANENT_INSTANCE_DELETION. NEVER - detach the disk when the VM is deleted, but do not delete the disk. ON_PERMANENT_INSTANCE_DELETION will delete the stateful disk when the VM is permanently deleted from the instance group. The default is NEVER.
deviceName This property is required. String
, The device name of the disk to be attached.
deleteRule String
, A value that prescribes what should happen to the stateful disk when the VM instance is deleted. The available options are NEVER and ON_PERMANENT_INSTANCE_DELETION. NEVER - detach the disk when the VM is deleted, but do not delete the disk. ON_PERMANENT_INSTANCE_DELETION will delete the stateful disk when the VM is permanently deleted from the instance group. The default is NEVER.

InstanceGroupManagerStatefulExternalIp
, InstanceGroupManagerStatefulExternalIpArgs

DeleteRule string
, A value that prescribes what should happen to the external ip when the VM instance is deleted. The available options are NEVER and ON_PERMANENT_INSTANCE_DELETION. NEVER - detach the ip when the VM is deleted, but do not delete the ip. ON_PERMANENT_INSTANCE_DELETION will delete the external ip when the VM is permanently deleted from the instance group.
InterfaceName string
, The network interface name of the external Ip. Possible value: nic0
DeleteRule string
, A value that prescribes what should happen to the external ip when the VM instance is deleted. The available options are NEVER and ON_PERMANENT_INSTANCE_DELETION. NEVER - detach the ip when the VM is deleted, but do not delete the ip. ON_PERMANENT_INSTANCE_DELETION will delete the external ip when the VM is permanently deleted from the instance group.
InterfaceName string
, The network interface name of the external Ip. Possible value: nic0
deleteRule String
, A value that prescribes what should happen to the external ip when the VM instance is deleted. The available options are NEVER and ON_PERMANENT_INSTANCE_DELETION. NEVER - detach the ip when the VM is deleted, but do not delete the ip. ON_PERMANENT_INSTANCE_DELETION will delete the external ip when the VM is permanently deleted from the instance group.
interfaceName String
, The network interface name of the external Ip. Possible value: nic0
deleteRule string
, A value that prescribes what should happen to the external ip when the VM instance is deleted. The available options are NEVER and ON_PERMANENT_INSTANCE_DELETION. NEVER - detach the ip when the VM is deleted, but do not delete the ip. ON_PERMANENT_INSTANCE_DELETION will delete the external ip when the VM is permanently deleted from the instance group.
interfaceName string
, The network interface name of the external Ip. Possible value: nic0
delete_rule str
, A value that prescribes what should happen to the external ip when the VM instance is deleted. The available options are NEVER and ON_PERMANENT_INSTANCE_DELETION. NEVER - detach the ip when the VM is deleted, but do not delete the ip. ON_PERMANENT_INSTANCE_DELETION will delete the external ip when the VM is permanently deleted from the instance group.
interface_name str
, The network interface name of the external Ip. Possible value: nic0
deleteRule String
, A value that prescribes what should happen to the external ip when the VM instance is deleted. The available options are NEVER and ON_PERMANENT_INSTANCE_DELETION. NEVER - detach the ip when the VM is deleted, but do not delete the ip. ON_PERMANENT_INSTANCE_DELETION will delete the external ip when the VM is permanently deleted from the instance group.
interfaceName String
, The network interface name of the external Ip. Possible value: nic0

InstanceGroupManagerStatefulInternalIp
, InstanceGroupManagerStatefulInternalIpArgs

DeleteRule string
, A value that prescribes what should happen to the internal ip when the VM instance is deleted. The available options are NEVER and ON_PERMANENT_INSTANCE_DELETION. NEVER - detach the ip when the VM is deleted, but do not delete the ip. ON_PERMANENT_INSTANCE_DELETION will delete the internal ip when the VM is permanently deleted from the instance group.
InterfaceName string
, The network interface name of the internal Ip. Possible value: nic0
DeleteRule string
, A value that prescribes what should happen to the internal ip when the VM instance is deleted. The available options are NEVER and ON_PERMANENT_INSTANCE_DELETION. NEVER - detach the ip when the VM is deleted, but do not delete the ip. ON_PERMANENT_INSTANCE_DELETION will delete the internal ip when the VM is permanently deleted from the instance group.
InterfaceName string
, The network interface name of the internal Ip. Possible value: nic0
deleteRule String
, A value that prescribes what should happen to the internal ip when the VM instance is deleted. The available options are NEVER and ON_PERMANENT_INSTANCE_DELETION. NEVER - detach the ip when the VM is deleted, but do not delete the ip. ON_PERMANENT_INSTANCE_DELETION will delete the internal ip when the VM is permanently deleted from the instance group.
interfaceName String
, The network interface name of the internal Ip. Possible value: nic0
deleteRule string
, A value that prescribes what should happen to the internal ip when the VM instance is deleted. The available options are NEVER and ON_PERMANENT_INSTANCE_DELETION. NEVER - detach the ip when the VM is deleted, but do not delete the ip. ON_PERMANENT_INSTANCE_DELETION will delete the internal ip when the VM is permanently deleted from the instance group.
interfaceName string
, The network interface name of the internal Ip. Possible value: nic0
delete_rule str
, A value that prescribes what should happen to the internal ip when the VM instance is deleted. The available options are NEVER and ON_PERMANENT_INSTANCE_DELETION. NEVER - detach the ip when the VM is deleted, but do not delete the ip. ON_PERMANENT_INSTANCE_DELETION will delete the internal ip when the VM is permanently deleted from the instance group.
interface_name str
, The network interface name of the internal Ip. Possible value: nic0
deleteRule String
, A value that prescribes what should happen to the internal ip when the VM instance is deleted. The available options are NEVER and ON_PERMANENT_INSTANCE_DELETION. NEVER - detach the ip when the VM is deleted, but do not delete the ip. ON_PERMANENT_INSTANCE_DELETION will delete the internal ip when the VM is permanently deleted from the instance group.
interfaceName String
, The network interface name of the internal Ip. Possible value: nic0

InstanceGroupManagerStatus
, InstanceGroupManagerStatusArgs

AllInstancesConfigs List<InstanceGroupManagerStatusAllInstancesConfig>
Properties to set on all instances in the group. After setting allInstancesConfig on the group, you must update the group's instances to apply the configuration.
IsStable bool
A bit indicating whether the managed instance group is in a stable state. A stable state means that: none of the instances in the managed instance group is currently undergoing any type of change (for example, creation, restart, or deletion); no future changes are scheduled for instances in the managed instance group; and the managed instance group itself is not being modified.
Statefuls List<InstanceGroupManagerStatusStateful>
Stateful status of the given Instance Group Manager.
VersionTargets List<InstanceGroupManagerStatusVersionTarget>
A bit indicating whether version target has been reached in this managed instance group, i.e. all instances are in their target version. Instances' target version are specified by version field on Instance Group Manager.
AllInstancesConfigs []InstanceGroupManagerStatusAllInstancesConfig
Properties to set on all instances in the group. After setting allInstancesConfig on the group, you must update the group's instances to apply the configuration.
IsStable bool
A bit indicating whether the managed instance group is in a stable state. A stable state means that: none of the instances in the managed instance group is currently undergoing any type of change (for example, creation, restart, or deletion); no future changes are scheduled for instances in the managed instance group; and the managed instance group itself is not being modified.
Statefuls []InstanceGroupManagerStatusStateful
Stateful status of the given Instance Group Manager.
VersionTargets []InstanceGroupManagerStatusVersionTarget
A bit indicating whether version target has been reached in this managed instance group, i.e. all instances are in their target version. Instances' target version are specified by version field on Instance Group Manager.
allInstancesConfigs List<InstanceGroupManagerStatusAllInstancesConfig>
Properties to set on all instances in the group. After setting allInstancesConfig on the group, you must update the group's instances to apply the configuration.
isStable Boolean
A bit indicating whether the managed instance group is in a stable state. A stable state means that: none of the instances in the managed instance group is currently undergoing any type of change (for example, creation, restart, or deletion); no future changes are scheduled for instances in the managed instance group; and the managed instance group itself is not being modified.
statefuls List<InstanceGroupManagerStatusStateful>
Stateful status of the given Instance Group Manager.
versionTargets List<InstanceGroupManagerStatusVersionTarget>
A bit indicating whether version target has been reached in this managed instance group, i.e. all instances are in their target version. Instances' target version are specified by version field on Instance Group Manager.
allInstancesConfigs InstanceGroupManagerStatusAllInstancesConfig[]
Properties to set on all instances in the group. After setting allInstancesConfig on the group, you must update the group's instances to apply the configuration.
isStable boolean
A bit indicating whether the managed instance group is in a stable state. A stable state means that: none of the instances in the managed instance group is currently undergoing any type of change (for example, creation, restart, or deletion); no future changes are scheduled for instances in the managed instance group; and the managed instance group itself is not being modified.
statefuls InstanceGroupManagerStatusStateful[]
Stateful status of the given Instance Group Manager.
versionTargets InstanceGroupManagerStatusVersionTarget[]
A bit indicating whether version target has been reached in this managed instance group, i.e. all instances are in their target version. Instances' target version are specified by version field on Instance Group Manager.
all_instances_configs Sequence[InstanceGroupManagerStatusAllInstancesConfig]
Properties to set on all instances in the group. After setting allInstancesConfig on the group, you must update the group's instances to apply the configuration.
is_stable bool
A bit indicating whether the managed instance group is in a stable state. A stable state means that: none of the instances in the managed instance group is currently undergoing any type of change (for example, creation, restart, or deletion); no future changes are scheduled for instances in the managed instance group; and the managed instance group itself is not being modified.
statefuls Sequence[InstanceGroupManagerStatusStateful]
Stateful status of the given Instance Group Manager.
version_targets Sequence[InstanceGroupManagerStatusVersionTarget]
A bit indicating whether version target has been reached in this managed instance group, i.e. all instances are in their target version. Instances' target version are specified by version field on Instance Group Manager.
allInstancesConfigs List<Property Map>
Properties to set on all instances in the group. After setting allInstancesConfig on the group, you must update the group's instances to apply the configuration.
isStable Boolean
A bit indicating whether the managed instance group is in a stable state. A stable state means that: none of the instances in the managed instance group is currently undergoing any type of change (for example, creation, restart, or deletion); no future changes are scheduled for instances in the managed instance group; and the managed instance group itself is not being modified.
statefuls List<Property Map>
Stateful status of the given Instance Group Manager.
versionTargets List<Property Map>
A bit indicating whether version target has been reached in this managed instance group, i.e. all instances are in their target version. Instances' target version are specified by version field on Instance Group Manager.

InstanceGroupManagerStatusAllInstancesConfig
, InstanceGroupManagerStatusAllInstancesConfigArgs

CurrentRevision string
Current all-instances configuration revision. This value is in RFC3339 text format.
Effective bool
A bit indicating whether this configuration has been applied to all managed instances in the group.
CurrentRevision string
Current all-instances configuration revision. This value is in RFC3339 text format.
Effective bool
A bit indicating whether this configuration has been applied to all managed instances in the group.
currentRevision String
Current all-instances configuration revision. This value is in RFC3339 text format.
effective Boolean
A bit indicating whether this configuration has been applied to all managed instances in the group.
currentRevision string
Current all-instances configuration revision. This value is in RFC3339 text format.
effective boolean
A bit indicating whether this configuration has been applied to all managed instances in the group.
current_revision str
Current all-instances configuration revision. This value is in RFC3339 text format.
effective bool
A bit indicating whether this configuration has been applied to all managed instances in the group.
currentRevision String
Current all-instances configuration revision. This value is in RFC3339 text format.
effective Boolean
A bit indicating whether this configuration has been applied to all managed instances in the group.

InstanceGroupManagerStatusStateful
, InstanceGroupManagerStatusStatefulArgs

HasStatefulConfig bool
A bit indicating whether the managed instance group has stateful configuration, that is, if you have configured any items in a stateful policy or in per-instance configs. The group might report that it has no stateful config even when there is still some preserved state on a managed instance, for example, if you have deleted all PICs but not yet applied those deletions.
PerInstanceConfigs List<InstanceGroupManagerStatusStatefulPerInstanceConfig>
Status of per-instance configs on the instances.
HasStatefulConfig bool
A bit indicating whether the managed instance group has stateful configuration, that is, if you have configured any items in a stateful policy or in per-instance configs. The group might report that it has no stateful config even when there is still some preserved state on a managed instance, for example, if you have deleted all PICs but not yet applied those deletions.
PerInstanceConfigs []InstanceGroupManagerStatusStatefulPerInstanceConfig
Status of per-instance configs on the instances.
hasStatefulConfig Boolean
A bit indicating whether the managed instance group has stateful configuration, that is, if you have configured any items in a stateful policy or in per-instance configs. The group might report that it has no stateful config even when there is still some preserved state on a managed instance, for example, if you have deleted all PICs but not yet applied those deletions.
perInstanceConfigs List<InstanceGroupManagerStatusStatefulPerInstanceConfig>
Status of per-instance configs on the instances.
hasStatefulConfig boolean
A bit indicating whether the managed instance group has stateful configuration, that is, if you have configured any items in a stateful policy or in per-instance configs. The group might report that it has no stateful config even when there is still some preserved state on a managed instance, for example, if you have deleted all PICs but not yet applied those deletions.
perInstanceConfigs InstanceGroupManagerStatusStatefulPerInstanceConfig[]
Status of per-instance configs on the instances.
has_stateful_config bool
A bit indicating whether the managed instance group has stateful configuration, that is, if you have configured any items in a stateful policy or in per-instance configs. The group might report that it has no stateful config even when there is still some preserved state on a managed instance, for example, if you have deleted all PICs but not yet applied those deletions.
per_instance_configs Sequence[InstanceGroupManagerStatusStatefulPerInstanceConfig]
Status of per-instance configs on the instances.
hasStatefulConfig Boolean
A bit indicating whether the managed instance group has stateful configuration, that is, if you have configured any items in a stateful policy or in per-instance configs. The group might report that it has no stateful config even when there is still some preserved state on a managed instance, for example, if you have deleted all PICs but not yet applied those deletions.
perInstanceConfigs List<Property Map>
Status of per-instance configs on the instances.

InstanceGroupManagerStatusStatefulPerInstanceConfig
, InstanceGroupManagerStatusStatefulPerInstanceConfigArgs

AllEffective bool
A bit indicating if all of the group's per-instance configs (listed in the output of a listPerInstanceConfigs API call) have status EFFECTIVE or there are no per-instance-configs.
AllEffective bool
A bit indicating if all of the group's per-instance configs (listed in the output of a listPerInstanceConfigs API call) have status EFFECTIVE or there are no per-instance-configs.
allEffective Boolean
A bit indicating if all of the group's per-instance configs (listed in the output of a listPerInstanceConfigs API call) have status EFFECTIVE or there are no per-instance-configs.
allEffective boolean
A bit indicating if all of the group's per-instance configs (listed in the output of a listPerInstanceConfigs API call) have status EFFECTIVE or there are no per-instance-configs.
all_effective bool
A bit indicating if all of the group's per-instance configs (listed in the output of a listPerInstanceConfigs API call) have status EFFECTIVE or there are no per-instance-configs.
allEffective Boolean
A bit indicating if all of the group's per-instance configs (listed in the output of a listPerInstanceConfigs API call) have status EFFECTIVE or there are no per-instance-configs.

InstanceGroupManagerStatusVersionTarget
, InstanceGroupManagerStatusVersionTargetArgs

IsReached bool
A bit indicating whether version target has been reached in this managed instance group, i.e. all instances are in their target version. Instances' target version are specified by version field on Instance Group Manager.
IsReached bool
A bit indicating whether version target has been reached in this managed instance group, i.e. all instances are in their target version. Instances' target version are specified by version field on Instance Group Manager.
isReached Boolean
A bit indicating whether version target has been reached in this managed instance group, i.e. all instances are in their target version. Instances' target version are specified by version field on Instance Group Manager.
isReached boolean
A bit indicating whether version target has been reached in this managed instance group, i.e. all instances are in their target version. Instances' target version are specified by version field on Instance Group Manager.
is_reached bool
A bit indicating whether version target has been reached in this managed instance group, i.e. all instances are in their target version. Instances' target version are specified by version field on Instance Group Manager.
isReached Boolean
A bit indicating whether version target has been reached in this managed instance group, i.e. all instances are in their target version. Instances' target version are specified by version field on Instance Group Manager.

InstanceGroupManagerUpdatePolicy
, InstanceGroupManagerUpdatePolicyArgs

MinimalAction This property is required. string
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.
Type This property is required. string
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).
MaxSurgeFixed int
, Specifies a fixed number of VM instances. This must be a positive integer. Conflicts with max_surge_percent. Both cannot be 0.
MaxSurgePercent int
, Specifies a percentage of instances between 0 to 100%, inclusive. For example, specify 80 for 80%. Conflicts with max_surge_fixed.
MaxUnavailableFixed int
, Specifies a fixed number of VM instances. This must be a positive integer.
MaxUnavailablePercent int
, Specifies a percentage of instances between 0 to 100%, inclusive. For example, specify 80 for 80%..
MinReadySec int
, Minimum number of seconds to wait for after a newly created instance becomes available. This value must be from range [0, 3600]
MostDisruptiveAllowedAction string
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.
ReplacementMethod string
, 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.


MinimalAction This property is required. string
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.
Type This property is required. string
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).
MaxSurgeFixed int
, Specifies a fixed number of VM instances. This must be a positive integer. Conflicts with max_surge_percent. Both cannot be 0.
MaxSurgePercent int
, Specifies a percentage of instances between 0 to 100%, inclusive. For example, specify 80 for 80%. Conflicts with max_surge_fixed.
MaxUnavailableFixed int
, Specifies a fixed number of VM instances. This must be a positive integer.
MaxUnavailablePercent int
, Specifies a percentage of instances between 0 to 100%, inclusive. For example, specify 80 for 80%..
MinReadySec int
, Minimum number of seconds to wait for after a newly created instance becomes available. This value must be from range [0, 3600]
MostDisruptiveAllowedAction string
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.
ReplacementMethod string
, 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.


minimalAction This property is required. String
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.
type This property is required. String
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).
maxSurgeFixed Integer
, Specifies a fixed number of VM instances. This must be a positive integer. Conflicts with max_surge_percent. Both cannot be 0.
maxSurgePercent Integer
, Specifies a percentage of instances between 0 to 100%, inclusive. For example, specify 80 for 80%. Conflicts with max_surge_fixed.
maxUnavailableFixed Integer
, Specifies a fixed number of VM instances. This must be a positive integer.
maxUnavailablePercent Integer
, Specifies a percentage of instances between 0 to 100%, inclusive. For example, specify 80 for 80%..
minReadySec Integer
, Minimum number of seconds to wait for after a newly created instance becomes available. This value must be from range [0, 3600]
mostDisruptiveAllowedAction String
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.
replacementMethod String
, 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.


minimalAction This property is required. string
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.
type This property is required. string
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).
maxSurgeFixed number
, Specifies a fixed number of VM instances. This must be a positive integer. Conflicts with max_surge_percent. Both cannot be 0.
maxSurgePercent number
, Specifies a percentage of instances between 0 to 100%, inclusive. For example, specify 80 for 80%. Conflicts with max_surge_fixed.
maxUnavailableFixed number
, Specifies a fixed number of VM instances. This must be a positive integer.
maxUnavailablePercent number
, Specifies a percentage of instances between 0 to 100%, inclusive. For example, specify 80 for 80%..
minReadySec number
, Minimum number of seconds to wait for after a newly created instance becomes available. This value must be from range [0, 3600]
mostDisruptiveAllowedAction string
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.
replacementMethod string
, 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.


minimal_action This property is required. str
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.
type This property is required. str
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).
max_surge_fixed int
, Specifies a fixed number of VM instances. This must be a positive integer. Conflicts with max_surge_percent. Both cannot be 0.
max_surge_percent int
, Specifies a percentage of instances between 0 to 100%, inclusive. For example, specify 80 for 80%. Conflicts with max_surge_fixed.
max_unavailable_fixed int
, Specifies a fixed number of VM instances. This must be a positive integer.
max_unavailable_percent int
, Specifies a percentage of instances between 0 to 100%, inclusive. For example, specify 80 for 80%..
min_ready_sec int
, Minimum number of seconds to wait for after a newly created instance becomes available. This value must be from range [0, 3600]
most_disruptive_allowed_action str
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.
replacement_method str
, 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.


minimalAction This property is required. String
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.
type This property is required. String
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).
maxSurgeFixed Number
, Specifies a fixed number of VM instances. This must be a positive integer. Conflicts with max_surge_percent. Both cannot be 0.
maxSurgePercent Number
, Specifies a percentage of instances between 0 to 100%, inclusive. For example, specify 80 for 80%. Conflicts with max_surge_fixed.
maxUnavailableFixed Number
, Specifies a fixed number of VM instances. This must be a positive integer.
maxUnavailablePercent Number
, Specifies a percentage of instances between 0 to 100%, inclusive. For example, specify 80 for 80%..
minReadySec Number
, Minimum number of seconds to wait for after a newly created instance becomes available. This value must be from range [0, 3600]
mostDisruptiveAllowedAction String
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.
replacementMethod String
, 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.


InstanceGroupManagerVersion
, InstanceGroupManagerVersionArgs

InstanceTemplate This property is required. string
The full URL to an instance template from which all new instances of this version will be created. It is recommended to reference instance templates through their unique id (self_link_unique attribute).
Name string
Version name.
TargetSize InstanceGroupManagerVersionTargetSize

The number of instances calculated as a fixed number or a percentage depending on the settings. Structure is documented below.

Exactly one version you specify must not have a target_size specified. During a rolling update, the instance group manager will fulfill the target_size constraints of every other version, and any remaining instances will be provisioned with the version where target_size is unset.

InstanceTemplate This property is required. string
The full URL to an instance template from which all new instances of this version will be created. It is recommended to reference instance templates through their unique id (self_link_unique attribute).
Name string
Version name.
TargetSize InstanceGroupManagerVersionTargetSize

The number of instances calculated as a fixed number or a percentage depending on the settings. Structure is documented below.

Exactly one version you specify must not have a target_size specified. During a rolling update, the instance group manager will fulfill the target_size constraints of every other version, and any remaining instances will be provisioned with the version where target_size is unset.

instanceTemplate This property is required. String
The full URL to an instance template from which all new instances of this version will be created. It is recommended to reference instance templates through their unique id (self_link_unique attribute).
name String
Version name.
targetSize InstanceGroupManagerVersionTargetSize

The number of instances calculated as a fixed number or a percentage depending on the settings. Structure is documented below.

Exactly one version you specify must not have a target_size specified. During a rolling update, the instance group manager will fulfill the target_size constraints of every other version, and any remaining instances will be provisioned with the version where target_size is unset.

instanceTemplate This property is required. string
The full URL to an instance template from which all new instances of this version will be created. It is recommended to reference instance templates through their unique id (self_link_unique attribute).
name string
Version name.
targetSize InstanceGroupManagerVersionTargetSize

The number of instances calculated as a fixed number or a percentage depending on the settings. Structure is documented below.

Exactly one version you specify must not have a target_size specified. During a rolling update, the instance group manager will fulfill the target_size constraints of every other version, and any remaining instances will be provisioned with the version where target_size is unset.

instance_template This property is required. str
The full URL to an instance template from which all new instances of this version will be created. It is recommended to reference instance templates through their unique id (self_link_unique attribute).
name str
Version name.
target_size InstanceGroupManagerVersionTargetSize

The number of instances calculated as a fixed number or a percentage depending on the settings. Structure is documented below.

Exactly one version you specify must not have a target_size specified. During a rolling update, the instance group manager will fulfill the target_size constraints of every other version, and any remaining instances will be provisioned with the version where target_size is unset.

instanceTemplate This property is required. String
The full URL to an instance template from which all new instances of this version will be created. It is recommended to reference instance templates through their unique id (self_link_unique attribute).
name String
Version name.
targetSize Property Map

The number of instances calculated as a fixed number or a percentage depending on the settings. Structure is documented below.

Exactly one version you specify must not have a target_size specified. During a rolling update, the instance group manager will fulfill the target_size constraints of every other version, and any remaining instances will be provisioned with the version where target_size is unset.

InstanceGroupManagerVersionTargetSize
, InstanceGroupManagerVersionTargetSizeArgs

Fixed int
, The number of instances which are managed for this version. Conflicts with percent.
Percent int
, The number of instances (calculated as percentage) which are managed for this version. Conflicts with fixed. Note that when using percent, rounding will be in favor of explicitly set target_size values; a managed instance group with 2 instances and 2 versions, one of which has a target_size.percent of 60 will create 2 instances of that version.
Fixed int
, The number of instances which are managed for this version. Conflicts with percent.
Percent int
, The number of instances (calculated as percentage) which are managed for this version. Conflicts with fixed. Note that when using percent, rounding will be in favor of explicitly set target_size values; a managed instance group with 2 instances and 2 versions, one of which has a target_size.percent of 60 will create 2 instances of that version.
fixed Integer
, The number of instances which are managed for this version. Conflicts with percent.
percent Integer
, The number of instances (calculated as percentage) which are managed for this version. Conflicts with fixed. Note that when using percent, rounding will be in favor of explicitly set target_size values; a managed instance group with 2 instances and 2 versions, one of which has a target_size.percent of 60 will create 2 instances of that version.
fixed number
, The number of instances which are managed for this version. Conflicts with percent.
percent number
, The number of instances (calculated as percentage) which are managed for this version. Conflicts with fixed. Note that when using percent, rounding will be in favor of explicitly set target_size values; a managed instance group with 2 instances and 2 versions, one of which has a target_size.percent of 60 will create 2 instances of that version.
fixed int
, The number of instances which are managed for this version. Conflicts with percent.
percent int
, The number of instances (calculated as percentage) which are managed for this version. Conflicts with fixed. Note that when using percent, rounding will be in favor of explicitly set target_size values; a managed instance group with 2 instances and 2 versions, one of which has a target_size.percent of 60 will create 2 instances of that version.
fixed Number
, The number of instances which are managed for this version. Conflicts with percent.
percent Number
, The number of instances (calculated as percentage) which are managed for this version. Conflicts with fixed. Note that when using percent, rounding will be in favor of explicitly set target_size values; a managed instance group with 2 instances and 2 versions, one of which has a target_size.percent of 60 will create 2 instances of that version.

Import

Instance group managers can be imported using any of these accepted formats:

  • projects/{{project}}/zones/{{zone}}/instanceGroupManagers/{{name}}

  • {{project}}/{{zone}}/{{name}}

  • {{project}}/{{name}}

  • {{name}}

When using the pulumi import command, instance group managers can be imported using one of the formats above. For example:

$ pulumi import gcp:compute/instanceGroupManager:InstanceGroupManager default projects/{{project}}/zones/{{zone}}/instanceGroupManagers/{{name}}
Copy
$ pulumi import gcp:compute/instanceGroupManager:InstanceGroupManager default {{project}}/{{zone}}/{{name}}
Copy
$ pulumi import gcp:compute/instanceGroupManager:InstanceGroupManager default {{project}}/{{name}}
Copy
$ pulumi import gcp:compute/instanceGroupManager:InstanceGroupManager default {{name}}
Copy

To learn more about importing existing cloud resources, see Importing resources.

Package Details

Repository
Google Cloud (GCP) Classic pulumi/pulumi-gcp
License
Apache-2.0
Notes
This Pulumi package is based on the google-beta Terraform Provider.