1. Packages
  2. Google Cloud (GCP) Classic
  3. API Docs
  4. compute
  5. RegionInstanceGroupManager
Google Cloud Classic v7.19.0 published on Thursday, Apr 18, 2024 by Pulumi

gcp.compute.RegionInstanceGroupManager

Explore with Pulumi AI

gcp logo
Google Cloud Classic v7.19.0 published on Thursday, Apr 18, 2024 by Pulumi

    The Google Compute Engine Regional Instance Group Manager API creates and manages pools of homogeneous Compute Engine virtual machine instances from a common instance template.

    To get more information about regionInstanceGroupManagers, see:

    Note: Use gcp.compute.InstanceGroupManager to create a zonal 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.RegionInstanceGroupManager("appserver", {
        name: "appserver-igm",
        baseInstanceName: "app",
        region: "us-central1",
        distributionPolicyZones: [
            "us-central1-a",
            "us-central1-f",
        ],
        versions: [{
            instanceTemplate: appserverGoogleComputeInstanceTemplate.selfLinkUnique,
        }],
        allInstancesConfig: {
            metadata: {
                metadata_key: "metadata_value",
            },
            labels: {
                label_key: "label_value",
            },
        },
        targetPools: [appserverGoogleComputeTargetPool.id],
        targetSize: 2,
        namedPorts: [{
            name: "custom",
            port: 8888,
        }],
        autoHealingPolicies: {
            healthCheck: autohealing.id,
            initialDelaySec: 300,
        },
    });
    
    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=gcp.compute.HealthCheckHttpHealthCheckArgs(
            request_path="/healthz",
            port=8080,
        ))
    appserver = gcp.compute.RegionInstanceGroupManager("appserver",
        name="appserver-igm",
        base_instance_name="app",
        region="us-central1",
        distribution_policy_zones=[
            "us-central1-a",
            "us-central1-f",
        ],
        versions=[gcp.compute.RegionInstanceGroupManagerVersionArgs(
            instance_template=appserver_google_compute_instance_template["selfLinkUnique"],
        )],
        all_instances_config=gcp.compute.RegionInstanceGroupManagerAllInstancesConfigArgs(
            metadata={
                "metadata_key": "metadata_value",
            },
            labels={
                "label_key": "label_value",
            },
        ),
        target_pools=[appserver_google_compute_target_pool["id"]],
        target_size=2,
        named_ports=[gcp.compute.RegionInstanceGroupManagerNamedPortArgs(
            name="custom",
            port=8888,
        )],
        auto_healing_policies=gcp.compute.RegionInstanceGroupManagerAutoHealingPoliciesArgs(
            health_check=autohealing.id,
            initial_delay_sec=300,
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/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.NewRegionInstanceGroupManager(ctx, "appserver", &compute.RegionInstanceGroupManagerArgs{
    			Name:             pulumi.String("appserver-igm"),
    			BaseInstanceName: pulumi.String("app"),
    			Region:           pulumi.String("us-central1"),
    			DistributionPolicyZones: pulumi.StringArray{
    				pulumi.String("us-central1-a"),
    				pulumi.String("us-central1-f"),
    			},
    			Versions: compute.RegionInstanceGroupManagerVersionArray{
    				&compute.RegionInstanceGroupManagerVersionArgs{
    					InstanceTemplate: pulumi.Any(appserverGoogleComputeInstanceTemplate.SelfLinkUnique),
    				},
    			},
    			AllInstancesConfig: &compute.RegionInstanceGroupManagerAllInstancesConfigArgs{
    				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.RegionInstanceGroupManagerNamedPortArray{
    				&compute.RegionInstanceGroupManagerNamedPortArgs{
    					Name: pulumi.String("custom"),
    					Port: pulumi.Int(8888),
    				},
    			},
    			AutoHealingPolicies: &compute.RegionInstanceGroupManagerAutoHealingPoliciesArgs{
    				HealthCheck:     autohealing.ID(),
    				InitialDelaySec: pulumi.Int(300),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    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.RegionInstanceGroupManager("appserver", new()
        {
            Name = "appserver-igm",
            BaseInstanceName = "app",
            Region = "us-central1",
            DistributionPolicyZones = new[]
            {
                "us-central1-a",
                "us-central1-f",
            },
            Versions = new[]
            {
                new Gcp.Compute.Inputs.RegionInstanceGroupManagerVersionArgs
                {
                    InstanceTemplate = appserverGoogleComputeInstanceTemplate.SelfLinkUnique,
                },
            },
            AllInstancesConfig = new Gcp.Compute.Inputs.RegionInstanceGroupManagerAllInstancesConfigArgs
            {
                Metadata = 
                {
                    { "metadata_key", "metadata_value" },
                },
                Labels = 
                {
                    { "label_key", "label_value" },
                },
            },
            TargetPools = new[]
            {
                appserverGoogleComputeTargetPool.Id,
            },
            TargetSize = 2,
            NamedPorts = new[]
            {
                new Gcp.Compute.Inputs.RegionInstanceGroupManagerNamedPortArgs
                {
                    Name = "custom",
                    Port = 8888,
                },
            },
            AutoHealingPolicies = new Gcp.Compute.Inputs.RegionInstanceGroupManagerAutoHealingPoliciesArgs
            {
                HealthCheck = autohealing.Id,
                InitialDelaySec = 300,
            },
        });
    
    });
    
    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.RegionInstanceGroupManager;
    import com.pulumi.gcp.compute.RegionInstanceGroupManagerArgs;
    import com.pulumi.gcp.compute.inputs.RegionInstanceGroupManagerVersionArgs;
    import com.pulumi.gcp.compute.inputs.RegionInstanceGroupManagerAllInstancesConfigArgs;
    import com.pulumi.gcp.compute.inputs.RegionInstanceGroupManagerNamedPortArgs;
    import com.pulumi.gcp.compute.inputs.RegionInstanceGroupManagerAutoHealingPoliciesArgs;
    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 RegionInstanceGroupManager("appserver", RegionInstanceGroupManagerArgs.builder()        
                .name("appserver-igm")
                .baseInstanceName("app")
                .region("us-central1")
                .distributionPolicyZones(            
                    "us-central1-a",
                    "us-central1-f")
                .versions(RegionInstanceGroupManagerVersionArgs.builder()
                    .instanceTemplate(appserverGoogleComputeInstanceTemplate.selfLinkUnique())
                    .build())
                .allInstancesConfig(RegionInstanceGroupManagerAllInstancesConfigArgs.builder()
                    .metadata(Map.of("metadata_key", "metadata_value"))
                    .labels(Map.of("label_key", "label_value"))
                    .build())
                .targetPools(appserverGoogleComputeTargetPool.id())
                .targetSize(2)
                .namedPorts(RegionInstanceGroupManagerNamedPortArgs.builder()
                    .name("custom")
                    .port(8888)
                    .build())
                .autoHealingPolicies(RegionInstanceGroupManagerAutoHealingPoliciesArgs.builder()
                    .healthCheck(autohealing.id())
                    .initialDelaySec(300)
                    .build())
                .build());
    
        }
    }
    
    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:RegionInstanceGroupManager
        properties:
          name: appserver-igm
          baseInstanceName: app
          region: us-central1
          distributionPolicyZones:
            - us-central1-a
            - us-central1-f
          versions:
            - instanceTemplate: ${appserverGoogleComputeInstanceTemplate.selfLinkUnique}
          allInstancesConfig:
            metadata:
              metadata_key: metadata_value
            labels:
              label_key: label_value
          targetPools:
            - ${appserverGoogleComputeTargetPool.id}
          targetSize: 2
          namedPorts:
            - name: custom
              port: 8888
          autoHealingPolicies:
            healthCheck: ${autohealing.id}
            initialDelaySec: 300
    

    With Multiple Versions

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const appserver = new gcp.compute.RegionInstanceGroupManager("appserver", {
        name: "appserver-igm",
        baseInstanceName: "app",
        region: "us-central1",
        targetSize: 5,
        versions: [
            {
                instanceTemplate: appserverGoogleComputeInstanceTemplate.selfLinkUnique,
            },
            {
                instanceTemplate: appserver_canary.selfLinkUnique,
                targetSize: {
                    fixed: 1,
                },
            },
        ],
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    appserver = gcp.compute.RegionInstanceGroupManager("appserver",
        name="appserver-igm",
        base_instance_name="app",
        region="us-central1",
        target_size=5,
        versions=[
            gcp.compute.RegionInstanceGroupManagerVersionArgs(
                instance_template=appserver_google_compute_instance_template["selfLinkUnique"],
            ),
            gcp.compute.RegionInstanceGroupManagerVersionArgs(
                instance_template=appserver_canary["selfLinkUnique"],
                target_size=gcp.compute.RegionInstanceGroupManagerVersionTargetSizeArgs(
                    fixed=1,
                ),
            ),
        ])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/compute"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := compute.NewRegionInstanceGroupManager(ctx, "appserver", &compute.RegionInstanceGroupManagerArgs{
    			Name:             pulumi.String("appserver-igm"),
    			BaseInstanceName: pulumi.String("app"),
    			Region:           pulumi.String("us-central1"),
    			TargetSize:       pulumi.Int(5),
    			Versions: compute.RegionInstanceGroupManagerVersionArray{
    				&compute.RegionInstanceGroupManagerVersionArgs{
    					InstanceTemplate: pulumi.Any(appserverGoogleComputeInstanceTemplate.SelfLinkUnique),
    				},
    				&compute.RegionInstanceGroupManagerVersionArgs{
    					InstanceTemplate: pulumi.Any(appserver_canary.SelfLinkUnique),
    					TargetSize: &compute.RegionInstanceGroupManagerVersionTargetSizeArgs{
    						Fixed: pulumi.Int(1),
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var appserver = new Gcp.Compute.RegionInstanceGroupManager("appserver", new()
        {
            Name = "appserver-igm",
            BaseInstanceName = "app",
            Region = "us-central1",
            TargetSize = 5,
            Versions = new[]
            {
                new Gcp.Compute.Inputs.RegionInstanceGroupManagerVersionArgs
                {
                    InstanceTemplate = appserverGoogleComputeInstanceTemplate.SelfLinkUnique,
                },
                new Gcp.Compute.Inputs.RegionInstanceGroupManagerVersionArgs
                {
                    InstanceTemplate = appserver_canary.SelfLinkUnique,
                    TargetSize = new Gcp.Compute.Inputs.RegionInstanceGroupManagerVersionTargetSizeArgs
                    {
                        Fixed = 1,
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.compute.RegionInstanceGroupManager;
    import com.pulumi.gcp.compute.RegionInstanceGroupManagerArgs;
    import com.pulumi.gcp.compute.inputs.RegionInstanceGroupManagerVersionArgs;
    import com.pulumi.gcp.compute.inputs.RegionInstanceGroupManagerVersionTargetSizeArgs;
    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 RegionInstanceGroupManager("appserver", RegionInstanceGroupManagerArgs.builder()        
                .name("appserver-igm")
                .baseInstanceName("app")
                .region("us-central1")
                .targetSize(5)
                .versions(            
                    RegionInstanceGroupManagerVersionArgs.builder()
                        .instanceTemplate(appserverGoogleComputeInstanceTemplate.selfLinkUnique())
                        .build(),
                    RegionInstanceGroupManagerVersionArgs.builder()
                        .instanceTemplate(appserver_canary.selfLinkUnique())
                        .targetSize(RegionInstanceGroupManagerVersionTargetSizeArgs.builder()
                            .fixed(1)
                            .build())
                        .build())
                .build());
    
        }
    }
    
    resources:
      appserver:
        type: gcp:compute:RegionInstanceGroupManager
        properties:
          name: appserver-igm
          baseInstanceName: app
          region: us-central1
          targetSize: 5
          versions:
            - instanceTemplate: ${appserverGoogleComputeInstanceTemplate.selfLinkUnique}
            - instanceTemplate: ${["appserver-canary"].selfLinkUnique}
              targetSize:
                fixed: 1
    

    Create RegionInstanceGroupManager Resource

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

    Constructor syntax

    new RegionInstanceGroupManager(name: string, args: RegionInstanceGroupManagerArgs, opts?: CustomResourceOptions);
    @overload
    def RegionInstanceGroupManager(resource_name: str,
                                   args: RegionInstanceGroupManagerArgs,
                                   opts: Optional[ResourceOptions] = None)
    
    @overload
    def RegionInstanceGroupManager(resource_name: str,
                                   opts: Optional[ResourceOptions] = None,
                                   base_instance_name: Optional[str] = None,
                                   versions: Optional[Sequence[RegionInstanceGroupManagerVersionArgs]] = None,
                                   project: Optional[str] = None,
                                   region: Optional[str] = None,
                                   distribution_policy_target_shape: Optional[str] = None,
                                   distribution_policy_zones: Optional[Sequence[str]] = None,
                                   instance_lifecycle_policy: Optional[RegionInstanceGroupManagerInstanceLifecyclePolicyArgs] = None,
                                   list_managed_instances_results: Optional[str] = None,
                                   name: Optional[str] = None,
                                   named_ports: Optional[Sequence[RegionInstanceGroupManagerNamedPortArgs]] = None,
                                   all_instances_config: Optional[RegionInstanceGroupManagerAllInstancesConfigArgs] = None,
                                   description: Optional[str] = None,
                                   stateful_disks: Optional[Sequence[RegionInstanceGroupManagerStatefulDiskArgs]] = None,
                                   stateful_external_ips: Optional[Sequence[RegionInstanceGroupManagerStatefulExternalIpArgs]] = None,
                                   stateful_internal_ips: Optional[Sequence[RegionInstanceGroupManagerStatefulInternalIpArgs]] = None,
                                   target_pools: Optional[Sequence[str]] = None,
                                   target_size: Optional[int] = None,
                                   update_policy: Optional[RegionInstanceGroupManagerUpdatePolicyArgs] = None,
                                   auto_healing_policies: Optional[RegionInstanceGroupManagerAutoHealingPoliciesArgs] = None,
                                   wait_for_instances: Optional[bool] = None,
                                   wait_for_instances_status: Optional[str] = None)
    func NewRegionInstanceGroupManager(ctx *Context, name string, args RegionInstanceGroupManagerArgs, opts ...ResourceOption) (*RegionInstanceGroupManager, error)
    public RegionInstanceGroupManager(string name, RegionInstanceGroupManagerArgs args, CustomResourceOptions? opts = null)
    public RegionInstanceGroupManager(String name, RegionInstanceGroupManagerArgs args)
    public RegionInstanceGroupManager(String name, RegionInstanceGroupManagerArgs args, CustomResourceOptions options)
    
    type: gcp:compute:RegionInstanceGroupManager
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

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

    Example

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

    var regionInstanceGroupManagerResource = new Gcp.Compute.RegionInstanceGroupManager("regionInstanceGroupManagerResource", new()
    {
        BaseInstanceName = "string",
        Versions = new[]
        {
            new Gcp.Compute.Inputs.RegionInstanceGroupManagerVersionArgs
            {
                InstanceTemplate = "string",
                Name = "string",
                TargetSize = new Gcp.Compute.Inputs.RegionInstanceGroupManagerVersionTargetSizeArgs
                {
                    Fixed = 0,
                    Percent = 0,
                },
            },
        },
        Project = "string",
        Region = "string",
        DistributionPolicyTargetShape = "string",
        DistributionPolicyZones = new[]
        {
            "string",
        },
        InstanceLifecyclePolicy = new Gcp.Compute.Inputs.RegionInstanceGroupManagerInstanceLifecyclePolicyArgs
        {
            DefaultActionOnFailure = "string",
            ForceUpdateOnRepair = "string",
        },
        ListManagedInstancesResults = "string",
        Name = "string",
        NamedPorts = new[]
        {
            new Gcp.Compute.Inputs.RegionInstanceGroupManagerNamedPortArgs
            {
                Name = "string",
                Port = 0,
            },
        },
        AllInstancesConfig = new Gcp.Compute.Inputs.RegionInstanceGroupManagerAllInstancesConfigArgs
        {
            Labels = 
            {
                { "string", "string" },
            },
            Metadata = 
            {
                { "string", "string" },
            },
        },
        Description = "string",
        StatefulDisks = new[]
        {
            new Gcp.Compute.Inputs.RegionInstanceGroupManagerStatefulDiskArgs
            {
                DeviceName = "string",
                DeleteRule = "string",
            },
        },
        StatefulExternalIps = new[]
        {
            new Gcp.Compute.Inputs.RegionInstanceGroupManagerStatefulExternalIpArgs
            {
                DeleteRule = "string",
                InterfaceName = "string",
            },
        },
        StatefulInternalIps = new[]
        {
            new Gcp.Compute.Inputs.RegionInstanceGroupManagerStatefulInternalIpArgs
            {
                DeleteRule = "string",
                InterfaceName = "string",
            },
        },
        TargetPools = new[]
        {
            "string",
        },
        TargetSize = 0,
        UpdatePolicy = new Gcp.Compute.Inputs.RegionInstanceGroupManagerUpdatePolicyArgs
        {
            MinimalAction = "string",
            Type = "string",
            InstanceRedistributionType = "string",
            MaxSurgeFixed = 0,
            MaxSurgePercent = 0,
            MaxUnavailableFixed = 0,
            MaxUnavailablePercent = 0,
            MinReadySec = 0,
            MostDisruptiveAllowedAction = "string",
            ReplacementMethod = "string",
        },
        AutoHealingPolicies = new Gcp.Compute.Inputs.RegionInstanceGroupManagerAutoHealingPoliciesArgs
        {
            HealthCheck = "string",
            InitialDelaySec = 0,
        },
        WaitForInstances = false,
        WaitForInstancesStatus = "string",
    });
    
    example, err := compute.NewRegionInstanceGroupManager(ctx, "regionInstanceGroupManagerResource", &compute.RegionInstanceGroupManagerArgs{
    	BaseInstanceName: pulumi.String("string"),
    	Versions: compute.RegionInstanceGroupManagerVersionArray{
    		&compute.RegionInstanceGroupManagerVersionArgs{
    			InstanceTemplate: pulumi.String("string"),
    			Name:             pulumi.String("string"),
    			TargetSize: &compute.RegionInstanceGroupManagerVersionTargetSizeArgs{
    				Fixed:   pulumi.Int(0),
    				Percent: pulumi.Int(0),
    			},
    		},
    	},
    	Project:                       pulumi.String("string"),
    	Region:                        pulumi.String("string"),
    	DistributionPolicyTargetShape: pulumi.String("string"),
    	DistributionPolicyZones: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	InstanceLifecyclePolicy: &compute.RegionInstanceGroupManagerInstanceLifecyclePolicyArgs{
    		DefaultActionOnFailure: pulumi.String("string"),
    		ForceUpdateOnRepair:    pulumi.String("string"),
    	},
    	ListManagedInstancesResults: pulumi.String("string"),
    	Name:                        pulumi.String("string"),
    	NamedPorts: compute.RegionInstanceGroupManagerNamedPortArray{
    		&compute.RegionInstanceGroupManagerNamedPortArgs{
    			Name: pulumi.String("string"),
    			Port: pulumi.Int(0),
    		},
    	},
    	AllInstancesConfig: &compute.RegionInstanceGroupManagerAllInstancesConfigArgs{
    		Labels: pulumi.StringMap{
    			"string": pulumi.String("string"),
    		},
    		Metadata: pulumi.StringMap{
    			"string": pulumi.String("string"),
    		},
    	},
    	Description: pulumi.String("string"),
    	StatefulDisks: compute.RegionInstanceGroupManagerStatefulDiskArray{
    		&compute.RegionInstanceGroupManagerStatefulDiskArgs{
    			DeviceName: pulumi.String("string"),
    			DeleteRule: pulumi.String("string"),
    		},
    	},
    	StatefulExternalIps: compute.RegionInstanceGroupManagerStatefulExternalIpArray{
    		&compute.RegionInstanceGroupManagerStatefulExternalIpArgs{
    			DeleteRule:    pulumi.String("string"),
    			InterfaceName: pulumi.String("string"),
    		},
    	},
    	StatefulInternalIps: compute.RegionInstanceGroupManagerStatefulInternalIpArray{
    		&compute.RegionInstanceGroupManagerStatefulInternalIpArgs{
    			DeleteRule:    pulumi.String("string"),
    			InterfaceName: pulumi.String("string"),
    		},
    	},
    	TargetPools: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	TargetSize: pulumi.Int(0),
    	UpdatePolicy: &compute.RegionInstanceGroupManagerUpdatePolicyArgs{
    		MinimalAction:               pulumi.String("string"),
    		Type:                        pulumi.String("string"),
    		InstanceRedistributionType:  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.RegionInstanceGroupManagerAutoHealingPoliciesArgs{
    		HealthCheck:     pulumi.String("string"),
    		InitialDelaySec: pulumi.Int(0),
    	},
    	WaitForInstances:       pulumi.Bool(false),
    	WaitForInstancesStatus: pulumi.String("string"),
    })
    
    var regionInstanceGroupManagerResource = new RegionInstanceGroupManager("regionInstanceGroupManagerResource", RegionInstanceGroupManagerArgs.builder()        
        .baseInstanceName("string")
        .versions(RegionInstanceGroupManagerVersionArgs.builder()
            .instanceTemplate("string")
            .name("string")
            .targetSize(RegionInstanceGroupManagerVersionTargetSizeArgs.builder()
                .fixed(0)
                .percent(0)
                .build())
            .build())
        .project("string")
        .region("string")
        .distributionPolicyTargetShape("string")
        .distributionPolicyZones("string")
        .instanceLifecyclePolicy(RegionInstanceGroupManagerInstanceLifecyclePolicyArgs.builder()
            .defaultActionOnFailure("string")
            .forceUpdateOnRepair("string")
            .build())
        .listManagedInstancesResults("string")
        .name("string")
        .namedPorts(RegionInstanceGroupManagerNamedPortArgs.builder()
            .name("string")
            .port(0)
            .build())
        .allInstancesConfig(RegionInstanceGroupManagerAllInstancesConfigArgs.builder()
            .labels(Map.of("string", "string"))
            .metadata(Map.of("string", "string"))
            .build())
        .description("string")
        .statefulDisks(RegionInstanceGroupManagerStatefulDiskArgs.builder()
            .deviceName("string")
            .deleteRule("string")
            .build())
        .statefulExternalIps(RegionInstanceGroupManagerStatefulExternalIpArgs.builder()
            .deleteRule("string")
            .interfaceName("string")
            .build())
        .statefulInternalIps(RegionInstanceGroupManagerStatefulInternalIpArgs.builder()
            .deleteRule("string")
            .interfaceName("string")
            .build())
        .targetPools("string")
        .targetSize(0)
        .updatePolicy(RegionInstanceGroupManagerUpdatePolicyArgs.builder()
            .minimalAction("string")
            .type("string")
            .instanceRedistributionType("string")
            .maxSurgeFixed(0)
            .maxSurgePercent(0)
            .maxUnavailableFixed(0)
            .maxUnavailablePercent(0)
            .minReadySec(0)
            .mostDisruptiveAllowedAction("string")
            .replacementMethod("string")
            .build())
        .autoHealingPolicies(RegionInstanceGroupManagerAutoHealingPoliciesArgs.builder()
            .healthCheck("string")
            .initialDelaySec(0)
            .build())
        .waitForInstances(false)
        .waitForInstancesStatus("string")
        .build());
    
    region_instance_group_manager_resource = gcp.compute.RegionInstanceGroupManager("regionInstanceGroupManagerResource",
        base_instance_name="string",
        versions=[gcp.compute.RegionInstanceGroupManagerVersionArgs(
            instance_template="string",
            name="string",
            target_size=gcp.compute.RegionInstanceGroupManagerVersionTargetSizeArgs(
                fixed=0,
                percent=0,
            ),
        )],
        project="string",
        region="string",
        distribution_policy_target_shape="string",
        distribution_policy_zones=["string"],
        instance_lifecycle_policy=gcp.compute.RegionInstanceGroupManagerInstanceLifecyclePolicyArgs(
            default_action_on_failure="string",
            force_update_on_repair="string",
        ),
        list_managed_instances_results="string",
        name="string",
        named_ports=[gcp.compute.RegionInstanceGroupManagerNamedPortArgs(
            name="string",
            port=0,
        )],
        all_instances_config=gcp.compute.RegionInstanceGroupManagerAllInstancesConfigArgs(
            labels={
                "string": "string",
            },
            metadata={
                "string": "string",
            },
        ),
        description="string",
        stateful_disks=[gcp.compute.RegionInstanceGroupManagerStatefulDiskArgs(
            device_name="string",
            delete_rule="string",
        )],
        stateful_external_ips=[gcp.compute.RegionInstanceGroupManagerStatefulExternalIpArgs(
            delete_rule="string",
            interface_name="string",
        )],
        stateful_internal_ips=[gcp.compute.RegionInstanceGroupManagerStatefulInternalIpArgs(
            delete_rule="string",
            interface_name="string",
        )],
        target_pools=["string"],
        target_size=0,
        update_policy=gcp.compute.RegionInstanceGroupManagerUpdatePolicyArgs(
            minimal_action="string",
            type="string",
            instance_redistribution_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=gcp.compute.RegionInstanceGroupManagerAutoHealingPoliciesArgs(
            health_check="string",
            initial_delay_sec=0,
        ),
        wait_for_instances=False,
        wait_for_instances_status="string")
    
    const regionInstanceGroupManagerResource = new gcp.compute.RegionInstanceGroupManager("regionInstanceGroupManagerResource", {
        baseInstanceName: "string",
        versions: [{
            instanceTemplate: "string",
            name: "string",
            targetSize: {
                fixed: 0,
                percent: 0,
            },
        }],
        project: "string",
        region: "string",
        distributionPolicyTargetShape: "string",
        distributionPolicyZones: ["string"],
        instanceLifecyclePolicy: {
            defaultActionOnFailure: "string",
            forceUpdateOnRepair: "string",
        },
        listManagedInstancesResults: "string",
        name: "string",
        namedPorts: [{
            name: "string",
            port: 0,
        }],
        allInstancesConfig: {
            labels: {
                string: "string",
            },
            metadata: {
                string: "string",
            },
        },
        description: "string",
        statefulDisks: [{
            deviceName: "string",
            deleteRule: "string",
        }],
        statefulExternalIps: [{
            deleteRule: "string",
            interfaceName: "string",
        }],
        statefulInternalIps: [{
            deleteRule: "string",
            interfaceName: "string",
        }],
        targetPools: ["string"],
        targetSize: 0,
        updatePolicy: {
            minimalAction: "string",
            type: "string",
            instanceRedistributionType: "string",
            maxSurgeFixed: 0,
            maxSurgePercent: 0,
            maxUnavailableFixed: 0,
            maxUnavailablePercent: 0,
            minReadySec: 0,
            mostDisruptiveAllowedAction: "string",
            replacementMethod: "string",
        },
        autoHealingPolicies: {
            healthCheck: "string",
            initialDelaySec: 0,
        },
        waitForInstances: false,
        waitForInstancesStatus: "string",
    });
    
    type: gcp:compute:RegionInstanceGroupManager
    properties:
        allInstancesConfig:
            labels:
                string: string
            metadata:
                string: string
        autoHealingPolicies:
            healthCheck: string
            initialDelaySec: 0
        baseInstanceName: string
        description: string
        distributionPolicyTargetShape: string
        distributionPolicyZones:
            - string
        instanceLifecyclePolicy:
            defaultActionOnFailure: string
            forceUpdateOnRepair: string
        listManagedInstancesResults: string
        name: string
        namedPorts:
            - name: string
              port: 0
        project: string
        region: string
        statefulDisks:
            - deleteRule: string
              deviceName: string
        statefulExternalIps:
            - deleteRule: string
              interfaceName: string
        statefulInternalIps:
            - deleteRule: string
              interfaceName: string
        targetPools:
            - string
        targetSize: 0
        updatePolicy:
            instanceRedistributionType: string
            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
    

    RegionInstanceGroupManager Resource Properties

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

    Inputs

    The RegionInstanceGroupManager resource accepts the following input properties:

    BaseInstanceName 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 List<RegionInstanceGroupManagerVersion>
    Application versions managed by this instance group. Each version deals with a specific instance template, allowing canary release scenarios. Structure is documented below.
    AllInstancesConfig RegionInstanceGroupManagerAllInstancesConfig
    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 RegionInstanceGroupManagerAutoHealingPolicies
    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.
    DistributionPolicyTargetShape string
    The shape to which the group converges either proactively or on resize events (depending on the value set in update_policy.0.instance_redistribution_type). For more information see the official documentation.
    DistributionPolicyZones List<string>
    The distribution policy for this managed instance group. You can specify one or more values. For more information, see the official documentation.
    InstanceLifecyclePolicy RegionInstanceGroupManagerInstanceLifecyclePolicy
    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 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<RegionInstanceGroupManagerNamedPort>
    The named port configuration. See the section below for details on configuration.
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    Region string
    The region where the managed instance group resides. If not provided, the provider region is used.


    StatefulDisks List<RegionInstanceGroupManagerStatefulDisk>
    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. Proactive cross zone instance redistribution must be disabled before you can update stateful disks on existing instance group managers. This can be controlled via the update_policy.
    StatefulExternalIps List<RegionInstanceGroupManagerStatefulExternalIp>
    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<RegionInstanceGroupManagerStatefulInternalIp>
    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.
    UpdatePolicy RegionInstanceGroupManagerUpdatePolicy
    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, the 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
    BaseInstanceName 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 []RegionInstanceGroupManagerVersionArgs
    Application versions managed by this instance group. Each version deals with a specific instance template, allowing canary release scenarios. Structure is documented below.
    AllInstancesConfig RegionInstanceGroupManagerAllInstancesConfigArgs
    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 RegionInstanceGroupManagerAutoHealingPoliciesArgs
    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.
    DistributionPolicyTargetShape string
    The shape to which the group converges either proactively or on resize events (depending on the value set in update_policy.0.instance_redistribution_type). For more information see the official documentation.
    DistributionPolicyZones []string
    The distribution policy for this managed instance group. You can specify one or more values. For more information, see the official documentation.
    InstanceLifecyclePolicy RegionInstanceGroupManagerInstanceLifecyclePolicyArgs
    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 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 []RegionInstanceGroupManagerNamedPortArgs
    The named port configuration. See the section below for details on configuration.
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    Region string
    The region where the managed instance group resides. If not provided, the provider region is used.


    StatefulDisks []RegionInstanceGroupManagerStatefulDiskArgs
    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. Proactive cross zone instance redistribution must be disabled before you can update stateful disks on existing instance group managers. This can be controlled via the update_policy.
    StatefulExternalIps []RegionInstanceGroupManagerStatefulExternalIpArgs
    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 []RegionInstanceGroupManagerStatefulInternalIpArgs
    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.
    UpdatePolicy RegionInstanceGroupManagerUpdatePolicyArgs
    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, the 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
    baseInstanceName 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 List<RegionInstanceGroupManagerVersion>
    Application versions managed by this instance group. Each version deals with a specific instance template, allowing canary release scenarios. Structure is documented below.
    allInstancesConfig RegionInstanceGroupManagerAllInstancesConfig
    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 RegionInstanceGroupManagerAutoHealingPolicies
    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.
    distributionPolicyTargetShape String
    The shape to which the group converges either proactively or on resize events (depending on the value set in update_policy.0.instance_redistribution_type). For more information see the official documentation.
    distributionPolicyZones List<String>
    The distribution policy for this managed instance group. You can specify one or more values. For more information, see the official documentation.
    instanceLifecyclePolicy RegionInstanceGroupManagerInstanceLifecyclePolicy
    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 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<RegionInstanceGroupManagerNamedPort>
    The named port configuration. See the section below for details on configuration.
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    region String
    The region where the managed instance group resides. If not provided, the provider region is used.


    statefulDisks List<RegionInstanceGroupManagerStatefulDisk>
    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. Proactive cross zone instance redistribution must be disabled before you can update stateful disks on existing instance group managers. This can be controlled via the update_policy.
    statefulExternalIps List<RegionInstanceGroupManagerStatefulExternalIp>
    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<RegionInstanceGroupManagerStatefulInternalIp>
    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.
    updatePolicy RegionInstanceGroupManagerUpdatePolicy
    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, the 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
    baseInstanceName 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 RegionInstanceGroupManagerVersion[]
    Application versions managed by this instance group. Each version deals with a specific instance template, allowing canary release scenarios. Structure is documented below.
    allInstancesConfig RegionInstanceGroupManagerAllInstancesConfig
    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 RegionInstanceGroupManagerAutoHealingPolicies
    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.
    distributionPolicyTargetShape string
    The shape to which the group converges either proactively or on resize events (depending on the value set in update_policy.0.instance_redistribution_type). For more information see the official documentation.
    distributionPolicyZones string[]
    The distribution policy for this managed instance group. You can specify one or more values. For more information, see the official documentation.
    instanceLifecyclePolicy RegionInstanceGroupManagerInstanceLifecyclePolicy
    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 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 RegionInstanceGroupManagerNamedPort[]
    The named port configuration. See the section below for details on configuration.
    project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    region string
    The region where the managed instance group resides. If not provided, the provider region is used.


    statefulDisks RegionInstanceGroupManagerStatefulDisk[]
    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. Proactive cross zone instance redistribution must be disabled before you can update stateful disks on existing instance group managers. This can be controlled via the update_policy.
    statefulExternalIps RegionInstanceGroupManagerStatefulExternalIp[]
    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 RegionInstanceGroupManagerStatefulInternalIp[]
    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.
    updatePolicy RegionInstanceGroupManagerUpdatePolicy
    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, the 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
    base_instance_name 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 Sequence[RegionInstanceGroupManagerVersionArgs]
    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 RegionInstanceGroupManagerAllInstancesConfigArgs
    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 RegionInstanceGroupManagerAutoHealingPoliciesArgs
    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.
    distribution_policy_target_shape str
    The shape to which the group converges either proactively or on resize events (depending on the value set in update_policy.0.instance_redistribution_type). For more information see the official documentation.
    distribution_policy_zones Sequence[str]
    The distribution policy for this managed instance group. You can specify one or more values. For more information, see the official documentation.
    instance_lifecycle_policy RegionInstanceGroupManagerInstanceLifecyclePolicyArgs
    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 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[RegionInstanceGroupManagerNamedPortArgs]
    The named port configuration. See the section below for details on configuration.
    project str
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    region str
    The region where the managed instance group resides. If not provided, the provider region is used.


    stateful_disks Sequence[RegionInstanceGroupManagerStatefulDiskArgs]
    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. Proactive cross zone instance redistribution must be disabled before you can update stateful disks on existing instance group managers. This can be controlled via the update_policy.
    stateful_external_ips Sequence[RegionInstanceGroupManagerStatefulExternalIpArgs]
    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[RegionInstanceGroupManagerStatefulInternalIpArgs]
    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.
    update_policy RegionInstanceGroupManagerUpdatePolicyArgs
    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, the 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
    baseInstanceName 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 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.
    distributionPolicyTargetShape String
    The shape to which the group converges either proactively or on resize events (depending on the value set in update_policy.0.instance_redistribution_type). For more information see the official documentation.
    distributionPolicyZones List<String>
    The distribution policy for this managed instance group. You can specify one or more values. For more information, see the official documentation.
    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 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.
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    region String
    The region where the managed instance group resides. If not provided, the provider region is used.


    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. Proactive cross zone instance redistribution must be disabled before you can update stateful disks on existing instance group managers. This can be controlled via the update_policy.
    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.
    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, the 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

    Outputs

    All input properties are implicitly available as output properties. Additionally, the RegionInstanceGroupManager 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.
    SelfLink string
    The URL of the created resource.
    Statuses List<RegionInstanceGroupManagerStatus>
    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.
    SelfLink string
    The URL of the created resource.
    Statuses []RegionInstanceGroupManagerStatus
    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.
    selfLink String
    The URL of the created resource.
    statuses List<RegionInstanceGroupManagerStatus>
    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.
    selfLink string
    The URL of the created resource.
    statuses RegionInstanceGroupManagerStatus[]
    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.
    self_link str
    The URL of the created resource.
    statuses Sequence[RegionInstanceGroupManagerStatus]
    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.
    selfLink String
    The URL of the created resource.
    statuses List<Property Map>
    The status of this managed instance group.

    Look up Existing RegionInstanceGroupManager Resource

    Get an existing RegionInstanceGroupManager 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?: RegionInstanceGroupManagerState, opts?: CustomResourceOptions): RegionInstanceGroupManager
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            all_instances_config: Optional[RegionInstanceGroupManagerAllInstancesConfigArgs] = None,
            auto_healing_policies: Optional[RegionInstanceGroupManagerAutoHealingPoliciesArgs] = None,
            base_instance_name: Optional[str] = None,
            creation_timestamp: Optional[str] = None,
            description: Optional[str] = None,
            distribution_policy_target_shape: Optional[str] = None,
            distribution_policy_zones: Optional[Sequence[str]] = None,
            fingerprint: Optional[str] = None,
            instance_group: Optional[str] = None,
            instance_lifecycle_policy: Optional[RegionInstanceGroupManagerInstanceLifecyclePolicyArgs] = None,
            list_managed_instances_results: Optional[str] = None,
            name: Optional[str] = None,
            named_ports: Optional[Sequence[RegionInstanceGroupManagerNamedPortArgs]] = None,
            project: Optional[str] = None,
            region: Optional[str] = None,
            self_link: Optional[str] = None,
            stateful_disks: Optional[Sequence[RegionInstanceGroupManagerStatefulDiskArgs]] = None,
            stateful_external_ips: Optional[Sequence[RegionInstanceGroupManagerStatefulExternalIpArgs]] = None,
            stateful_internal_ips: Optional[Sequence[RegionInstanceGroupManagerStatefulInternalIpArgs]] = None,
            statuses: Optional[Sequence[RegionInstanceGroupManagerStatusArgs]] = None,
            target_pools: Optional[Sequence[str]] = None,
            target_size: Optional[int] = None,
            update_policy: Optional[RegionInstanceGroupManagerUpdatePolicyArgs] = None,
            versions: Optional[Sequence[RegionInstanceGroupManagerVersionArgs]] = None,
            wait_for_instances: Optional[bool] = None,
            wait_for_instances_status: Optional[str] = None) -> RegionInstanceGroupManager
    func GetRegionInstanceGroupManager(ctx *Context, name string, id IDInput, state *RegionInstanceGroupManagerState, opts ...ResourceOption) (*RegionInstanceGroupManager, error)
    public static RegionInstanceGroupManager Get(string name, Input<string> id, RegionInstanceGroupManagerState? state, CustomResourceOptions? opts = null)
    public static RegionInstanceGroupManager get(String name, Output<String> id, RegionInstanceGroupManagerState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    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
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    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
    The unique name of the resulting resource.
    id
    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
    The unique name of the resulting resource.
    id
    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 RegionInstanceGroupManagerAllInstancesConfig
    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 RegionInstanceGroupManagerAutoHealingPolicies
    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 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.
    DistributionPolicyTargetShape string
    The shape to which the group converges either proactively or on resize events (depending on the value set in update_policy.0.instance_redistribution_type). For more information see the official documentation.
    DistributionPolicyZones List<string>
    The distribution policy for this managed instance group. You can specify one or more values. For more information, see the official documentation.
    Fingerprint string
    The fingerprint of the instance group manager.
    InstanceGroup string
    The full URL of the instance group created by the manager.
    InstanceLifecyclePolicy RegionInstanceGroupManagerInstanceLifecyclePolicy
    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 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<RegionInstanceGroupManagerNamedPort>
    The named port configuration. See the section below for details on configuration.
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    Region string
    The region where the managed instance group resides. If not provided, the provider region is used.


    SelfLink string
    The URL of the created resource.
    StatefulDisks List<RegionInstanceGroupManagerStatefulDisk>
    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. Proactive cross zone instance redistribution must be disabled before you can update stateful disks on existing instance group managers. This can be controlled via the update_policy.
    StatefulExternalIps List<RegionInstanceGroupManagerStatefulExternalIp>
    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<RegionInstanceGroupManagerStatefulInternalIp>
    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<RegionInstanceGroupManagerStatus>
    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.
    UpdatePolicy RegionInstanceGroupManagerUpdatePolicy
    The update policy for this managed instance group. Structure is documented below. For more information, see the official documentation and API
    Versions List<RegionInstanceGroupManagerVersion>
    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, the 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
    AllInstancesConfig RegionInstanceGroupManagerAllInstancesConfigArgs
    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 RegionInstanceGroupManagerAutoHealingPoliciesArgs
    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 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.
    DistributionPolicyTargetShape string
    The shape to which the group converges either proactively or on resize events (depending on the value set in update_policy.0.instance_redistribution_type). For more information see the official documentation.
    DistributionPolicyZones []string
    The distribution policy for this managed instance group. You can specify one or more values. For more information, see the official documentation.
    Fingerprint string
    The fingerprint of the instance group manager.
    InstanceGroup string
    The full URL of the instance group created by the manager.
    InstanceLifecyclePolicy RegionInstanceGroupManagerInstanceLifecyclePolicyArgs
    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 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 []RegionInstanceGroupManagerNamedPortArgs
    The named port configuration. See the section below for details on configuration.
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    Region string
    The region where the managed instance group resides. If not provided, the provider region is used.


    SelfLink string
    The URL of the created resource.
    StatefulDisks []RegionInstanceGroupManagerStatefulDiskArgs
    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. Proactive cross zone instance redistribution must be disabled before you can update stateful disks on existing instance group managers. This can be controlled via the update_policy.
    StatefulExternalIps []RegionInstanceGroupManagerStatefulExternalIpArgs
    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 []RegionInstanceGroupManagerStatefulInternalIpArgs
    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 []RegionInstanceGroupManagerStatusArgs
    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.
    UpdatePolicy RegionInstanceGroupManagerUpdatePolicyArgs
    The update policy for this managed instance group. Structure is documented below. For more information, see the official documentation and API
    Versions []RegionInstanceGroupManagerVersionArgs
    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, the 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
    allInstancesConfig RegionInstanceGroupManagerAllInstancesConfig
    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 RegionInstanceGroupManagerAutoHealingPolicies
    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 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.
    distributionPolicyTargetShape String
    The shape to which the group converges either proactively or on resize events (depending on the value set in update_policy.0.instance_redistribution_type). For more information see the official documentation.
    distributionPolicyZones List<String>
    The distribution policy for this managed instance group. You can specify one or more values. For more information, see the official documentation.
    fingerprint String
    The fingerprint of the instance group manager.
    instanceGroup String
    The full URL of the instance group created by the manager.
    instanceLifecyclePolicy RegionInstanceGroupManagerInstanceLifecyclePolicy
    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 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<RegionInstanceGroupManagerNamedPort>
    The named port configuration. See the section below for details on configuration.
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    region String
    The region where the managed instance group resides. If not provided, the provider region is used.


    selfLink String
    The URL of the created resource.
    statefulDisks List<RegionInstanceGroupManagerStatefulDisk>
    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. Proactive cross zone instance redistribution must be disabled before you can update stateful disks on existing instance group managers. This can be controlled via the update_policy.
    statefulExternalIps List<RegionInstanceGroupManagerStatefulExternalIp>
    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<RegionInstanceGroupManagerStatefulInternalIp>
    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<RegionInstanceGroupManagerStatus>
    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.
    updatePolicy RegionInstanceGroupManagerUpdatePolicy
    The update policy for this managed instance group. Structure is documented below. For more information, see the official documentation and API
    versions List<RegionInstanceGroupManagerVersion>
    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, the 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
    allInstancesConfig RegionInstanceGroupManagerAllInstancesConfig
    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 RegionInstanceGroupManagerAutoHealingPolicies
    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 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.
    distributionPolicyTargetShape string
    The shape to which the group converges either proactively or on resize events (depending on the value set in update_policy.0.instance_redistribution_type). For more information see the official documentation.
    distributionPolicyZones string[]
    The distribution policy for this managed instance group. You can specify one or more values. For more information, see the official documentation.
    fingerprint string
    The fingerprint of the instance group manager.
    instanceGroup string
    The full URL of the instance group created by the manager.
    instanceLifecyclePolicy RegionInstanceGroupManagerInstanceLifecyclePolicy
    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 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 RegionInstanceGroupManagerNamedPort[]
    The named port configuration. See the section below for details on configuration.
    project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    region string
    The region where the managed instance group resides. If not provided, the provider region is used.


    selfLink string
    The URL of the created resource.
    statefulDisks RegionInstanceGroupManagerStatefulDisk[]
    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. Proactive cross zone instance redistribution must be disabled before you can update stateful disks on existing instance group managers. This can be controlled via the update_policy.
    statefulExternalIps RegionInstanceGroupManagerStatefulExternalIp[]
    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 RegionInstanceGroupManagerStatefulInternalIp[]
    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 RegionInstanceGroupManagerStatus[]
    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.
    updatePolicy RegionInstanceGroupManagerUpdatePolicy
    The update policy for this managed instance group. Structure is documented below. For more information, see the official documentation and API
    versions RegionInstanceGroupManagerVersion[]
    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, the 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
    all_instances_config RegionInstanceGroupManagerAllInstancesConfigArgs
    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 RegionInstanceGroupManagerAutoHealingPoliciesArgs
    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 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.
    distribution_policy_target_shape str
    The shape to which the group converges either proactively or on resize events (depending on the value set in update_policy.0.instance_redistribution_type). For more information see the official documentation.
    distribution_policy_zones Sequence[str]
    The distribution policy for this managed instance group. You can specify one or more values. For more information, see the official documentation.
    fingerprint str
    The fingerprint of the instance group manager.
    instance_group str
    The full URL of the instance group created by the manager.
    instance_lifecycle_policy RegionInstanceGroupManagerInstanceLifecyclePolicyArgs
    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 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[RegionInstanceGroupManagerNamedPortArgs]
    The named port configuration. See the section below for details on configuration.
    project str
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    region str
    The region where the managed instance group resides. If not provided, the provider region is used.


    self_link str
    The URL of the created resource.
    stateful_disks Sequence[RegionInstanceGroupManagerStatefulDiskArgs]
    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. Proactive cross zone instance redistribution must be disabled before you can update stateful disks on existing instance group managers. This can be controlled via the update_policy.
    stateful_external_ips Sequence[RegionInstanceGroupManagerStatefulExternalIpArgs]
    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[RegionInstanceGroupManagerStatefulInternalIpArgs]
    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[RegionInstanceGroupManagerStatusArgs]
    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.
    update_policy RegionInstanceGroupManagerUpdatePolicyArgs
    The update policy for this managed instance group. Structure is documented below. For more information, see the official documentation and API
    versions Sequence[RegionInstanceGroupManagerVersionArgs]
    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, the 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
    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 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.
    distributionPolicyTargetShape String
    The shape to which the group converges either proactively or on resize events (depending on the value set in update_policy.0.instance_redistribution_type). For more information see the official documentation.
    distributionPolicyZones List<String>
    The distribution policy for this managed instance group. You can specify one or more values. For more information, see the official documentation.
    fingerprint String
    The fingerprint of the instance group manager.
    instanceGroup String
    The full URL of the instance group created by the 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 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.
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    region String
    The region where the managed instance group resides. If not provided, the provider region is used.


    selfLink String
    The URL of the created resource.
    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. Proactive cross zone instance redistribution must be disabled before you can update stateful disks on existing instance group managers. This can be controlled via the update_policy.
    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.
    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, the 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

    Supporting Types

    RegionInstanceGroupManagerAllInstancesConfig, RegionInstanceGroupManagerAllInstancesConfigArgs

    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.

    RegionInstanceGroupManagerAutoHealingPolicies, RegionInstanceGroupManagerAutoHealingPoliciesArgs

    HealthCheck string
    The health check resource that signals autohealing.
    InitialDelaySec 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 string
    The health check resource that signals autohealing.
    InitialDelaySec 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 String
    The health check resource that signals autohealing.
    initialDelaySec 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 string
    The health check resource that signals autohealing.
    initialDelaySec 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 str
    The health check resource that signals autohealing.
    initial_delay_sec 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 String
    The health check resource that signals autohealing.
    initialDelaySec 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.

    RegionInstanceGroupManagerInstanceLifecyclePolicy, RegionInstanceGroupManagerInstanceLifecyclePolicyArgs

    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.

    RegionInstanceGroupManagerNamedPort, RegionInstanceGroupManagerNamedPortArgs

    Name string
    The name of the port.
    Port int
    The port number.


    Name string
    The name of the port.
    Port int
    The port number.


    name String
    The name of the port.
    port Integer
    The port number.


    name string
    The name of the port.
    port number
    The port number.


    name str
    The name of the port.
    port int
    The port number.


    name String
    The name of the port.
    port Number
    The port number.


    RegionInstanceGroupManagerStatefulDisk, RegionInstanceGroupManagerStatefulDiskArgs

    DeviceName 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 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 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 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 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 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.

    RegionInstanceGroupManagerStatefulExternalIp, RegionInstanceGroupManagerStatefulExternalIpArgs

    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.

    RegionInstanceGroupManagerStatefulInternalIp, RegionInstanceGroupManagerStatefulInternalIpArgs

    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.

    RegionInstanceGroupManagerStatus, RegionInstanceGroupManagerStatusArgs

    AllInstancesConfigs List<RegionInstanceGroupManagerStatusAllInstancesConfig>
    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<RegionInstanceGroupManagerStatusStateful>
    Stateful status of the given Instance Group Manager.
    VersionTargets List<RegionInstanceGroupManagerStatusVersionTarget>
    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 []RegionInstanceGroupManagerStatusAllInstancesConfig
    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 []RegionInstanceGroupManagerStatusStateful
    Stateful status of the given Instance Group Manager.
    VersionTargets []RegionInstanceGroupManagerStatusVersionTarget
    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<RegionInstanceGroupManagerStatusAllInstancesConfig>
    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<RegionInstanceGroupManagerStatusStateful>
    Stateful status of the given Instance Group Manager.
    versionTargets List<RegionInstanceGroupManagerStatusVersionTarget>
    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 RegionInstanceGroupManagerStatusAllInstancesConfig[]
    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 RegionInstanceGroupManagerStatusStateful[]
    Stateful status of the given Instance Group Manager.
    versionTargets RegionInstanceGroupManagerStatusVersionTarget[]
    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[RegionInstanceGroupManagerStatusAllInstancesConfig]
    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[RegionInstanceGroupManagerStatusStateful]
    Stateful status of the given Instance Group Manager.
    version_targets Sequence[RegionInstanceGroupManagerStatusVersionTarget]
    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.

    RegionInstanceGroupManagerStatusAllInstancesConfig, RegionInstanceGroupManagerStatusAllInstancesConfigArgs

    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.

    RegionInstanceGroupManagerStatusStateful, RegionInstanceGroupManagerStatusStatefulArgs

    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<RegionInstanceGroupManagerStatusStatefulPerInstanceConfig>
    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 []RegionInstanceGroupManagerStatusStatefulPerInstanceConfig
    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<RegionInstanceGroupManagerStatusStatefulPerInstanceConfig>
    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 RegionInstanceGroupManagerStatusStatefulPerInstanceConfig[]
    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[RegionInstanceGroupManagerStatusStatefulPerInstanceConfig]
    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.

    RegionInstanceGroupManagerStatusStatefulPerInstanceConfig, RegionInstanceGroupManagerStatusStatefulPerInstanceConfigArgs

    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.

    RegionInstanceGroupManagerStatusVersionTarget, RegionInstanceGroupManagerStatusVersionTargetArgs

    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.

    RegionInstanceGroupManagerUpdatePolicy, RegionInstanceGroupManagerUpdatePolicyArgs

    MinimalAction string
    Minimal action to be taken on an instance. You can specify either 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 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).
    InstanceRedistributionType string
    The instance redistribution policy for regional managed instance groups. Valid values are: "PROACTIVE", "NONE". If PROACTIVE (default), the group attempts to maintain an even distribution of VM instances across zones in the region. If NONE, proactive redistribution is disabled.
    MaxSurgeFixed int
    , The maximum number of instances that can be created above the specified targetSize during the update process. Conflicts with max_surge_percent. It has to be either 0 or at least equal to the number of zones. If fixed values are used, at least one of max_unavailable_fixed or max_surge_fixed must be greater than 0.
    MaxSurgePercent int
    , The maximum number of instances(calculated as percentage) that can be created above the specified targetSize during the update process. Conflicts with max_surge_fixed. Percent value is only allowed for regional managed instance groups with size at least 10.
    MaxUnavailableFixed int
    , The maximum number of instances that can be unavailable during the update process. Conflicts with max_unavailable_percent. It has to be either 0 or at least equal to the number of zones. If fixed values are used, at least one of max_unavailable_fixed or max_surge_fixed must be greater than 0.
    MaxUnavailablePercent int
    , The maximum number of instances(calculated as percentage) that can be unavailable during the update process. Conflicts with max_unavailable_fixed. Percent value is only allowed for regional managed instance groups with size at least 10.
    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 string
    Minimal action to be taken on an instance. You can specify either 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 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).
    InstanceRedistributionType string
    The instance redistribution policy for regional managed instance groups. Valid values are: "PROACTIVE", "NONE". If PROACTIVE (default), the group attempts to maintain an even distribution of VM instances across zones in the region. If NONE, proactive redistribution is disabled.
    MaxSurgeFixed int
    , The maximum number of instances that can be created above the specified targetSize during the update process. Conflicts with max_surge_percent. It has to be either 0 or at least equal to the number of zones. If fixed values are used, at least one of max_unavailable_fixed or max_surge_fixed must be greater than 0.
    MaxSurgePercent int
    , The maximum number of instances(calculated as percentage) that can be created above the specified targetSize during the update process. Conflicts with max_surge_fixed. Percent value is only allowed for regional managed instance groups with size at least 10.
    MaxUnavailableFixed int
    , The maximum number of instances that can be unavailable during the update process. Conflicts with max_unavailable_percent. It has to be either 0 or at least equal to the number of zones. If fixed values are used, at least one of max_unavailable_fixed or max_surge_fixed must be greater than 0.
    MaxUnavailablePercent int
    , The maximum number of instances(calculated as percentage) that can be unavailable during the update process. Conflicts with max_unavailable_fixed. Percent value is only allowed for regional managed instance groups with size at least 10.
    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 String
    Minimal action to be taken on an instance. You can specify either 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 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).
    instanceRedistributionType String
    The instance redistribution policy for regional managed instance groups. Valid values are: "PROACTIVE", "NONE". If PROACTIVE (default), the group attempts to maintain an even distribution of VM instances across zones in the region. If NONE, proactive redistribution is disabled.
    maxSurgeFixed Integer
    , The maximum number of instances that can be created above the specified targetSize during the update process. Conflicts with max_surge_percent. It has to be either 0 or at least equal to the number of zones. If fixed values are used, at least one of max_unavailable_fixed or max_surge_fixed must be greater than 0.
    maxSurgePercent Integer
    , The maximum number of instances(calculated as percentage) that can be created above the specified targetSize during the update process. Conflicts with max_surge_fixed. Percent value is only allowed for regional managed instance groups with size at least 10.
    maxUnavailableFixed Integer
    , The maximum number of instances that can be unavailable during the update process. Conflicts with max_unavailable_percent. It has to be either 0 or at least equal to the number of zones. If fixed values are used, at least one of max_unavailable_fixed or max_surge_fixed must be greater than 0.
    maxUnavailablePercent Integer
    , The maximum number of instances(calculated as percentage) that can be unavailable during the update process. Conflicts with max_unavailable_fixed. Percent value is only allowed for regional managed instance groups with size at least 10.
    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 string
    Minimal action to be taken on an instance. You can specify either 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 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).
    instanceRedistributionType string
    The instance redistribution policy for regional managed instance groups. Valid values are: "PROACTIVE", "NONE". If PROACTIVE (default), the group attempts to maintain an even distribution of VM instances across zones in the region. If NONE, proactive redistribution is disabled.
    maxSurgeFixed number
    , The maximum number of instances that can be created above the specified targetSize during the update process. Conflicts with max_surge_percent. It has to be either 0 or at least equal to the number of zones. If fixed values are used, at least one of max_unavailable_fixed or max_surge_fixed must be greater than 0.
    maxSurgePercent number
    , The maximum number of instances(calculated as percentage) that can be created above the specified targetSize during the update process. Conflicts with max_surge_fixed. Percent value is only allowed for regional managed instance groups with size at least 10.
    maxUnavailableFixed number
    , The maximum number of instances that can be unavailable during the update process. Conflicts with max_unavailable_percent. It has to be either 0 or at least equal to the number of zones. If fixed values are used, at least one of max_unavailable_fixed or max_surge_fixed must be greater than 0.
    maxUnavailablePercent number
    , The maximum number of instances(calculated as percentage) that can be unavailable during the update process. Conflicts with max_unavailable_fixed. Percent value is only allowed for regional managed instance groups with size at least 10.
    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 str
    Minimal action to be taken on an instance. You can specify either 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 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).
    instance_redistribution_type str
    The instance redistribution policy for regional managed instance groups. Valid values are: "PROACTIVE", "NONE". If PROACTIVE (default), the group attempts to maintain an even distribution of VM instances across zones in the region. If NONE, proactive redistribution is disabled.
    max_surge_fixed int
    , The maximum number of instances that can be created above the specified targetSize during the update process. Conflicts with max_surge_percent. It has to be either 0 or at least equal to the number of zones. If fixed values are used, at least one of max_unavailable_fixed or max_surge_fixed must be greater than 0.
    max_surge_percent int
    , The maximum number of instances(calculated as percentage) that can be created above the specified targetSize during the update process. Conflicts with max_surge_fixed. Percent value is only allowed for regional managed instance groups with size at least 10.
    max_unavailable_fixed int
    , The maximum number of instances that can be unavailable during the update process. Conflicts with max_unavailable_percent. It has to be either 0 or at least equal to the number of zones. If fixed values are used, at least one of max_unavailable_fixed or max_surge_fixed must be greater than 0.
    max_unavailable_percent int
    , The maximum number of instances(calculated as percentage) that can be unavailable during the update process. Conflicts with max_unavailable_fixed. Percent value is only allowed for regional managed instance groups with size at least 10.
    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 String
    Minimal action to be taken on an instance. You can specify either 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 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).
    instanceRedistributionType String
    The instance redistribution policy for regional managed instance groups. Valid values are: "PROACTIVE", "NONE". If PROACTIVE (default), the group attempts to maintain an even distribution of VM instances across zones in the region. If NONE, proactive redistribution is disabled.
    maxSurgeFixed Number
    , The maximum number of instances that can be created above the specified targetSize during the update process. Conflicts with max_surge_percent. It has to be either 0 or at least equal to the number of zones. If fixed values are used, at least one of max_unavailable_fixed or max_surge_fixed must be greater than 0.
    maxSurgePercent Number
    , The maximum number of instances(calculated as percentage) that can be created above the specified targetSize during the update process. Conflicts with max_surge_fixed. Percent value is only allowed for regional managed instance groups with size at least 10.
    maxUnavailableFixed Number
    , The maximum number of instances that can be unavailable during the update process. Conflicts with max_unavailable_percent. It has to be either 0 or at least equal to the number of zones. If fixed values are used, at least one of max_unavailable_fixed or max_surge_fixed must be greater than 0.
    maxUnavailablePercent Number
    , The maximum number of instances(calculated as percentage) that can be unavailable during the update process. Conflicts with max_unavailable_fixed. Percent value is only allowed for regional managed instance groups with size at least 10.
    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.


    RegionInstanceGroupManagerVersion, RegionInstanceGroupManagerVersionArgs

    InstanceTemplate string
    The full URL to an instance template from which all new instances of this version will be created.
    Name string
    Version name.
    TargetSize RegionInstanceGroupManagerVersionTargetSize

    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 string
    The full URL to an instance template from which all new instances of this version will be created.
    Name string
    Version name.
    TargetSize RegionInstanceGroupManagerVersionTargetSize

    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 String
    The full URL to an instance template from which all new instances of this version will be created.
    name String
    Version name.
    targetSize RegionInstanceGroupManagerVersionTargetSize

    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 string
    The full URL to an instance template from which all new instances of this version will be created.
    name string
    Version name.
    targetSize RegionInstanceGroupManagerVersionTargetSize

    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 str
    The full URL to an instance template from which all new instances of this version will be created.
    name str
    Version name.
    target_size RegionInstanceGroupManagerVersionTargetSize

    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 String
    The full URL to an instance template from which all new instances of this version will be created.
    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.

    RegionInstanceGroupManagerVersionTargetSize, RegionInstanceGroupManagerVersionTargetSizeArgs

    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:

    • {{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/regionInstanceGroupManager:RegionInstanceGroupManager default {{name}}
    

    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.
    gcp logo
    Google Cloud Classic v7.19.0 published on Thursday, Apr 18, 2024 by Pulumi