1. Packages
  2. Google Cloud (GCP) Classic
  3. API Docs
  4. compute
  5. RegionPerInstanceConfig
Google Cloud Classic v8.9.3 published on Monday, Nov 18, 2024 by Pulumi

gcp.compute.RegionPerInstanceConfig

Explore with Pulumi AI

gcp logo
Google Cloud Classic v8.9.3 published on Monday, Nov 18, 2024 by Pulumi

    A config defined for a single managed instance that belongs to an instance group manager. It preserves the instance name across instance group manager operations and can define stateful disks or metadata that are unique to the instance. This resource works with regional instance group managers.

    To get more information about RegionPerInstanceConfig, see:

    Example Usage

    Stateful Rigm

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const myImage = gcp.compute.getImage({
        family: "debian-11",
        project: "debian-cloud",
    });
    const igm_basic = new gcp.compute.InstanceTemplate("igm-basic", {
        name: "my-template",
        machineType: "e2-medium",
        canIpForward: false,
        tags: [
            "foo",
            "bar",
        ],
        disks: [{
            sourceImage: myImage.then(myImage => myImage.selfLink),
            autoDelete: true,
            boot: true,
        }],
        networkInterfaces: [{
            network: "default",
        }],
        serviceAccount: {
            scopes: [
                "userinfo-email",
                "compute-ro",
                "storage-ro",
            ],
        },
    });
    const rigm = new gcp.compute.RegionInstanceGroupManager("rigm", {
        description: "Demo test instance group manager",
        name: "my-rigm",
        versions: [{
            name: "prod",
            instanceTemplate: igm_basic.selfLink,
        }],
        updatePolicy: {
            type: "OPPORTUNISTIC",
            instanceRedistributionType: "NONE",
            minimalAction: "RESTART",
        },
        baseInstanceName: "rigm",
        region: "us-central1",
        targetSize: 2,
    });
    const _default = new gcp.compute.Disk("default", {
        name: "my-disk-name",
        type: "pd-ssd",
        zone: "us-central1-a",
        image: "debian-11-bullseye-v20220719",
        physicalBlockSizeBytes: 4096,
    });
    const withDisk = new gcp.compute.RegionPerInstanceConfig("with_disk", {
        region: igm.region,
        regionInstanceGroupManager: rigm.name,
        name: "instance-1",
        preservedState: {
            metadata: {
                foo: "bar",
                instance_template: igm_basic.selfLink,
            },
            disks: [{
                deviceName: "my-stateful-disk",
                source: _default.id,
                mode: "READ_ONLY",
            }],
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    my_image = gcp.compute.get_image(family="debian-11",
        project="debian-cloud")
    igm_basic = gcp.compute.InstanceTemplate("igm-basic",
        name="my-template",
        machine_type="e2-medium",
        can_ip_forward=False,
        tags=[
            "foo",
            "bar",
        ],
        disks=[{
            "source_image": my_image.self_link,
            "auto_delete": True,
            "boot": True,
        }],
        network_interfaces=[{
            "network": "default",
        }],
        service_account={
            "scopes": [
                "userinfo-email",
                "compute-ro",
                "storage-ro",
            ],
        })
    rigm = gcp.compute.RegionInstanceGroupManager("rigm",
        description="Demo test instance group manager",
        name="my-rigm",
        versions=[{
            "name": "prod",
            "instance_template": igm_basic.self_link,
        }],
        update_policy={
            "type": "OPPORTUNISTIC",
            "instance_redistribution_type": "NONE",
            "minimal_action": "RESTART",
        },
        base_instance_name="rigm",
        region="us-central1",
        target_size=2)
    default = gcp.compute.Disk("default",
        name="my-disk-name",
        type="pd-ssd",
        zone="us-central1-a",
        image="debian-11-bullseye-v20220719",
        physical_block_size_bytes=4096)
    with_disk = gcp.compute.RegionPerInstanceConfig("with_disk",
        region=igm["region"],
        region_instance_group_manager=rigm.name,
        name="instance-1",
        preserved_state={
            "metadata": {
                "foo": "bar",
                "instance_template": igm_basic.self_link,
            },
            "disks": [{
                "device_name": "my-stateful-disk",
                "source": default.id,
                "mode": "READ_ONLY",
            }],
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/compute"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		myImage, err := compute.LookupImage(ctx, &compute.LookupImageArgs{
    			Family:  pulumi.StringRef("debian-11"),
    			Project: pulumi.StringRef("debian-cloud"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = compute.NewInstanceTemplate(ctx, "igm-basic", &compute.InstanceTemplateArgs{
    			Name:         pulumi.String("my-template"),
    			MachineType:  pulumi.String("e2-medium"),
    			CanIpForward: pulumi.Bool(false),
    			Tags: pulumi.StringArray{
    				pulumi.String("foo"),
    				pulumi.String("bar"),
    			},
    			Disks: compute.InstanceTemplateDiskArray{
    				&compute.InstanceTemplateDiskArgs{
    					SourceImage: pulumi.String(myImage.SelfLink),
    					AutoDelete:  pulumi.Bool(true),
    					Boot:        pulumi.Bool(true),
    				},
    			},
    			NetworkInterfaces: compute.InstanceTemplateNetworkInterfaceArray{
    				&compute.InstanceTemplateNetworkInterfaceArgs{
    					Network: pulumi.String("default"),
    				},
    			},
    			ServiceAccount: &compute.InstanceTemplateServiceAccountArgs{
    				Scopes: pulumi.StringArray{
    					pulumi.String("userinfo-email"),
    					pulumi.String("compute-ro"),
    					pulumi.String("storage-ro"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		rigm, err := compute.NewRegionInstanceGroupManager(ctx, "rigm", &compute.RegionInstanceGroupManagerArgs{
    			Description: pulumi.String("Demo test instance group manager"),
    			Name:        pulumi.String("my-rigm"),
    			Versions: compute.RegionInstanceGroupManagerVersionArray{
    				&compute.RegionInstanceGroupManagerVersionArgs{
    					Name:             pulumi.String("prod"),
    					InstanceTemplate: igm_basic.SelfLink,
    				},
    			},
    			UpdatePolicy: &compute.RegionInstanceGroupManagerUpdatePolicyArgs{
    				Type:                       pulumi.String("OPPORTUNISTIC"),
    				InstanceRedistributionType: pulumi.String("NONE"),
    				MinimalAction:              pulumi.String("RESTART"),
    			},
    			BaseInstanceName: pulumi.String("rigm"),
    			Region:           pulumi.String("us-central1"),
    			TargetSize:       pulumi.Int(2),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = compute.NewDisk(ctx, "default", &compute.DiskArgs{
    			Name:                   pulumi.String("my-disk-name"),
    			Type:                   pulumi.String("pd-ssd"),
    			Zone:                   pulumi.String("us-central1-a"),
    			Image:                  pulumi.String("debian-11-bullseye-v20220719"),
    			PhysicalBlockSizeBytes: pulumi.Int(4096),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = compute.NewRegionPerInstanceConfig(ctx, "with_disk", &compute.RegionPerInstanceConfigArgs{
    			Region:                     pulumi.Any(igm.Region),
    			RegionInstanceGroupManager: rigm.Name,
    			Name:                       pulumi.String("instance-1"),
    			PreservedState: &compute.RegionPerInstanceConfigPreservedStateArgs{
    				Metadata: pulumi.StringMap{
    					"foo":               pulumi.String("bar"),
    					"instance_template": igm_basic.SelfLink,
    				},
    				Disks: compute.RegionPerInstanceConfigPreservedStateDiskArray{
    					&compute.RegionPerInstanceConfigPreservedStateDiskArgs{
    						DeviceName: pulumi.String("my-stateful-disk"),
    						Source:     _default.ID(),
    						Mode:       pulumi.String("READ_ONLY"),
    					},
    				},
    			},
    		})
    		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 myImage = Gcp.Compute.GetImage.Invoke(new()
        {
            Family = "debian-11",
            Project = "debian-cloud",
        });
    
        var igm_basic = new Gcp.Compute.InstanceTemplate("igm-basic", new()
        {
            Name = "my-template",
            MachineType = "e2-medium",
            CanIpForward = false,
            Tags = new[]
            {
                "foo",
                "bar",
            },
            Disks = new[]
            {
                new Gcp.Compute.Inputs.InstanceTemplateDiskArgs
                {
                    SourceImage = myImage.Apply(getImageResult => getImageResult.SelfLink),
                    AutoDelete = true,
                    Boot = true,
                },
            },
            NetworkInterfaces = new[]
            {
                new Gcp.Compute.Inputs.InstanceTemplateNetworkInterfaceArgs
                {
                    Network = "default",
                },
            },
            ServiceAccount = new Gcp.Compute.Inputs.InstanceTemplateServiceAccountArgs
            {
                Scopes = new[]
                {
                    "userinfo-email",
                    "compute-ro",
                    "storage-ro",
                },
            },
        });
    
        var rigm = new Gcp.Compute.RegionInstanceGroupManager("rigm", new()
        {
            Description = "Demo test instance group manager",
            Name = "my-rigm",
            Versions = new[]
            {
                new Gcp.Compute.Inputs.RegionInstanceGroupManagerVersionArgs
                {
                    Name = "prod",
                    InstanceTemplate = igm_basic.SelfLink,
                },
            },
            UpdatePolicy = new Gcp.Compute.Inputs.RegionInstanceGroupManagerUpdatePolicyArgs
            {
                Type = "OPPORTUNISTIC",
                InstanceRedistributionType = "NONE",
                MinimalAction = "RESTART",
            },
            BaseInstanceName = "rigm",
            Region = "us-central1",
            TargetSize = 2,
        });
    
        var @default = new Gcp.Compute.Disk("default", new()
        {
            Name = "my-disk-name",
            Type = "pd-ssd",
            Zone = "us-central1-a",
            Image = "debian-11-bullseye-v20220719",
            PhysicalBlockSizeBytes = 4096,
        });
    
        var withDisk = new Gcp.Compute.RegionPerInstanceConfig("with_disk", new()
        {
            Region = igm.Region,
            RegionInstanceGroupManager = rigm.Name,
            Name = "instance-1",
            PreservedState = new Gcp.Compute.Inputs.RegionPerInstanceConfigPreservedStateArgs
            {
                Metadata = 
                {
                    { "foo", "bar" },
                    { "instance_template", igm_basic.SelfLink },
                },
                Disks = new[]
                {
                    new Gcp.Compute.Inputs.RegionPerInstanceConfigPreservedStateDiskArgs
                    {
                        DeviceName = "my-stateful-disk",
                        Source = @default.Id,
                        Mode = "READ_ONLY",
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.compute.ComputeFunctions;
    import com.pulumi.gcp.compute.inputs.GetImageArgs;
    import com.pulumi.gcp.compute.InstanceTemplate;
    import com.pulumi.gcp.compute.InstanceTemplateArgs;
    import com.pulumi.gcp.compute.inputs.InstanceTemplateDiskArgs;
    import com.pulumi.gcp.compute.inputs.InstanceTemplateNetworkInterfaceArgs;
    import com.pulumi.gcp.compute.inputs.InstanceTemplateServiceAccountArgs;
    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.RegionInstanceGroupManagerUpdatePolicyArgs;
    import com.pulumi.gcp.compute.Disk;
    import com.pulumi.gcp.compute.DiskArgs;
    import com.pulumi.gcp.compute.RegionPerInstanceConfig;
    import com.pulumi.gcp.compute.RegionPerInstanceConfigArgs;
    import com.pulumi.gcp.compute.inputs.RegionPerInstanceConfigPreservedStateArgs;
    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) {
            final var myImage = ComputeFunctions.getImage(GetImageArgs.builder()
                .family("debian-11")
                .project("debian-cloud")
                .build());
    
            var igm_basic = new InstanceTemplate("igm-basic", InstanceTemplateArgs.builder()
                .name("my-template")
                .machineType("e2-medium")
                .canIpForward(false)
                .tags(            
                    "foo",
                    "bar")
                .disks(InstanceTemplateDiskArgs.builder()
                    .sourceImage(myImage.applyValue(getImageResult -> getImageResult.selfLink()))
                    .autoDelete(true)
                    .boot(true)
                    .build())
                .networkInterfaces(InstanceTemplateNetworkInterfaceArgs.builder()
                    .network("default")
                    .build())
                .serviceAccount(InstanceTemplateServiceAccountArgs.builder()
                    .scopes(                
                        "userinfo-email",
                        "compute-ro",
                        "storage-ro")
                    .build())
                .build());
    
            var rigm = new RegionInstanceGroupManager("rigm", RegionInstanceGroupManagerArgs.builder()
                .description("Demo test instance group manager")
                .name("my-rigm")
                .versions(RegionInstanceGroupManagerVersionArgs.builder()
                    .name("prod")
                    .instanceTemplate(igm_basic.selfLink())
                    .build())
                .updatePolicy(RegionInstanceGroupManagerUpdatePolicyArgs.builder()
                    .type("OPPORTUNISTIC")
                    .instanceRedistributionType("NONE")
                    .minimalAction("RESTART")
                    .build())
                .baseInstanceName("rigm")
                .region("us-central1")
                .targetSize(2)
                .build());
    
            var default_ = new Disk("default", DiskArgs.builder()
                .name("my-disk-name")
                .type("pd-ssd")
                .zone("us-central1-a")
                .image("debian-11-bullseye-v20220719")
                .physicalBlockSizeBytes(4096)
                .build());
    
            var withDisk = new RegionPerInstanceConfig("withDisk", RegionPerInstanceConfigArgs.builder()
                .region(igm.region())
                .regionInstanceGroupManager(rigm.name())
                .name("instance-1")
                .preservedState(RegionPerInstanceConfigPreservedStateArgs.builder()
                    .metadata(Map.ofEntries(
                        Map.entry("foo", "bar"),
                        Map.entry("instance_template", igm_basic.selfLink())
                    ))
                    .disks(RegionPerInstanceConfigPreservedStateDiskArgs.builder()
                        .deviceName("my-stateful-disk")
                        .source(default_.id())
                        .mode("READ_ONLY")
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      igm-basic:
        type: gcp:compute:InstanceTemplate
        properties:
          name: my-template
          machineType: e2-medium
          canIpForward: false
          tags:
            - foo
            - bar
          disks:
            - sourceImage: ${myImage.selfLink}
              autoDelete: true
              boot: true
          networkInterfaces:
            - network: default
          serviceAccount:
            scopes:
              - userinfo-email
              - compute-ro
              - storage-ro
      rigm:
        type: gcp:compute:RegionInstanceGroupManager
        properties:
          description: Demo test instance group manager
          name: my-rigm
          versions:
            - name: prod
              instanceTemplate: ${["igm-basic"].selfLink}
          updatePolicy:
            type: OPPORTUNISTIC
            instanceRedistributionType: NONE
            minimalAction: RESTART
          baseInstanceName: rigm
          region: us-central1
          targetSize: 2
      default:
        type: gcp:compute:Disk
        properties:
          name: my-disk-name
          type: pd-ssd
          zone: us-central1-a
          image: debian-11-bullseye-v20220719
          physicalBlockSizeBytes: 4096
      withDisk:
        type: gcp:compute:RegionPerInstanceConfig
        name: with_disk
        properties:
          region: ${igm.region}
          regionInstanceGroupManager: ${rigm.name}
          name: instance-1
          preservedState:
            metadata:
              foo: bar
              instance_template: ${["igm-basic"].selfLink}
            disks:
              - deviceName: my-stateful-disk
                source: ${default.id}
                mode: READ_ONLY
    variables:
      myImage:
        fn::invoke:
          Function: gcp:compute:getImage
          Arguments:
            family: debian-11
            project: debian-cloud
    

    Create RegionPerInstanceConfig Resource

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

    Constructor syntax

    new RegionPerInstanceConfig(name: string, args: RegionPerInstanceConfigArgs, opts?: CustomResourceOptions);
    @overload
    def RegionPerInstanceConfig(resource_name: str,
                                args: RegionPerInstanceConfigArgs,
                                opts: Optional[ResourceOptions] = None)
    
    @overload
    def RegionPerInstanceConfig(resource_name: str,
                                opts: Optional[ResourceOptions] = None,
                                region_instance_group_manager: Optional[str] = None,
                                minimal_action: Optional[str] = None,
                                most_disruptive_allowed_action: Optional[str] = None,
                                name: Optional[str] = None,
                                preserved_state: Optional[RegionPerInstanceConfigPreservedStateArgs] = None,
                                project: Optional[str] = None,
                                region: Optional[str] = None,
                                remove_instance_on_destroy: Optional[bool] = None,
                                remove_instance_state_on_destroy: Optional[bool] = None)
    func NewRegionPerInstanceConfig(ctx *Context, name string, args RegionPerInstanceConfigArgs, opts ...ResourceOption) (*RegionPerInstanceConfig, error)
    public RegionPerInstanceConfig(string name, RegionPerInstanceConfigArgs args, CustomResourceOptions? opts = null)
    public RegionPerInstanceConfig(String name, RegionPerInstanceConfigArgs args)
    public RegionPerInstanceConfig(String name, RegionPerInstanceConfigArgs args, CustomResourceOptions options)
    
    type: gcp:compute:RegionPerInstanceConfig
    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 RegionPerInstanceConfigArgs
    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 RegionPerInstanceConfigArgs
    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 RegionPerInstanceConfigArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args RegionPerInstanceConfigArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args RegionPerInstanceConfigArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

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

    var regionPerInstanceConfigResource = new Gcp.Compute.RegionPerInstanceConfig("regionPerInstanceConfigResource", new()
    {
        RegionInstanceGroupManager = "string",
        MinimalAction = "string",
        MostDisruptiveAllowedAction = "string",
        Name = "string",
        PreservedState = new Gcp.Compute.Inputs.RegionPerInstanceConfigPreservedStateArgs
        {
            Disks = new[]
            {
                new Gcp.Compute.Inputs.RegionPerInstanceConfigPreservedStateDiskArgs
                {
                    DeviceName = "string",
                    Source = "string",
                    DeleteRule = "string",
                    Mode = "string",
                },
            },
            ExternalIps = new[]
            {
                new Gcp.Compute.Inputs.RegionPerInstanceConfigPreservedStateExternalIpArgs
                {
                    InterfaceName = "string",
                    AutoDelete = "string",
                    IpAddress = new Gcp.Compute.Inputs.RegionPerInstanceConfigPreservedStateExternalIpIpAddressArgs
                    {
                        Address = "string",
                    },
                },
            },
            InternalIps = new[]
            {
                new Gcp.Compute.Inputs.RegionPerInstanceConfigPreservedStateInternalIpArgs
                {
                    InterfaceName = "string",
                    AutoDelete = "string",
                    IpAddress = new Gcp.Compute.Inputs.RegionPerInstanceConfigPreservedStateInternalIpIpAddressArgs
                    {
                        Address = "string",
                    },
                },
            },
            Metadata = 
            {
                { "string", "string" },
            },
        },
        Project = "string",
        Region = "string",
        RemoveInstanceOnDestroy = false,
        RemoveInstanceStateOnDestroy = false,
    });
    
    example, err := compute.NewRegionPerInstanceConfig(ctx, "regionPerInstanceConfigResource", &compute.RegionPerInstanceConfigArgs{
    	RegionInstanceGroupManager:  pulumi.String("string"),
    	MinimalAction:               pulumi.String("string"),
    	MostDisruptiveAllowedAction: pulumi.String("string"),
    	Name:                        pulumi.String("string"),
    	PreservedState: &compute.RegionPerInstanceConfigPreservedStateArgs{
    		Disks: compute.RegionPerInstanceConfigPreservedStateDiskArray{
    			&compute.RegionPerInstanceConfigPreservedStateDiskArgs{
    				DeviceName: pulumi.String("string"),
    				Source:     pulumi.String("string"),
    				DeleteRule: pulumi.String("string"),
    				Mode:       pulumi.String("string"),
    			},
    		},
    		ExternalIps: compute.RegionPerInstanceConfigPreservedStateExternalIpArray{
    			&compute.RegionPerInstanceConfigPreservedStateExternalIpArgs{
    				InterfaceName: pulumi.String("string"),
    				AutoDelete:    pulumi.String("string"),
    				IpAddress: &compute.RegionPerInstanceConfigPreservedStateExternalIpIpAddressArgs{
    					Address: pulumi.String("string"),
    				},
    			},
    		},
    		InternalIps: compute.RegionPerInstanceConfigPreservedStateInternalIpArray{
    			&compute.RegionPerInstanceConfigPreservedStateInternalIpArgs{
    				InterfaceName: pulumi.String("string"),
    				AutoDelete:    pulumi.String("string"),
    				IpAddress: &compute.RegionPerInstanceConfigPreservedStateInternalIpIpAddressArgs{
    					Address: pulumi.String("string"),
    				},
    			},
    		},
    		Metadata: pulumi.StringMap{
    			"string": pulumi.String("string"),
    		},
    	},
    	Project:                      pulumi.String("string"),
    	Region:                       pulumi.String("string"),
    	RemoveInstanceOnDestroy:      pulumi.Bool(false),
    	RemoveInstanceStateOnDestroy: pulumi.Bool(false),
    })
    
    var regionPerInstanceConfigResource = new RegionPerInstanceConfig("regionPerInstanceConfigResource", RegionPerInstanceConfigArgs.builder()
        .regionInstanceGroupManager("string")
        .minimalAction("string")
        .mostDisruptiveAllowedAction("string")
        .name("string")
        .preservedState(RegionPerInstanceConfigPreservedStateArgs.builder()
            .disks(RegionPerInstanceConfigPreservedStateDiskArgs.builder()
                .deviceName("string")
                .source("string")
                .deleteRule("string")
                .mode("string")
                .build())
            .externalIps(RegionPerInstanceConfigPreservedStateExternalIpArgs.builder()
                .interfaceName("string")
                .autoDelete("string")
                .ipAddress(RegionPerInstanceConfigPreservedStateExternalIpIpAddressArgs.builder()
                    .address("string")
                    .build())
                .build())
            .internalIps(RegionPerInstanceConfigPreservedStateInternalIpArgs.builder()
                .interfaceName("string")
                .autoDelete("string")
                .ipAddress(RegionPerInstanceConfigPreservedStateInternalIpIpAddressArgs.builder()
                    .address("string")
                    .build())
                .build())
            .metadata(Map.of("string", "string"))
            .build())
        .project("string")
        .region("string")
        .removeInstanceOnDestroy(false)
        .removeInstanceStateOnDestroy(false)
        .build());
    
    region_per_instance_config_resource = gcp.compute.RegionPerInstanceConfig("regionPerInstanceConfigResource",
        region_instance_group_manager="string",
        minimal_action="string",
        most_disruptive_allowed_action="string",
        name="string",
        preserved_state={
            "disks": [{
                "device_name": "string",
                "source": "string",
                "delete_rule": "string",
                "mode": "string",
            }],
            "external_ips": [{
                "interface_name": "string",
                "auto_delete": "string",
                "ip_address": {
                    "address": "string",
                },
            }],
            "internal_ips": [{
                "interface_name": "string",
                "auto_delete": "string",
                "ip_address": {
                    "address": "string",
                },
            }],
            "metadata": {
                "string": "string",
            },
        },
        project="string",
        region="string",
        remove_instance_on_destroy=False,
        remove_instance_state_on_destroy=False)
    
    const regionPerInstanceConfigResource = new gcp.compute.RegionPerInstanceConfig("regionPerInstanceConfigResource", {
        regionInstanceGroupManager: "string",
        minimalAction: "string",
        mostDisruptiveAllowedAction: "string",
        name: "string",
        preservedState: {
            disks: [{
                deviceName: "string",
                source: "string",
                deleteRule: "string",
                mode: "string",
            }],
            externalIps: [{
                interfaceName: "string",
                autoDelete: "string",
                ipAddress: {
                    address: "string",
                },
            }],
            internalIps: [{
                interfaceName: "string",
                autoDelete: "string",
                ipAddress: {
                    address: "string",
                },
            }],
            metadata: {
                string: "string",
            },
        },
        project: "string",
        region: "string",
        removeInstanceOnDestroy: false,
        removeInstanceStateOnDestroy: false,
    });
    
    type: gcp:compute:RegionPerInstanceConfig
    properties:
        minimalAction: string
        mostDisruptiveAllowedAction: string
        name: string
        preservedState:
            disks:
                - deleteRule: string
                  deviceName: string
                  mode: string
                  source: string
            externalIps:
                - autoDelete: string
                  interfaceName: string
                  ipAddress:
                    address: string
            internalIps:
                - autoDelete: string
                  interfaceName: string
                  ipAddress:
                    address: string
            metadata:
                string: string
        project: string
        region: string
        regionInstanceGroupManager: string
        removeInstanceOnDestroy: false
        removeInstanceStateOnDestroy: false
    

    RegionPerInstanceConfig Resource Properties

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

    Inputs

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

    The RegionPerInstanceConfig resource accepts the following input properties:

    RegionInstanceGroupManager string
    The region instance group manager this instance config is part of.


    MinimalAction string
    The minimal action to perform on the instance during an update. Default is NONE. Possible values are:

    • REPLACE
    • RESTART
    • REFRESH
    • NONE
    MostDisruptiveAllowedAction string
    The most disruptive action to perform on the instance during an update. Default is REPLACE. Possible values are:

    • REPLACE
    • RESTART
    • REFRESH
    • NONE
    Name string
    The name for this per-instance config and its corresponding instance.
    PreservedState RegionPerInstanceConfigPreservedState
    The preserved state for this instance. Structure is documented below.
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    Region string
    Region where the containing instance group manager is located
    RemoveInstanceOnDestroy bool
    When true, deleting this config will immediately remove the underlying instance. When false, deleting this config will use the behavior as determined by remove_instance_on_destroy.
    RemoveInstanceStateOnDestroy bool
    When true, deleting this config will immediately remove any specified state from the underlying instance. When false, deleting this config will not immediately remove any state from the underlying instance. State will be removed on the next instance recreation or update.
    RegionInstanceGroupManager string
    The region instance group manager this instance config is part of.


    MinimalAction string
    The minimal action to perform on the instance during an update. Default is NONE. Possible values are:

    • REPLACE
    • RESTART
    • REFRESH
    • NONE
    MostDisruptiveAllowedAction string
    The most disruptive action to perform on the instance during an update. Default is REPLACE. Possible values are:

    • REPLACE
    • RESTART
    • REFRESH
    • NONE
    Name string
    The name for this per-instance config and its corresponding instance.
    PreservedState RegionPerInstanceConfigPreservedStateArgs
    The preserved state for this instance. Structure is documented below.
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    Region string
    Region where the containing instance group manager is located
    RemoveInstanceOnDestroy bool
    When true, deleting this config will immediately remove the underlying instance. When false, deleting this config will use the behavior as determined by remove_instance_on_destroy.
    RemoveInstanceStateOnDestroy bool
    When true, deleting this config will immediately remove any specified state from the underlying instance. When false, deleting this config will not immediately remove any state from the underlying instance. State will be removed on the next instance recreation or update.
    regionInstanceGroupManager String
    The region instance group manager this instance config is part of.


    minimalAction String
    The minimal action to perform on the instance during an update. Default is NONE. Possible values are:

    • REPLACE
    • RESTART
    • REFRESH
    • NONE
    mostDisruptiveAllowedAction String
    The most disruptive action to perform on the instance during an update. Default is REPLACE. Possible values are:

    • REPLACE
    • RESTART
    • REFRESH
    • NONE
    name String
    The name for this per-instance config and its corresponding instance.
    preservedState RegionPerInstanceConfigPreservedState
    The preserved state for this instance. Structure is documented below.
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    region String
    Region where the containing instance group manager is located
    removeInstanceOnDestroy Boolean
    When true, deleting this config will immediately remove the underlying instance. When false, deleting this config will use the behavior as determined by remove_instance_on_destroy.
    removeInstanceStateOnDestroy Boolean
    When true, deleting this config will immediately remove any specified state from the underlying instance. When false, deleting this config will not immediately remove any state from the underlying instance. State will be removed on the next instance recreation or update.
    regionInstanceGroupManager string
    The region instance group manager this instance config is part of.


    minimalAction string
    The minimal action to perform on the instance during an update. Default is NONE. Possible values are:

    • REPLACE
    • RESTART
    • REFRESH
    • NONE
    mostDisruptiveAllowedAction string
    The most disruptive action to perform on the instance during an update. Default is REPLACE. Possible values are:

    • REPLACE
    • RESTART
    • REFRESH
    • NONE
    name string
    The name for this per-instance config and its corresponding instance.
    preservedState RegionPerInstanceConfigPreservedState
    The preserved state for this instance. Structure is documented below.
    project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    region string
    Region where the containing instance group manager is located
    removeInstanceOnDestroy boolean
    When true, deleting this config will immediately remove the underlying instance. When false, deleting this config will use the behavior as determined by remove_instance_on_destroy.
    removeInstanceStateOnDestroy boolean
    When true, deleting this config will immediately remove any specified state from the underlying instance. When false, deleting this config will not immediately remove any state from the underlying instance. State will be removed on the next instance recreation or update.
    region_instance_group_manager str
    The region instance group manager this instance config is part of.


    minimal_action str
    The minimal action to perform on the instance during an update. Default is NONE. Possible values are:

    • REPLACE
    • RESTART
    • REFRESH
    • NONE
    most_disruptive_allowed_action str
    The most disruptive action to perform on the instance during an update. Default is REPLACE. Possible values are:

    • REPLACE
    • RESTART
    • REFRESH
    • NONE
    name str
    The name for this per-instance config and its corresponding instance.
    preserved_state RegionPerInstanceConfigPreservedStateArgs
    The preserved state for this instance. Structure is documented below.
    project str
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    region str
    Region where the containing instance group manager is located
    remove_instance_on_destroy bool
    When true, deleting this config will immediately remove the underlying instance. When false, deleting this config will use the behavior as determined by remove_instance_on_destroy.
    remove_instance_state_on_destroy bool
    When true, deleting this config will immediately remove any specified state from the underlying instance. When false, deleting this config will not immediately remove any state from the underlying instance. State will be removed on the next instance recreation or update.
    regionInstanceGroupManager String
    The region instance group manager this instance config is part of.


    minimalAction String
    The minimal action to perform on the instance during an update. Default is NONE. Possible values are:

    • REPLACE
    • RESTART
    • REFRESH
    • NONE
    mostDisruptiveAllowedAction String
    The most disruptive action to perform on the instance during an update. Default is REPLACE. Possible values are:

    • REPLACE
    • RESTART
    • REFRESH
    • NONE
    name String
    The name for this per-instance config and its corresponding instance.
    preservedState Property Map
    The preserved state for this instance. Structure is documented below.
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    region String
    Region where the containing instance group manager is located
    removeInstanceOnDestroy Boolean
    When true, deleting this config will immediately remove the underlying instance. When false, deleting this config will use the behavior as determined by remove_instance_on_destroy.
    removeInstanceStateOnDestroy Boolean
    When true, deleting this config will immediately remove any specified state from the underlying instance. When false, deleting this config will not immediately remove any state from the underlying instance. State will be removed on the next instance recreation or update.

    Outputs

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

    Id string
    The provider-assigned unique ID for this managed resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.
    id string
    The provider-assigned unique ID for this managed resource.
    id str
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing RegionPerInstanceConfig Resource

    Get an existing RegionPerInstanceConfig 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?: RegionPerInstanceConfigState, opts?: CustomResourceOptions): RegionPerInstanceConfig
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            minimal_action: Optional[str] = None,
            most_disruptive_allowed_action: Optional[str] = None,
            name: Optional[str] = None,
            preserved_state: Optional[RegionPerInstanceConfigPreservedStateArgs] = None,
            project: Optional[str] = None,
            region: Optional[str] = None,
            region_instance_group_manager: Optional[str] = None,
            remove_instance_on_destroy: Optional[bool] = None,
            remove_instance_state_on_destroy: Optional[bool] = None) -> RegionPerInstanceConfig
    func GetRegionPerInstanceConfig(ctx *Context, name string, id IDInput, state *RegionPerInstanceConfigState, opts ...ResourceOption) (*RegionPerInstanceConfig, error)
    public static RegionPerInstanceConfig Get(string name, Input<string> id, RegionPerInstanceConfigState? state, CustomResourceOptions? opts = null)
    public static RegionPerInstanceConfig get(String name, Output<String> id, RegionPerInstanceConfigState 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:
    MinimalAction string
    The minimal action to perform on the instance during an update. Default is NONE. Possible values are:

    • REPLACE
    • RESTART
    • REFRESH
    • NONE
    MostDisruptiveAllowedAction string
    The most disruptive action to perform on the instance during an update. Default is REPLACE. Possible values are:

    • REPLACE
    • RESTART
    • REFRESH
    • NONE
    Name string
    The name for this per-instance config and its corresponding instance.
    PreservedState RegionPerInstanceConfigPreservedState
    The preserved state for this instance. Structure is documented below.
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    Region string
    Region where the containing instance group manager is located
    RegionInstanceGroupManager string
    The region instance group manager this instance config is part of.


    RemoveInstanceOnDestroy bool
    When true, deleting this config will immediately remove the underlying instance. When false, deleting this config will use the behavior as determined by remove_instance_on_destroy.
    RemoveInstanceStateOnDestroy bool
    When true, deleting this config will immediately remove any specified state from the underlying instance. When false, deleting this config will not immediately remove any state from the underlying instance. State will be removed on the next instance recreation or update.
    MinimalAction string
    The minimal action to perform on the instance during an update. Default is NONE. Possible values are:

    • REPLACE
    • RESTART
    • REFRESH
    • NONE
    MostDisruptiveAllowedAction string
    The most disruptive action to perform on the instance during an update. Default is REPLACE. Possible values are:

    • REPLACE
    • RESTART
    • REFRESH
    • NONE
    Name string
    The name for this per-instance config and its corresponding instance.
    PreservedState RegionPerInstanceConfigPreservedStateArgs
    The preserved state for this instance. Structure is documented below.
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    Region string
    Region where the containing instance group manager is located
    RegionInstanceGroupManager string
    The region instance group manager this instance config is part of.


    RemoveInstanceOnDestroy bool
    When true, deleting this config will immediately remove the underlying instance. When false, deleting this config will use the behavior as determined by remove_instance_on_destroy.
    RemoveInstanceStateOnDestroy bool
    When true, deleting this config will immediately remove any specified state from the underlying instance. When false, deleting this config will not immediately remove any state from the underlying instance. State will be removed on the next instance recreation or update.
    minimalAction String
    The minimal action to perform on the instance during an update. Default is NONE. Possible values are:

    • REPLACE
    • RESTART
    • REFRESH
    • NONE
    mostDisruptiveAllowedAction String
    The most disruptive action to perform on the instance during an update. Default is REPLACE. Possible values are:

    • REPLACE
    • RESTART
    • REFRESH
    • NONE
    name String
    The name for this per-instance config and its corresponding instance.
    preservedState RegionPerInstanceConfigPreservedState
    The preserved state for this instance. Structure is documented below.
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    region String
    Region where the containing instance group manager is located
    regionInstanceGroupManager String
    The region instance group manager this instance config is part of.


    removeInstanceOnDestroy Boolean
    When true, deleting this config will immediately remove the underlying instance. When false, deleting this config will use the behavior as determined by remove_instance_on_destroy.
    removeInstanceStateOnDestroy Boolean
    When true, deleting this config will immediately remove any specified state from the underlying instance. When false, deleting this config will not immediately remove any state from the underlying instance. State will be removed on the next instance recreation or update.
    minimalAction string
    The minimal action to perform on the instance during an update. Default is NONE. Possible values are:

    • REPLACE
    • RESTART
    • REFRESH
    • NONE
    mostDisruptiveAllowedAction string
    The most disruptive action to perform on the instance during an update. Default is REPLACE. Possible values are:

    • REPLACE
    • RESTART
    • REFRESH
    • NONE
    name string
    The name for this per-instance config and its corresponding instance.
    preservedState RegionPerInstanceConfigPreservedState
    The preserved state for this instance. Structure is documented below.
    project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    region string
    Region where the containing instance group manager is located
    regionInstanceGroupManager string
    The region instance group manager this instance config is part of.


    removeInstanceOnDestroy boolean
    When true, deleting this config will immediately remove the underlying instance. When false, deleting this config will use the behavior as determined by remove_instance_on_destroy.
    removeInstanceStateOnDestroy boolean
    When true, deleting this config will immediately remove any specified state from the underlying instance. When false, deleting this config will not immediately remove any state from the underlying instance. State will be removed on the next instance recreation or update.
    minimal_action str
    The minimal action to perform on the instance during an update. Default is NONE. Possible values are:

    • REPLACE
    • RESTART
    • REFRESH
    • NONE
    most_disruptive_allowed_action str
    The most disruptive action to perform on the instance during an update. Default is REPLACE. Possible values are:

    • REPLACE
    • RESTART
    • REFRESH
    • NONE
    name str
    The name for this per-instance config and its corresponding instance.
    preserved_state RegionPerInstanceConfigPreservedStateArgs
    The preserved state for this instance. Structure is documented below.
    project str
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    region str
    Region where the containing instance group manager is located
    region_instance_group_manager str
    The region instance group manager this instance config is part of.


    remove_instance_on_destroy bool
    When true, deleting this config will immediately remove the underlying instance. When false, deleting this config will use the behavior as determined by remove_instance_on_destroy.
    remove_instance_state_on_destroy bool
    When true, deleting this config will immediately remove any specified state from the underlying instance. When false, deleting this config will not immediately remove any state from the underlying instance. State will be removed on the next instance recreation or update.
    minimalAction String
    The minimal action to perform on the instance during an update. Default is NONE. Possible values are:

    • REPLACE
    • RESTART
    • REFRESH
    • NONE
    mostDisruptiveAllowedAction String
    The most disruptive action to perform on the instance during an update. Default is REPLACE. Possible values are:

    • REPLACE
    • RESTART
    • REFRESH
    • NONE
    name String
    The name for this per-instance config and its corresponding instance.
    preservedState Property Map
    The preserved state for this instance. Structure is documented below.
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    region String
    Region where the containing instance group manager is located
    regionInstanceGroupManager String
    The region instance group manager this instance config is part of.


    removeInstanceOnDestroy Boolean
    When true, deleting this config will immediately remove the underlying instance. When false, deleting this config will use the behavior as determined by remove_instance_on_destroy.
    removeInstanceStateOnDestroy Boolean
    When true, deleting this config will immediately remove any specified state from the underlying instance. When false, deleting this config will not immediately remove any state from the underlying instance. State will be removed on the next instance recreation or update.

    Supporting Types

    RegionPerInstanceConfigPreservedState, RegionPerInstanceConfigPreservedStateArgs

    Disks List<RegionPerInstanceConfigPreservedStateDisk>
    Stateful disks for the instance. Structure is documented below.
    ExternalIps List<RegionPerInstanceConfigPreservedStateExternalIp>
    Preserved external IPs defined for this instance. This map is keyed with the name of the network interface. Structure is documented below.
    InternalIps List<RegionPerInstanceConfigPreservedStateInternalIp>
    Preserved internal IPs defined for this instance. This map is keyed with the name of the network interface. Structure is documented below.
    Metadata Dictionary<string, string>
    Preserved metadata defined for this instance. This is a list of key->value pairs.
    Disks []RegionPerInstanceConfigPreservedStateDisk
    Stateful disks for the instance. Structure is documented below.
    ExternalIps []RegionPerInstanceConfigPreservedStateExternalIp
    Preserved external IPs defined for this instance. This map is keyed with the name of the network interface. Structure is documented below.
    InternalIps []RegionPerInstanceConfigPreservedStateInternalIp
    Preserved internal IPs defined for this instance. This map is keyed with the name of the network interface. Structure is documented below.
    Metadata map[string]string
    Preserved metadata defined for this instance. This is a list of key->value pairs.
    disks List<RegionPerInstanceConfigPreservedStateDisk>
    Stateful disks for the instance. Structure is documented below.
    externalIps List<RegionPerInstanceConfigPreservedStateExternalIp>
    Preserved external IPs defined for this instance. This map is keyed with the name of the network interface. Structure is documented below.
    internalIps List<RegionPerInstanceConfigPreservedStateInternalIp>
    Preserved internal IPs defined for this instance. This map is keyed with the name of the network interface. Structure is documented below.
    metadata Map<String,String>
    Preserved metadata defined for this instance. This is a list of key->value pairs.
    disks RegionPerInstanceConfigPreservedStateDisk[]
    Stateful disks for the instance. Structure is documented below.
    externalIps RegionPerInstanceConfigPreservedStateExternalIp[]
    Preserved external IPs defined for this instance. This map is keyed with the name of the network interface. Structure is documented below.
    internalIps RegionPerInstanceConfigPreservedStateInternalIp[]
    Preserved internal IPs defined for this instance. This map is keyed with the name of the network interface. Structure is documented below.
    metadata {[key: string]: string}
    Preserved metadata defined for this instance. This is a list of key->value pairs.
    disks Sequence[RegionPerInstanceConfigPreservedStateDisk]
    Stateful disks for the instance. Structure is documented below.
    external_ips Sequence[RegionPerInstanceConfigPreservedStateExternalIp]
    Preserved external IPs defined for this instance. This map is keyed with the name of the network interface. Structure is documented below.
    internal_ips Sequence[RegionPerInstanceConfigPreservedStateInternalIp]
    Preserved internal IPs defined for this instance. This map is keyed with the name of the network interface. Structure is documented below.
    metadata Mapping[str, str]
    Preserved metadata defined for this instance. This is a list of key->value pairs.
    disks List<Property Map>
    Stateful disks for the instance. Structure is documented below.
    externalIps List<Property Map>
    Preserved external IPs defined for this instance. This map is keyed with the name of the network interface. Structure is documented below.
    internalIps List<Property Map>
    Preserved internal IPs defined for this instance. This map is keyed with the name of the network interface. Structure is documented below.
    metadata Map<String>
    Preserved metadata defined for this instance. This is a list of key->value pairs.

    RegionPerInstanceConfigPreservedStateDisk, RegionPerInstanceConfigPreservedStateDiskArgs

    DeviceName string
    A unique device name that is reflected into the /dev/ tree of a Linux operating system running within the instance.
    Source string
    The URI of an existing persistent disk to attach under the specified device-name in the format projects/project-id/zones/zone/disks/disk-name.
    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. Default value is NEVER. Possible values are: NEVER, ON_PERMANENT_INSTANCE_DELETION.
    Mode string
    The mode of the disk. Default value is READ_WRITE. Possible values are: READ_ONLY, READ_WRITE.
    DeviceName string
    A unique device name that is reflected into the /dev/ tree of a Linux operating system running within the instance.
    Source string
    The URI of an existing persistent disk to attach under the specified device-name in the format projects/project-id/zones/zone/disks/disk-name.
    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. Default value is NEVER. Possible values are: NEVER, ON_PERMANENT_INSTANCE_DELETION.
    Mode string
    The mode of the disk. Default value is READ_WRITE. Possible values are: READ_ONLY, READ_WRITE.
    deviceName String
    A unique device name that is reflected into the /dev/ tree of a Linux operating system running within the instance.
    source String
    The URI of an existing persistent disk to attach under the specified device-name in the format projects/project-id/zones/zone/disks/disk-name.
    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. Default value is NEVER. Possible values are: NEVER, ON_PERMANENT_INSTANCE_DELETION.
    mode String
    The mode of the disk. Default value is READ_WRITE. Possible values are: READ_ONLY, READ_WRITE.
    deviceName string
    A unique device name that is reflected into the /dev/ tree of a Linux operating system running within the instance.
    source string
    The URI of an existing persistent disk to attach under the specified device-name in the format projects/project-id/zones/zone/disks/disk-name.
    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. Default value is NEVER. Possible values are: NEVER, ON_PERMANENT_INSTANCE_DELETION.
    mode string
    The mode of the disk. Default value is READ_WRITE. Possible values are: READ_ONLY, READ_WRITE.
    device_name str
    A unique device name that is reflected into the /dev/ tree of a Linux operating system running within the instance.
    source str
    The URI of an existing persistent disk to attach under the specified device-name in the format projects/project-id/zones/zone/disks/disk-name.
    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. Default value is NEVER. Possible values are: NEVER, ON_PERMANENT_INSTANCE_DELETION.
    mode str
    The mode of the disk. Default value is READ_WRITE. Possible values are: READ_ONLY, READ_WRITE.
    deviceName String
    A unique device name that is reflected into the /dev/ tree of a Linux operating system running within the instance.
    source String
    The URI of an existing persistent disk to attach under the specified device-name in the format projects/project-id/zones/zone/disks/disk-name.
    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. Default value is NEVER. Possible values are: NEVER, ON_PERMANENT_INSTANCE_DELETION.
    mode String
    The mode of the disk. Default value is READ_WRITE. Possible values are: READ_ONLY, READ_WRITE.

    RegionPerInstanceConfigPreservedStateExternalIp, RegionPerInstanceConfigPreservedStateExternalIpArgs

    InterfaceName string
    The identifier for this object. Format specified above.
    AutoDelete string
    These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Default value is NEVER. Possible values are: NEVER, ON_PERMANENT_INSTANCE_DELETION.
    IpAddress RegionPerInstanceConfigPreservedStateExternalIpIpAddress
    Ip address representation Structure is documented below.
    InterfaceName string
    The identifier for this object. Format specified above.
    AutoDelete string
    These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Default value is NEVER. Possible values are: NEVER, ON_PERMANENT_INSTANCE_DELETION.
    IpAddress RegionPerInstanceConfigPreservedStateExternalIpIpAddress
    Ip address representation Structure is documented below.
    interfaceName String
    The identifier for this object. Format specified above.
    autoDelete String
    These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Default value is NEVER. Possible values are: NEVER, ON_PERMANENT_INSTANCE_DELETION.
    ipAddress RegionPerInstanceConfigPreservedStateExternalIpIpAddress
    Ip address representation Structure is documented below.
    interfaceName string
    The identifier for this object. Format specified above.
    autoDelete string
    These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Default value is NEVER. Possible values are: NEVER, ON_PERMANENT_INSTANCE_DELETION.
    ipAddress RegionPerInstanceConfigPreservedStateExternalIpIpAddress
    Ip address representation Structure is documented below.
    interface_name str
    The identifier for this object. Format specified above.
    auto_delete str
    These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Default value is NEVER. Possible values are: NEVER, ON_PERMANENT_INSTANCE_DELETION.
    ip_address RegionPerInstanceConfigPreservedStateExternalIpIpAddress
    Ip address representation Structure is documented below.
    interfaceName String
    The identifier for this object. Format specified above.
    autoDelete String
    These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Default value is NEVER. Possible values are: NEVER, ON_PERMANENT_INSTANCE_DELETION.
    ipAddress Property Map
    Ip address representation Structure is documented below.

    RegionPerInstanceConfigPreservedStateExternalIpIpAddress, RegionPerInstanceConfigPreservedStateExternalIpIpAddressArgs

    Address string
    The URL of the reservation for this IP address.
    Address string
    The URL of the reservation for this IP address.
    address String
    The URL of the reservation for this IP address.
    address string
    The URL of the reservation for this IP address.
    address str
    The URL of the reservation for this IP address.
    address String
    The URL of the reservation for this IP address.

    RegionPerInstanceConfigPreservedStateInternalIp, RegionPerInstanceConfigPreservedStateInternalIpArgs

    InterfaceName string
    The identifier for this object. Format specified above.
    AutoDelete string
    These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Default value is NEVER. Possible values are: NEVER, ON_PERMANENT_INSTANCE_DELETION.
    IpAddress RegionPerInstanceConfigPreservedStateInternalIpIpAddress
    Ip address representation Structure is documented below.
    InterfaceName string
    The identifier for this object. Format specified above.
    AutoDelete string
    These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Default value is NEVER. Possible values are: NEVER, ON_PERMANENT_INSTANCE_DELETION.
    IpAddress RegionPerInstanceConfigPreservedStateInternalIpIpAddress
    Ip address representation Structure is documented below.
    interfaceName String
    The identifier for this object. Format specified above.
    autoDelete String
    These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Default value is NEVER. Possible values are: NEVER, ON_PERMANENT_INSTANCE_DELETION.
    ipAddress RegionPerInstanceConfigPreservedStateInternalIpIpAddress
    Ip address representation Structure is documented below.
    interfaceName string
    The identifier for this object. Format specified above.
    autoDelete string
    These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Default value is NEVER. Possible values are: NEVER, ON_PERMANENT_INSTANCE_DELETION.
    ipAddress RegionPerInstanceConfigPreservedStateInternalIpIpAddress
    Ip address representation Structure is documented below.
    interface_name str
    The identifier for this object. Format specified above.
    auto_delete str
    These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Default value is NEVER. Possible values are: NEVER, ON_PERMANENT_INSTANCE_DELETION.
    ip_address RegionPerInstanceConfigPreservedStateInternalIpIpAddress
    Ip address representation Structure is documented below.
    interfaceName String
    The identifier for this object. Format specified above.
    autoDelete String
    These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Default value is NEVER. Possible values are: NEVER, ON_PERMANENT_INSTANCE_DELETION.
    ipAddress Property Map
    Ip address representation Structure is documented below.

    RegionPerInstanceConfigPreservedStateInternalIpIpAddress, RegionPerInstanceConfigPreservedStateInternalIpIpAddressArgs

    Address string
    The URL of the reservation for this IP address.
    Address string
    The URL of the reservation for this IP address.
    address String
    The URL of the reservation for this IP address.
    address string
    The URL of the reservation for this IP address.
    address str
    The URL of the reservation for this IP address.
    address String
    The URL of the reservation for this IP address.

    Import

    RegionPerInstanceConfig can be imported using any of these accepted formats:

    • projects/{{project}}/regions/{{region}}/instanceGroupManagers/{{region_instance_group_manager}}/{{name}}

    • {{project}}/{{region}}/{{region_instance_group_manager}}/{{name}}

    • {{region}}/{{region_instance_group_manager}}/{{name}}

    • {{region_instance_group_manager}}/{{name}}

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

    $ pulumi import gcp:compute/regionPerInstanceConfig:RegionPerInstanceConfig default projects/{{project}}/regions/{{region}}/instanceGroupManagers/{{region_instance_group_manager}}/{{name}}
    
    $ pulumi import gcp:compute/regionPerInstanceConfig:RegionPerInstanceConfig default {{project}}/{{region}}/{{region_instance_group_manager}}/{{name}}
    
    $ pulumi import gcp:compute/regionPerInstanceConfig:RegionPerInstanceConfig default {{region}}/{{region_instance_group_manager}}/{{name}}
    
    $ pulumi import gcp:compute/regionPerInstanceConfig:RegionPerInstanceConfig default {{region_instance_group_manager}}/{{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 v8.9.3 published on Monday, Nov 18, 2024 by Pulumi