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

gcp.compute.InstanceFromTemplate

Explore with Pulumi AI

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

    Manages a VM instance resource within GCE. For more information see the official documentation and API.

    This resource is specifically to create a compute instance from a given source_instance_template. To create an instance without a template, use the gcp.compute.Instance resource.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const tpl = new gcp.compute.InstanceTemplate("tpl", {
        name: "template",
        machineType: "e2-medium",
        disks: [{
            sourceImage: "debian-cloud/debian-11",
            autoDelete: true,
            diskSizeGb: 100,
            boot: true,
        }],
        networkInterfaces: [{
            network: "default",
        }],
        metadata: {
            foo: "bar",
        },
        canIpForward: true,
    });
    const tplInstanceFromTemplate = new gcp.compute.InstanceFromTemplate("tpl", {
        name: "instance-from-template",
        zone: "us-central1-a",
        sourceInstanceTemplate: tpl.selfLinkUnique,
        canIpForward: false,
        labels: {
            my_key: "my_value",
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    tpl = gcp.compute.InstanceTemplate("tpl",
        name="template",
        machine_type="e2-medium",
        disks=[{
            "source_image": "debian-cloud/debian-11",
            "auto_delete": True,
            "disk_size_gb": 100,
            "boot": True,
        }],
        network_interfaces=[{
            "network": "default",
        }],
        metadata={
            "foo": "bar",
        },
        can_ip_forward=True)
    tpl_instance_from_template = gcp.compute.InstanceFromTemplate("tpl",
        name="instance-from-template",
        zone="us-central1-a",
        source_instance_template=tpl.self_link_unique,
        can_ip_forward=False,
        labels={
            "my_key": "my_value",
        })
    
    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 {
    		tpl, err := compute.NewInstanceTemplate(ctx, "tpl", &compute.InstanceTemplateArgs{
    			Name:        pulumi.String("template"),
    			MachineType: pulumi.String("e2-medium"),
    			Disks: compute.InstanceTemplateDiskArray{
    				&compute.InstanceTemplateDiskArgs{
    					SourceImage: pulumi.String("debian-cloud/debian-11"),
    					AutoDelete:  pulumi.Bool(true),
    					DiskSizeGb:  pulumi.Int(100),
    					Boot:        pulumi.Bool(true),
    				},
    			},
    			NetworkInterfaces: compute.InstanceTemplateNetworkInterfaceArray{
    				&compute.InstanceTemplateNetworkInterfaceArgs{
    					Network: pulumi.String("default"),
    				},
    			},
    			Metadata: pulumi.StringMap{
    				"foo": pulumi.String("bar"),
    			},
    			CanIpForward: pulumi.Bool(true),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = compute.NewInstanceFromTemplate(ctx, "tpl", &compute.InstanceFromTemplateArgs{
    			Name:                   pulumi.String("instance-from-template"),
    			Zone:                   pulumi.String("us-central1-a"),
    			SourceInstanceTemplate: tpl.SelfLinkUnique,
    			CanIpForward:           pulumi.Bool(false),
    			Labels: pulumi.StringMap{
    				"my_key": pulumi.String("my_value"),
    			},
    		})
    		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 tpl = new Gcp.Compute.InstanceTemplate("tpl", new()
        {
            Name = "template",
            MachineType = "e2-medium",
            Disks = new[]
            {
                new Gcp.Compute.Inputs.InstanceTemplateDiskArgs
                {
                    SourceImage = "debian-cloud/debian-11",
                    AutoDelete = true,
                    DiskSizeGb = 100,
                    Boot = true,
                },
            },
            NetworkInterfaces = new[]
            {
                new Gcp.Compute.Inputs.InstanceTemplateNetworkInterfaceArgs
                {
                    Network = "default",
                },
            },
            Metadata = 
            {
                { "foo", "bar" },
            },
            CanIpForward = true,
        });
    
        var tplInstanceFromTemplate = new Gcp.Compute.InstanceFromTemplate("tpl", new()
        {
            Name = "instance-from-template",
            Zone = "us-central1-a",
            SourceInstanceTemplate = tpl.SelfLinkUnique,
            CanIpForward = false,
            Labels = 
            {
                { "my_key", "my_value" },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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.InstanceFromTemplate;
    import com.pulumi.gcp.compute.InstanceFromTemplateArgs;
    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 tpl = new InstanceTemplate("tpl", InstanceTemplateArgs.builder()
                .name("template")
                .machineType("e2-medium")
                .disks(InstanceTemplateDiskArgs.builder()
                    .sourceImage("debian-cloud/debian-11")
                    .autoDelete(true)
                    .diskSizeGb(100)
                    .boot(true)
                    .build())
                .networkInterfaces(InstanceTemplateNetworkInterfaceArgs.builder()
                    .network("default")
                    .build())
                .metadata(Map.of("foo", "bar"))
                .canIpForward(true)
                .build());
    
            var tplInstanceFromTemplate = new InstanceFromTemplate("tplInstanceFromTemplate", InstanceFromTemplateArgs.builder()
                .name("instance-from-template")
                .zone("us-central1-a")
                .sourceInstanceTemplate(tpl.selfLinkUnique())
                .canIpForward(false)
                .labels(Map.of("my_key", "my_value"))
                .build());
    
        }
    }
    
    resources:
      tpl:
        type: gcp:compute:InstanceTemplate
        properties:
          name: template
          machineType: e2-medium
          disks:
            - sourceImage: debian-cloud/debian-11
              autoDelete: true
              diskSizeGb: 100
              boot: true
          networkInterfaces:
            - network: default
          metadata:
            foo: bar
          canIpForward: true
      tplInstanceFromTemplate:
        type: gcp:compute:InstanceFromTemplate
        name: tpl
        properties:
          name: instance-from-template
          zone: us-central1-a
          sourceInstanceTemplate: ${tpl.selfLinkUnique}
          canIpForward: false
          labels:
            my_key: my_value
    

    Create InstanceFromTemplate Resource

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

    Constructor syntax

    new InstanceFromTemplate(name: string, args: InstanceFromTemplateArgs, opts?: CustomResourceOptions);
    @overload
    def InstanceFromTemplate(resource_name: str,
                             args: InstanceFromTemplateArgs,
                             opts: Optional[ResourceOptions] = None)
    
    @overload
    def InstanceFromTemplate(resource_name: str,
                             opts: Optional[ResourceOptions] = None,
                             source_instance_template: Optional[str] = None,
                             metadata_startup_script: Optional[str] = None,
                             allow_stopping_for_update: Optional[bool] = None,
                             boot_disk: Optional[InstanceFromTemplateBootDiskArgs] = None,
                             can_ip_forward: Optional[bool] = None,
                             confidential_instance_config: Optional[InstanceFromTemplateConfidentialInstanceConfigArgs] = None,
                             deletion_protection: Optional[bool] = None,
                             min_cpu_platform: Optional[str] = None,
                             desired_status: Optional[str] = None,
                             enable_display: Optional[bool] = None,
                             guest_accelerators: Optional[Sequence[InstanceFromTemplateGuestAcceleratorArgs]] = None,
                             hostname: Optional[str] = None,
                             key_revocation_action_type: Optional[str] = None,
                             labels: Optional[Mapping[str, str]] = None,
                             machine_type: Optional[str] = None,
                             zone: Optional[str] = None,
                             attached_disks: Optional[Sequence[InstanceFromTemplateAttachedDiskArgs]] = None,
                             description: Optional[str] = None,
                             name: Optional[str] = None,
                             network_interfaces: Optional[Sequence[InstanceFromTemplateNetworkInterfaceArgs]] = None,
                             network_performance_config: Optional[InstanceFromTemplateNetworkPerformanceConfigArgs] = None,
                             params: Optional[InstanceFromTemplateParamsArgs] = None,
                             partner_metadata: Optional[Mapping[str, str]] = None,
                             project: Optional[str] = None,
                             reservation_affinity: Optional[InstanceFromTemplateReservationAffinityArgs] = None,
                             resource_policies: Optional[str] = None,
                             scheduling: Optional[InstanceFromTemplateSchedulingArgs] = None,
                             scratch_disks: Optional[Sequence[InstanceFromTemplateScratchDiskArgs]] = None,
                             service_account: Optional[InstanceFromTemplateServiceAccountArgs] = None,
                             shielded_instance_config: Optional[InstanceFromTemplateShieldedInstanceConfigArgs] = None,
                             advanced_machine_features: Optional[InstanceFromTemplateAdvancedMachineFeaturesArgs] = None,
                             tags: Optional[Sequence[str]] = None,
                             metadata: Optional[Mapping[str, str]] = None)
    func NewInstanceFromTemplate(ctx *Context, name string, args InstanceFromTemplateArgs, opts ...ResourceOption) (*InstanceFromTemplate, error)
    public InstanceFromTemplate(string name, InstanceFromTemplateArgs args, CustomResourceOptions? opts = null)
    public InstanceFromTemplate(String name, InstanceFromTemplateArgs args)
    public InstanceFromTemplate(String name, InstanceFromTemplateArgs args, CustomResourceOptions options)
    
    type: gcp:compute:InstanceFromTemplate
    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 InstanceFromTemplateArgs
    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 InstanceFromTemplateArgs
    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 InstanceFromTemplateArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args InstanceFromTemplateArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args InstanceFromTemplateArgs
    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 instanceFromTemplateResource = new Gcp.Compute.InstanceFromTemplate("instanceFromTemplateResource", new()
    {
        SourceInstanceTemplate = "string",
        MetadataStartupScript = "string",
        AllowStoppingForUpdate = false,
        BootDisk = new Gcp.Compute.Inputs.InstanceFromTemplateBootDiskArgs
        {
            AutoDelete = false,
            DeviceName = "string",
            DiskEncryptionKeyRaw = "string",
            DiskEncryptionKeySha256 = "string",
            InitializeParams = new Gcp.Compute.Inputs.InstanceFromTemplateBootDiskInitializeParamsArgs
            {
                EnableConfidentialCompute = false,
                Image = "string",
                Labels = 
                {
                    { "string", "string" },
                },
                ProvisionedIops = 0,
                ProvisionedThroughput = 0,
                ResourceManagerTags = 
                {
                    { "string", "string" },
                },
                ResourcePolicies = "string",
                Size = 0,
                StoragePool = "string",
                Type = "string",
            },
            Interface = "string",
            KmsKeySelfLink = "string",
            Mode = "string",
            Source = "string",
        },
        CanIpForward = false,
        ConfidentialInstanceConfig = new Gcp.Compute.Inputs.InstanceFromTemplateConfidentialInstanceConfigArgs
        {
            ConfidentialInstanceType = "string",
            EnableConfidentialCompute = false,
        },
        DeletionProtection = false,
        MinCpuPlatform = "string",
        DesiredStatus = "string",
        EnableDisplay = false,
        GuestAccelerators = new[]
        {
            new Gcp.Compute.Inputs.InstanceFromTemplateGuestAcceleratorArgs
            {
                Count = 0,
                Type = "string",
            },
        },
        Hostname = "string",
        KeyRevocationActionType = "string",
        Labels = 
        {
            { "string", "string" },
        },
        MachineType = "string",
        Zone = "string",
        AttachedDisks = new[]
        {
            new Gcp.Compute.Inputs.InstanceFromTemplateAttachedDiskArgs
            {
                Source = "string",
                DeviceName = "string",
                DiskEncryptionKeyRaw = "string",
                DiskEncryptionKeySha256 = "string",
                KmsKeySelfLink = "string",
                Mode = "string",
            },
        },
        Description = "string",
        Name = "string",
        NetworkInterfaces = new[]
        {
            new Gcp.Compute.Inputs.InstanceFromTemplateNetworkInterfaceArgs
            {
                AccessConfigs = new[]
                {
                    new Gcp.Compute.Inputs.InstanceFromTemplateNetworkInterfaceAccessConfigArgs
                    {
                        NatIp = "string",
                        NetworkTier = "string",
                        PublicPtrDomainName = "string",
                        SecurityPolicy = "string",
                    },
                },
                AliasIpRanges = new[]
                {
                    new Gcp.Compute.Inputs.InstanceFromTemplateNetworkInterfaceAliasIpRangeArgs
                    {
                        IpCidrRange = "string",
                        SubnetworkRangeName = "string",
                    },
                },
                InternalIpv6PrefixLength = 0,
                Ipv6AccessConfigs = new[]
                {
                    new Gcp.Compute.Inputs.InstanceFromTemplateNetworkInterfaceIpv6AccessConfigArgs
                    {
                        NetworkTier = "string",
                        ExternalIpv6 = "string",
                        ExternalIpv6PrefixLength = "string",
                        Name = "string",
                        PublicPtrDomainName = "string",
                        SecurityPolicy = "string",
                    },
                },
                Ipv6AccessType = "string",
                Ipv6Address = "string",
                Name = "string",
                Network = "string",
                NetworkAttachment = "string",
                NetworkIp = "string",
                NicType = "string",
                QueueCount = 0,
                SecurityPolicy = "string",
                StackType = "string",
                Subnetwork = "string",
                SubnetworkProject = "string",
            },
        },
        NetworkPerformanceConfig = new Gcp.Compute.Inputs.InstanceFromTemplateNetworkPerformanceConfigArgs
        {
            TotalEgressBandwidthTier = "string",
        },
        Params = new Gcp.Compute.Inputs.InstanceFromTemplateParamsArgs
        {
            ResourceManagerTags = 
            {
                { "string", "string" },
            },
        },
        PartnerMetadata = 
        {
            { "string", "string" },
        },
        Project = "string",
        ReservationAffinity = new Gcp.Compute.Inputs.InstanceFromTemplateReservationAffinityArgs
        {
            Type = "string",
            SpecificReservation = new Gcp.Compute.Inputs.InstanceFromTemplateReservationAffinitySpecificReservationArgs
            {
                Key = "string",
                Values = new[]
                {
                    "string",
                },
            },
        },
        ResourcePolicies = "string",
        Scheduling = new Gcp.Compute.Inputs.InstanceFromTemplateSchedulingArgs
        {
            AutomaticRestart = false,
            HostErrorTimeoutSeconds = 0,
            InstanceTerminationAction = "string",
            LocalSsdRecoveryTimeout = new Gcp.Compute.Inputs.InstanceFromTemplateSchedulingLocalSsdRecoveryTimeoutArgs
            {
                Seconds = 0,
                Nanos = 0,
            },
            MaintenanceInterval = "string",
            MaxRunDuration = new Gcp.Compute.Inputs.InstanceFromTemplateSchedulingMaxRunDurationArgs
            {
                Seconds = 0,
                Nanos = 0,
            },
            MinNodeCpus = 0,
            NodeAffinities = new[]
            {
                new Gcp.Compute.Inputs.InstanceFromTemplateSchedulingNodeAffinityArgs
                {
                    Key = "string",
                    Operator = "string",
                    Values = new[]
                    {
                        "string",
                    },
                },
            },
            OnHostMaintenance = "string",
            OnInstanceStopAction = new Gcp.Compute.Inputs.InstanceFromTemplateSchedulingOnInstanceStopActionArgs
            {
                DiscardLocalSsd = false,
            },
            Preemptible = false,
            ProvisioningModel = "string",
        },
        ScratchDisks = new[]
        {
            new Gcp.Compute.Inputs.InstanceFromTemplateScratchDiskArgs
            {
                Interface = "string",
                DeviceName = "string",
                Size = 0,
            },
        },
        ServiceAccount = new Gcp.Compute.Inputs.InstanceFromTemplateServiceAccountArgs
        {
            Scopes = new[]
            {
                "string",
            },
            Email = "string",
        },
        ShieldedInstanceConfig = new Gcp.Compute.Inputs.InstanceFromTemplateShieldedInstanceConfigArgs
        {
            EnableIntegrityMonitoring = false,
            EnableSecureBoot = false,
            EnableVtpm = false,
        },
        AdvancedMachineFeatures = new Gcp.Compute.Inputs.InstanceFromTemplateAdvancedMachineFeaturesArgs
        {
            EnableNestedVirtualization = false,
            ThreadsPerCore = 0,
            TurboMode = "string",
            VisibleCoreCount = 0,
        },
        Tags = new[]
        {
            "string",
        },
        Metadata = 
        {
            { "string", "string" },
        },
    });
    
    example, err := compute.NewInstanceFromTemplate(ctx, "instanceFromTemplateResource", &compute.InstanceFromTemplateArgs{
    	SourceInstanceTemplate: pulumi.String("string"),
    	MetadataStartupScript:  pulumi.String("string"),
    	AllowStoppingForUpdate: pulumi.Bool(false),
    	BootDisk: &compute.InstanceFromTemplateBootDiskArgs{
    		AutoDelete:              pulumi.Bool(false),
    		DeviceName:              pulumi.String("string"),
    		DiskEncryptionKeyRaw:    pulumi.String("string"),
    		DiskEncryptionKeySha256: pulumi.String("string"),
    		InitializeParams: &compute.InstanceFromTemplateBootDiskInitializeParamsArgs{
    			EnableConfidentialCompute: pulumi.Bool(false),
    			Image:                     pulumi.String("string"),
    			Labels: pulumi.StringMap{
    				"string": pulumi.String("string"),
    			},
    			ProvisionedIops:       pulumi.Int(0),
    			ProvisionedThroughput: pulumi.Int(0),
    			ResourceManagerTags: pulumi.StringMap{
    				"string": pulumi.String("string"),
    			},
    			ResourcePolicies: pulumi.String("string"),
    			Size:             pulumi.Int(0),
    			StoragePool:      pulumi.String("string"),
    			Type:             pulumi.String("string"),
    		},
    		Interface:      pulumi.String("string"),
    		KmsKeySelfLink: pulumi.String("string"),
    		Mode:           pulumi.String("string"),
    		Source:         pulumi.String("string"),
    	},
    	CanIpForward: pulumi.Bool(false),
    	ConfidentialInstanceConfig: &compute.InstanceFromTemplateConfidentialInstanceConfigArgs{
    		ConfidentialInstanceType:  pulumi.String("string"),
    		EnableConfidentialCompute: pulumi.Bool(false),
    	},
    	DeletionProtection: pulumi.Bool(false),
    	MinCpuPlatform:     pulumi.String("string"),
    	DesiredStatus:      pulumi.String("string"),
    	EnableDisplay:      pulumi.Bool(false),
    	GuestAccelerators: compute.InstanceFromTemplateGuestAcceleratorArray{
    		&compute.InstanceFromTemplateGuestAcceleratorArgs{
    			Count: pulumi.Int(0),
    			Type:  pulumi.String("string"),
    		},
    	},
    	Hostname:                pulumi.String("string"),
    	KeyRevocationActionType: pulumi.String("string"),
    	Labels: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	MachineType: pulumi.String("string"),
    	Zone:        pulumi.String("string"),
    	AttachedDisks: compute.InstanceFromTemplateAttachedDiskArray{
    		&compute.InstanceFromTemplateAttachedDiskArgs{
    			Source:                  pulumi.String("string"),
    			DeviceName:              pulumi.String("string"),
    			DiskEncryptionKeyRaw:    pulumi.String("string"),
    			DiskEncryptionKeySha256: pulumi.String("string"),
    			KmsKeySelfLink:          pulumi.String("string"),
    			Mode:                    pulumi.String("string"),
    		},
    	},
    	Description: pulumi.String("string"),
    	Name:        pulumi.String("string"),
    	NetworkInterfaces: compute.InstanceFromTemplateNetworkInterfaceArray{
    		&compute.InstanceFromTemplateNetworkInterfaceArgs{
    			AccessConfigs: compute.InstanceFromTemplateNetworkInterfaceAccessConfigArray{
    				&compute.InstanceFromTemplateNetworkInterfaceAccessConfigArgs{
    					NatIp:               pulumi.String("string"),
    					NetworkTier:         pulumi.String("string"),
    					PublicPtrDomainName: pulumi.String("string"),
    					SecurityPolicy:      pulumi.String("string"),
    				},
    			},
    			AliasIpRanges: compute.InstanceFromTemplateNetworkInterfaceAliasIpRangeArray{
    				&compute.InstanceFromTemplateNetworkInterfaceAliasIpRangeArgs{
    					IpCidrRange:         pulumi.String("string"),
    					SubnetworkRangeName: pulumi.String("string"),
    				},
    			},
    			InternalIpv6PrefixLength: pulumi.Int(0),
    			Ipv6AccessConfigs: compute.InstanceFromTemplateNetworkInterfaceIpv6AccessConfigArray{
    				&compute.InstanceFromTemplateNetworkInterfaceIpv6AccessConfigArgs{
    					NetworkTier:              pulumi.String("string"),
    					ExternalIpv6:             pulumi.String("string"),
    					ExternalIpv6PrefixLength: pulumi.String("string"),
    					Name:                     pulumi.String("string"),
    					PublicPtrDomainName:      pulumi.String("string"),
    					SecurityPolicy:           pulumi.String("string"),
    				},
    			},
    			Ipv6AccessType:    pulumi.String("string"),
    			Ipv6Address:       pulumi.String("string"),
    			Name:              pulumi.String("string"),
    			Network:           pulumi.String("string"),
    			NetworkAttachment: pulumi.String("string"),
    			NetworkIp:         pulumi.String("string"),
    			NicType:           pulumi.String("string"),
    			QueueCount:        pulumi.Int(0),
    			SecurityPolicy:    pulumi.String("string"),
    			StackType:         pulumi.String("string"),
    			Subnetwork:        pulumi.String("string"),
    			SubnetworkProject: pulumi.String("string"),
    		},
    	},
    	NetworkPerformanceConfig: &compute.InstanceFromTemplateNetworkPerformanceConfigArgs{
    		TotalEgressBandwidthTier: pulumi.String("string"),
    	},
    	Params: &compute.InstanceFromTemplateParamsArgs{
    		ResourceManagerTags: pulumi.StringMap{
    			"string": pulumi.String("string"),
    		},
    	},
    	PartnerMetadata: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	Project: pulumi.String("string"),
    	ReservationAffinity: &compute.InstanceFromTemplateReservationAffinityArgs{
    		Type: pulumi.String("string"),
    		SpecificReservation: &compute.InstanceFromTemplateReservationAffinitySpecificReservationArgs{
    			Key: pulumi.String("string"),
    			Values: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    	},
    	ResourcePolicies: pulumi.String("string"),
    	Scheduling: &compute.InstanceFromTemplateSchedulingArgs{
    		AutomaticRestart:          pulumi.Bool(false),
    		HostErrorTimeoutSeconds:   pulumi.Int(0),
    		InstanceTerminationAction: pulumi.String("string"),
    		LocalSsdRecoveryTimeout: &compute.InstanceFromTemplateSchedulingLocalSsdRecoveryTimeoutArgs{
    			Seconds: pulumi.Int(0),
    			Nanos:   pulumi.Int(0),
    		},
    		MaintenanceInterval: pulumi.String("string"),
    		MaxRunDuration: &compute.InstanceFromTemplateSchedulingMaxRunDurationArgs{
    			Seconds: pulumi.Int(0),
    			Nanos:   pulumi.Int(0),
    		},
    		MinNodeCpus: pulumi.Int(0),
    		NodeAffinities: compute.InstanceFromTemplateSchedulingNodeAffinityArray{
    			&compute.InstanceFromTemplateSchedulingNodeAffinityArgs{
    				Key:      pulumi.String("string"),
    				Operator: pulumi.String("string"),
    				Values: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    			},
    		},
    		OnHostMaintenance: pulumi.String("string"),
    		OnInstanceStopAction: &compute.InstanceFromTemplateSchedulingOnInstanceStopActionArgs{
    			DiscardLocalSsd: pulumi.Bool(false),
    		},
    		Preemptible:       pulumi.Bool(false),
    		ProvisioningModel: pulumi.String("string"),
    	},
    	ScratchDisks: compute.InstanceFromTemplateScratchDiskArray{
    		&compute.InstanceFromTemplateScratchDiskArgs{
    			Interface:  pulumi.String("string"),
    			DeviceName: pulumi.String("string"),
    			Size:       pulumi.Int(0),
    		},
    	},
    	ServiceAccount: &compute.InstanceFromTemplateServiceAccountArgs{
    		Scopes: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		Email: pulumi.String("string"),
    	},
    	ShieldedInstanceConfig: &compute.InstanceFromTemplateShieldedInstanceConfigArgs{
    		EnableIntegrityMonitoring: pulumi.Bool(false),
    		EnableSecureBoot:          pulumi.Bool(false),
    		EnableVtpm:                pulumi.Bool(false),
    	},
    	AdvancedMachineFeatures: &compute.InstanceFromTemplateAdvancedMachineFeaturesArgs{
    		EnableNestedVirtualization: pulumi.Bool(false),
    		ThreadsPerCore:             pulumi.Int(0),
    		TurboMode:                  pulumi.String("string"),
    		VisibleCoreCount:           pulumi.Int(0),
    	},
    	Tags: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Metadata: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    })
    
    var instanceFromTemplateResource = new InstanceFromTemplate("instanceFromTemplateResource", InstanceFromTemplateArgs.builder()
        .sourceInstanceTemplate("string")
        .metadataStartupScript("string")
        .allowStoppingForUpdate(false)
        .bootDisk(InstanceFromTemplateBootDiskArgs.builder()
            .autoDelete(false)
            .deviceName("string")
            .diskEncryptionKeyRaw("string")
            .diskEncryptionKeySha256("string")
            .initializeParams(InstanceFromTemplateBootDiskInitializeParamsArgs.builder()
                .enableConfidentialCompute(false)
                .image("string")
                .labels(Map.of("string", "string"))
                .provisionedIops(0)
                .provisionedThroughput(0)
                .resourceManagerTags(Map.of("string", "string"))
                .resourcePolicies("string")
                .size(0)
                .storagePool("string")
                .type("string")
                .build())
            .interface_("string")
            .kmsKeySelfLink("string")
            .mode("string")
            .source("string")
            .build())
        .canIpForward(false)
        .confidentialInstanceConfig(InstanceFromTemplateConfidentialInstanceConfigArgs.builder()
            .confidentialInstanceType("string")
            .enableConfidentialCompute(false)
            .build())
        .deletionProtection(false)
        .minCpuPlatform("string")
        .desiredStatus("string")
        .enableDisplay(false)
        .guestAccelerators(InstanceFromTemplateGuestAcceleratorArgs.builder()
            .count(0)
            .type("string")
            .build())
        .hostname("string")
        .keyRevocationActionType("string")
        .labels(Map.of("string", "string"))
        .machineType("string")
        .zone("string")
        .attachedDisks(InstanceFromTemplateAttachedDiskArgs.builder()
            .source("string")
            .deviceName("string")
            .diskEncryptionKeyRaw("string")
            .diskEncryptionKeySha256("string")
            .kmsKeySelfLink("string")
            .mode("string")
            .build())
        .description("string")
        .name("string")
        .networkInterfaces(InstanceFromTemplateNetworkInterfaceArgs.builder()
            .accessConfigs(InstanceFromTemplateNetworkInterfaceAccessConfigArgs.builder()
                .natIp("string")
                .networkTier("string")
                .publicPtrDomainName("string")
                .securityPolicy("string")
                .build())
            .aliasIpRanges(InstanceFromTemplateNetworkInterfaceAliasIpRangeArgs.builder()
                .ipCidrRange("string")
                .subnetworkRangeName("string")
                .build())
            .internalIpv6PrefixLength(0)
            .ipv6AccessConfigs(InstanceFromTemplateNetworkInterfaceIpv6AccessConfigArgs.builder()
                .networkTier("string")
                .externalIpv6("string")
                .externalIpv6PrefixLength("string")
                .name("string")
                .publicPtrDomainName("string")
                .securityPolicy("string")
                .build())
            .ipv6AccessType("string")
            .ipv6Address("string")
            .name("string")
            .network("string")
            .networkAttachment("string")
            .networkIp("string")
            .nicType("string")
            .queueCount(0)
            .securityPolicy("string")
            .stackType("string")
            .subnetwork("string")
            .subnetworkProject("string")
            .build())
        .networkPerformanceConfig(InstanceFromTemplateNetworkPerformanceConfigArgs.builder()
            .totalEgressBandwidthTier("string")
            .build())
        .params(InstanceFromTemplateParamsArgs.builder()
            .resourceManagerTags(Map.of("string", "string"))
            .build())
        .partnerMetadata(Map.of("string", "string"))
        .project("string")
        .reservationAffinity(InstanceFromTemplateReservationAffinityArgs.builder()
            .type("string")
            .specificReservation(InstanceFromTemplateReservationAffinitySpecificReservationArgs.builder()
                .key("string")
                .values("string")
                .build())
            .build())
        .resourcePolicies("string")
        .scheduling(InstanceFromTemplateSchedulingArgs.builder()
            .automaticRestart(false)
            .hostErrorTimeoutSeconds(0)
            .instanceTerminationAction("string")
            .localSsdRecoveryTimeout(InstanceFromTemplateSchedulingLocalSsdRecoveryTimeoutArgs.builder()
                .seconds(0)
                .nanos(0)
                .build())
            .maintenanceInterval("string")
            .maxRunDuration(InstanceFromTemplateSchedulingMaxRunDurationArgs.builder()
                .seconds(0)
                .nanos(0)
                .build())
            .minNodeCpus(0)
            .nodeAffinities(InstanceFromTemplateSchedulingNodeAffinityArgs.builder()
                .key("string")
                .operator("string")
                .values("string")
                .build())
            .onHostMaintenance("string")
            .onInstanceStopAction(InstanceFromTemplateSchedulingOnInstanceStopActionArgs.builder()
                .discardLocalSsd(false)
                .build())
            .preemptible(false)
            .provisioningModel("string")
            .build())
        .scratchDisks(InstanceFromTemplateScratchDiskArgs.builder()
            .interface_("string")
            .deviceName("string")
            .size(0)
            .build())
        .serviceAccount(InstanceFromTemplateServiceAccountArgs.builder()
            .scopes("string")
            .email("string")
            .build())
        .shieldedInstanceConfig(InstanceFromTemplateShieldedInstanceConfigArgs.builder()
            .enableIntegrityMonitoring(false)
            .enableSecureBoot(false)
            .enableVtpm(false)
            .build())
        .advancedMachineFeatures(InstanceFromTemplateAdvancedMachineFeaturesArgs.builder()
            .enableNestedVirtualization(false)
            .threadsPerCore(0)
            .turboMode("string")
            .visibleCoreCount(0)
            .build())
        .tags("string")
        .metadata(Map.of("string", "string"))
        .build());
    
    instance_from_template_resource = gcp.compute.InstanceFromTemplate("instanceFromTemplateResource",
        source_instance_template="string",
        metadata_startup_script="string",
        allow_stopping_for_update=False,
        boot_disk={
            "auto_delete": False,
            "device_name": "string",
            "disk_encryption_key_raw": "string",
            "disk_encryption_key_sha256": "string",
            "initialize_params": {
                "enable_confidential_compute": False,
                "image": "string",
                "labels": {
                    "string": "string",
                },
                "provisioned_iops": 0,
                "provisioned_throughput": 0,
                "resource_manager_tags": {
                    "string": "string",
                },
                "resource_policies": "string",
                "size": 0,
                "storage_pool": "string",
                "type": "string",
            },
            "interface": "string",
            "kms_key_self_link": "string",
            "mode": "string",
            "source": "string",
        },
        can_ip_forward=False,
        confidential_instance_config={
            "confidential_instance_type": "string",
            "enable_confidential_compute": False,
        },
        deletion_protection=False,
        min_cpu_platform="string",
        desired_status="string",
        enable_display=False,
        guest_accelerators=[{
            "count": 0,
            "type": "string",
        }],
        hostname="string",
        key_revocation_action_type="string",
        labels={
            "string": "string",
        },
        machine_type="string",
        zone="string",
        attached_disks=[{
            "source": "string",
            "device_name": "string",
            "disk_encryption_key_raw": "string",
            "disk_encryption_key_sha256": "string",
            "kms_key_self_link": "string",
            "mode": "string",
        }],
        description="string",
        name="string",
        network_interfaces=[{
            "access_configs": [{
                "nat_ip": "string",
                "network_tier": "string",
                "public_ptr_domain_name": "string",
                "security_policy": "string",
            }],
            "alias_ip_ranges": [{
                "ip_cidr_range": "string",
                "subnetwork_range_name": "string",
            }],
            "internal_ipv6_prefix_length": 0,
            "ipv6_access_configs": [{
                "network_tier": "string",
                "external_ipv6": "string",
                "external_ipv6_prefix_length": "string",
                "name": "string",
                "public_ptr_domain_name": "string",
                "security_policy": "string",
            }],
            "ipv6_access_type": "string",
            "ipv6_address": "string",
            "name": "string",
            "network": "string",
            "network_attachment": "string",
            "network_ip": "string",
            "nic_type": "string",
            "queue_count": 0,
            "security_policy": "string",
            "stack_type": "string",
            "subnetwork": "string",
            "subnetwork_project": "string",
        }],
        network_performance_config={
            "total_egress_bandwidth_tier": "string",
        },
        params={
            "resource_manager_tags": {
                "string": "string",
            },
        },
        partner_metadata={
            "string": "string",
        },
        project="string",
        reservation_affinity={
            "type": "string",
            "specific_reservation": {
                "key": "string",
                "values": ["string"],
            },
        },
        resource_policies="string",
        scheduling={
            "automatic_restart": False,
            "host_error_timeout_seconds": 0,
            "instance_termination_action": "string",
            "local_ssd_recovery_timeout": {
                "seconds": 0,
                "nanos": 0,
            },
            "maintenance_interval": "string",
            "max_run_duration": {
                "seconds": 0,
                "nanos": 0,
            },
            "min_node_cpus": 0,
            "node_affinities": [{
                "key": "string",
                "operator": "string",
                "values": ["string"],
            }],
            "on_host_maintenance": "string",
            "on_instance_stop_action": {
                "discard_local_ssd": False,
            },
            "preemptible": False,
            "provisioning_model": "string",
        },
        scratch_disks=[{
            "interface": "string",
            "device_name": "string",
            "size": 0,
        }],
        service_account={
            "scopes": ["string"],
            "email": "string",
        },
        shielded_instance_config={
            "enable_integrity_monitoring": False,
            "enable_secure_boot": False,
            "enable_vtpm": False,
        },
        advanced_machine_features={
            "enable_nested_virtualization": False,
            "threads_per_core": 0,
            "turbo_mode": "string",
            "visible_core_count": 0,
        },
        tags=["string"],
        metadata={
            "string": "string",
        })
    
    const instanceFromTemplateResource = new gcp.compute.InstanceFromTemplate("instanceFromTemplateResource", {
        sourceInstanceTemplate: "string",
        metadataStartupScript: "string",
        allowStoppingForUpdate: false,
        bootDisk: {
            autoDelete: false,
            deviceName: "string",
            diskEncryptionKeyRaw: "string",
            diskEncryptionKeySha256: "string",
            initializeParams: {
                enableConfidentialCompute: false,
                image: "string",
                labels: {
                    string: "string",
                },
                provisionedIops: 0,
                provisionedThroughput: 0,
                resourceManagerTags: {
                    string: "string",
                },
                resourcePolicies: "string",
                size: 0,
                storagePool: "string",
                type: "string",
            },
            "interface": "string",
            kmsKeySelfLink: "string",
            mode: "string",
            source: "string",
        },
        canIpForward: false,
        confidentialInstanceConfig: {
            confidentialInstanceType: "string",
            enableConfidentialCompute: false,
        },
        deletionProtection: false,
        minCpuPlatform: "string",
        desiredStatus: "string",
        enableDisplay: false,
        guestAccelerators: [{
            count: 0,
            type: "string",
        }],
        hostname: "string",
        keyRevocationActionType: "string",
        labels: {
            string: "string",
        },
        machineType: "string",
        zone: "string",
        attachedDisks: [{
            source: "string",
            deviceName: "string",
            diskEncryptionKeyRaw: "string",
            diskEncryptionKeySha256: "string",
            kmsKeySelfLink: "string",
            mode: "string",
        }],
        description: "string",
        name: "string",
        networkInterfaces: [{
            accessConfigs: [{
                natIp: "string",
                networkTier: "string",
                publicPtrDomainName: "string",
                securityPolicy: "string",
            }],
            aliasIpRanges: [{
                ipCidrRange: "string",
                subnetworkRangeName: "string",
            }],
            internalIpv6PrefixLength: 0,
            ipv6AccessConfigs: [{
                networkTier: "string",
                externalIpv6: "string",
                externalIpv6PrefixLength: "string",
                name: "string",
                publicPtrDomainName: "string",
                securityPolicy: "string",
            }],
            ipv6AccessType: "string",
            ipv6Address: "string",
            name: "string",
            network: "string",
            networkAttachment: "string",
            networkIp: "string",
            nicType: "string",
            queueCount: 0,
            securityPolicy: "string",
            stackType: "string",
            subnetwork: "string",
            subnetworkProject: "string",
        }],
        networkPerformanceConfig: {
            totalEgressBandwidthTier: "string",
        },
        params: {
            resourceManagerTags: {
                string: "string",
            },
        },
        partnerMetadata: {
            string: "string",
        },
        project: "string",
        reservationAffinity: {
            type: "string",
            specificReservation: {
                key: "string",
                values: ["string"],
            },
        },
        resourcePolicies: "string",
        scheduling: {
            automaticRestart: false,
            hostErrorTimeoutSeconds: 0,
            instanceTerminationAction: "string",
            localSsdRecoveryTimeout: {
                seconds: 0,
                nanos: 0,
            },
            maintenanceInterval: "string",
            maxRunDuration: {
                seconds: 0,
                nanos: 0,
            },
            minNodeCpus: 0,
            nodeAffinities: [{
                key: "string",
                operator: "string",
                values: ["string"],
            }],
            onHostMaintenance: "string",
            onInstanceStopAction: {
                discardLocalSsd: false,
            },
            preemptible: false,
            provisioningModel: "string",
        },
        scratchDisks: [{
            "interface": "string",
            deviceName: "string",
            size: 0,
        }],
        serviceAccount: {
            scopes: ["string"],
            email: "string",
        },
        shieldedInstanceConfig: {
            enableIntegrityMonitoring: false,
            enableSecureBoot: false,
            enableVtpm: false,
        },
        advancedMachineFeatures: {
            enableNestedVirtualization: false,
            threadsPerCore: 0,
            turboMode: "string",
            visibleCoreCount: 0,
        },
        tags: ["string"],
        metadata: {
            string: "string",
        },
    });
    
    type: gcp:compute:InstanceFromTemplate
    properties:
        advancedMachineFeatures:
            enableNestedVirtualization: false
            threadsPerCore: 0
            turboMode: string
            visibleCoreCount: 0
        allowStoppingForUpdate: false
        attachedDisks:
            - deviceName: string
              diskEncryptionKeyRaw: string
              diskEncryptionKeySha256: string
              kmsKeySelfLink: string
              mode: string
              source: string
        bootDisk:
            autoDelete: false
            deviceName: string
            diskEncryptionKeyRaw: string
            diskEncryptionKeySha256: string
            initializeParams:
                enableConfidentialCompute: false
                image: string
                labels:
                    string: string
                provisionedIops: 0
                provisionedThroughput: 0
                resourceManagerTags:
                    string: string
                resourcePolicies: string
                size: 0
                storagePool: string
                type: string
            interface: string
            kmsKeySelfLink: string
            mode: string
            source: string
        canIpForward: false
        confidentialInstanceConfig:
            confidentialInstanceType: string
            enableConfidentialCompute: false
        deletionProtection: false
        description: string
        desiredStatus: string
        enableDisplay: false
        guestAccelerators:
            - count: 0
              type: string
        hostname: string
        keyRevocationActionType: string
        labels:
            string: string
        machineType: string
        metadata:
            string: string
        metadataStartupScript: string
        minCpuPlatform: string
        name: string
        networkInterfaces:
            - accessConfigs:
                - natIp: string
                  networkTier: string
                  publicPtrDomainName: string
                  securityPolicy: string
              aliasIpRanges:
                - ipCidrRange: string
                  subnetworkRangeName: string
              internalIpv6PrefixLength: 0
              ipv6AccessConfigs:
                - externalIpv6: string
                  externalIpv6PrefixLength: string
                  name: string
                  networkTier: string
                  publicPtrDomainName: string
                  securityPolicy: string
              ipv6AccessType: string
              ipv6Address: string
              name: string
              network: string
              networkAttachment: string
              networkIp: string
              nicType: string
              queueCount: 0
              securityPolicy: string
              stackType: string
              subnetwork: string
              subnetworkProject: string
        networkPerformanceConfig:
            totalEgressBandwidthTier: string
        params:
            resourceManagerTags:
                string: string
        partnerMetadata:
            string: string
        project: string
        reservationAffinity:
            specificReservation:
                key: string
                values:
                    - string
            type: string
        resourcePolicies: string
        scheduling:
            automaticRestart: false
            hostErrorTimeoutSeconds: 0
            instanceTerminationAction: string
            localSsdRecoveryTimeout:
                nanos: 0
                seconds: 0
            maintenanceInterval: string
            maxRunDuration:
                nanos: 0
                seconds: 0
            minNodeCpus: 0
            nodeAffinities:
                - key: string
                  operator: string
                  values:
                    - string
            onHostMaintenance: string
            onInstanceStopAction:
                discardLocalSsd: false
            preemptible: false
            provisioningModel: string
        scratchDisks:
            - deviceName: string
              interface: string
              size: 0
        serviceAccount:
            email: string
            scopes:
                - string
        shieldedInstanceConfig:
            enableIntegrityMonitoring: false
            enableSecureBoot: false
            enableVtpm: false
        sourceInstanceTemplate: string
        tags:
            - string
        zone: string
    

    InstanceFromTemplate 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 InstanceFromTemplate resource accepts the following input properties:

    SourceInstanceTemplate string
    Name or self link of an instance template to create the instance based on. It is recommended to reference instance templates through their unique id (self_link_unique attribute).


    AdvancedMachineFeatures InstanceFromTemplateAdvancedMachineFeatures
    Controls for advanced machine-related behavior features.
    AllowStoppingForUpdate bool
    AttachedDisks List<InstanceFromTemplateAttachedDisk>
    List of disks attached to the instance
    BootDisk InstanceFromTemplateBootDisk
    The boot disk for the instance.
    CanIpForward bool
    Whether sending and receiving of packets with non-matching source or destination IPs is allowed.
    ConfidentialInstanceConfig InstanceFromTemplateConfidentialInstanceConfig
    The Confidential VM config being used by the instance. on_host_maintenance has to be set to TERMINATE or this will fail to create.
    DeletionProtection bool
    Whether deletion protection is enabled on this instance.
    Description string
    A brief description of the resource.
    DesiredStatus string
    Desired status of the instance. Either "RUNNING", "SUSPENDED" or "TERMINATED".
    EnableDisplay bool
    Whether the instance has virtual displays enabled.
    GuestAccelerators List<InstanceFromTemplateGuestAccelerator>
    List of the type and count of accelerator cards attached to the instance.
    Hostname string
    A custom hostname for the instance. Must be a fully qualified DNS name and RFC-1035-valid. Valid format is a series of labels 1-63 characters long matching the regular expression a-z, concatenated with periods. The entire hostname must not exceed 253 characters. Changing this forces a new resource to be created.
    KeyRevocationActionType string
    Action to be taken when a customer's encryption key is revoked. Supports "STOP" and "NONE", with "NONE" being the default.
    Labels Dictionary<string, string>
    A set of key/value label pairs assigned to the instance. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
    MachineType string
    The machine type to create.
    Metadata Dictionary<string, string>
    Metadata key/value pairs made available within the instance.
    MetadataStartupScript string
    Metadata startup scripts made available within the instance.
    MinCpuPlatform string
    The minimum CPU platform specified for the VM instance.
    Name string
    A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
    NetworkInterfaces List<InstanceFromTemplateNetworkInterface>
    The networks attached to the instance.
    NetworkPerformanceConfig InstanceFromTemplateNetworkPerformanceConfig
    Configures network performance settings for the instance. If not specified, the instance will be created with its default network performance configuration.
    Params InstanceFromTemplateParams
    Stores additional params passed with the request, but not persisted as part of resource payload.
    PartnerMetadata Dictionary<string, string>
    Partner Metadata Map made available within the instance.
    Project string
    The ID of the project in which the resource belongs. If self_link is provided, this value is ignored. If neither self_link nor project are provided, the provider project is used.
    ReservationAffinity InstanceFromTemplateReservationAffinity
    Specifies the reservations that this instance can consume from.
    ResourcePolicies string
    A list of self_links of resource policies to attach to the instance. Currently a max of 1 resource policy is supported.
    Scheduling InstanceFromTemplateScheduling
    The scheduling strategy being used by the instance.
    ScratchDisks List<InstanceFromTemplateScratchDisk>
    The scratch disks attached to the instance.
    ServiceAccount InstanceFromTemplateServiceAccount
    The service account to attach to the instance.
    ShieldedInstanceConfig InstanceFromTemplateShieldedInstanceConfig
    The shielded vm config being used by the instance.
    Tags List<string>
    The list of tags attached to the instance.
    Zone string

    The zone that the machine should be created in. If not set, the provider zone is used.

    In addition to these, all arguments from gcp.compute.Instance are supported as a way to override the properties in the template. All exported attributes from gcp.compute.Instance are likewise exported here.

    SourceInstanceTemplate string
    Name or self link of an instance template to create the instance based on. It is recommended to reference instance templates through their unique id (self_link_unique attribute).


    AdvancedMachineFeatures InstanceFromTemplateAdvancedMachineFeaturesArgs
    Controls for advanced machine-related behavior features.
    AllowStoppingForUpdate bool
    AttachedDisks []InstanceFromTemplateAttachedDiskArgs
    List of disks attached to the instance
    BootDisk InstanceFromTemplateBootDiskArgs
    The boot disk for the instance.
    CanIpForward bool
    Whether sending and receiving of packets with non-matching source or destination IPs is allowed.
    ConfidentialInstanceConfig InstanceFromTemplateConfidentialInstanceConfigArgs
    The Confidential VM config being used by the instance. on_host_maintenance has to be set to TERMINATE or this will fail to create.
    DeletionProtection bool
    Whether deletion protection is enabled on this instance.
    Description string
    A brief description of the resource.
    DesiredStatus string
    Desired status of the instance. Either "RUNNING", "SUSPENDED" or "TERMINATED".
    EnableDisplay bool
    Whether the instance has virtual displays enabled.
    GuestAccelerators []InstanceFromTemplateGuestAcceleratorArgs
    List of the type and count of accelerator cards attached to the instance.
    Hostname string
    A custom hostname for the instance. Must be a fully qualified DNS name and RFC-1035-valid. Valid format is a series of labels 1-63 characters long matching the regular expression a-z, concatenated with periods. The entire hostname must not exceed 253 characters. Changing this forces a new resource to be created.
    KeyRevocationActionType string
    Action to be taken when a customer's encryption key is revoked. Supports "STOP" and "NONE", with "NONE" being the default.
    Labels map[string]string
    A set of key/value label pairs assigned to the instance. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
    MachineType string
    The machine type to create.
    Metadata map[string]string
    Metadata key/value pairs made available within the instance.
    MetadataStartupScript string
    Metadata startup scripts made available within the instance.
    MinCpuPlatform string
    The minimum CPU platform specified for the VM instance.
    Name string
    A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
    NetworkInterfaces []InstanceFromTemplateNetworkInterfaceArgs
    The networks attached to the instance.
    NetworkPerformanceConfig InstanceFromTemplateNetworkPerformanceConfigArgs
    Configures network performance settings for the instance. If not specified, the instance will be created with its default network performance configuration.
    Params InstanceFromTemplateParamsArgs
    Stores additional params passed with the request, but not persisted as part of resource payload.
    PartnerMetadata map[string]string
    Partner Metadata Map made available within the instance.
    Project string
    The ID of the project in which the resource belongs. If self_link is provided, this value is ignored. If neither self_link nor project are provided, the provider project is used.
    ReservationAffinity InstanceFromTemplateReservationAffinityArgs
    Specifies the reservations that this instance can consume from.
    ResourcePolicies string
    A list of self_links of resource policies to attach to the instance. Currently a max of 1 resource policy is supported.
    Scheduling InstanceFromTemplateSchedulingArgs
    The scheduling strategy being used by the instance.
    ScratchDisks []InstanceFromTemplateScratchDiskArgs
    The scratch disks attached to the instance.
    ServiceAccount InstanceFromTemplateServiceAccountArgs
    The service account to attach to the instance.
    ShieldedInstanceConfig InstanceFromTemplateShieldedInstanceConfigArgs
    The shielded vm config being used by the instance.
    Tags []string
    The list of tags attached to the instance.
    Zone string

    The zone that the machine should be created in. If not set, the provider zone is used.

    In addition to these, all arguments from gcp.compute.Instance are supported as a way to override the properties in the template. All exported attributes from gcp.compute.Instance are likewise exported here.

    sourceInstanceTemplate String
    Name or self link of an instance template to create the instance based on. It is recommended to reference instance templates through their unique id (self_link_unique attribute).


    advancedMachineFeatures InstanceFromTemplateAdvancedMachineFeatures
    Controls for advanced machine-related behavior features.
    allowStoppingForUpdate Boolean
    attachedDisks List<InstanceFromTemplateAttachedDisk>
    List of disks attached to the instance
    bootDisk InstanceFromTemplateBootDisk
    The boot disk for the instance.
    canIpForward Boolean
    Whether sending and receiving of packets with non-matching source or destination IPs is allowed.
    confidentialInstanceConfig InstanceFromTemplateConfidentialInstanceConfig
    The Confidential VM config being used by the instance. on_host_maintenance has to be set to TERMINATE or this will fail to create.
    deletionProtection Boolean
    Whether deletion protection is enabled on this instance.
    description String
    A brief description of the resource.
    desiredStatus String
    Desired status of the instance. Either "RUNNING", "SUSPENDED" or "TERMINATED".
    enableDisplay Boolean
    Whether the instance has virtual displays enabled.
    guestAccelerators List<InstanceFromTemplateGuestAccelerator>
    List of the type and count of accelerator cards attached to the instance.
    hostname String
    A custom hostname for the instance. Must be a fully qualified DNS name and RFC-1035-valid. Valid format is a series of labels 1-63 characters long matching the regular expression a-z, concatenated with periods. The entire hostname must not exceed 253 characters. Changing this forces a new resource to be created.
    keyRevocationActionType String
    Action to be taken when a customer's encryption key is revoked. Supports "STOP" and "NONE", with "NONE" being the default.
    labels Map<String,String>
    A set of key/value label pairs assigned to the instance. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
    machineType String
    The machine type to create.
    metadata Map<String,String>
    Metadata key/value pairs made available within the instance.
    metadataStartupScript String
    Metadata startup scripts made available within the instance.
    minCpuPlatform String
    The minimum CPU platform specified for the VM instance.
    name String
    A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
    networkInterfaces List<InstanceFromTemplateNetworkInterface>
    The networks attached to the instance.
    networkPerformanceConfig InstanceFromTemplateNetworkPerformanceConfig
    Configures network performance settings for the instance. If not specified, the instance will be created with its default network performance configuration.
    params InstanceFromTemplateParams
    Stores additional params passed with the request, but not persisted as part of resource payload.
    partnerMetadata Map<String,String>
    Partner Metadata Map made available within the instance.
    project String
    The ID of the project in which the resource belongs. If self_link is provided, this value is ignored. If neither self_link nor project are provided, the provider project is used.
    reservationAffinity InstanceFromTemplateReservationAffinity
    Specifies the reservations that this instance can consume from.
    resourcePolicies String
    A list of self_links of resource policies to attach to the instance. Currently a max of 1 resource policy is supported.
    scheduling InstanceFromTemplateScheduling
    The scheduling strategy being used by the instance.
    scratchDisks List<InstanceFromTemplateScratchDisk>
    The scratch disks attached to the instance.
    serviceAccount InstanceFromTemplateServiceAccount
    The service account to attach to the instance.
    shieldedInstanceConfig InstanceFromTemplateShieldedInstanceConfig
    The shielded vm config being used by the instance.
    tags List<String>
    The list of tags attached to the instance.
    zone String

    The zone that the machine should be created in. If not set, the provider zone is used.

    In addition to these, all arguments from gcp.compute.Instance are supported as a way to override the properties in the template. All exported attributes from gcp.compute.Instance are likewise exported here.

    sourceInstanceTemplate string
    Name or self link of an instance template to create the instance based on. It is recommended to reference instance templates through their unique id (self_link_unique attribute).


    advancedMachineFeatures InstanceFromTemplateAdvancedMachineFeatures
    Controls for advanced machine-related behavior features.
    allowStoppingForUpdate boolean
    attachedDisks InstanceFromTemplateAttachedDisk[]
    List of disks attached to the instance
    bootDisk InstanceFromTemplateBootDisk
    The boot disk for the instance.
    canIpForward boolean
    Whether sending and receiving of packets with non-matching source or destination IPs is allowed.
    confidentialInstanceConfig InstanceFromTemplateConfidentialInstanceConfig
    The Confidential VM config being used by the instance. on_host_maintenance has to be set to TERMINATE or this will fail to create.
    deletionProtection boolean
    Whether deletion protection is enabled on this instance.
    description string
    A brief description of the resource.
    desiredStatus string
    Desired status of the instance. Either "RUNNING", "SUSPENDED" or "TERMINATED".
    enableDisplay boolean
    Whether the instance has virtual displays enabled.
    guestAccelerators InstanceFromTemplateGuestAccelerator[]
    List of the type and count of accelerator cards attached to the instance.
    hostname string
    A custom hostname for the instance. Must be a fully qualified DNS name and RFC-1035-valid. Valid format is a series of labels 1-63 characters long matching the regular expression a-z, concatenated with periods. The entire hostname must not exceed 253 characters. Changing this forces a new resource to be created.
    keyRevocationActionType string
    Action to be taken when a customer's encryption key is revoked. Supports "STOP" and "NONE", with "NONE" being the default.
    labels {[key: string]: string}
    A set of key/value label pairs assigned to the instance. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
    machineType string
    The machine type to create.
    metadata {[key: string]: string}
    Metadata key/value pairs made available within the instance.
    metadataStartupScript string
    Metadata startup scripts made available within the instance.
    minCpuPlatform string
    The minimum CPU platform specified for the VM instance.
    name string
    A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
    networkInterfaces InstanceFromTemplateNetworkInterface[]
    The networks attached to the instance.
    networkPerformanceConfig InstanceFromTemplateNetworkPerformanceConfig
    Configures network performance settings for the instance. If not specified, the instance will be created with its default network performance configuration.
    params InstanceFromTemplateParams
    Stores additional params passed with the request, but not persisted as part of resource payload.
    partnerMetadata {[key: string]: string}
    Partner Metadata Map made available within the instance.
    project string
    The ID of the project in which the resource belongs. If self_link is provided, this value is ignored. If neither self_link nor project are provided, the provider project is used.
    reservationAffinity InstanceFromTemplateReservationAffinity
    Specifies the reservations that this instance can consume from.
    resourcePolicies string
    A list of self_links of resource policies to attach to the instance. Currently a max of 1 resource policy is supported.
    scheduling InstanceFromTemplateScheduling
    The scheduling strategy being used by the instance.
    scratchDisks InstanceFromTemplateScratchDisk[]
    The scratch disks attached to the instance.
    serviceAccount InstanceFromTemplateServiceAccount
    The service account to attach to the instance.
    shieldedInstanceConfig InstanceFromTemplateShieldedInstanceConfig
    The shielded vm config being used by the instance.
    tags string[]
    The list of tags attached to the instance.
    zone string

    The zone that the machine should be created in. If not set, the provider zone is used.

    In addition to these, all arguments from gcp.compute.Instance are supported as a way to override the properties in the template. All exported attributes from gcp.compute.Instance are likewise exported here.

    source_instance_template str
    Name or self link of an instance template to create the instance based on. It is recommended to reference instance templates through their unique id (self_link_unique attribute).


    advanced_machine_features InstanceFromTemplateAdvancedMachineFeaturesArgs
    Controls for advanced machine-related behavior features.
    allow_stopping_for_update bool
    attached_disks Sequence[InstanceFromTemplateAttachedDiskArgs]
    List of disks attached to the instance
    boot_disk InstanceFromTemplateBootDiskArgs
    The boot disk for the instance.
    can_ip_forward bool
    Whether sending and receiving of packets with non-matching source or destination IPs is allowed.
    confidential_instance_config InstanceFromTemplateConfidentialInstanceConfigArgs
    The Confidential VM config being used by the instance. on_host_maintenance has to be set to TERMINATE or this will fail to create.
    deletion_protection bool
    Whether deletion protection is enabled on this instance.
    description str
    A brief description of the resource.
    desired_status str
    Desired status of the instance. Either "RUNNING", "SUSPENDED" or "TERMINATED".
    enable_display bool
    Whether the instance has virtual displays enabled.
    guest_accelerators Sequence[InstanceFromTemplateGuestAcceleratorArgs]
    List of the type and count of accelerator cards attached to the instance.
    hostname str
    A custom hostname for the instance. Must be a fully qualified DNS name and RFC-1035-valid. Valid format is a series of labels 1-63 characters long matching the regular expression a-z, concatenated with periods. The entire hostname must not exceed 253 characters. Changing this forces a new resource to be created.
    key_revocation_action_type str
    Action to be taken when a customer's encryption key is revoked. Supports "STOP" and "NONE", with "NONE" being the default.
    labels Mapping[str, str]
    A set of key/value label pairs assigned to the instance. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
    machine_type str
    The machine type to create.
    metadata Mapping[str, str]
    Metadata key/value pairs made available within the instance.
    metadata_startup_script str
    Metadata startup scripts made available within the instance.
    min_cpu_platform str
    The minimum CPU platform specified for the VM instance.
    name str
    A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
    network_interfaces Sequence[InstanceFromTemplateNetworkInterfaceArgs]
    The networks attached to the instance.
    network_performance_config InstanceFromTemplateNetworkPerformanceConfigArgs
    Configures network performance settings for the instance. If not specified, the instance will be created with its default network performance configuration.
    params InstanceFromTemplateParamsArgs
    Stores additional params passed with the request, but not persisted as part of resource payload.
    partner_metadata Mapping[str, str]
    Partner Metadata Map made available within the instance.
    project str
    The ID of the project in which the resource belongs. If self_link is provided, this value is ignored. If neither self_link nor project are provided, the provider project is used.
    reservation_affinity InstanceFromTemplateReservationAffinityArgs
    Specifies the reservations that this instance can consume from.
    resource_policies str
    A list of self_links of resource policies to attach to the instance. Currently a max of 1 resource policy is supported.
    scheduling InstanceFromTemplateSchedulingArgs
    The scheduling strategy being used by the instance.
    scratch_disks Sequence[InstanceFromTemplateScratchDiskArgs]
    The scratch disks attached to the instance.
    service_account InstanceFromTemplateServiceAccountArgs
    The service account to attach to the instance.
    shielded_instance_config InstanceFromTemplateShieldedInstanceConfigArgs
    The shielded vm config being used by the instance.
    tags Sequence[str]
    The list of tags attached to the instance.
    zone str

    The zone that the machine should be created in. If not set, the provider zone is used.

    In addition to these, all arguments from gcp.compute.Instance are supported as a way to override the properties in the template. All exported attributes from gcp.compute.Instance are likewise exported here.

    sourceInstanceTemplate String
    Name or self link of an instance template to create the instance based on. It is recommended to reference instance templates through their unique id (self_link_unique attribute).


    advancedMachineFeatures Property Map
    Controls for advanced machine-related behavior features.
    allowStoppingForUpdate Boolean
    attachedDisks List<Property Map>
    List of disks attached to the instance
    bootDisk Property Map
    The boot disk for the instance.
    canIpForward Boolean
    Whether sending and receiving of packets with non-matching source or destination IPs is allowed.
    confidentialInstanceConfig Property Map
    The Confidential VM config being used by the instance. on_host_maintenance has to be set to TERMINATE or this will fail to create.
    deletionProtection Boolean
    Whether deletion protection is enabled on this instance.
    description String
    A brief description of the resource.
    desiredStatus String
    Desired status of the instance. Either "RUNNING", "SUSPENDED" or "TERMINATED".
    enableDisplay Boolean
    Whether the instance has virtual displays enabled.
    guestAccelerators List<Property Map>
    List of the type and count of accelerator cards attached to the instance.
    hostname String
    A custom hostname for the instance. Must be a fully qualified DNS name and RFC-1035-valid. Valid format is a series of labels 1-63 characters long matching the regular expression a-z, concatenated with periods. The entire hostname must not exceed 253 characters. Changing this forces a new resource to be created.
    keyRevocationActionType String
    Action to be taken when a customer's encryption key is revoked. Supports "STOP" and "NONE", with "NONE" being the default.
    labels Map<String>
    A set of key/value label pairs assigned to the instance. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
    machineType String
    The machine type to create.
    metadata Map<String>
    Metadata key/value pairs made available within the instance.
    metadataStartupScript String
    Metadata startup scripts made available within the instance.
    minCpuPlatform String
    The minimum CPU platform specified for the VM instance.
    name String
    A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
    networkInterfaces List<Property Map>
    The networks attached to the instance.
    networkPerformanceConfig Property Map
    Configures network performance settings for the instance. If not specified, the instance will be created with its default network performance configuration.
    params Property Map
    Stores additional params passed with the request, but not persisted as part of resource payload.
    partnerMetadata Map<String>
    Partner Metadata Map made available within the instance.
    project String
    The ID of the project in which the resource belongs. If self_link is provided, this value is ignored. If neither self_link nor project are provided, the provider project is used.
    reservationAffinity Property Map
    Specifies the reservations that this instance can consume from.
    resourcePolicies String
    A list of self_links of resource policies to attach to the instance. Currently a max of 1 resource policy is supported.
    scheduling Property Map
    The scheduling strategy being used by the instance.
    scratchDisks List<Property Map>
    The scratch disks attached to the instance.
    serviceAccount Property Map
    The service account to attach to the instance.
    shieldedInstanceConfig Property Map
    The shielded vm config being used by the instance.
    tags List<String>
    The list of tags attached to the instance.
    zone String

    The zone that the machine should be created in. If not set, the provider zone is used.

    In addition to these, all arguments from gcp.compute.Instance are supported as a way to override the properties in the template. All exported attributes from gcp.compute.Instance are likewise exported here.

    Outputs

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

    CpuPlatform string
    The CPU platform used by this instance.
    CreationTimestamp string
    Creation timestamp in RFC3339 text format.
    CurrentStatus string
    Current status of the instance. This could be one of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED. For more information about the status of the instance, see Instance life cycle.
    EffectiveLabels Dictionary<string, string>
    Id string
    The provider-assigned unique ID for this managed resource.
    InstanceId string
    The server-assigned unique identifier of this instance.
    LabelFingerprint string
    The unique fingerprint of the labels.
    MetadataFingerprint string
    The unique fingerprint of the metadata.
    PulumiLabels Dictionary<string, string>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    SelfLink string
    The URI of the created resource.
    TagsFingerprint string
    The unique fingerprint of the tags.
    CpuPlatform string
    The CPU platform used by this instance.
    CreationTimestamp string
    Creation timestamp in RFC3339 text format.
    CurrentStatus string
    Current status of the instance. This could be one of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED. For more information about the status of the instance, see Instance life cycle.
    EffectiveLabels map[string]string
    Id string
    The provider-assigned unique ID for this managed resource.
    InstanceId string
    The server-assigned unique identifier of this instance.
    LabelFingerprint string
    The unique fingerprint of the labels.
    MetadataFingerprint string
    The unique fingerprint of the metadata.
    PulumiLabels map[string]string
    The combination of labels configured directly on the resource and default labels configured on the provider.
    SelfLink string
    The URI of the created resource.
    TagsFingerprint string
    The unique fingerprint of the tags.
    cpuPlatform String
    The CPU platform used by this instance.
    creationTimestamp String
    Creation timestamp in RFC3339 text format.
    currentStatus String
    Current status of the instance. This could be one of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED. For more information about the status of the instance, see Instance life cycle.
    effectiveLabels Map<String,String>
    id String
    The provider-assigned unique ID for this managed resource.
    instanceId String
    The server-assigned unique identifier of this instance.
    labelFingerprint String
    The unique fingerprint of the labels.
    metadataFingerprint String
    The unique fingerprint of the metadata.
    pulumiLabels Map<String,String>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    selfLink String
    The URI of the created resource.
    tagsFingerprint String
    The unique fingerprint of the tags.
    cpuPlatform string
    The CPU platform used by this instance.
    creationTimestamp string
    Creation timestamp in RFC3339 text format.
    currentStatus string
    Current status of the instance. This could be one of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED. For more information about the status of the instance, see Instance life cycle.
    effectiveLabels {[key: string]: string}
    id string
    The provider-assigned unique ID for this managed resource.
    instanceId string
    The server-assigned unique identifier of this instance.
    labelFingerprint string
    The unique fingerprint of the labels.
    metadataFingerprint string
    The unique fingerprint of the metadata.
    pulumiLabels {[key: string]: string}
    The combination of labels configured directly on the resource and default labels configured on the provider.
    selfLink string
    The URI of the created resource.
    tagsFingerprint string
    The unique fingerprint of the tags.
    cpu_platform str
    The CPU platform used by this instance.
    creation_timestamp str
    Creation timestamp in RFC3339 text format.
    current_status str
    Current status of the instance. This could be one of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED. For more information about the status of the instance, see Instance life cycle.
    effective_labels Mapping[str, str]
    id str
    The provider-assigned unique ID for this managed resource.
    instance_id str
    The server-assigned unique identifier of this instance.
    label_fingerprint str
    The unique fingerprint of the labels.
    metadata_fingerprint str
    The unique fingerprint of the metadata.
    pulumi_labels Mapping[str, str]
    The combination of labels configured directly on the resource and default labels configured on the provider.
    self_link str
    The URI of the created resource.
    tags_fingerprint str
    The unique fingerprint of the tags.
    cpuPlatform String
    The CPU platform used by this instance.
    creationTimestamp String
    Creation timestamp in RFC3339 text format.
    currentStatus String
    Current status of the instance. This could be one of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED. For more information about the status of the instance, see Instance life cycle.
    effectiveLabels Map<String>
    id String
    The provider-assigned unique ID for this managed resource.
    instanceId String
    The server-assigned unique identifier of this instance.
    labelFingerprint String
    The unique fingerprint of the labels.
    metadataFingerprint String
    The unique fingerprint of the metadata.
    pulumiLabels Map<String>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    selfLink String
    The URI of the created resource.
    tagsFingerprint String
    The unique fingerprint of the tags.

    Look up Existing InstanceFromTemplate Resource

    Get an existing InstanceFromTemplate 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?: InstanceFromTemplateState, opts?: CustomResourceOptions): InstanceFromTemplate
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            advanced_machine_features: Optional[InstanceFromTemplateAdvancedMachineFeaturesArgs] = None,
            allow_stopping_for_update: Optional[bool] = None,
            attached_disks: Optional[Sequence[InstanceFromTemplateAttachedDiskArgs]] = None,
            boot_disk: Optional[InstanceFromTemplateBootDiskArgs] = None,
            can_ip_forward: Optional[bool] = None,
            confidential_instance_config: Optional[InstanceFromTemplateConfidentialInstanceConfigArgs] = None,
            cpu_platform: Optional[str] = None,
            creation_timestamp: Optional[str] = None,
            current_status: Optional[str] = None,
            deletion_protection: Optional[bool] = None,
            description: Optional[str] = None,
            desired_status: Optional[str] = None,
            effective_labels: Optional[Mapping[str, str]] = None,
            enable_display: Optional[bool] = None,
            guest_accelerators: Optional[Sequence[InstanceFromTemplateGuestAcceleratorArgs]] = None,
            hostname: Optional[str] = None,
            instance_id: Optional[str] = None,
            key_revocation_action_type: Optional[str] = None,
            label_fingerprint: Optional[str] = None,
            labels: Optional[Mapping[str, str]] = None,
            machine_type: Optional[str] = None,
            metadata: Optional[Mapping[str, str]] = None,
            metadata_fingerprint: Optional[str] = None,
            metadata_startup_script: Optional[str] = None,
            min_cpu_platform: Optional[str] = None,
            name: Optional[str] = None,
            network_interfaces: Optional[Sequence[InstanceFromTemplateNetworkInterfaceArgs]] = None,
            network_performance_config: Optional[InstanceFromTemplateNetworkPerformanceConfigArgs] = None,
            params: Optional[InstanceFromTemplateParamsArgs] = None,
            partner_metadata: Optional[Mapping[str, str]] = None,
            project: Optional[str] = None,
            pulumi_labels: Optional[Mapping[str, str]] = None,
            reservation_affinity: Optional[InstanceFromTemplateReservationAffinityArgs] = None,
            resource_policies: Optional[str] = None,
            scheduling: Optional[InstanceFromTemplateSchedulingArgs] = None,
            scratch_disks: Optional[Sequence[InstanceFromTemplateScratchDiskArgs]] = None,
            self_link: Optional[str] = None,
            service_account: Optional[InstanceFromTemplateServiceAccountArgs] = None,
            shielded_instance_config: Optional[InstanceFromTemplateShieldedInstanceConfigArgs] = None,
            source_instance_template: Optional[str] = None,
            tags: Optional[Sequence[str]] = None,
            tags_fingerprint: Optional[str] = None,
            zone: Optional[str] = None) -> InstanceFromTemplate
    func GetInstanceFromTemplate(ctx *Context, name string, id IDInput, state *InstanceFromTemplateState, opts ...ResourceOption) (*InstanceFromTemplate, error)
    public static InstanceFromTemplate Get(string name, Input<string> id, InstanceFromTemplateState? state, CustomResourceOptions? opts = null)
    public static InstanceFromTemplate get(String name, Output<String> id, InstanceFromTemplateState 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:
    AdvancedMachineFeatures InstanceFromTemplateAdvancedMachineFeatures
    Controls for advanced machine-related behavior features.
    AllowStoppingForUpdate bool
    AttachedDisks List<InstanceFromTemplateAttachedDisk>
    List of disks attached to the instance
    BootDisk InstanceFromTemplateBootDisk
    The boot disk for the instance.
    CanIpForward bool
    Whether sending and receiving of packets with non-matching source or destination IPs is allowed.
    ConfidentialInstanceConfig InstanceFromTemplateConfidentialInstanceConfig
    The Confidential VM config being used by the instance. on_host_maintenance has to be set to TERMINATE or this will fail to create.
    CpuPlatform string
    The CPU platform used by this instance.
    CreationTimestamp string
    Creation timestamp in RFC3339 text format.
    CurrentStatus string
    Current status of the instance. This could be one of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED. For more information about the status of the instance, see Instance life cycle.
    DeletionProtection bool
    Whether deletion protection is enabled on this instance.
    Description string
    A brief description of the resource.
    DesiredStatus string
    Desired status of the instance. Either "RUNNING", "SUSPENDED" or "TERMINATED".
    EffectiveLabels Dictionary<string, string>
    EnableDisplay bool
    Whether the instance has virtual displays enabled.
    GuestAccelerators List<InstanceFromTemplateGuestAccelerator>
    List of the type and count of accelerator cards attached to the instance.
    Hostname string
    A custom hostname for the instance. Must be a fully qualified DNS name and RFC-1035-valid. Valid format is a series of labels 1-63 characters long matching the regular expression a-z, concatenated with periods. The entire hostname must not exceed 253 characters. Changing this forces a new resource to be created.
    InstanceId string
    The server-assigned unique identifier of this instance.
    KeyRevocationActionType string
    Action to be taken when a customer's encryption key is revoked. Supports "STOP" and "NONE", with "NONE" being the default.
    LabelFingerprint string
    The unique fingerprint of the labels.
    Labels Dictionary<string, string>
    A set of key/value label pairs assigned to the instance. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
    MachineType string
    The machine type to create.
    Metadata Dictionary<string, string>
    Metadata key/value pairs made available within the instance.
    MetadataFingerprint string
    The unique fingerprint of the metadata.
    MetadataStartupScript string
    Metadata startup scripts made available within the instance.
    MinCpuPlatform string
    The minimum CPU platform specified for the VM instance.
    Name string
    A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
    NetworkInterfaces List<InstanceFromTemplateNetworkInterface>
    The networks attached to the instance.
    NetworkPerformanceConfig InstanceFromTemplateNetworkPerformanceConfig
    Configures network performance settings for the instance. If not specified, the instance will be created with its default network performance configuration.
    Params InstanceFromTemplateParams
    Stores additional params passed with the request, but not persisted as part of resource payload.
    PartnerMetadata Dictionary<string, string>
    Partner Metadata Map made available within the instance.
    Project string
    The ID of the project in which the resource belongs. If self_link is provided, this value is ignored. If neither self_link nor project are provided, the provider project is used.
    PulumiLabels Dictionary<string, string>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    ReservationAffinity InstanceFromTemplateReservationAffinity
    Specifies the reservations that this instance can consume from.
    ResourcePolicies string
    A list of self_links of resource policies to attach to the instance. Currently a max of 1 resource policy is supported.
    Scheduling InstanceFromTemplateScheduling
    The scheduling strategy being used by the instance.
    ScratchDisks List<InstanceFromTemplateScratchDisk>
    The scratch disks attached to the instance.
    SelfLink string
    The URI of the created resource.
    ServiceAccount InstanceFromTemplateServiceAccount
    The service account to attach to the instance.
    ShieldedInstanceConfig InstanceFromTemplateShieldedInstanceConfig
    The shielded vm config being used by the instance.
    SourceInstanceTemplate string
    Name or self link of an instance template to create the instance based on. It is recommended to reference instance templates through their unique id (self_link_unique attribute).


    Tags List<string>
    The list of tags attached to the instance.
    TagsFingerprint string
    The unique fingerprint of the tags.
    Zone string

    The zone that the machine should be created in. If not set, the provider zone is used.

    In addition to these, all arguments from gcp.compute.Instance are supported as a way to override the properties in the template. All exported attributes from gcp.compute.Instance are likewise exported here.

    AdvancedMachineFeatures InstanceFromTemplateAdvancedMachineFeaturesArgs
    Controls for advanced machine-related behavior features.
    AllowStoppingForUpdate bool
    AttachedDisks []InstanceFromTemplateAttachedDiskArgs
    List of disks attached to the instance
    BootDisk InstanceFromTemplateBootDiskArgs
    The boot disk for the instance.
    CanIpForward bool
    Whether sending and receiving of packets with non-matching source or destination IPs is allowed.
    ConfidentialInstanceConfig InstanceFromTemplateConfidentialInstanceConfigArgs
    The Confidential VM config being used by the instance. on_host_maintenance has to be set to TERMINATE or this will fail to create.
    CpuPlatform string
    The CPU platform used by this instance.
    CreationTimestamp string
    Creation timestamp in RFC3339 text format.
    CurrentStatus string
    Current status of the instance. This could be one of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED. For more information about the status of the instance, see Instance life cycle.
    DeletionProtection bool
    Whether deletion protection is enabled on this instance.
    Description string
    A brief description of the resource.
    DesiredStatus string
    Desired status of the instance. Either "RUNNING", "SUSPENDED" or "TERMINATED".
    EffectiveLabels map[string]string
    EnableDisplay bool
    Whether the instance has virtual displays enabled.
    GuestAccelerators []InstanceFromTemplateGuestAcceleratorArgs
    List of the type and count of accelerator cards attached to the instance.
    Hostname string
    A custom hostname for the instance. Must be a fully qualified DNS name and RFC-1035-valid. Valid format is a series of labels 1-63 characters long matching the regular expression a-z, concatenated with periods. The entire hostname must not exceed 253 characters. Changing this forces a new resource to be created.
    InstanceId string
    The server-assigned unique identifier of this instance.
    KeyRevocationActionType string
    Action to be taken when a customer's encryption key is revoked. Supports "STOP" and "NONE", with "NONE" being the default.
    LabelFingerprint string
    The unique fingerprint of the labels.
    Labels map[string]string
    A set of key/value label pairs assigned to the instance. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
    MachineType string
    The machine type to create.
    Metadata map[string]string
    Metadata key/value pairs made available within the instance.
    MetadataFingerprint string
    The unique fingerprint of the metadata.
    MetadataStartupScript string
    Metadata startup scripts made available within the instance.
    MinCpuPlatform string
    The minimum CPU platform specified for the VM instance.
    Name string
    A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
    NetworkInterfaces []InstanceFromTemplateNetworkInterfaceArgs
    The networks attached to the instance.
    NetworkPerformanceConfig InstanceFromTemplateNetworkPerformanceConfigArgs
    Configures network performance settings for the instance. If not specified, the instance will be created with its default network performance configuration.
    Params InstanceFromTemplateParamsArgs
    Stores additional params passed with the request, but not persisted as part of resource payload.
    PartnerMetadata map[string]string
    Partner Metadata Map made available within the instance.
    Project string
    The ID of the project in which the resource belongs. If self_link is provided, this value is ignored. If neither self_link nor project are provided, the provider project is used.
    PulumiLabels map[string]string
    The combination of labels configured directly on the resource and default labels configured on the provider.
    ReservationAffinity InstanceFromTemplateReservationAffinityArgs
    Specifies the reservations that this instance can consume from.
    ResourcePolicies string
    A list of self_links of resource policies to attach to the instance. Currently a max of 1 resource policy is supported.
    Scheduling InstanceFromTemplateSchedulingArgs
    The scheduling strategy being used by the instance.
    ScratchDisks []InstanceFromTemplateScratchDiskArgs
    The scratch disks attached to the instance.
    SelfLink string
    The URI of the created resource.
    ServiceAccount InstanceFromTemplateServiceAccountArgs
    The service account to attach to the instance.
    ShieldedInstanceConfig InstanceFromTemplateShieldedInstanceConfigArgs
    The shielded vm config being used by the instance.
    SourceInstanceTemplate string
    Name or self link of an instance template to create the instance based on. It is recommended to reference instance templates through their unique id (self_link_unique attribute).


    Tags []string
    The list of tags attached to the instance.
    TagsFingerprint string
    The unique fingerprint of the tags.
    Zone string

    The zone that the machine should be created in. If not set, the provider zone is used.

    In addition to these, all arguments from gcp.compute.Instance are supported as a way to override the properties in the template. All exported attributes from gcp.compute.Instance are likewise exported here.

    advancedMachineFeatures InstanceFromTemplateAdvancedMachineFeatures
    Controls for advanced machine-related behavior features.
    allowStoppingForUpdate Boolean
    attachedDisks List<InstanceFromTemplateAttachedDisk>
    List of disks attached to the instance
    bootDisk InstanceFromTemplateBootDisk
    The boot disk for the instance.
    canIpForward Boolean
    Whether sending and receiving of packets with non-matching source or destination IPs is allowed.
    confidentialInstanceConfig InstanceFromTemplateConfidentialInstanceConfig
    The Confidential VM config being used by the instance. on_host_maintenance has to be set to TERMINATE or this will fail to create.
    cpuPlatform String
    The CPU platform used by this instance.
    creationTimestamp String
    Creation timestamp in RFC3339 text format.
    currentStatus String
    Current status of the instance. This could be one of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED. For more information about the status of the instance, see Instance life cycle.
    deletionProtection Boolean
    Whether deletion protection is enabled on this instance.
    description String
    A brief description of the resource.
    desiredStatus String
    Desired status of the instance. Either "RUNNING", "SUSPENDED" or "TERMINATED".
    effectiveLabels Map<String,String>
    enableDisplay Boolean
    Whether the instance has virtual displays enabled.
    guestAccelerators List<InstanceFromTemplateGuestAccelerator>
    List of the type and count of accelerator cards attached to the instance.
    hostname String
    A custom hostname for the instance. Must be a fully qualified DNS name and RFC-1035-valid. Valid format is a series of labels 1-63 characters long matching the regular expression a-z, concatenated with periods. The entire hostname must not exceed 253 characters. Changing this forces a new resource to be created.
    instanceId String
    The server-assigned unique identifier of this instance.
    keyRevocationActionType String
    Action to be taken when a customer's encryption key is revoked. Supports "STOP" and "NONE", with "NONE" being the default.
    labelFingerprint String
    The unique fingerprint of the labels.
    labels Map<String,String>
    A set of key/value label pairs assigned to the instance. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
    machineType String
    The machine type to create.
    metadata Map<String,String>
    Metadata key/value pairs made available within the instance.
    metadataFingerprint String
    The unique fingerprint of the metadata.
    metadataStartupScript String
    Metadata startup scripts made available within the instance.
    minCpuPlatform String
    The minimum CPU platform specified for the VM instance.
    name String
    A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
    networkInterfaces List<InstanceFromTemplateNetworkInterface>
    The networks attached to the instance.
    networkPerformanceConfig InstanceFromTemplateNetworkPerformanceConfig
    Configures network performance settings for the instance. If not specified, the instance will be created with its default network performance configuration.
    params InstanceFromTemplateParams
    Stores additional params passed with the request, but not persisted as part of resource payload.
    partnerMetadata Map<String,String>
    Partner Metadata Map made available within the instance.
    project String
    The ID of the project in which the resource belongs. If self_link is provided, this value is ignored. If neither self_link nor project are provided, the provider project is used.
    pulumiLabels Map<String,String>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    reservationAffinity InstanceFromTemplateReservationAffinity
    Specifies the reservations that this instance can consume from.
    resourcePolicies String
    A list of self_links of resource policies to attach to the instance. Currently a max of 1 resource policy is supported.
    scheduling InstanceFromTemplateScheduling
    The scheduling strategy being used by the instance.
    scratchDisks List<InstanceFromTemplateScratchDisk>
    The scratch disks attached to the instance.
    selfLink String
    The URI of the created resource.
    serviceAccount InstanceFromTemplateServiceAccount
    The service account to attach to the instance.
    shieldedInstanceConfig InstanceFromTemplateShieldedInstanceConfig
    The shielded vm config being used by the instance.
    sourceInstanceTemplate String
    Name or self link of an instance template to create the instance based on. It is recommended to reference instance templates through their unique id (self_link_unique attribute).


    tags List<String>
    The list of tags attached to the instance.
    tagsFingerprint String
    The unique fingerprint of the tags.
    zone String

    The zone that the machine should be created in. If not set, the provider zone is used.

    In addition to these, all arguments from gcp.compute.Instance are supported as a way to override the properties in the template. All exported attributes from gcp.compute.Instance are likewise exported here.

    advancedMachineFeatures InstanceFromTemplateAdvancedMachineFeatures
    Controls for advanced machine-related behavior features.
    allowStoppingForUpdate boolean
    attachedDisks InstanceFromTemplateAttachedDisk[]
    List of disks attached to the instance
    bootDisk InstanceFromTemplateBootDisk
    The boot disk for the instance.
    canIpForward boolean
    Whether sending and receiving of packets with non-matching source or destination IPs is allowed.
    confidentialInstanceConfig InstanceFromTemplateConfidentialInstanceConfig
    The Confidential VM config being used by the instance. on_host_maintenance has to be set to TERMINATE or this will fail to create.
    cpuPlatform string
    The CPU platform used by this instance.
    creationTimestamp string
    Creation timestamp in RFC3339 text format.
    currentStatus string
    Current status of the instance. This could be one of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED. For more information about the status of the instance, see Instance life cycle.
    deletionProtection boolean
    Whether deletion protection is enabled on this instance.
    description string
    A brief description of the resource.
    desiredStatus string
    Desired status of the instance. Either "RUNNING", "SUSPENDED" or "TERMINATED".
    effectiveLabels {[key: string]: string}
    enableDisplay boolean
    Whether the instance has virtual displays enabled.
    guestAccelerators InstanceFromTemplateGuestAccelerator[]
    List of the type and count of accelerator cards attached to the instance.
    hostname string
    A custom hostname for the instance. Must be a fully qualified DNS name and RFC-1035-valid. Valid format is a series of labels 1-63 characters long matching the regular expression a-z, concatenated with periods. The entire hostname must not exceed 253 characters. Changing this forces a new resource to be created.
    instanceId string
    The server-assigned unique identifier of this instance.
    keyRevocationActionType string
    Action to be taken when a customer's encryption key is revoked. Supports "STOP" and "NONE", with "NONE" being the default.
    labelFingerprint string
    The unique fingerprint of the labels.
    labels {[key: string]: string}
    A set of key/value label pairs assigned to the instance. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
    machineType string
    The machine type to create.
    metadata {[key: string]: string}
    Metadata key/value pairs made available within the instance.
    metadataFingerprint string
    The unique fingerprint of the metadata.
    metadataStartupScript string
    Metadata startup scripts made available within the instance.
    minCpuPlatform string
    The minimum CPU platform specified for the VM instance.
    name string
    A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
    networkInterfaces InstanceFromTemplateNetworkInterface[]
    The networks attached to the instance.
    networkPerformanceConfig InstanceFromTemplateNetworkPerformanceConfig
    Configures network performance settings for the instance. If not specified, the instance will be created with its default network performance configuration.
    params InstanceFromTemplateParams
    Stores additional params passed with the request, but not persisted as part of resource payload.
    partnerMetadata {[key: string]: string}
    Partner Metadata Map made available within the instance.
    project string
    The ID of the project in which the resource belongs. If self_link is provided, this value is ignored. If neither self_link nor project are provided, the provider project is used.
    pulumiLabels {[key: string]: string}
    The combination of labels configured directly on the resource and default labels configured on the provider.
    reservationAffinity InstanceFromTemplateReservationAffinity
    Specifies the reservations that this instance can consume from.
    resourcePolicies string
    A list of self_links of resource policies to attach to the instance. Currently a max of 1 resource policy is supported.
    scheduling InstanceFromTemplateScheduling
    The scheduling strategy being used by the instance.
    scratchDisks InstanceFromTemplateScratchDisk[]
    The scratch disks attached to the instance.
    selfLink string
    The URI of the created resource.
    serviceAccount InstanceFromTemplateServiceAccount
    The service account to attach to the instance.
    shieldedInstanceConfig InstanceFromTemplateShieldedInstanceConfig
    The shielded vm config being used by the instance.
    sourceInstanceTemplate string
    Name or self link of an instance template to create the instance based on. It is recommended to reference instance templates through their unique id (self_link_unique attribute).


    tags string[]
    The list of tags attached to the instance.
    tagsFingerprint string
    The unique fingerprint of the tags.
    zone string

    The zone that the machine should be created in. If not set, the provider zone is used.

    In addition to these, all arguments from gcp.compute.Instance are supported as a way to override the properties in the template. All exported attributes from gcp.compute.Instance are likewise exported here.

    advanced_machine_features InstanceFromTemplateAdvancedMachineFeaturesArgs
    Controls for advanced machine-related behavior features.
    allow_stopping_for_update bool
    attached_disks Sequence[InstanceFromTemplateAttachedDiskArgs]
    List of disks attached to the instance
    boot_disk InstanceFromTemplateBootDiskArgs
    The boot disk for the instance.
    can_ip_forward bool
    Whether sending and receiving of packets with non-matching source or destination IPs is allowed.
    confidential_instance_config InstanceFromTemplateConfidentialInstanceConfigArgs
    The Confidential VM config being used by the instance. on_host_maintenance has to be set to TERMINATE or this will fail to create.
    cpu_platform str
    The CPU platform used by this instance.
    creation_timestamp str
    Creation timestamp in RFC3339 text format.
    current_status str
    Current status of the instance. This could be one of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED. For more information about the status of the instance, see Instance life cycle.
    deletion_protection bool
    Whether deletion protection is enabled on this instance.
    description str
    A brief description of the resource.
    desired_status str
    Desired status of the instance. Either "RUNNING", "SUSPENDED" or "TERMINATED".
    effective_labels Mapping[str, str]
    enable_display bool
    Whether the instance has virtual displays enabled.
    guest_accelerators Sequence[InstanceFromTemplateGuestAcceleratorArgs]
    List of the type and count of accelerator cards attached to the instance.
    hostname str
    A custom hostname for the instance. Must be a fully qualified DNS name and RFC-1035-valid. Valid format is a series of labels 1-63 characters long matching the regular expression a-z, concatenated with periods. The entire hostname must not exceed 253 characters. Changing this forces a new resource to be created.
    instance_id str
    The server-assigned unique identifier of this instance.
    key_revocation_action_type str
    Action to be taken when a customer's encryption key is revoked. Supports "STOP" and "NONE", with "NONE" being the default.
    label_fingerprint str
    The unique fingerprint of the labels.
    labels Mapping[str, str]
    A set of key/value label pairs assigned to the instance. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
    machine_type str
    The machine type to create.
    metadata Mapping[str, str]
    Metadata key/value pairs made available within the instance.
    metadata_fingerprint str
    The unique fingerprint of the metadata.
    metadata_startup_script str
    Metadata startup scripts made available within the instance.
    min_cpu_platform str
    The minimum CPU platform specified for the VM instance.
    name str
    A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
    network_interfaces Sequence[InstanceFromTemplateNetworkInterfaceArgs]
    The networks attached to the instance.
    network_performance_config InstanceFromTemplateNetworkPerformanceConfigArgs
    Configures network performance settings for the instance. If not specified, the instance will be created with its default network performance configuration.
    params InstanceFromTemplateParamsArgs
    Stores additional params passed with the request, but not persisted as part of resource payload.
    partner_metadata Mapping[str, str]
    Partner Metadata Map made available within the instance.
    project str
    The ID of the project in which the resource belongs. If self_link is provided, this value is ignored. If neither self_link nor project are provided, the provider project is used.
    pulumi_labels Mapping[str, str]
    The combination of labels configured directly on the resource and default labels configured on the provider.
    reservation_affinity InstanceFromTemplateReservationAffinityArgs
    Specifies the reservations that this instance can consume from.
    resource_policies str
    A list of self_links of resource policies to attach to the instance. Currently a max of 1 resource policy is supported.
    scheduling InstanceFromTemplateSchedulingArgs
    The scheduling strategy being used by the instance.
    scratch_disks Sequence[InstanceFromTemplateScratchDiskArgs]
    The scratch disks attached to the instance.
    self_link str
    The URI of the created resource.
    service_account InstanceFromTemplateServiceAccountArgs
    The service account to attach to the instance.
    shielded_instance_config InstanceFromTemplateShieldedInstanceConfigArgs
    The shielded vm config being used by the instance.
    source_instance_template str
    Name or self link of an instance template to create the instance based on. It is recommended to reference instance templates through their unique id (self_link_unique attribute).


    tags Sequence[str]
    The list of tags attached to the instance.
    tags_fingerprint str
    The unique fingerprint of the tags.
    zone str

    The zone that the machine should be created in. If not set, the provider zone is used.

    In addition to these, all arguments from gcp.compute.Instance are supported as a way to override the properties in the template. All exported attributes from gcp.compute.Instance are likewise exported here.

    advancedMachineFeatures Property Map
    Controls for advanced machine-related behavior features.
    allowStoppingForUpdate Boolean
    attachedDisks List<Property Map>
    List of disks attached to the instance
    bootDisk Property Map
    The boot disk for the instance.
    canIpForward Boolean
    Whether sending and receiving of packets with non-matching source or destination IPs is allowed.
    confidentialInstanceConfig Property Map
    The Confidential VM config being used by the instance. on_host_maintenance has to be set to TERMINATE or this will fail to create.
    cpuPlatform String
    The CPU platform used by this instance.
    creationTimestamp String
    Creation timestamp in RFC3339 text format.
    currentStatus String
    Current status of the instance. This could be one of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED. For more information about the status of the instance, see Instance life cycle.
    deletionProtection Boolean
    Whether deletion protection is enabled on this instance.
    description String
    A brief description of the resource.
    desiredStatus String
    Desired status of the instance. Either "RUNNING", "SUSPENDED" or "TERMINATED".
    effectiveLabels Map<String>
    enableDisplay Boolean
    Whether the instance has virtual displays enabled.
    guestAccelerators List<Property Map>
    List of the type and count of accelerator cards attached to the instance.
    hostname String
    A custom hostname for the instance. Must be a fully qualified DNS name and RFC-1035-valid. Valid format is a series of labels 1-63 characters long matching the regular expression a-z, concatenated with periods. The entire hostname must not exceed 253 characters. Changing this forces a new resource to be created.
    instanceId String
    The server-assigned unique identifier of this instance.
    keyRevocationActionType String
    Action to be taken when a customer's encryption key is revoked. Supports "STOP" and "NONE", with "NONE" being the default.
    labelFingerprint String
    The unique fingerprint of the labels.
    labels Map<String>
    A set of key/value label pairs assigned to the instance. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
    machineType String
    The machine type to create.
    metadata Map<String>
    Metadata key/value pairs made available within the instance.
    metadataFingerprint String
    The unique fingerprint of the metadata.
    metadataStartupScript String
    Metadata startup scripts made available within the instance.
    minCpuPlatform String
    The minimum CPU platform specified for the VM instance.
    name String
    A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
    networkInterfaces List<Property Map>
    The networks attached to the instance.
    networkPerformanceConfig Property Map
    Configures network performance settings for the instance. If not specified, the instance will be created with its default network performance configuration.
    params Property Map
    Stores additional params passed with the request, but not persisted as part of resource payload.
    partnerMetadata Map<String>
    Partner Metadata Map made available within the instance.
    project String
    The ID of the project in which the resource belongs. If self_link is provided, this value is ignored. If neither self_link nor project are provided, the provider project is used.
    pulumiLabels Map<String>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    reservationAffinity Property Map
    Specifies the reservations that this instance can consume from.
    resourcePolicies String
    A list of self_links of resource policies to attach to the instance. Currently a max of 1 resource policy is supported.
    scheduling Property Map
    The scheduling strategy being used by the instance.
    scratchDisks List<Property Map>
    The scratch disks attached to the instance.
    selfLink String
    The URI of the created resource.
    serviceAccount Property Map
    The service account to attach to the instance.
    shieldedInstanceConfig Property Map
    The shielded vm config being used by the instance.
    sourceInstanceTemplate String
    Name or self link of an instance template to create the instance based on. It is recommended to reference instance templates through their unique id (self_link_unique attribute).


    tags List<String>
    The list of tags attached to the instance.
    tagsFingerprint String
    The unique fingerprint of the tags.
    zone String

    The zone that the machine should be created in. If not set, the provider zone is used.

    In addition to these, all arguments from gcp.compute.Instance are supported as a way to override the properties in the template. All exported attributes from gcp.compute.Instance are likewise exported here.

    Supporting Types

    InstanceFromTemplateAdvancedMachineFeatures, InstanceFromTemplateAdvancedMachineFeaturesArgs

    EnableNestedVirtualization bool
    Whether to enable nested virtualization or not.
    ThreadsPerCore int
    The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1. If unset, the maximum number of threads supported per core by the underlying processor is assumed.
    TurboMode string
    Turbo frequency mode to use for the instance. Currently supported modes is "ALL_CORE_MAX".
    VisibleCoreCount int
    The number of physical cores to expose to an instance. Multiply by the number of threads per core to compute the total number of virtual CPUs to expose to the instance. If unset, the number of cores is inferred from the instance's nominal CPU count and the underlying platform's SMT width.
    EnableNestedVirtualization bool
    Whether to enable nested virtualization or not.
    ThreadsPerCore int
    The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1. If unset, the maximum number of threads supported per core by the underlying processor is assumed.
    TurboMode string
    Turbo frequency mode to use for the instance. Currently supported modes is "ALL_CORE_MAX".
    VisibleCoreCount int
    The number of physical cores to expose to an instance. Multiply by the number of threads per core to compute the total number of virtual CPUs to expose to the instance. If unset, the number of cores is inferred from the instance's nominal CPU count and the underlying platform's SMT width.
    enableNestedVirtualization Boolean
    Whether to enable nested virtualization or not.
    threadsPerCore Integer
    The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1. If unset, the maximum number of threads supported per core by the underlying processor is assumed.
    turboMode String
    Turbo frequency mode to use for the instance. Currently supported modes is "ALL_CORE_MAX".
    visibleCoreCount Integer
    The number of physical cores to expose to an instance. Multiply by the number of threads per core to compute the total number of virtual CPUs to expose to the instance. If unset, the number of cores is inferred from the instance's nominal CPU count and the underlying platform's SMT width.
    enableNestedVirtualization boolean
    Whether to enable nested virtualization or not.
    threadsPerCore number
    The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1. If unset, the maximum number of threads supported per core by the underlying processor is assumed.
    turboMode string
    Turbo frequency mode to use for the instance. Currently supported modes is "ALL_CORE_MAX".
    visibleCoreCount number
    The number of physical cores to expose to an instance. Multiply by the number of threads per core to compute the total number of virtual CPUs to expose to the instance. If unset, the number of cores is inferred from the instance's nominal CPU count and the underlying platform's SMT width.
    enable_nested_virtualization bool
    Whether to enable nested virtualization or not.
    threads_per_core int
    The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1. If unset, the maximum number of threads supported per core by the underlying processor is assumed.
    turbo_mode str
    Turbo frequency mode to use for the instance. Currently supported modes is "ALL_CORE_MAX".
    visible_core_count int
    The number of physical cores to expose to an instance. Multiply by the number of threads per core to compute the total number of virtual CPUs to expose to the instance. If unset, the number of cores is inferred from the instance's nominal CPU count and the underlying platform's SMT width.
    enableNestedVirtualization Boolean
    Whether to enable nested virtualization or not.
    threadsPerCore Number
    The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1. If unset, the maximum number of threads supported per core by the underlying processor is assumed.
    turboMode String
    Turbo frequency mode to use for the instance. Currently supported modes is "ALL_CORE_MAX".
    visibleCoreCount Number
    The number of physical cores to expose to an instance. Multiply by the number of threads per core to compute the total number of virtual CPUs to expose to the instance. If unset, the number of cores is inferred from the instance's nominal CPU count and the underlying platform's SMT width.

    InstanceFromTemplateAttachedDisk, InstanceFromTemplateAttachedDiskArgs

    Source string
    The name or self_link of the disk attached to this instance.
    DeviceName string
    Name with which the attached disk is accessible under /dev/disk/by-id/
    DiskEncryptionKeyRaw string
    A 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.
    DiskEncryptionKeySha256 string
    The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied encryption key that protects this resource.
    KmsKeySelfLink string
    The self_link of the encryption key that is stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.
    Mode string
    Read/write mode for the disk. One of "READ_ONLY" or "READ_WRITE".
    Source string
    The name or self_link of the disk attached to this instance.
    DeviceName string
    Name with which the attached disk is accessible under /dev/disk/by-id/
    DiskEncryptionKeyRaw string
    A 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.
    DiskEncryptionKeySha256 string
    The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied encryption key that protects this resource.
    KmsKeySelfLink string
    The self_link of the encryption key that is stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.
    Mode string
    Read/write mode for the disk. One of "READ_ONLY" or "READ_WRITE".
    source String
    The name or self_link of the disk attached to this instance.
    deviceName String
    Name with which the attached disk is accessible under /dev/disk/by-id/
    diskEncryptionKeyRaw String
    A 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.
    diskEncryptionKeySha256 String
    The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied encryption key that protects this resource.
    kmsKeySelfLink String
    The self_link of the encryption key that is stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.
    mode String
    Read/write mode for the disk. One of "READ_ONLY" or "READ_WRITE".
    source string
    The name or self_link of the disk attached to this instance.
    deviceName string
    Name with which the attached disk is accessible under /dev/disk/by-id/
    diskEncryptionKeyRaw string
    A 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.
    diskEncryptionKeySha256 string
    The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied encryption key that protects this resource.
    kmsKeySelfLink string
    The self_link of the encryption key that is stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.
    mode string
    Read/write mode for the disk. One of "READ_ONLY" or "READ_WRITE".
    source str
    The name or self_link of the disk attached to this instance.
    device_name str
    Name with which the attached disk is accessible under /dev/disk/by-id/
    disk_encryption_key_raw str
    A 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.
    disk_encryption_key_sha256 str
    The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied encryption key that protects this resource.
    kms_key_self_link str
    The self_link of the encryption key that is stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.
    mode str
    Read/write mode for the disk. One of "READ_ONLY" or "READ_WRITE".
    source String
    The name or self_link of the disk attached to this instance.
    deviceName String
    Name with which the attached disk is accessible under /dev/disk/by-id/
    diskEncryptionKeyRaw String
    A 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.
    diskEncryptionKeySha256 String
    The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied encryption key that protects this resource.
    kmsKeySelfLink String
    The self_link of the encryption key that is stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.
    mode String
    Read/write mode for the disk. One of "READ_ONLY" or "READ_WRITE".

    InstanceFromTemplateBootDisk, InstanceFromTemplateBootDiskArgs

    AutoDelete bool
    Whether the disk will be auto-deleted when the instance is deleted.
    DeviceName string
    Name with which attached disk will be accessible under /dev/disk/by-id/
    DiskEncryptionKeyRaw string
    A 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.
    DiskEncryptionKeySha256 string
    The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied encryption key that protects this resource.
    InitializeParams InstanceFromTemplateBootDiskInitializeParams
    Parameters with which a disk was created alongside the instance.
    Interface string
    The disk interface used for attaching this disk. One of SCSI or NVME. (This field is shared with attached_disk and only used for specific cases, please don't specify this field without advice from Google.)
    KmsKeySelfLink string
    The self_link of the encryption key that is stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.
    Mode string
    Read/write mode for the disk. One of "READ_ONLY" or "READ_WRITE".
    Source string
    The name or self_link of the disk attached to this instance.
    AutoDelete bool
    Whether the disk will be auto-deleted when the instance is deleted.
    DeviceName string
    Name with which attached disk will be accessible under /dev/disk/by-id/
    DiskEncryptionKeyRaw string
    A 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.
    DiskEncryptionKeySha256 string
    The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied encryption key that protects this resource.
    InitializeParams InstanceFromTemplateBootDiskInitializeParams
    Parameters with which a disk was created alongside the instance.
    Interface string
    The disk interface used for attaching this disk. One of SCSI or NVME. (This field is shared with attached_disk and only used for specific cases, please don't specify this field without advice from Google.)
    KmsKeySelfLink string
    The self_link of the encryption key that is stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.
    Mode string
    Read/write mode for the disk. One of "READ_ONLY" or "READ_WRITE".
    Source string
    The name or self_link of the disk attached to this instance.
    autoDelete Boolean
    Whether the disk will be auto-deleted when the instance is deleted.
    deviceName String
    Name with which attached disk will be accessible under /dev/disk/by-id/
    diskEncryptionKeyRaw String
    A 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.
    diskEncryptionKeySha256 String
    The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied encryption key that protects this resource.
    initializeParams InstanceFromTemplateBootDiskInitializeParams
    Parameters with which a disk was created alongside the instance.
    interface_ String
    The disk interface used for attaching this disk. One of SCSI or NVME. (This field is shared with attached_disk and only used for specific cases, please don't specify this field without advice from Google.)
    kmsKeySelfLink String
    The self_link of the encryption key that is stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.
    mode String
    Read/write mode for the disk. One of "READ_ONLY" or "READ_WRITE".
    source String
    The name or self_link of the disk attached to this instance.
    autoDelete boolean
    Whether the disk will be auto-deleted when the instance is deleted.
    deviceName string
    Name with which attached disk will be accessible under /dev/disk/by-id/
    diskEncryptionKeyRaw string
    A 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.
    diskEncryptionKeySha256 string
    The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied encryption key that protects this resource.
    initializeParams InstanceFromTemplateBootDiskInitializeParams
    Parameters with which a disk was created alongside the instance.
    interface string
    The disk interface used for attaching this disk. One of SCSI or NVME. (This field is shared with attached_disk and only used for specific cases, please don't specify this field without advice from Google.)
    kmsKeySelfLink string
    The self_link of the encryption key that is stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.
    mode string
    Read/write mode for the disk. One of "READ_ONLY" or "READ_WRITE".
    source string
    The name or self_link of the disk attached to this instance.
    auto_delete bool
    Whether the disk will be auto-deleted when the instance is deleted.
    device_name str
    Name with which attached disk will be accessible under /dev/disk/by-id/
    disk_encryption_key_raw str
    A 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.
    disk_encryption_key_sha256 str
    The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied encryption key that protects this resource.
    initialize_params InstanceFromTemplateBootDiskInitializeParams
    Parameters with which a disk was created alongside the instance.
    interface str
    The disk interface used for attaching this disk. One of SCSI or NVME. (This field is shared with attached_disk and only used for specific cases, please don't specify this field without advice from Google.)
    kms_key_self_link str
    The self_link of the encryption key that is stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.
    mode str
    Read/write mode for the disk. One of "READ_ONLY" or "READ_WRITE".
    source str
    The name or self_link of the disk attached to this instance.
    autoDelete Boolean
    Whether the disk will be auto-deleted when the instance is deleted.
    deviceName String
    Name with which attached disk will be accessible under /dev/disk/by-id/
    diskEncryptionKeyRaw String
    A 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.
    diskEncryptionKeySha256 String
    The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied encryption key that protects this resource.
    initializeParams Property Map
    Parameters with which a disk was created alongside the instance.
    interface String
    The disk interface used for attaching this disk. One of SCSI or NVME. (This field is shared with attached_disk and only used for specific cases, please don't specify this field without advice from Google.)
    kmsKeySelfLink String
    The self_link of the encryption key that is stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.
    mode String
    Read/write mode for the disk. One of "READ_ONLY" or "READ_WRITE".
    source String
    The name or self_link of the disk attached to this instance.

    InstanceFromTemplateBootDiskInitializeParams, InstanceFromTemplateBootDiskInitializeParamsArgs

    EnableConfidentialCompute bool
    A flag to enable confidential compute mode on boot disk
    Image string
    The image from which this disk was initialised.
    Labels Dictionary<string, string>
    A set of key/value label pairs assigned to the disk.
    ProvisionedIops int
    Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle.
    ProvisionedThroughput int
    Indicates how much throughput to provision for the disk. This sets the number of throughput mb per second that the disk can handle.
    ResourceManagerTags Dictionary<string, string>
    A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored (both PUT & PATCH) when empty.
    ResourcePolicies string
    A list of self_links of resource policies to attach to the instance's boot disk. Modifying this list will cause the instance to recreate. Currently a max of 1 resource policy is supported.
    Size int
    The size of the image in gigabytes.
    StoragePool string
    The URL of the storage pool in which the new disk is created
    Type string
    The Google Compute Engine disk type. Such as pd-standard, pd-ssd or pd-balanced.
    EnableConfidentialCompute bool
    A flag to enable confidential compute mode on boot disk
    Image string
    The image from which this disk was initialised.
    Labels map[string]string
    A set of key/value label pairs assigned to the disk.
    ProvisionedIops int
    Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle.
    ProvisionedThroughput int
    Indicates how much throughput to provision for the disk. This sets the number of throughput mb per second that the disk can handle.
    ResourceManagerTags map[string]string
    A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored (both PUT & PATCH) when empty.
    ResourcePolicies string
    A list of self_links of resource policies to attach to the instance's boot disk. Modifying this list will cause the instance to recreate. Currently a max of 1 resource policy is supported.
    Size int
    The size of the image in gigabytes.
    StoragePool string
    The URL of the storage pool in which the new disk is created
    Type string
    The Google Compute Engine disk type. Such as pd-standard, pd-ssd or pd-balanced.
    enableConfidentialCompute Boolean
    A flag to enable confidential compute mode on boot disk
    image String
    The image from which this disk was initialised.
    labels Map<String,String>
    A set of key/value label pairs assigned to the disk.
    provisionedIops Integer
    Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle.
    provisionedThroughput Integer
    Indicates how much throughput to provision for the disk. This sets the number of throughput mb per second that the disk can handle.
    resourceManagerTags Map<String,String>
    A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored (both PUT & PATCH) when empty.
    resourcePolicies String
    A list of self_links of resource policies to attach to the instance's boot disk. Modifying this list will cause the instance to recreate. Currently a max of 1 resource policy is supported.
    size Integer
    The size of the image in gigabytes.
    storagePool String
    The URL of the storage pool in which the new disk is created
    type String
    The Google Compute Engine disk type. Such as pd-standard, pd-ssd or pd-balanced.
    enableConfidentialCompute boolean
    A flag to enable confidential compute mode on boot disk
    image string
    The image from which this disk was initialised.
    labels {[key: string]: string}
    A set of key/value label pairs assigned to the disk.
    provisionedIops number
    Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle.
    provisionedThroughput number
    Indicates how much throughput to provision for the disk. This sets the number of throughput mb per second that the disk can handle.
    resourceManagerTags {[key: string]: string}
    A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored (both PUT & PATCH) when empty.
    resourcePolicies string
    A list of self_links of resource policies to attach to the instance's boot disk. Modifying this list will cause the instance to recreate. Currently a max of 1 resource policy is supported.
    size number
    The size of the image in gigabytes.
    storagePool string
    The URL of the storage pool in which the new disk is created
    type string
    The Google Compute Engine disk type. Such as pd-standard, pd-ssd or pd-balanced.
    enable_confidential_compute bool
    A flag to enable confidential compute mode on boot disk
    image str
    The image from which this disk was initialised.
    labels Mapping[str, str]
    A set of key/value label pairs assigned to the disk.
    provisioned_iops int
    Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle.
    provisioned_throughput int
    Indicates how much throughput to provision for the disk. This sets the number of throughput mb per second that the disk can handle.
    resource_manager_tags Mapping[str, str]
    A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored (both PUT & PATCH) when empty.
    resource_policies str
    A list of self_links of resource policies to attach to the instance's boot disk. Modifying this list will cause the instance to recreate. Currently a max of 1 resource policy is supported.
    size int
    The size of the image in gigabytes.
    storage_pool str
    The URL of the storage pool in which the new disk is created
    type str
    The Google Compute Engine disk type. Such as pd-standard, pd-ssd or pd-balanced.
    enableConfidentialCompute Boolean
    A flag to enable confidential compute mode on boot disk
    image String
    The image from which this disk was initialised.
    labels Map<String>
    A set of key/value label pairs assigned to the disk.
    provisionedIops Number
    Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle.
    provisionedThroughput Number
    Indicates how much throughput to provision for the disk. This sets the number of throughput mb per second that the disk can handle.
    resourceManagerTags Map<String>
    A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored (both PUT & PATCH) when empty.
    resourcePolicies String
    A list of self_links of resource policies to attach to the instance's boot disk. Modifying this list will cause the instance to recreate. Currently a max of 1 resource policy is supported.
    size Number
    The size of the image in gigabytes.
    storagePool String
    The URL of the storage pool in which the new disk is created
    type String
    The Google Compute Engine disk type. Such as pd-standard, pd-ssd or pd-balanced.

    InstanceFromTemplateConfidentialInstanceConfig, InstanceFromTemplateConfidentialInstanceConfigArgs

    ConfidentialInstanceType string
    The confidential computing technology the instance uses. SEV is an AMD feature. TDX is an Intel feature. One of the following values is required: SEV, SEV_SNP, TDX. If SEV_SNP, min_cpu_platform = "AMD Milan" is currently required.
    EnableConfidentialCompute bool
    Defines whether the instance should have confidential compute enabled. Field will be deprecated in a future release
    ConfidentialInstanceType string
    The confidential computing technology the instance uses. SEV is an AMD feature. TDX is an Intel feature. One of the following values is required: SEV, SEV_SNP, TDX. If SEV_SNP, min_cpu_platform = "AMD Milan" is currently required.
    EnableConfidentialCompute bool
    Defines whether the instance should have confidential compute enabled. Field will be deprecated in a future release
    confidentialInstanceType String
    The confidential computing technology the instance uses. SEV is an AMD feature. TDX is an Intel feature. One of the following values is required: SEV, SEV_SNP, TDX. If SEV_SNP, min_cpu_platform = "AMD Milan" is currently required.
    enableConfidentialCompute Boolean
    Defines whether the instance should have confidential compute enabled. Field will be deprecated in a future release
    confidentialInstanceType string
    The confidential computing technology the instance uses. SEV is an AMD feature. TDX is an Intel feature. One of the following values is required: SEV, SEV_SNP, TDX. If SEV_SNP, min_cpu_platform = "AMD Milan" is currently required.
    enableConfidentialCompute boolean
    Defines whether the instance should have confidential compute enabled. Field will be deprecated in a future release
    confidential_instance_type str
    The confidential computing technology the instance uses. SEV is an AMD feature. TDX is an Intel feature. One of the following values is required: SEV, SEV_SNP, TDX. If SEV_SNP, min_cpu_platform = "AMD Milan" is currently required.
    enable_confidential_compute bool
    Defines whether the instance should have confidential compute enabled. Field will be deprecated in a future release
    confidentialInstanceType String
    The confidential computing technology the instance uses. SEV is an AMD feature. TDX is an Intel feature. One of the following values is required: SEV, SEV_SNP, TDX. If SEV_SNP, min_cpu_platform = "AMD Milan" is currently required.
    enableConfidentialCompute Boolean
    Defines whether the instance should have confidential compute enabled. Field will be deprecated in a future release

    InstanceFromTemplateGuestAccelerator, InstanceFromTemplateGuestAcceleratorArgs

    Count int
    The number of the guest accelerator cards exposed to this instance.
    Type string
    The accelerator type resource exposed to this instance. E.g. nvidia-tesla-k80.
    Count int
    The number of the guest accelerator cards exposed to this instance.
    Type string
    The accelerator type resource exposed to this instance. E.g. nvidia-tesla-k80.
    count Integer
    The number of the guest accelerator cards exposed to this instance.
    type String
    The accelerator type resource exposed to this instance. E.g. nvidia-tesla-k80.
    count number
    The number of the guest accelerator cards exposed to this instance.
    type string
    The accelerator type resource exposed to this instance. E.g. nvidia-tesla-k80.
    count int
    The number of the guest accelerator cards exposed to this instance.
    type str
    The accelerator type resource exposed to this instance. E.g. nvidia-tesla-k80.
    count Number
    The number of the guest accelerator cards exposed to this instance.
    type String
    The accelerator type resource exposed to this instance. E.g. nvidia-tesla-k80.

    InstanceFromTemplateNetworkInterface, InstanceFromTemplateNetworkInterfaceArgs

    AccessConfigs List<InstanceFromTemplateNetworkInterfaceAccessConfig>
    Access configurations, i.e. IPs via which this instance can be accessed via the Internet.
    AliasIpRanges List<InstanceFromTemplateNetworkInterfaceAliasIpRange>
    An array of alias IP ranges for this network interface.
    InternalIpv6PrefixLength int
    The prefix length of the primary internal IPv6 range.
    Ipv6AccessConfigs List<InstanceFromTemplateNetworkInterfaceIpv6AccessConfig>
    An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.
    Ipv6AccessType string
    One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork.
    Ipv6Address string
    An IPv6 internal network address for this network interface. If not specified, Google Cloud will automatically assign an internal IPv6 address from the instance's subnetwork.
    Name string
    A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
    Network string
    The name or self_link of the network attached to this interface.
    NetworkAttachment string
    The URL of the network attachment that this interface should connect to in the following format: projects/{projectNumber}/regions/{region_name}/networkAttachments/{network_attachment_name}.
    NetworkIp string
    The private IP address assigned to the instance.
    NicType string
    The type of vNIC to be used on this interface. Possible values:GVNIC, VIRTIO_NET
    QueueCount int
    The networking queue count that's specified by users for the network interface. Both Rx and Tx queues will be set to this number. It will be empty if not specified.
    SecurityPolicy string
    A full or partial URL to a security policy to add to this instance. If this field is set to an empty string it will remove the associated security policy.
    StackType string
    The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used.
    Subnetwork string
    The name or self_link of the subnetwork attached to this interface.
    SubnetworkProject string
    The project in which the subnetwork belongs.
    AccessConfigs []InstanceFromTemplateNetworkInterfaceAccessConfig
    Access configurations, i.e. IPs via which this instance can be accessed via the Internet.
    AliasIpRanges []InstanceFromTemplateNetworkInterfaceAliasIpRange
    An array of alias IP ranges for this network interface.
    InternalIpv6PrefixLength int
    The prefix length of the primary internal IPv6 range.
    Ipv6AccessConfigs []InstanceFromTemplateNetworkInterfaceIpv6AccessConfig
    An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.
    Ipv6AccessType string
    One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork.
    Ipv6Address string
    An IPv6 internal network address for this network interface. If not specified, Google Cloud will automatically assign an internal IPv6 address from the instance's subnetwork.
    Name string
    A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
    Network string
    The name or self_link of the network attached to this interface.
    NetworkAttachment string
    The URL of the network attachment that this interface should connect to in the following format: projects/{projectNumber}/regions/{region_name}/networkAttachments/{network_attachment_name}.
    NetworkIp string
    The private IP address assigned to the instance.
    NicType string
    The type of vNIC to be used on this interface. Possible values:GVNIC, VIRTIO_NET
    QueueCount int
    The networking queue count that's specified by users for the network interface. Both Rx and Tx queues will be set to this number. It will be empty if not specified.
    SecurityPolicy string
    A full or partial URL to a security policy to add to this instance. If this field is set to an empty string it will remove the associated security policy.
    StackType string
    The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used.
    Subnetwork string
    The name or self_link of the subnetwork attached to this interface.
    SubnetworkProject string
    The project in which the subnetwork belongs.
    accessConfigs List<InstanceFromTemplateNetworkInterfaceAccessConfig>
    Access configurations, i.e. IPs via which this instance can be accessed via the Internet.
    aliasIpRanges List<InstanceFromTemplateNetworkInterfaceAliasIpRange>
    An array of alias IP ranges for this network interface.
    internalIpv6PrefixLength Integer
    The prefix length of the primary internal IPv6 range.
    ipv6AccessConfigs List<InstanceFromTemplateNetworkInterfaceIpv6AccessConfig>
    An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.
    ipv6AccessType String
    One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork.
    ipv6Address String
    An IPv6 internal network address for this network interface. If not specified, Google Cloud will automatically assign an internal IPv6 address from the instance's subnetwork.
    name String
    A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
    network String
    The name or self_link of the network attached to this interface.
    networkAttachment String
    The URL of the network attachment that this interface should connect to in the following format: projects/{projectNumber}/regions/{region_name}/networkAttachments/{network_attachment_name}.
    networkIp String
    The private IP address assigned to the instance.
    nicType String
    The type of vNIC to be used on this interface. Possible values:GVNIC, VIRTIO_NET
    queueCount Integer
    The networking queue count that's specified by users for the network interface. Both Rx and Tx queues will be set to this number. It will be empty if not specified.
    securityPolicy String
    A full or partial URL to a security policy to add to this instance. If this field is set to an empty string it will remove the associated security policy.
    stackType String
    The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used.
    subnetwork String
    The name or self_link of the subnetwork attached to this interface.
    subnetworkProject String
    The project in which the subnetwork belongs.
    accessConfigs InstanceFromTemplateNetworkInterfaceAccessConfig[]
    Access configurations, i.e. IPs via which this instance can be accessed via the Internet.
    aliasIpRanges InstanceFromTemplateNetworkInterfaceAliasIpRange[]
    An array of alias IP ranges for this network interface.
    internalIpv6PrefixLength number
    The prefix length of the primary internal IPv6 range.
    ipv6AccessConfigs InstanceFromTemplateNetworkInterfaceIpv6AccessConfig[]
    An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.
    ipv6AccessType string
    One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork.
    ipv6Address string
    An IPv6 internal network address for this network interface. If not specified, Google Cloud will automatically assign an internal IPv6 address from the instance's subnetwork.
    name string
    A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
    network string
    The name or self_link of the network attached to this interface.
    networkAttachment string
    The URL of the network attachment that this interface should connect to in the following format: projects/{projectNumber}/regions/{region_name}/networkAttachments/{network_attachment_name}.
    networkIp string
    The private IP address assigned to the instance.
    nicType string
    The type of vNIC to be used on this interface. Possible values:GVNIC, VIRTIO_NET
    queueCount number
    The networking queue count that's specified by users for the network interface. Both Rx and Tx queues will be set to this number. It will be empty if not specified.
    securityPolicy string
    A full or partial URL to a security policy to add to this instance. If this field is set to an empty string it will remove the associated security policy.
    stackType string
    The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used.
    subnetwork string
    The name or self_link of the subnetwork attached to this interface.
    subnetworkProject string
    The project in which the subnetwork belongs.
    access_configs Sequence[InstanceFromTemplateNetworkInterfaceAccessConfig]
    Access configurations, i.e. IPs via which this instance can be accessed via the Internet.
    alias_ip_ranges Sequence[InstanceFromTemplateNetworkInterfaceAliasIpRange]
    An array of alias IP ranges for this network interface.
    internal_ipv6_prefix_length int
    The prefix length of the primary internal IPv6 range.
    ipv6_access_configs Sequence[InstanceFromTemplateNetworkInterfaceIpv6AccessConfig]
    An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.
    ipv6_access_type str
    One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork.
    ipv6_address str
    An IPv6 internal network address for this network interface. If not specified, Google Cloud will automatically assign an internal IPv6 address from the instance's subnetwork.
    name str
    A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
    network str
    The name or self_link of the network attached to this interface.
    network_attachment str
    The URL of the network attachment that this interface should connect to in the following format: projects/{projectNumber}/regions/{region_name}/networkAttachments/{network_attachment_name}.
    network_ip str
    The private IP address assigned to the instance.
    nic_type str
    The type of vNIC to be used on this interface. Possible values:GVNIC, VIRTIO_NET
    queue_count int
    The networking queue count that's specified by users for the network interface. Both Rx and Tx queues will be set to this number. It will be empty if not specified.
    security_policy str
    A full or partial URL to a security policy to add to this instance. If this field is set to an empty string it will remove the associated security policy.
    stack_type str
    The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used.
    subnetwork str
    The name or self_link of the subnetwork attached to this interface.
    subnetwork_project str
    The project in which the subnetwork belongs.
    accessConfigs List<Property Map>
    Access configurations, i.e. IPs via which this instance can be accessed via the Internet.
    aliasIpRanges List<Property Map>
    An array of alias IP ranges for this network interface.
    internalIpv6PrefixLength Number
    The prefix length of the primary internal IPv6 range.
    ipv6AccessConfigs List<Property Map>
    An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.
    ipv6AccessType String
    One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork.
    ipv6Address String
    An IPv6 internal network address for this network interface. If not specified, Google Cloud will automatically assign an internal IPv6 address from the instance's subnetwork.
    name String
    A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
    network String
    The name or self_link of the network attached to this interface.
    networkAttachment String
    The URL of the network attachment that this interface should connect to in the following format: projects/{projectNumber}/regions/{region_name}/networkAttachments/{network_attachment_name}.
    networkIp String
    The private IP address assigned to the instance.
    nicType String
    The type of vNIC to be used on this interface. Possible values:GVNIC, VIRTIO_NET
    queueCount Number
    The networking queue count that's specified by users for the network interface. Both Rx and Tx queues will be set to this number. It will be empty if not specified.
    securityPolicy String
    A full or partial URL to a security policy to add to this instance. If this field is set to an empty string it will remove the associated security policy.
    stackType String
    The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used.
    subnetwork String
    The name or self_link of the subnetwork attached to this interface.
    subnetworkProject String
    The project in which the subnetwork belongs.

    InstanceFromTemplateNetworkInterfaceAccessConfig, InstanceFromTemplateNetworkInterfaceAccessConfigArgs

    NatIp string
    The IP address that is be 1:1 mapped to the instance's network ip.
    NetworkTier string
    The networking tier used for configuring this instance. One of PREMIUM or STANDARD.
    PublicPtrDomainName string
    The DNS domain name for the public PTR record.
    SecurityPolicy string
    A full or partial URL to a security policy to add to this instance. If this field is set to an empty string it will remove the associated security policy.
    NatIp string
    The IP address that is be 1:1 mapped to the instance's network ip.
    NetworkTier string
    The networking tier used for configuring this instance. One of PREMIUM or STANDARD.
    PublicPtrDomainName string
    The DNS domain name for the public PTR record.
    SecurityPolicy string
    A full or partial URL to a security policy to add to this instance. If this field is set to an empty string it will remove the associated security policy.
    natIp String
    The IP address that is be 1:1 mapped to the instance's network ip.
    networkTier String
    The networking tier used for configuring this instance. One of PREMIUM or STANDARD.
    publicPtrDomainName String
    The DNS domain name for the public PTR record.
    securityPolicy String
    A full or partial URL to a security policy to add to this instance. If this field is set to an empty string it will remove the associated security policy.
    natIp string
    The IP address that is be 1:1 mapped to the instance's network ip.
    networkTier string
    The networking tier used for configuring this instance. One of PREMIUM or STANDARD.
    publicPtrDomainName string
    The DNS domain name for the public PTR record.
    securityPolicy string
    A full or partial URL to a security policy to add to this instance. If this field is set to an empty string it will remove the associated security policy.
    nat_ip str
    The IP address that is be 1:1 mapped to the instance's network ip.
    network_tier str
    The networking tier used for configuring this instance. One of PREMIUM or STANDARD.
    public_ptr_domain_name str
    The DNS domain name for the public PTR record.
    security_policy str
    A full or partial URL to a security policy to add to this instance. If this field is set to an empty string it will remove the associated security policy.
    natIp String
    The IP address that is be 1:1 mapped to the instance's network ip.
    networkTier String
    The networking tier used for configuring this instance. One of PREMIUM or STANDARD.
    publicPtrDomainName String
    The DNS domain name for the public PTR record.
    securityPolicy String
    A full or partial URL to a security policy to add to this instance. If this field is set to an empty string it will remove the associated security policy.

    InstanceFromTemplateNetworkInterfaceAliasIpRange, InstanceFromTemplateNetworkInterfaceAliasIpRangeArgs

    IpCidrRange string
    The IP CIDR range represented by this alias IP range.
    SubnetworkRangeName string
    The subnetwork secondary range name specifying the secondary range from which to allocate the IP CIDR range for this alias IP range.
    IpCidrRange string
    The IP CIDR range represented by this alias IP range.
    SubnetworkRangeName string
    The subnetwork secondary range name specifying the secondary range from which to allocate the IP CIDR range for this alias IP range.
    ipCidrRange String
    The IP CIDR range represented by this alias IP range.
    subnetworkRangeName String
    The subnetwork secondary range name specifying the secondary range from which to allocate the IP CIDR range for this alias IP range.
    ipCidrRange string
    The IP CIDR range represented by this alias IP range.
    subnetworkRangeName string
    The subnetwork secondary range name specifying the secondary range from which to allocate the IP CIDR range for this alias IP range.
    ip_cidr_range str
    The IP CIDR range represented by this alias IP range.
    subnetwork_range_name str
    The subnetwork secondary range name specifying the secondary range from which to allocate the IP CIDR range for this alias IP range.
    ipCidrRange String
    The IP CIDR range represented by this alias IP range.
    subnetworkRangeName String
    The subnetwork secondary range name specifying the secondary range from which to allocate the IP CIDR range for this alias IP range.

    InstanceFromTemplateNetworkInterfaceIpv6AccessConfig, InstanceFromTemplateNetworkInterfaceIpv6AccessConfigArgs

    NetworkTier string
    The service-level to be provided for IPv6 traffic when the subnet has an external subnet. Only PREMIUM tier is valid for IPv6
    ExternalIpv6 string
    The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. To use a static external IP address, it must be unused and in the same region as the instance's zone. If not specified, Google Cloud will automatically assign an external IPv6 address from the instance's subnetwork.
    ExternalIpv6PrefixLength string
    The prefix length of the external IPv6 range.
    Name string
    A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
    PublicPtrDomainName string
    The domain name to be used when creating DNSv6 records for the external IPv6 ranges.
    SecurityPolicy string
    A full or partial URL to a security policy to add to this instance. If this field is set to an empty string it will remove the associated security policy.
    NetworkTier string
    The service-level to be provided for IPv6 traffic when the subnet has an external subnet. Only PREMIUM tier is valid for IPv6
    ExternalIpv6 string
    The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. To use a static external IP address, it must be unused and in the same region as the instance's zone. If not specified, Google Cloud will automatically assign an external IPv6 address from the instance's subnetwork.
    ExternalIpv6PrefixLength string
    The prefix length of the external IPv6 range.
    Name string
    A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
    PublicPtrDomainName string
    The domain name to be used when creating DNSv6 records for the external IPv6 ranges.
    SecurityPolicy string
    A full or partial URL to a security policy to add to this instance. If this field is set to an empty string it will remove the associated security policy.
    networkTier String
    The service-level to be provided for IPv6 traffic when the subnet has an external subnet. Only PREMIUM tier is valid for IPv6
    externalIpv6 String
    The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. To use a static external IP address, it must be unused and in the same region as the instance's zone. If not specified, Google Cloud will automatically assign an external IPv6 address from the instance's subnetwork.
    externalIpv6PrefixLength String
    The prefix length of the external IPv6 range.
    name String
    A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
    publicPtrDomainName String
    The domain name to be used when creating DNSv6 records for the external IPv6 ranges.
    securityPolicy String
    A full or partial URL to a security policy to add to this instance. If this field is set to an empty string it will remove the associated security policy.
    networkTier string
    The service-level to be provided for IPv6 traffic when the subnet has an external subnet. Only PREMIUM tier is valid for IPv6
    externalIpv6 string
    The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. To use a static external IP address, it must be unused and in the same region as the instance's zone. If not specified, Google Cloud will automatically assign an external IPv6 address from the instance's subnetwork.
    externalIpv6PrefixLength string
    The prefix length of the external IPv6 range.
    name string
    A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
    publicPtrDomainName string
    The domain name to be used when creating DNSv6 records for the external IPv6 ranges.
    securityPolicy string
    A full or partial URL to a security policy to add to this instance. If this field is set to an empty string it will remove the associated security policy.
    network_tier str
    The service-level to be provided for IPv6 traffic when the subnet has an external subnet. Only PREMIUM tier is valid for IPv6
    external_ipv6 str
    The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. To use a static external IP address, it must be unused and in the same region as the instance's zone. If not specified, Google Cloud will automatically assign an external IPv6 address from the instance's subnetwork.
    external_ipv6_prefix_length str
    The prefix length of the external IPv6 range.
    name str
    A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
    public_ptr_domain_name str
    The domain name to be used when creating DNSv6 records for the external IPv6 ranges.
    security_policy str
    A full or partial URL to a security policy to add to this instance. If this field is set to an empty string it will remove the associated security policy.
    networkTier String
    The service-level to be provided for IPv6 traffic when the subnet has an external subnet. Only PREMIUM tier is valid for IPv6
    externalIpv6 String
    The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. To use a static external IP address, it must be unused and in the same region as the instance's zone. If not specified, Google Cloud will automatically assign an external IPv6 address from the instance's subnetwork.
    externalIpv6PrefixLength String
    The prefix length of the external IPv6 range.
    name String
    A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
    publicPtrDomainName String
    The domain name to be used when creating DNSv6 records for the external IPv6 ranges.
    securityPolicy String
    A full or partial URL to a security policy to add to this instance. If this field is set to an empty string it will remove the associated security policy.

    InstanceFromTemplateNetworkPerformanceConfig, InstanceFromTemplateNetworkPerformanceConfigArgs

    TotalEgressBandwidthTier string
    The egress bandwidth tier to enable. Possible values:TIER_1, DEFAULT
    TotalEgressBandwidthTier string
    The egress bandwidth tier to enable. Possible values:TIER_1, DEFAULT
    totalEgressBandwidthTier String
    The egress bandwidth tier to enable. Possible values:TIER_1, DEFAULT
    totalEgressBandwidthTier string
    The egress bandwidth tier to enable. Possible values:TIER_1, DEFAULT
    total_egress_bandwidth_tier str
    The egress bandwidth tier to enable. Possible values:TIER_1, DEFAULT
    totalEgressBandwidthTier String
    The egress bandwidth tier to enable. Possible values:TIER_1, DEFAULT

    InstanceFromTemplateParams, InstanceFromTemplateParamsArgs

    ResourceManagerTags Dictionary<string, string>
    A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored (both PUT & PATCH) when empty.
    ResourceManagerTags map[string]string
    A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored (both PUT & PATCH) when empty.
    resourceManagerTags Map<String,String>
    A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored (both PUT & PATCH) when empty.
    resourceManagerTags {[key: string]: string}
    A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored (both PUT & PATCH) when empty.
    resource_manager_tags Mapping[str, str]
    A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored (both PUT & PATCH) when empty.
    resourceManagerTags Map<String>
    A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored (both PUT & PATCH) when empty.

    InstanceFromTemplateReservationAffinity, InstanceFromTemplateReservationAffinityArgs

    Type string
    The type of reservation from which this instance can consume resources.
    SpecificReservation InstanceFromTemplateReservationAffinitySpecificReservation
    Specifies the label selector for the reservation to use.
    Type string
    The type of reservation from which this instance can consume resources.
    SpecificReservation InstanceFromTemplateReservationAffinitySpecificReservation
    Specifies the label selector for the reservation to use.
    type String
    The type of reservation from which this instance can consume resources.
    specificReservation InstanceFromTemplateReservationAffinitySpecificReservation
    Specifies the label selector for the reservation to use.
    type string
    The type of reservation from which this instance can consume resources.
    specificReservation InstanceFromTemplateReservationAffinitySpecificReservation
    Specifies the label selector for the reservation to use.
    type str
    The type of reservation from which this instance can consume resources.
    specific_reservation InstanceFromTemplateReservationAffinitySpecificReservation
    Specifies the label selector for the reservation to use.
    type String
    The type of reservation from which this instance can consume resources.
    specificReservation Property Map
    Specifies the label selector for the reservation to use.

    InstanceFromTemplateReservationAffinitySpecificReservation, InstanceFromTemplateReservationAffinitySpecificReservationArgs

    Key string
    Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, specify compute.googleapis.com/reservation-name as the key and specify the name of your reservation as the only value.
    Values List<string>
    Corresponds to the label values of a reservation resource.
    Key string
    Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, specify compute.googleapis.com/reservation-name as the key and specify the name of your reservation as the only value.
    Values []string
    Corresponds to the label values of a reservation resource.
    key String
    Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, specify compute.googleapis.com/reservation-name as the key and specify the name of your reservation as the only value.
    values List<String>
    Corresponds to the label values of a reservation resource.
    key string
    Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, specify compute.googleapis.com/reservation-name as the key and specify the name of your reservation as the only value.
    values string[]
    Corresponds to the label values of a reservation resource.
    key str
    Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, specify compute.googleapis.com/reservation-name as the key and specify the name of your reservation as the only value.
    values Sequence[str]
    Corresponds to the label values of a reservation resource.
    key String
    Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, specify compute.googleapis.com/reservation-name as the key and specify the name of your reservation as the only value.
    values List<String>
    Corresponds to the label values of a reservation resource.

    InstanceFromTemplateScheduling, InstanceFromTemplateSchedulingArgs

    AutomaticRestart bool
    Specifies if the instance should be restarted if it was terminated by Compute Engine (not a user).
    HostErrorTimeoutSeconds int
    Specify the time in seconds for host error detection, the value must be within the range of [90, 330] with the increment of 30, if unset, the default behavior of host error recovery will be used.
    InstanceTerminationAction string
    Specifies the action GCE should take when SPOT VM is preempted.
    LocalSsdRecoveryTimeout InstanceFromTemplateSchedulingLocalSsdRecoveryTimeout
    Specifies the maximum amount of time a Local Ssd Vm should wait while recovery of the Local Ssd state is attempted. Its value should be in between 0 and 168 hours with hour granularity and the default value being 1 hour.
    MaintenanceInterval string
    Specifies the frequency of planned maintenance events. The accepted values are: PERIODIC
    MaxRunDuration InstanceFromTemplateSchedulingMaxRunDuration
    The timeout for new network connections to hosts.
    MinNodeCpus int
    NodeAffinities List<InstanceFromTemplateSchedulingNodeAffinity>
    Specifies node affinities or anti-affinities to determine which sole-tenant nodes your instances and managed instance groups will use as host systems.
    OnHostMaintenance string
    Describes maintenance behavior for the instance. One of MIGRATE or TERMINATE,
    OnInstanceStopAction InstanceFromTemplateSchedulingOnInstanceStopAction
    Defines the behaviour for instances with the instance_termination_action.
    Preemptible bool
    Whether the instance is preemptible.
    ProvisioningModel string
    Whether the instance is spot. If this is set as SPOT.
    AutomaticRestart bool
    Specifies if the instance should be restarted if it was terminated by Compute Engine (not a user).
    HostErrorTimeoutSeconds int
    Specify the time in seconds for host error detection, the value must be within the range of [90, 330] with the increment of 30, if unset, the default behavior of host error recovery will be used.
    InstanceTerminationAction string
    Specifies the action GCE should take when SPOT VM is preempted.
    LocalSsdRecoveryTimeout InstanceFromTemplateSchedulingLocalSsdRecoveryTimeout
    Specifies the maximum amount of time a Local Ssd Vm should wait while recovery of the Local Ssd state is attempted. Its value should be in between 0 and 168 hours with hour granularity and the default value being 1 hour.
    MaintenanceInterval string
    Specifies the frequency of planned maintenance events. The accepted values are: PERIODIC
    MaxRunDuration InstanceFromTemplateSchedulingMaxRunDuration
    The timeout for new network connections to hosts.
    MinNodeCpus int
    NodeAffinities []InstanceFromTemplateSchedulingNodeAffinity
    Specifies node affinities or anti-affinities to determine which sole-tenant nodes your instances and managed instance groups will use as host systems.
    OnHostMaintenance string
    Describes maintenance behavior for the instance. One of MIGRATE or TERMINATE,
    OnInstanceStopAction InstanceFromTemplateSchedulingOnInstanceStopAction
    Defines the behaviour for instances with the instance_termination_action.
    Preemptible bool
    Whether the instance is preemptible.
    ProvisioningModel string
    Whether the instance is spot. If this is set as SPOT.
    automaticRestart Boolean
    Specifies if the instance should be restarted if it was terminated by Compute Engine (not a user).
    hostErrorTimeoutSeconds Integer
    Specify the time in seconds for host error detection, the value must be within the range of [90, 330] with the increment of 30, if unset, the default behavior of host error recovery will be used.
    instanceTerminationAction String
    Specifies the action GCE should take when SPOT VM is preempted.
    localSsdRecoveryTimeout InstanceFromTemplateSchedulingLocalSsdRecoveryTimeout
    Specifies the maximum amount of time a Local Ssd Vm should wait while recovery of the Local Ssd state is attempted. Its value should be in between 0 and 168 hours with hour granularity and the default value being 1 hour.
    maintenanceInterval String
    Specifies the frequency of planned maintenance events. The accepted values are: PERIODIC
    maxRunDuration InstanceFromTemplateSchedulingMaxRunDuration
    The timeout for new network connections to hosts.
    minNodeCpus Integer
    nodeAffinities List<InstanceFromTemplateSchedulingNodeAffinity>
    Specifies node affinities or anti-affinities to determine which sole-tenant nodes your instances and managed instance groups will use as host systems.
    onHostMaintenance String
    Describes maintenance behavior for the instance. One of MIGRATE or TERMINATE,
    onInstanceStopAction InstanceFromTemplateSchedulingOnInstanceStopAction
    Defines the behaviour for instances with the instance_termination_action.
    preemptible Boolean
    Whether the instance is preemptible.
    provisioningModel String
    Whether the instance is spot. If this is set as SPOT.
    automaticRestart boolean
    Specifies if the instance should be restarted if it was terminated by Compute Engine (not a user).
    hostErrorTimeoutSeconds number
    Specify the time in seconds for host error detection, the value must be within the range of [90, 330] with the increment of 30, if unset, the default behavior of host error recovery will be used.
    instanceTerminationAction string
    Specifies the action GCE should take when SPOT VM is preempted.
    localSsdRecoveryTimeout InstanceFromTemplateSchedulingLocalSsdRecoveryTimeout
    Specifies the maximum amount of time a Local Ssd Vm should wait while recovery of the Local Ssd state is attempted. Its value should be in between 0 and 168 hours with hour granularity and the default value being 1 hour.
    maintenanceInterval string
    Specifies the frequency of planned maintenance events. The accepted values are: PERIODIC
    maxRunDuration InstanceFromTemplateSchedulingMaxRunDuration
    The timeout for new network connections to hosts.
    minNodeCpus number
    nodeAffinities InstanceFromTemplateSchedulingNodeAffinity[]
    Specifies node affinities or anti-affinities to determine which sole-tenant nodes your instances and managed instance groups will use as host systems.
    onHostMaintenance string
    Describes maintenance behavior for the instance. One of MIGRATE or TERMINATE,
    onInstanceStopAction InstanceFromTemplateSchedulingOnInstanceStopAction
    Defines the behaviour for instances with the instance_termination_action.
    preemptible boolean
    Whether the instance is preemptible.
    provisioningModel string
    Whether the instance is spot. If this is set as SPOT.
    automatic_restart bool
    Specifies if the instance should be restarted if it was terminated by Compute Engine (not a user).
    host_error_timeout_seconds int
    Specify the time in seconds for host error detection, the value must be within the range of [90, 330] with the increment of 30, if unset, the default behavior of host error recovery will be used.
    instance_termination_action str
    Specifies the action GCE should take when SPOT VM is preempted.
    local_ssd_recovery_timeout InstanceFromTemplateSchedulingLocalSsdRecoveryTimeout
    Specifies the maximum amount of time a Local Ssd Vm should wait while recovery of the Local Ssd state is attempted. Its value should be in between 0 and 168 hours with hour granularity and the default value being 1 hour.
    maintenance_interval str
    Specifies the frequency of planned maintenance events. The accepted values are: PERIODIC
    max_run_duration InstanceFromTemplateSchedulingMaxRunDuration
    The timeout for new network connections to hosts.
    min_node_cpus int
    node_affinities Sequence[InstanceFromTemplateSchedulingNodeAffinity]
    Specifies node affinities or anti-affinities to determine which sole-tenant nodes your instances and managed instance groups will use as host systems.
    on_host_maintenance str
    Describes maintenance behavior for the instance. One of MIGRATE or TERMINATE,
    on_instance_stop_action InstanceFromTemplateSchedulingOnInstanceStopAction
    Defines the behaviour for instances with the instance_termination_action.
    preemptible bool
    Whether the instance is preemptible.
    provisioning_model str
    Whether the instance is spot. If this is set as SPOT.
    automaticRestart Boolean
    Specifies if the instance should be restarted if it was terminated by Compute Engine (not a user).
    hostErrorTimeoutSeconds Number
    Specify the time in seconds for host error detection, the value must be within the range of [90, 330] with the increment of 30, if unset, the default behavior of host error recovery will be used.
    instanceTerminationAction String
    Specifies the action GCE should take when SPOT VM is preempted.
    localSsdRecoveryTimeout Property Map
    Specifies the maximum amount of time a Local Ssd Vm should wait while recovery of the Local Ssd state is attempted. Its value should be in between 0 and 168 hours with hour granularity and the default value being 1 hour.
    maintenanceInterval String
    Specifies the frequency of planned maintenance events. The accepted values are: PERIODIC
    maxRunDuration Property Map
    The timeout for new network connections to hosts.
    minNodeCpus Number
    nodeAffinities List<Property Map>
    Specifies node affinities or anti-affinities to determine which sole-tenant nodes your instances and managed instance groups will use as host systems.
    onHostMaintenance String
    Describes maintenance behavior for the instance. One of MIGRATE or TERMINATE,
    onInstanceStopAction Property Map
    Defines the behaviour for instances with the instance_termination_action.
    preemptible Boolean
    Whether the instance is preemptible.
    provisioningModel String
    Whether the instance is spot. If this is set as SPOT.

    InstanceFromTemplateSchedulingLocalSsdRecoveryTimeout, InstanceFromTemplateSchedulingLocalSsdRecoveryTimeoutArgs

    Seconds int
    Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.
    Nanos int
    Span of time that's a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive.
    Seconds int
    Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.
    Nanos int
    Span of time that's a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive.
    seconds Integer
    Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.
    nanos Integer
    Span of time that's a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive.
    seconds number
    Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.
    nanos number
    Span of time that's a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive.
    seconds int
    Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.
    nanos int
    Span of time that's a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive.
    seconds Number
    Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.
    nanos Number
    Span of time that's a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive.

    InstanceFromTemplateSchedulingMaxRunDuration, InstanceFromTemplateSchedulingMaxRunDurationArgs

    Seconds int
    Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.
    Nanos int
    Span of time that's a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive.
    Seconds int
    Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.
    Nanos int
    Span of time that's a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive.
    seconds Integer
    Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.
    nanos Integer
    Span of time that's a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive.
    seconds number
    Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.
    nanos number
    Span of time that's a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive.
    seconds int
    Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.
    nanos int
    Span of time that's a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive.
    seconds Number
    Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.
    nanos Number
    Span of time that's a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive.

    InstanceFromTemplateSchedulingNodeAffinity, InstanceFromTemplateSchedulingNodeAffinityArgs

    Key string
    Operator string
    Values List<string>
    Key string
    Operator string
    Values []string
    key String
    operator String
    values List<String>
    key string
    operator string
    values string[]
    key str
    operator str
    values Sequence[str]
    key String
    operator String
    values List<String>

    InstanceFromTemplateSchedulingOnInstanceStopAction, InstanceFromTemplateSchedulingOnInstanceStopActionArgs

    DiscardLocalSsd bool
    If true, the contents of any attached Local SSD disks will be discarded.
    DiscardLocalSsd bool
    If true, the contents of any attached Local SSD disks will be discarded.
    discardLocalSsd Boolean
    If true, the contents of any attached Local SSD disks will be discarded.
    discardLocalSsd boolean
    If true, the contents of any attached Local SSD disks will be discarded.
    discard_local_ssd bool
    If true, the contents of any attached Local SSD disks will be discarded.
    discardLocalSsd Boolean
    If true, the contents of any attached Local SSD disks will be discarded.

    InstanceFromTemplateScratchDisk, InstanceFromTemplateScratchDiskArgs

    Interface string
    The disk interface used for attaching this disk. One of SCSI or NVME.
    DeviceName string
    Name with which the attached disk is accessible under /dev/disk/by-id/
    Size int
    The size of the disk in gigabytes. One of 375 or 3000.
    Interface string
    The disk interface used for attaching this disk. One of SCSI or NVME.
    DeviceName string
    Name with which the attached disk is accessible under /dev/disk/by-id/
    Size int
    The size of the disk in gigabytes. One of 375 or 3000.
    interface_ String
    The disk interface used for attaching this disk. One of SCSI or NVME.
    deviceName String
    Name with which the attached disk is accessible under /dev/disk/by-id/
    size Integer
    The size of the disk in gigabytes. One of 375 or 3000.
    interface string
    The disk interface used for attaching this disk. One of SCSI or NVME.
    deviceName string
    Name with which the attached disk is accessible under /dev/disk/by-id/
    size number
    The size of the disk in gigabytes. One of 375 or 3000.
    interface str
    The disk interface used for attaching this disk. One of SCSI or NVME.
    device_name str
    Name with which the attached disk is accessible under /dev/disk/by-id/
    size int
    The size of the disk in gigabytes. One of 375 or 3000.
    interface String
    The disk interface used for attaching this disk. One of SCSI or NVME.
    deviceName String
    Name with which the attached disk is accessible under /dev/disk/by-id/
    size Number
    The size of the disk in gigabytes. One of 375 or 3000.

    InstanceFromTemplateServiceAccount, InstanceFromTemplateServiceAccountArgs

    Scopes List<string>
    A list of service scopes.
    Email string
    The service account e-mail address.
    Scopes []string
    A list of service scopes.
    Email string
    The service account e-mail address.
    scopes List<String>
    A list of service scopes.
    email String
    The service account e-mail address.
    scopes string[]
    A list of service scopes.
    email string
    The service account e-mail address.
    scopes Sequence[str]
    A list of service scopes.
    email str
    The service account e-mail address.
    scopes List<String>
    A list of service scopes.
    email String
    The service account e-mail address.

    InstanceFromTemplateShieldedInstanceConfig, InstanceFromTemplateShieldedInstanceConfigArgs

    EnableIntegrityMonitoring bool
    Whether integrity monitoring is enabled for the instance.
    EnableSecureBoot bool
    Whether secure boot is enabled for the instance.
    EnableVtpm bool
    Whether the instance uses vTPM.
    EnableIntegrityMonitoring bool
    Whether integrity monitoring is enabled for the instance.
    EnableSecureBoot bool
    Whether secure boot is enabled for the instance.
    EnableVtpm bool
    Whether the instance uses vTPM.
    enableIntegrityMonitoring Boolean
    Whether integrity monitoring is enabled for the instance.
    enableSecureBoot Boolean
    Whether secure boot is enabled for the instance.
    enableVtpm Boolean
    Whether the instance uses vTPM.
    enableIntegrityMonitoring boolean
    Whether integrity monitoring is enabled for the instance.
    enableSecureBoot boolean
    Whether secure boot is enabled for the instance.
    enableVtpm boolean
    Whether the instance uses vTPM.
    enable_integrity_monitoring bool
    Whether integrity monitoring is enabled for the instance.
    enable_secure_boot bool
    Whether secure boot is enabled for the instance.
    enable_vtpm bool
    Whether the instance uses vTPM.
    enableIntegrityMonitoring Boolean
    Whether integrity monitoring is enabled for the instance.
    enableSecureBoot Boolean
    Whether secure boot is enabled for the instance.
    enableVtpm Boolean
    Whether the instance uses vTPM.

    Import

    This resource does not support import.

    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