gcp.compute.Instance
Explore with Pulumi AI
Manages a VM instance resource within GCE. For more information see the official documentation and API.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const _default = new gcp.serviceaccount.Account("default", {
    accountId: "my-custom-sa",
    displayName: "Custom SA for VM Instance",
});
const defaultInstance = new gcp.compute.Instance("default", {
    networkInterfaces: [{
        accessConfigs: [{}],
        network: "default",
    }],
    name: "my-instance",
    machineType: "n2-standard-2",
    zone: "us-central1-a",
    tags: [
        "foo",
        "bar",
    ],
    bootDisk: {
        initializeParams: {
            image: "debian-cloud/debian-11",
            labels: {
                my_label: "value",
            },
        },
    },
    scratchDisks: [{
        "interface": "NVME",
    }],
    metadata: {
        foo: "bar",
    },
    metadataStartupScript: "echo hi > /test.txt",
    serviceAccount: {
        email: _default.email,
        scopes: ["cloud-platform"],
    },
});
import pulumi
import pulumi_gcp as gcp
default = gcp.serviceaccount.Account("default",
    account_id="my-custom-sa",
    display_name="Custom SA for VM Instance")
default_instance = gcp.compute.Instance("default",
    network_interfaces=[{
        "access_configs": [{}],
        "network": "default",
    }],
    name="my-instance",
    machine_type="n2-standard-2",
    zone="us-central1-a",
    tags=[
        "foo",
        "bar",
    ],
    boot_disk={
        "initialize_params": {
            "image": "debian-cloud/debian-11",
            "labels": {
                "my_label": "value",
            },
        },
    },
    scratch_disks=[{
        "interface": "NVME",
    }],
    metadata={
        "foo": "bar",
    },
    metadata_startup_script="echo hi > /test.txt",
    service_account={
        "email": default.email,
        "scopes": ["cloud-platform"],
    })
package main
import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/compute"
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/serviceaccount"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_default, err := serviceaccount.NewAccount(ctx, "default", &serviceaccount.AccountArgs{
			AccountId:   pulumi.String("my-custom-sa"),
			DisplayName: pulumi.String("Custom SA for VM Instance"),
		})
		if err != nil {
			return err
		}
		_, err = compute.NewInstance(ctx, "default", &compute.InstanceArgs{
			NetworkInterfaces: compute.InstanceNetworkInterfaceArray{
				&compute.InstanceNetworkInterfaceArgs{
					AccessConfigs: compute.InstanceNetworkInterfaceAccessConfigArray{
						&compute.InstanceNetworkInterfaceAccessConfigArgs{},
					},
					Network: pulumi.String("default"),
				},
			},
			Name:        pulumi.String("my-instance"),
			MachineType: pulumi.String("n2-standard-2"),
			Zone:        pulumi.String("us-central1-a"),
			Tags: pulumi.StringArray{
				pulumi.String("foo"),
				pulumi.String("bar"),
			},
			BootDisk: &compute.InstanceBootDiskArgs{
				InitializeParams: &compute.InstanceBootDiskInitializeParamsArgs{
					Image: pulumi.String("debian-cloud/debian-11"),
					Labels: pulumi.StringMap{
						"my_label": pulumi.String("value"),
					},
				},
			},
			ScratchDisks: compute.InstanceScratchDiskArray{
				&compute.InstanceScratchDiskArgs{
					Interface: pulumi.String("NVME"),
				},
			},
			Metadata: pulumi.StringMap{
				"foo": pulumi.String("bar"),
			},
			MetadataStartupScript: pulumi.String("echo hi > /test.txt"),
			ServiceAccount: &compute.InstanceServiceAccountArgs{
				Email: _default.Email,
				Scopes: pulumi.StringArray{
					pulumi.String("cloud-platform"),
				},
			},
		})
		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 @default = new Gcp.ServiceAccount.Account("default", new()
    {
        AccountId = "my-custom-sa",
        DisplayName = "Custom SA for VM Instance",
    });
    var defaultInstance = new Gcp.Compute.Instance("default", new()
    {
        NetworkInterfaces = new[]
        {
            new Gcp.Compute.Inputs.InstanceNetworkInterfaceArgs
            {
                AccessConfigs = new[]
                {
                    null,
                },
                Network = "default",
            },
        },
        Name = "my-instance",
        MachineType = "n2-standard-2",
        Zone = "us-central1-a",
        Tags = new[]
        {
            "foo",
            "bar",
        },
        BootDisk = new Gcp.Compute.Inputs.InstanceBootDiskArgs
        {
            InitializeParams = new Gcp.Compute.Inputs.InstanceBootDiskInitializeParamsArgs
            {
                Image = "debian-cloud/debian-11",
                Labels = 
                {
                    { "my_label", "value" },
                },
            },
        },
        ScratchDisks = new[]
        {
            new Gcp.Compute.Inputs.InstanceScratchDiskArgs
            {
                Interface = "NVME",
            },
        },
        Metadata = 
        {
            { "foo", "bar" },
        },
        MetadataStartupScript = "echo hi > /test.txt",
        ServiceAccount = new Gcp.Compute.Inputs.InstanceServiceAccountArgs
        {
            Email = @default.Email,
            Scopes = new[]
            {
                "cloud-platform",
            },
        },
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.serviceaccount.Account;
import com.pulumi.gcp.serviceaccount.AccountArgs;
import com.pulumi.gcp.compute.Instance;
import com.pulumi.gcp.compute.InstanceArgs;
import com.pulumi.gcp.compute.inputs.InstanceNetworkInterfaceArgs;
import com.pulumi.gcp.compute.inputs.InstanceBootDiskArgs;
import com.pulumi.gcp.compute.inputs.InstanceBootDiskInitializeParamsArgs;
import com.pulumi.gcp.compute.inputs.InstanceScratchDiskArgs;
import com.pulumi.gcp.compute.inputs.InstanceServiceAccountArgs;
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 default_ = new Account("default", AccountArgs.builder()
            .accountId("my-custom-sa")
            .displayName("Custom SA for VM Instance")
            .build());
        var defaultInstance = new Instance("defaultInstance", InstanceArgs.builder()
            .networkInterfaces(InstanceNetworkInterfaceArgs.builder()
                .accessConfigs()
                .network("default")
                .build())
            .name("my-instance")
            .machineType("n2-standard-2")
            .zone("us-central1-a")
            .tags(            
                "foo",
                "bar")
            .bootDisk(InstanceBootDiskArgs.builder()
                .initializeParams(InstanceBootDiskInitializeParamsArgs.builder()
                    .image("debian-cloud/debian-11")
                    .labels(Map.of("my_label", "value"))
                    .build())
                .build())
            .scratchDisks(InstanceScratchDiskArgs.builder()
                .interface_("NVME")
                .build())
            .metadata(Map.of("foo", "bar"))
            .metadataStartupScript("echo hi > /test.txt")
            .serviceAccount(InstanceServiceAccountArgs.builder()
                .email(default_.email())
                .scopes("cloud-platform")
                .build())
            .build());
    }
}
resources:
  default:
    type: gcp:serviceaccount:Account
    properties:
      accountId: my-custom-sa
      displayName: Custom SA for VM Instance
  defaultInstance:
    type: gcp:compute:Instance
    name: default
    properties:
      networkInterfaces:
        - accessConfigs:
            - {}
          network: default
      name: my-instance
      machineType: n2-standard-2
      zone: us-central1-a
      tags:
        - foo
        - bar
      bootDisk:
        initializeParams:
          image: debian-cloud/debian-11
          labels:
            my_label: value
      scratchDisks:
        - interface: NVME
      metadata:
        foo: bar
      metadataStartupScript: echo hi > /test.txt
      serviceAccount:
        email: ${default.email}
        scopes:
          - cloud-platform
Confidential Computing
Example with Confidential Mode activated.
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const _default = new gcp.serviceaccount.Account("default", {
    accountId: "my-custom-sa",
    displayName: "Custom SA for VM Instance",
});
const confidentialInstance = new gcp.compute.Instance("confidential_instance", {
    networkInterfaces: [{
        accessConfigs: [{}],
        network: "default",
    }],
    name: "my-confidential-instance",
    zone: "us-central1-a",
    machineType: "n2d-standard-2",
    minCpuPlatform: "AMD Milan",
    confidentialInstanceConfig: {
        enableConfidentialCompute: true,
        confidentialInstanceType: "SEV",
    },
    bootDisk: {
        initializeParams: {
            image: "ubuntu-os-cloud/ubuntu-2004-lts",
            labels: {
                my_label: "value",
            },
        },
    },
    scratchDisks: [{
        "interface": "NVME",
    }],
    serviceAccount: {
        email: _default.email,
        scopes: ["cloud-platform"],
    },
});
import pulumi
import pulumi_gcp as gcp
default = gcp.serviceaccount.Account("default",
    account_id="my-custom-sa",
    display_name="Custom SA for VM Instance")
confidential_instance = gcp.compute.Instance("confidential_instance",
    network_interfaces=[{
        "access_configs": [{}],
        "network": "default",
    }],
    name="my-confidential-instance",
    zone="us-central1-a",
    machine_type="n2d-standard-2",
    min_cpu_platform="AMD Milan",
    confidential_instance_config={
        "enable_confidential_compute": True,
        "confidential_instance_type": "SEV",
    },
    boot_disk={
        "initialize_params": {
            "image": "ubuntu-os-cloud/ubuntu-2004-lts",
            "labels": {
                "my_label": "value",
            },
        },
    },
    scratch_disks=[{
        "interface": "NVME",
    }],
    service_account={
        "email": default.email,
        "scopes": ["cloud-platform"],
    })
package main
import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/compute"
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/serviceaccount"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_default, err := serviceaccount.NewAccount(ctx, "default", &serviceaccount.AccountArgs{
			AccountId:   pulumi.String("my-custom-sa"),
			DisplayName: pulumi.String("Custom SA for VM Instance"),
		})
		if err != nil {
			return err
		}
		_, err = compute.NewInstance(ctx, "confidential_instance", &compute.InstanceArgs{
			NetworkInterfaces: compute.InstanceNetworkInterfaceArray{
				&compute.InstanceNetworkInterfaceArgs{
					AccessConfigs: compute.InstanceNetworkInterfaceAccessConfigArray{
						&compute.InstanceNetworkInterfaceAccessConfigArgs{},
					},
					Network: pulumi.String("default"),
				},
			},
			Name:           pulumi.String("my-confidential-instance"),
			Zone:           pulumi.String("us-central1-a"),
			MachineType:    pulumi.String("n2d-standard-2"),
			MinCpuPlatform: pulumi.String("AMD Milan"),
			ConfidentialInstanceConfig: &compute.InstanceConfidentialInstanceConfigArgs{
				EnableConfidentialCompute: pulumi.Bool(true),
				ConfidentialInstanceType:  pulumi.String("SEV"),
			},
			BootDisk: &compute.InstanceBootDiskArgs{
				InitializeParams: &compute.InstanceBootDiskInitializeParamsArgs{
					Image: pulumi.String("ubuntu-os-cloud/ubuntu-2004-lts"),
					Labels: pulumi.StringMap{
						"my_label": pulumi.String("value"),
					},
				},
			},
			ScratchDisks: compute.InstanceScratchDiskArray{
				&compute.InstanceScratchDiskArgs{
					Interface: pulumi.String("NVME"),
				},
			},
			ServiceAccount: &compute.InstanceServiceAccountArgs{
				Email: _default.Email,
				Scopes: pulumi.StringArray{
					pulumi.String("cloud-platform"),
				},
			},
		})
		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 @default = new Gcp.ServiceAccount.Account("default", new()
    {
        AccountId = "my-custom-sa",
        DisplayName = "Custom SA for VM Instance",
    });
    var confidentialInstance = new Gcp.Compute.Instance("confidential_instance", new()
    {
        NetworkInterfaces = new[]
        {
            new Gcp.Compute.Inputs.InstanceNetworkInterfaceArgs
            {
                AccessConfigs = new[]
                {
                    null,
                },
                Network = "default",
            },
        },
        Name = "my-confidential-instance",
        Zone = "us-central1-a",
        MachineType = "n2d-standard-2",
        MinCpuPlatform = "AMD Milan",
        ConfidentialInstanceConfig = new Gcp.Compute.Inputs.InstanceConfidentialInstanceConfigArgs
        {
            EnableConfidentialCompute = true,
            ConfidentialInstanceType = "SEV",
        },
        BootDisk = new Gcp.Compute.Inputs.InstanceBootDiskArgs
        {
            InitializeParams = new Gcp.Compute.Inputs.InstanceBootDiskInitializeParamsArgs
            {
                Image = "ubuntu-os-cloud/ubuntu-2004-lts",
                Labels = 
                {
                    { "my_label", "value" },
                },
            },
        },
        ScratchDisks = new[]
        {
            new Gcp.Compute.Inputs.InstanceScratchDiskArgs
            {
                Interface = "NVME",
            },
        },
        ServiceAccount = new Gcp.Compute.Inputs.InstanceServiceAccountArgs
        {
            Email = @default.Email,
            Scopes = new[]
            {
                "cloud-platform",
            },
        },
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.serviceaccount.Account;
import com.pulumi.gcp.serviceaccount.AccountArgs;
import com.pulumi.gcp.compute.Instance;
import com.pulumi.gcp.compute.InstanceArgs;
import com.pulumi.gcp.compute.inputs.InstanceNetworkInterfaceArgs;
import com.pulumi.gcp.compute.inputs.InstanceConfidentialInstanceConfigArgs;
import com.pulumi.gcp.compute.inputs.InstanceBootDiskArgs;
import com.pulumi.gcp.compute.inputs.InstanceBootDiskInitializeParamsArgs;
import com.pulumi.gcp.compute.inputs.InstanceScratchDiskArgs;
import com.pulumi.gcp.compute.inputs.InstanceServiceAccountArgs;
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 default_ = new Account("default", AccountArgs.builder()
            .accountId("my-custom-sa")
            .displayName("Custom SA for VM Instance")
            .build());
        var confidentialInstance = new Instance("confidentialInstance", InstanceArgs.builder()
            .networkInterfaces(InstanceNetworkInterfaceArgs.builder()
                .accessConfigs()
                .network("default")
                .build())
            .name("my-confidential-instance")
            .zone("us-central1-a")
            .machineType("n2d-standard-2")
            .minCpuPlatform("AMD Milan")
            .confidentialInstanceConfig(InstanceConfidentialInstanceConfigArgs.builder()
                .enableConfidentialCompute(true)
                .confidentialInstanceType("SEV")
                .build())
            .bootDisk(InstanceBootDiskArgs.builder()
                .initializeParams(InstanceBootDiskInitializeParamsArgs.builder()
                    .image("ubuntu-os-cloud/ubuntu-2004-lts")
                    .labels(Map.of("my_label", "value"))
                    .build())
                .build())
            .scratchDisks(InstanceScratchDiskArgs.builder()
                .interface_("NVME")
                .build())
            .serviceAccount(InstanceServiceAccountArgs.builder()
                .email(default_.email())
                .scopes("cloud-platform")
                .build())
            .build());
    }
}
resources:
  default:
    type: gcp:serviceaccount:Account
    properties:
      accountId: my-custom-sa
      displayName: Custom SA for VM Instance
  confidentialInstance:
    type: gcp:compute:Instance
    name: confidential_instance
    properties:
      networkInterfaces:
        - accessConfigs:
            - {}
          network: default
      name: my-confidential-instance
      zone: us-central1-a
      machineType: n2d-standard-2
      minCpuPlatform: AMD Milan
      confidentialInstanceConfig:
        enableConfidentialCompute: true
        confidentialInstanceType: SEV
      bootDisk:
        initializeParams:
          image: ubuntu-os-cloud/ubuntu-2004-lts
          labels:
            my_label: value
      scratchDisks:
        - interface: NVME
      serviceAccount:
        email: ${default.email}
        scopes:
          - cloud-platform
Create Instance Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new Instance(name: string, args: InstanceArgs, opts?: CustomResourceOptions);@overload
def Instance(resource_name: str,
             args: InstanceArgs,
             opts: Optional[ResourceOptions] = None)
@overload
def Instance(resource_name: str,
             opts: Optional[ResourceOptions] = None,
             boot_disk: Optional[InstanceBootDiskArgs] = None,
             network_interfaces: Optional[Sequence[InstanceNetworkInterfaceArgs]] = None,
             machine_type: Optional[str] = None,
             metadata_startup_script: Optional[str] = None,
             description: Optional[str] = None,
             min_cpu_platform: Optional[str] = None,
             deletion_protection: Optional[bool] = None,
             name: Optional[str] = None,
             desired_status: Optional[str] = None,
             enable_display: Optional[bool] = None,
             guest_accelerators: Optional[Sequence[InstanceGuestAcceleratorArgs]] = None,
             hostname: Optional[str] = None,
             key_revocation_action_type: Optional[str] = None,
             labels: Optional[Mapping[str, str]] = None,
             allow_stopping_for_update: Optional[bool] = None,
             metadata: Optional[Mapping[str, str]] = None,
             advanced_machine_features: Optional[InstanceAdvancedMachineFeaturesArgs] = None,
             confidential_instance_config: Optional[InstanceConfidentialInstanceConfigArgs] = None,
             can_ip_forward: Optional[bool] = None,
             attached_disks: Optional[Sequence[InstanceAttachedDiskArgs]] = None,
             network_performance_config: Optional[InstanceNetworkPerformanceConfigArgs] = None,
             params: Optional[InstanceParamsArgs] = None,
             partner_metadata: Optional[Mapping[str, str]] = None,
             project: Optional[str] = None,
             reservation_affinity: Optional[InstanceReservationAffinityArgs] = None,
             resource_policies: Optional[str] = None,
             scheduling: Optional[InstanceSchedulingArgs] = None,
             scratch_disks: Optional[Sequence[InstanceScratchDiskArgs]] = None,
             service_account: Optional[InstanceServiceAccountArgs] = None,
             shielded_instance_config: Optional[InstanceShieldedInstanceConfigArgs] = None,
             tags: Optional[Sequence[str]] = None,
             zone: Optional[str] = None)func NewInstance(ctx *Context, name string, args InstanceArgs, opts ...ResourceOption) (*Instance, error)public Instance(string name, InstanceArgs args, CustomResourceOptions? opts = null)
public Instance(String name, InstanceArgs args)
public Instance(String name, InstanceArgs args, CustomResourceOptions options)
type: gcp:compute:Instance
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 InstanceArgs
- 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 InstanceArgs
- 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 InstanceArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args InstanceArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args InstanceArgs
- 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 exampleinstanceResourceResourceFromComputeinstance = new Gcp.Compute.Instance("exampleinstanceResourceResourceFromComputeinstance", new()
{
    BootDisk = new Gcp.Compute.Inputs.InstanceBootDiskArgs
    {
        AutoDelete = false,
        DeviceName = "string",
        DiskEncryptionKeyRaw = "string",
        DiskEncryptionKeySha256 = "string",
        InitializeParams = new Gcp.Compute.Inputs.InstanceBootDiskInitializeParamsArgs
        {
            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",
    },
    NetworkInterfaces = new[]
    {
        new Gcp.Compute.Inputs.InstanceNetworkInterfaceArgs
        {
            AccessConfigs = new[]
            {
                new Gcp.Compute.Inputs.InstanceNetworkInterfaceAccessConfigArgs
                {
                    NatIp = "string",
                    NetworkTier = "string",
                    PublicPtrDomainName = "string",
                    SecurityPolicy = "string",
                },
            },
            AliasIpRanges = new[]
            {
                new Gcp.Compute.Inputs.InstanceNetworkInterfaceAliasIpRangeArgs
                {
                    IpCidrRange = "string",
                    SubnetworkRangeName = "string",
                },
            },
            InternalIpv6PrefixLength = 0,
            Ipv6AccessConfigs = new[]
            {
                new Gcp.Compute.Inputs.InstanceNetworkInterfaceIpv6AccessConfigArgs
                {
                    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",
        },
    },
    MachineType = "string",
    MetadataStartupScript = "string",
    Description = "string",
    MinCpuPlatform = "string",
    DeletionProtection = false,
    Name = "string",
    DesiredStatus = "string",
    EnableDisplay = false,
    GuestAccelerators = new[]
    {
        new Gcp.Compute.Inputs.InstanceGuestAcceleratorArgs
        {
            Count = 0,
            Type = "string",
        },
    },
    Hostname = "string",
    KeyRevocationActionType = "string",
    Labels = 
    {
        { "string", "string" },
    },
    AllowStoppingForUpdate = false,
    Metadata = 
    {
        { "string", "string" },
    },
    AdvancedMachineFeatures = new Gcp.Compute.Inputs.InstanceAdvancedMachineFeaturesArgs
    {
        EnableNestedVirtualization = false,
        EnableUefiNetworking = false,
        PerformanceMonitoringUnit = "string",
        ThreadsPerCore = 0,
        TurboMode = "string",
        VisibleCoreCount = 0,
    },
    ConfidentialInstanceConfig = new Gcp.Compute.Inputs.InstanceConfidentialInstanceConfigArgs
    {
        ConfidentialInstanceType = "string",
        EnableConfidentialCompute = false,
    },
    CanIpForward = false,
    AttachedDisks = new[]
    {
        new Gcp.Compute.Inputs.InstanceAttachedDiskArgs
        {
            Source = "string",
            DeviceName = "string",
            DiskEncryptionKeyRaw = "string",
            DiskEncryptionKeySha256 = "string",
            KmsKeySelfLink = "string",
            Mode = "string",
        },
    },
    NetworkPerformanceConfig = new Gcp.Compute.Inputs.InstanceNetworkPerformanceConfigArgs
    {
        TotalEgressBandwidthTier = "string",
    },
    Params = new Gcp.Compute.Inputs.InstanceParamsArgs
    {
        ResourceManagerTags = 
        {
            { "string", "string" },
        },
    },
    PartnerMetadata = 
    {
        { "string", "string" },
    },
    Project = "string",
    ReservationAffinity = new Gcp.Compute.Inputs.InstanceReservationAffinityArgs
    {
        Type = "string",
        SpecificReservation = new Gcp.Compute.Inputs.InstanceReservationAffinitySpecificReservationArgs
        {
            Key = "string",
            Values = new[]
            {
                "string",
            },
        },
    },
    ResourcePolicies = "string",
    Scheduling = new Gcp.Compute.Inputs.InstanceSchedulingArgs
    {
        AutomaticRestart = false,
        AvailabilityDomain = 0,
        GracefulShutdown = new Gcp.Compute.Inputs.InstanceSchedulingGracefulShutdownArgs
        {
            Enabled = false,
            MaxDuration = new Gcp.Compute.Inputs.InstanceSchedulingGracefulShutdownMaxDurationArgs
            {
                Seconds = 0,
                Nanos = 0,
            },
        },
        HostErrorTimeoutSeconds = 0,
        InstanceTerminationAction = "string",
        LocalSsdRecoveryTimeout = new Gcp.Compute.Inputs.InstanceSchedulingLocalSsdRecoveryTimeoutArgs
        {
            Seconds = 0,
            Nanos = 0,
        },
        MaintenanceInterval = "string",
        MaxRunDuration = new Gcp.Compute.Inputs.InstanceSchedulingMaxRunDurationArgs
        {
            Seconds = 0,
            Nanos = 0,
        },
        MinNodeCpus = 0,
        NodeAffinities = new[]
        {
            new Gcp.Compute.Inputs.InstanceSchedulingNodeAffinityArgs
            {
                Key = "string",
                Operator = "string",
                Values = new[]
                {
                    "string",
                },
            },
        },
        OnHostMaintenance = "string",
        OnInstanceStopAction = new Gcp.Compute.Inputs.InstanceSchedulingOnInstanceStopActionArgs
        {
            DiscardLocalSsd = false,
        },
        Preemptible = false,
        ProvisioningModel = "string",
        TerminationTime = "string",
    },
    ScratchDisks = new[]
    {
        new Gcp.Compute.Inputs.InstanceScratchDiskArgs
        {
            Interface = "string",
            DeviceName = "string",
            Size = 0,
        },
    },
    ServiceAccount = new Gcp.Compute.Inputs.InstanceServiceAccountArgs
    {
        Scopes = new[]
        {
            "string",
        },
        Email = "string",
    },
    ShieldedInstanceConfig = new Gcp.Compute.Inputs.InstanceShieldedInstanceConfigArgs
    {
        EnableIntegrityMonitoring = false,
        EnableSecureBoot = false,
        EnableVtpm = false,
    },
    Tags = new[]
    {
        "string",
    },
    Zone = "string",
});
example, err := compute.NewInstance(ctx, "exampleinstanceResourceResourceFromComputeinstance", &compute.InstanceArgs{
	BootDisk: &compute.InstanceBootDiskArgs{
		AutoDelete:              pulumi.Bool(false),
		DeviceName:              pulumi.String("string"),
		DiskEncryptionKeyRaw:    pulumi.String("string"),
		DiskEncryptionKeySha256: pulumi.String("string"),
		InitializeParams: &compute.InstanceBootDiskInitializeParamsArgs{
			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"),
	},
	NetworkInterfaces: compute.InstanceNetworkInterfaceArray{
		&compute.InstanceNetworkInterfaceArgs{
			AccessConfigs: compute.InstanceNetworkInterfaceAccessConfigArray{
				&compute.InstanceNetworkInterfaceAccessConfigArgs{
					NatIp:               pulumi.String("string"),
					NetworkTier:         pulumi.String("string"),
					PublicPtrDomainName: pulumi.String("string"),
					SecurityPolicy:      pulumi.String("string"),
				},
			},
			AliasIpRanges: compute.InstanceNetworkInterfaceAliasIpRangeArray{
				&compute.InstanceNetworkInterfaceAliasIpRangeArgs{
					IpCidrRange:         pulumi.String("string"),
					SubnetworkRangeName: pulumi.String("string"),
				},
			},
			InternalIpv6PrefixLength: pulumi.Int(0),
			Ipv6AccessConfigs: compute.InstanceNetworkInterfaceIpv6AccessConfigArray{
				&compute.InstanceNetworkInterfaceIpv6AccessConfigArgs{
					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"),
		},
	},
	MachineType:           pulumi.String("string"),
	MetadataStartupScript: pulumi.String("string"),
	Description:           pulumi.String("string"),
	MinCpuPlatform:        pulumi.String("string"),
	DeletionProtection:    pulumi.Bool(false),
	Name:                  pulumi.String("string"),
	DesiredStatus:         pulumi.String("string"),
	EnableDisplay:         pulumi.Bool(false),
	GuestAccelerators: compute.InstanceGuestAcceleratorArray{
		&compute.InstanceGuestAcceleratorArgs{
			Count: pulumi.Int(0),
			Type:  pulumi.String("string"),
		},
	},
	Hostname:                pulumi.String("string"),
	KeyRevocationActionType: pulumi.String("string"),
	Labels: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	AllowStoppingForUpdate: pulumi.Bool(false),
	Metadata: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	AdvancedMachineFeatures: &compute.InstanceAdvancedMachineFeaturesArgs{
		EnableNestedVirtualization: pulumi.Bool(false),
		EnableUefiNetworking:       pulumi.Bool(false),
		PerformanceMonitoringUnit:  pulumi.String("string"),
		ThreadsPerCore:             pulumi.Int(0),
		TurboMode:                  pulumi.String("string"),
		VisibleCoreCount:           pulumi.Int(0),
	},
	ConfidentialInstanceConfig: &compute.InstanceConfidentialInstanceConfigArgs{
		ConfidentialInstanceType:  pulumi.String("string"),
		EnableConfidentialCompute: pulumi.Bool(false),
	},
	CanIpForward: pulumi.Bool(false),
	AttachedDisks: compute.InstanceAttachedDiskArray{
		&compute.InstanceAttachedDiskArgs{
			Source:                  pulumi.String("string"),
			DeviceName:              pulumi.String("string"),
			DiskEncryptionKeyRaw:    pulumi.String("string"),
			DiskEncryptionKeySha256: pulumi.String("string"),
			KmsKeySelfLink:          pulumi.String("string"),
			Mode:                    pulumi.String("string"),
		},
	},
	NetworkPerformanceConfig: &compute.InstanceNetworkPerformanceConfigArgs{
		TotalEgressBandwidthTier: pulumi.String("string"),
	},
	Params: &compute.InstanceParamsArgs{
		ResourceManagerTags: pulumi.StringMap{
			"string": pulumi.String("string"),
		},
	},
	PartnerMetadata: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	Project: pulumi.String("string"),
	ReservationAffinity: &compute.InstanceReservationAffinityArgs{
		Type: pulumi.String("string"),
		SpecificReservation: &compute.InstanceReservationAffinitySpecificReservationArgs{
			Key: pulumi.String("string"),
			Values: pulumi.StringArray{
				pulumi.String("string"),
			},
		},
	},
	ResourcePolicies: pulumi.String("string"),
	Scheduling: &compute.InstanceSchedulingArgs{
		AutomaticRestart:   pulumi.Bool(false),
		AvailabilityDomain: pulumi.Int(0),
		GracefulShutdown: &compute.InstanceSchedulingGracefulShutdownArgs{
			Enabled: pulumi.Bool(false),
			MaxDuration: &compute.InstanceSchedulingGracefulShutdownMaxDurationArgs{
				Seconds: pulumi.Int(0),
				Nanos:   pulumi.Int(0),
			},
		},
		HostErrorTimeoutSeconds:   pulumi.Int(0),
		InstanceTerminationAction: pulumi.String("string"),
		LocalSsdRecoveryTimeout: &compute.InstanceSchedulingLocalSsdRecoveryTimeoutArgs{
			Seconds: pulumi.Int(0),
			Nanos:   pulumi.Int(0),
		},
		MaintenanceInterval: pulumi.String("string"),
		MaxRunDuration: &compute.InstanceSchedulingMaxRunDurationArgs{
			Seconds: pulumi.Int(0),
			Nanos:   pulumi.Int(0),
		},
		MinNodeCpus: pulumi.Int(0),
		NodeAffinities: compute.InstanceSchedulingNodeAffinityArray{
			&compute.InstanceSchedulingNodeAffinityArgs{
				Key:      pulumi.String("string"),
				Operator: pulumi.String("string"),
				Values: pulumi.StringArray{
					pulumi.String("string"),
				},
			},
		},
		OnHostMaintenance: pulumi.String("string"),
		OnInstanceStopAction: &compute.InstanceSchedulingOnInstanceStopActionArgs{
			DiscardLocalSsd: pulumi.Bool(false),
		},
		Preemptible:       pulumi.Bool(false),
		ProvisioningModel: pulumi.String("string"),
		TerminationTime:   pulumi.String("string"),
	},
	ScratchDisks: compute.InstanceScratchDiskArray{
		&compute.InstanceScratchDiskArgs{
			Interface:  pulumi.String("string"),
			DeviceName: pulumi.String("string"),
			Size:       pulumi.Int(0),
		},
	},
	ServiceAccount: &compute.InstanceServiceAccountArgs{
		Scopes: pulumi.StringArray{
			pulumi.String("string"),
		},
		Email: pulumi.String("string"),
	},
	ShieldedInstanceConfig: &compute.InstanceShieldedInstanceConfigArgs{
		EnableIntegrityMonitoring: pulumi.Bool(false),
		EnableSecureBoot:          pulumi.Bool(false),
		EnableVtpm:                pulumi.Bool(false),
	},
	Tags: pulumi.StringArray{
		pulumi.String("string"),
	},
	Zone: pulumi.String("string"),
})
var exampleinstanceResourceResourceFromComputeinstance = new Instance("exampleinstanceResourceResourceFromComputeinstance", InstanceArgs.builder()
    .bootDisk(InstanceBootDiskArgs.builder()
        .autoDelete(false)
        .deviceName("string")
        .diskEncryptionKeyRaw("string")
        .diskEncryptionKeySha256("string")
        .initializeParams(InstanceBootDiskInitializeParamsArgs.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())
    .networkInterfaces(InstanceNetworkInterfaceArgs.builder()
        .accessConfigs(InstanceNetworkInterfaceAccessConfigArgs.builder()
            .natIp("string")
            .networkTier("string")
            .publicPtrDomainName("string")
            .securityPolicy("string")
            .build())
        .aliasIpRanges(InstanceNetworkInterfaceAliasIpRangeArgs.builder()
            .ipCidrRange("string")
            .subnetworkRangeName("string")
            .build())
        .internalIpv6PrefixLength(0)
        .ipv6AccessConfigs(InstanceNetworkInterfaceIpv6AccessConfigArgs.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())
    .machineType("string")
    .metadataStartupScript("string")
    .description("string")
    .minCpuPlatform("string")
    .deletionProtection(false)
    .name("string")
    .desiredStatus("string")
    .enableDisplay(false)
    .guestAccelerators(InstanceGuestAcceleratorArgs.builder()
        .count(0)
        .type("string")
        .build())
    .hostname("string")
    .keyRevocationActionType("string")
    .labels(Map.of("string", "string"))
    .allowStoppingForUpdate(false)
    .metadata(Map.of("string", "string"))
    .advancedMachineFeatures(InstanceAdvancedMachineFeaturesArgs.builder()
        .enableNestedVirtualization(false)
        .enableUefiNetworking(false)
        .performanceMonitoringUnit("string")
        .threadsPerCore(0)
        .turboMode("string")
        .visibleCoreCount(0)
        .build())
    .confidentialInstanceConfig(InstanceConfidentialInstanceConfigArgs.builder()
        .confidentialInstanceType("string")
        .enableConfidentialCompute(false)
        .build())
    .canIpForward(false)
    .attachedDisks(InstanceAttachedDiskArgs.builder()
        .source("string")
        .deviceName("string")
        .diskEncryptionKeyRaw("string")
        .diskEncryptionKeySha256("string")
        .kmsKeySelfLink("string")
        .mode("string")
        .build())
    .networkPerformanceConfig(InstanceNetworkPerformanceConfigArgs.builder()
        .totalEgressBandwidthTier("string")
        .build())
    .params(InstanceParamsArgs.builder()
        .resourceManagerTags(Map.of("string", "string"))
        .build())
    .partnerMetadata(Map.of("string", "string"))
    .project("string")
    .reservationAffinity(InstanceReservationAffinityArgs.builder()
        .type("string")
        .specificReservation(InstanceReservationAffinitySpecificReservationArgs.builder()
            .key("string")
            .values("string")
            .build())
        .build())
    .resourcePolicies("string")
    .scheduling(InstanceSchedulingArgs.builder()
        .automaticRestart(false)
        .availabilityDomain(0)
        .gracefulShutdown(InstanceSchedulingGracefulShutdownArgs.builder()
            .enabled(false)
            .maxDuration(InstanceSchedulingGracefulShutdownMaxDurationArgs.builder()
                .seconds(0)
                .nanos(0)
                .build())
            .build())
        .hostErrorTimeoutSeconds(0)
        .instanceTerminationAction("string")
        .localSsdRecoveryTimeout(InstanceSchedulingLocalSsdRecoveryTimeoutArgs.builder()
            .seconds(0)
            .nanos(0)
            .build())
        .maintenanceInterval("string")
        .maxRunDuration(InstanceSchedulingMaxRunDurationArgs.builder()
            .seconds(0)
            .nanos(0)
            .build())
        .minNodeCpus(0)
        .nodeAffinities(InstanceSchedulingNodeAffinityArgs.builder()
            .key("string")
            .operator("string")
            .values("string")
            .build())
        .onHostMaintenance("string")
        .onInstanceStopAction(InstanceSchedulingOnInstanceStopActionArgs.builder()
            .discardLocalSsd(false)
            .build())
        .preemptible(false)
        .provisioningModel("string")
        .terminationTime("string")
        .build())
    .scratchDisks(InstanceScratchDiskArgs.builder()
        .interface_("string")
        .deviceName("string")
        .size(0)
        .build())
    .serviceAccount(InstanceServiceAccountArgs.builder()
        .scopes("string")
        .email("string")
        .build())
    .shieldedInstanceConfig(InstanceShieldedInstanceConfigArgs.builder()
        .enableIntegrityMonitoring(false)
        .enableSecureBoot(false)
        .enableVtpm(false)
        .build())
    .tags("string")
    .zone("string")
    .build());
exampleinstance_resource_resource_from_computeinstance = gcp.compute.Instance("exampleinstanceResourceResourceFromComputeinstance",
    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",
    },
    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",
    }],
    machine_type="string",
    metadata_startup_script="string",
    description="string",
    min_cpu_platform="string",
    deletion_protection=False,
    name="string",
    desired_status="string",
    enable_display=False,
    guest_accelerators=[{
        "count": 0,
        "type": "string",
    }],
    hostname="string",
    key_revocation_action_type="string",
    labels={
        "string": "string",
    },
    allow_stopping_for_update=False,
    metadata={
        "string": "string",
    },
    advanced_machine_features={
        "enable_nested_virtualization": False,
        "enable_uefi_networking": False,
        "performance_monitoring_unit": "string",
        "threads_per_core": 0,
        "turbo_mode": "string",
        "visible_core_count": 0,
    },
    confidential_instance_config={
        "confidential_instance_type": "string",
        "enable_confidential_compute": False,
    },
    can_ip_forward=False,
    attached_disks=[{
        "source": "string",
        "device_name": "string",
        "disk_encryption_key_raw": "string",
        "disk_encryption_key_sha256": "string",
        "kms_key_self_link": "string",
        "mode": "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,
        "availability_domain": 0,
        "graceful_shutdown": {
            "enabled": False,
            "max_duration": {
                "seconds": 0,
                "nanos": 0,
            },
        },
        "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",
        "termination_time": "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,
    },
    tags=["string"],
    zone="string")
const exampleinstanceResourceResourceFromComputeinstance = new gcp.compute.Instance("exampleinstanceResourceResourceFromComputeinstance", {
    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",
    },
    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",
    }],
    machineType: "string",
    metadataStartupScript: "string",
    description: "string",
    minCpuPlatform: "string",
    deletionProtection: false,
    name: "string",
    desiredStatus: "string",
    enableDisplay: false,
    guestAccelerators: [{
        count: 0,
        type: "string",
    }],
    hostname: "string",
    keyRevocationActionType: "string",
    labels: {
        string: "string",
    },
    allowStoppingForUpdate: false,
    metadata: {
        string: "string",
    },
    advancedMachineFeatures: {
        enableNestedVirtualization: false,
        enableUefiNetworking: false,
        performanceMonitoringUnit: "string",
        threadsPerCore: 0,
        turboMode: "string",
        visibleCoreCount: 0,
    },
    confidentialInstanceConfig: {
        confidentialInstanceType: "string",
        enableConfidentialCompute: false,
    },
    canIpForward: false,
    attachedDisks: [{
        source: "string",
        deviceName: "string",
        diskEncryptionKeyRaw: "string",
        diskEncryptionKeySha256: "string",
        kmsKeySelfLink: "string",
        mode: "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,
        availabilityDomain: 0,
        gracefulShutdown: {
            enabled: false,
            maxDuration: {
                seconds: 0,
                nanos: 0,
            },
        },
        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",
        terminationTime: "string",
    },
    scratchDisks: [{
        "interface": "string",
        deviceName: "string",
        size: 0,
    }],
    serviceAccount: {
        scopes: ["string"],
        email: "string",
    },
    shieldedInstanceConfig: {
        enableIntegrityMonitoring: false,
        enableSecureBoot: false,
        enableVtpm: false,
    },
    tags: ["string"],
    zone: "string",
});
type: gcp:compute:Instance
properties:
    advancedMachineFeatures:
        enableNestedVirtualization: false
        enableUefiNetworking: false
        performanceMonitoringUnit: string
        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
        availabilityDomain: 0
        gracefulShutdown:
            enabled: false
            maxDuration:
                nanos: 0
                seconds: 0
        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
        terminationTime: string
    scratchDisks:
        - deviceName: string
          interface: string
          size: 0
    serviceAccount:
        email: string
        scopes:
            - string
    shieldedInstanceConfig:
        enableIntegrityMonitoring: false
        enableSecureBoot: false
        enableVtpm: false
    tags:
        - string
    zone: string
Instance 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 Instance resource accepts the following input properties:
- BootDisk InstanceBoot Disk 
- The boot disk for the instance. Structure is documented below.
- MachineType string
- The machine type to create. - Note: If you want to update this value (resize the VM) after initial creation, you must set - allow_stopping_for_updateto- true.- Custom machine types can be formatted as - custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY_MB, e.g.- custom-6-20480for 6 vCPU and 20GB of RAM. Because of current API limitations some custom machine types may get converted to different machine types (such as an equivalent standard type) and cause non-empty plans in your configuration. Use- lifecycle.ignore_changeson- machine_typein these cases.- There is a limit of 6.5 GB per CPU unless you add extended memory. You must do this explicitly by adding the suffix - -ext, e.g.- custom-2-15360-extfor 2 vCPU and 15 GB of memory.
- NetworkInterfaces List<InstanceNetwork Interface> 
- Networks to attach to the instance. This can
be specified multiple times. Structure is documented below.
- AdvancedMachine InstanceFeatures Advanced Machine Features 
- Configure Nested Virtualisation and Simultaneous Hyper Threading on this VM. Structure is documented below
- AllowStopping boolFor Update 
- If true, allows this prvider to stop the instance to update its properties. If you try to update a property that requires stopping the instance without setting this field, the update will fail.
- AttachedDisks List<InstanceAttached Disk> 
- Additional disks to attach to the instance. Can be repeated multiple times for multiple disks. Structure is documented below.
- CanIp boolForward 
- Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false.
- ConfidentialInstance InstanceConfig Confidential Instance Config 
- Enable Confidential Mode on this VM. Structure is documented below
- DeletionProtection bool
- Enable deletion protection on this instance. Defaults to false.
Note: you must disable deletion protection before removing the resource (e.g., via pulumi destroy), or the instance cannot be deleted and the provider run will not complete successfully.
- Description string
- A brief description of this resource.
- DesiredStatus string
- Desired status of the instance. Either
"RUNNING","SUSPENDED"or"TERMINATED".
- EnableDisplay bool
- Enable Virtual Displays on this instance.
Note: allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- GuestAccelerators List<InstanceGuest Accelerator> 
- List of the type and count of accelerator cards attached to the instance. Structure documented below.
Note: GPU accelerators can only be used with on_host_maintenanceoption set to TERMINATE.
- 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.
- KeyRevocation stringAction Type 
- Action to be taken when a customer's encryption key is revoked. Supports STOPandNONE, withNONEbeing the default.
- Labels Dictionary<string, string>
- A map of key/value label pairs to assign 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.
- Metadata Dictionary<string, string>
- Metadata key/value pairs to make available from within the instance. Ssh keys attached in the Cloud Console will be removed. Add them to your config in order to keep them attached to your instance. A list of predefined metadata keys (e.g. ssh-keys) can be found here - Depending on the OS you choose for your instance, some metadata keys have special functionality. Most linux-based images will run the content of - metadata.startup-scriptin a shell on every boot. At a minimum, Debian, CentOS, RHEL, SLES, Container-Optimized OS, and Ubuntu images support this key. Windows instances require other keys depending on the format of the script and the time you would like it to run - see this table. For the convenience of the users of- metadata.startup-script, we provide a special attribute,- metadata_startup_script, which is documented below.
- MetadataStartup stringScript 
- An alternative to using the
startup-script metadata key, except this one forces the instance to be recreated
(thus re-running the script) if it is changed. This replaces the startup-script
metadata key on the created instance and thus the two mechanisms are not
allowed to be used simultaneously. Users are free to use either mechanism - the
only distinction is that this separate attribute will cause a recreate on
modification. On import, metadata_startup_scriptwill not be set - if you choose to specify it you will see a diff immediately after import causing a destroy/recreate operation. If importing an instance and specifying this value is desired, you will need to modify your state file.
- MinCpu stringPlatform 
- Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as
Intel HaswellorIntel Skylake. See the complete list here. Note:allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- Name string
- A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
- NetworkPerformance InstanceConfig Network Performance Config 
- (Optional, Beta
Configures network performance settings for the instance. Structure is
documented below. Note: machine_typemust be a supported type, theimageused must include theGVNICinguest-os-features, andnetwork_interface.0.nic-typemust beGVNICin order for this setting to take effect.
- Params
InstanceParams 
- Additional instance parameters. .
- PartnerMetadata Dictionary<string, string>
- Beta key/value pair represents partner metadata assigned to instance where key represent a defined namespace and value is a json string represent the entries associted with the namespace.
- Project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- ReservationAffinity InstanceReservation Affinity 
- Specifies the reservations that this instance can consume from. Structure is documented below.
- ResourcePolicies string
- A list of self_links of resource policies to attach to the instance. Modifying this list will cause the instance to recreate. Currently a max of 1 resource policy is supported.
 
- Scheduling
InstanceScheduling 
- The scheduling strategy to use. More details about this configuration option are detailed below.
- ScratchDisks List<InstanceScratch Disk> 
- Scratch disks to attach to the instance. This can be specified multiple times for multiple scratch disks. Structure is documented below.
- ServiceAccount InstanceService Account 
- Service account to attach to the instance.
Structure is documented below.
Note: allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- ShieldedInstance InstanceConfig Shielded Instance Config 
- Enable Shielded VM on this instance. Shielded VM provides verifiable integrity to prevent against malware and rootkits. Defaults to disabled. Structure is documented below.
Note: shielded_instance_configcan only be used with boot images with shielded vm support. See the complete list here. Note:allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- List<string>
- A list of network tags to attach to the instance.
- Zone string
- The zone that the machine should be created in. If it is not provided, the provider zone is used.
- BootDisk InstanceBoot Disk Args 
- The boot disk for the instance. Structure is documented below.
- MachineType string
- The machine type to create. - Note: If you want to update this value (resize the VM) after initial creation, you must set - allow_stopping_for_updateto- true.- Custom machine types can be formatted as - custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY_MB, e.g.- custom-6-20480for 6 vCPU and 20GB of RAM. Because of current API limitations some custom machine types may get converted to different machine types (such as an equivalent standard type) and cause non-empty plans in your configuration. Use- lifecycle.ignore_changeson- machine_typein these cases.- There is a limit of 6.5 GB per CPU unless you add extended memory. You must do this explicitly by adding the suffix - -ext, e.g.- custom-2-15360-extfor 2 vCPU and 15 GB of memory.
- NetworkInterfaces []InstanceNetwork Interface Args 
- Networks to attach to the instance. This can
be specified multiple times. Structure is documented below.
- AdvancedMachine InstanceFeatures Advanced Machine Features Args 
- Configure Nested Virtualisation and Simultaneous Hyper Threading on this VM. Structure is documented below
- AllowStopping boolFor Update 
- If true, allows this prvider to stop the instance to update its properties. If you try to update a property that requires stopping the instance without setting this field, the update will fail.
- AttachedDisks []InstanceAttached Disk Args 
- Additional disks to attach to the instance. Can be repeated multiple times for multiple disks. Structure is documented below.
- CanIp boolForward 
- Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false.
- ConfidentialInstance InstanceConfig Confidential Instance Config Args 
- Enable Confidential Mode on this VM. Structure is documented below
- DeletionProtection bool
- Enable deletion protection on this instance. Defaults to false.
Note: you must disable deletion protection before removing the resource (e.g., via pulumi destroy), or the instance cannot be deleted and the provider run will not complete successfully.
- Description string
- A brief description of this resource.
- DesiredStatus string
- Desired status of the instance. Either
"RUNNING","SUSPENDED"or"TERMINATED".
- EnableDisplay bool
- Enable Virtual Displays on this instance.
Note: allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- GuestAccelerators []InstanceGuest Accelerator Args 
- List of the type and count of accelerator cards attached to the instance. Structure documented below.
Note: GPU accelerators can only be used with on_host_maintenanceoption set to TERMINATE.
- 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.
- KeyRevocation stringAction Type 
- Action to be taken when a customer's encryption key is revoked. Supports STOPandNONE, withNONEbeing the default.
- Labels map[string]string
- A map of key/value label pairs to assign 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.
- Metadata map[string]string
- Metadata key/value pairs to make available from within the instance. Ssh keys attached in the Cloud Console will be removed. Add them to your config in order to keep them attached to your instance. A list of predefined metadata keys (e.g. ssh-keys) can be found here - Depending on the OS you choose for your instance, some metadata keys have special functionality. Most linux-based images will run the content of - metadata.startup-scriptin a shell on every boot. At a minimum, Debian, CentOS, RHEL, SLES, Container-Optimized OS, and Ubuntu images support this key. Windows instances require other keys depending on the format of the script and the time you would like it to run - see this table. For the convenience of the users of- metadata.startup-script, we provide a special attribute,- metadata_startup_script, which is documented below.
- MetadataStartup stringScript 
- An alternative to using the
startup-script metadata key, except this one forces the instance to be recreated
(thus re-running the script) if it is changed. This replaces the startup-script
metadata key on the created instance and thus the two mechanisms are not
allowed to be used simultaneously. Users are free to use either mechanism - the
only distinction is that this separate attribute will cause a recreate on
modification. On import, metadata_startup_scriptwill not be set - if you choose to specify it you will see a diff immediately after import causing a destroy/recreate operation. If importing an instance and specifying this value is desired, you will need to modify your state file.
- MinCpu stringPlatform 
- Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as
Intel HaswellorIntel Skylake. See the complete list here. Note:allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- Name string
- A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
- NetworkPerformance InstanceConfig Network Performance Config Args 
- (Optional, Beta
Configures network performance settings for the instance. Structure is
documented below. Note: machine_typemust be a supported type, theimageused must include theGVNICinguest-os-features, andnetwork_interface.0.nic-typemust beGVNICin order for this setting to take effect.
- Params
InstanceParams Args 
- Additional instance parameters. .
- PartnerMetadata map[string]string
- Beta key/value pair represents partner metadata assigned to instance where key represent a defined namespace and value is a json string represent the entries associted with the namespace.
- Project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- ReservationAffinity InstanceReservation Affinity Args 
- Specifies the reservations that this instance can consume from. Structure is documented below.
- ResourcePolicies string
- A list of self_links of resource policies to attach to the instance. Modifying this list will cause the instance to recreate. Currently a max of 1 resource policy is supported.
 
- Scheduling
InstanceScheduling Args 
- The scheduling strategy to use. More details about this configuration option are detailed below.
- ScratchDisks []InstanceScratch Disk Args 
- Scratch disks to attach to the instance. This can be specified multiple times for multiple scratch disks. Structure is documented below.
- ServiceAccount InstanceService Account Args 
- Service account to attach to the instance.
Structure is documented below.
Note: allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- ShieldedInstance InstanceConfig Shielded Instance Config Args 
- Enable Shielded VM on this instance. Shielded VM provides verifiable integrity to prevent against malware and rootkits. Defaults to disabled. Structure is documented below.
Note: shielded_instance_configcan only be used with boot images with shielded vm support. See the complete list here. Note:allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- []string
- A list of network tags to attach to the instance.
- Zone string
- The zone that the machine should be created in. If it is not provided, the provider zone is used.
- bootDisk InstanceBoot Disk 
- The boot disk for the instance. Structure is documented below.
- machineType String
- The machine type to create. - Note: If you want to update this value (resize the VM) after initial creation, you must set - allow_stopping_for_updateto- true.- Custom machine types can be formatted as - custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY_MB, e.g.- custom-6-20480for 6 vCPU and 20GB of RAM. Because of current API limitations some custom machine types may get converted to different machine types (such as an equivalent standard type) and cause non-empty plans in your configuration. Use- lifecycle.ignore_changeson- machine_typein these cases.- There is a limit of 6.5 GB per CPU unless you add extended memory. You must do this explicitly by adding the suffix - -ext, e.g.- custom-2-15360-extfor 2 vCPU and 15 GB of memory.
- networkInterfaces List<InstanceNetwork Interface> 
- Networks to attach to the instance. This can
be specified multiple times. Structure is documented below.
- advancedMachine InstanceFeatures Advanced Machine Features 
- Configure Nested Virtualisation and Simultaneous Hyper Threading on this VM. Structure is documented below
- allowStopping BooleanFor Update 
- If true, allows this prvider to stop the instance to update its properties. If you try to update a property that requires stopping the instance without setting this field, the update will fail.
- attachedDisks List<InstanceAttached Disk> 
- Additional disks to attach to the instance. Can be repeated multiple times for multiple disks. Structure is documented below.
- canIp BooleanForward 
- Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false.
- confidentialInstance InstanceConfig Confidential Instance Config 
- Enable Confidential Mode on this VM. Structure is documented below
- deletionProtection Boolean
- Enable deletion protection on this instance. Defaults to false.
Note: you must disable deletion protection before removing the resource (e.g., via pulumi destroy), or the instance cannot be deleted and the provider run will not complete successfully.
- description String
- A brief description of this resource.
- desiredStatus String
- Desired status of the instance. Either
"RUNNING","SUSPENDED"or"TERMINATED".
- enableDisplay Boolean
- Enable Virtual Displays on this instance.
Note: allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- guestAccelerators List<InstanceGuest Accelerator> 
- List of the type and count of accelerator cards attached to the instance. Structure documented below.
Note: GPU accelerators can only be used with on_host_maintenanceoption set to TERMINATE.
- 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.
- keyRevocation StringAction Type 
- Action to be taken when a customer's encryption key is revoked. Supports STOPandNONE, withNONEbeing the default.
- labels Map<String,String>
- A map of key/value label pairs to assign 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.
- metadata Map<String,String>
- Metadata key/value pairs to make available from within the instance. Ssh keys attached in the Cloud Console will be removed. Add them to your config in order to keep them attached to your instance. A list of predefined metadata keys (e.g. ssh-keys) can be found here - Depending on the OS you choose for your instance, some metadata keys have special functionality. Most linux-based images will run the content of - metadata.startup-scriptin a shell on every boot. At a minimum, Debian, CentOS, RHEL, SLES, Container-Optimized OS, and Ubuntu images support this key. Windows instances require other keys depending on the format of the script and the time you would like it to run - see this table. For the convenience of the users of- metadata.startup-script, we provide a special attribute,- metadata_startup_script, which is documented below.
- metadataStartup StringScript 
- An alternative to using the
startup-script metadata key, except this one forces the instance to be recreated
(thus re-running the script) if it is changed. This replaces the startup-script
metadata key on the created instance and thus the two mechanisms are not
allowed to be used simultaneously. Users are free to use either mechanism - the
only distinction is that this separate attribute will cause a recreate on
modification. On import, metadata_startup_scriptwill not be set - if you choose to specify it you will see a diff immediately after import causing a destroy/recreate operation. If importing an instance and specifying this value is desired, you will need to modify your state file.
- minCpu StringPlatform 
- Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as
Intel HaswellorIntel Skylake. See the complete list here. Note:allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- name String
- A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
- networkPerformance InstanceConfig Network Performance Config 
- (Optional, Beta
Configures network performance settings for the instance. Structure is
documented below. Note: machine_typemust be a supported type, theimageused must include theGVNICinguest-os-features, andnetwork_interface.0.nic-typemust beGVNICin order for this setting to take effect.
- params
InstanceParams 
- Additional instance parameters. .
- partnerMetadata Map<String,String>
- Beta key/value pair represents partner metadata assigned to instance where key represent a defined namespace and value is a json string represent the entries associted with the namespace.
- project String
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- reservationAffinity InstanceReservation Affinity 
- Specifies the reservations that this instance can consume from. Structure is documented below.
- resourcePolicies String
- A list of self_links of resource policies to attach to the instance. Modifying this list will cause the instance to recreate. Currently a max of 1 resource policy is supported.
 
- scheduling
InstanceScheduling 
- The scheduling strategy to use. More details about this configuration option are detailed below.
- scratchDisks List<InstanceScratch Disk> 
- Scratch disks to attach to the instance. This can be specified multiple times for multiple scratch disks. Structure is documented below.
- serviceAccount InstanceService Account 
- Service account to attach to the instance.
Structure is documented below.
Note: allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- shieldedInstance InstanceConfig Shielded Instance Config 
- Enable Shielded VM on this instance. Shielded VM provides verifiable integrity to prevent against malware and rootkits. Defaults to disabled. Structure is documented below.
Note: shielded_instance_configcan only be used with boot images with shielded vm support. See the complete list here. Note:allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- List<String>
- A list of network tags to attach to the instance.
- zone String
- The zone that the machine should be created in. If it is not provided, the provider zone is used.
- bootDisk InstanceBoot Disk 
- The boot disk for the instance. Structure is documented below.
- machineType string
- The machine type to create. - Note: If you want to update this value (resize the VM) after initial creation, you must set - allow_stopping_for_updateto- true.- Custom machine types can be formatted as - custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY_MB, e.g.- custom-6-20480for 6 vCPU and 20GB of RAM. Because of current API limitations some custom machine types may get converted to different machine types (such as an equivalent standard type) and cause non-empty plans in your configuration. Use- lifecycle.ignore_changeson- machine_typein these cases.- There is a limit of 6.5 GB per CPU unless you add extended memory. You must do this explicitly by adding the suffix - -ext, e.g.- custom-2-15360-extfor 2 vCPU and 15 GB of memory.
- networkInterfaces InstanceNetwork Interface[] 
- Networks to attach to the instance. This can
be specified multiple times. Structure is documented below.
- advancedMachine InstanceFeatures Advanced Machine Features 
- Configure Nested Virtualisation and Simultaneous Hyper Threading on this VM. Structure is documented below
- allowStopping booleanFor Update 
- If true, allows this prvider to stop the instance to update its properties. If you try to update a property that requires stopping the instance without setting this field, the update will fail.
- attachedDisks InstanceAttached Disk[] 
- Additional disks to attach to the instance. Can be repeated multiple times for multiple disks. Structure is documented below.
- canIp booleanForward 
- Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false.
- confidentialInstance InstanceConfig Confidential Instance Config 
- Enable Confidential Mode on this VM. Structure is documented below
- deletionProtection boolean
- Enable deletion protection on this instance. Defaults to false.
Note: you must disable deletion protection before removing the resource (e.g., via pulumi destroy), or the instance cannot be deleted and the provider run will not complete successfully.
- description string
- A brief description of this resource.
- desiredStatus string
- Desired status of the instance. Either
"RUNNING","SUSPENDED"or"TERMINATED".
- enableDisplay boolean
- Enable Virtual Displays on this instance.
Note: allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- guestAccelerators InstanceGuest Accelerator[] 
- List of the type and count of accelerator cards attached to the instance. Structure documented below.
Note: GPU accelerators can only be used with on_host_maintenanceoption set to TERMINATE.
- 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.
- keyRevocation stringAction Type 
- Action to be taken when a customer's encryption key is revoked. Supports STOPandNONE, withNONEbeing the default.
- labels {[key: string]: string}
- A map of key/value label pairs to assign 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.
- metadata {[key: string]: string}
- Metadata key/value pairs to make available from within the instance. Ssh keys attached in the Cloud Console will be removed. Add them to your config in order to keep them attached to your instance. A list of predefined metadata keys (e.g. ssh-keys) can be found here - Depending on the OS you choose for your instance, some metadata keys have special functionality. Most linux-based images will run the content of - metadata.startup-scriptin a shell on every boot. At a minimum, Debian, CentOS, RHEL, SLES, Container-Optimized OS, and Ubuntu images support this key. Windows instances require other keys depending on the format of the script and the time you would like it to run - see this table. For the convenience of the users of- metadata.startup-script, we provide a special attribute,- metadata_startup_script, which is documented below.
- metadataStartup stringScript 
- An alternative to using the
startup-script metadata key, except this one forces the instance to be recreated
(thus re-running the script) if it is changed. This replaces the startup-script
metadata key on the created instance and thus the two mechanisms are not
allowed to be used simultaneously. Users are free to use either mechanism - the
only distinction is that this separate attribute will cause a recreate on
modification. On import, metadata_startup_scriptwill not be set - if you choose to specify it you will see a diff immediately after import causing a destroy/recreate operation. If importing an instance and specifying this value is desired, you will need to modify your state file.
- minCpu stringPlatform 
- Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as
Intel HaswellorIntel Skylake. See the complete list here. Note:allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- name string
- A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
- networkPerformance InstanceConfig Network Performance Config 
- (Optional, Beta
Configures network performance settings for the instance. Structure is
documented below. Note: machine_typemust be a supported type, theimageused must include theGVNICinguest-os-features, andnetwork_interface.0.nic-typemust beGVNICin order for this setting to take effect.
- params
InstanceParams 
- Additional instance parameters. .
- partnerMetadata {[key: string]: string}
- Beta key/value pair represents partner metadata assigned to instance where key represent a defined namespace and value is a json string represent the entries associted with the namespace.
- project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- reservationAffinity InstanceReservation Affinity 
- Specifies the reservations that this instance can consume from. Structure is documented below.
- resourcePolicies string
- A list of self_links of resource policies to attach to the instance. Modifying this list will cause the instance to recreate. Currently a max of 1 resource policy is supported.
 
- scheduling
InstanceScheduling 
- The scheduling strategy to use. More details about this configuration option are detailed below.
- scratchDisks InstanceScratch Disk[] 
- Scratch disks to attach to the instance. This can be specified multiple times for multiple scratch disks. Structure is documented below.
- serviceAccount InstanceService Account 
- Service account to attach to the instance.
Structure is documented below.
Note: allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- shieldedInstance InstanceConfig Shielded Instance Config 
- Enable Shielded VM on this instance. Shielded VM provides verifiable integrity to prevent against malware and rootkits. Defaults to disabled. Structure is documented below.
Note: shielded_instance_configcan only be used with boot images with shielded vm support. See the complete list here. Note:allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- string[]
- A list of network tags to attach to the instance.
- zone string
- The zone that the machine should be created in. If it is not provided, the provider zone is used.
- boot_disk InstanceBoot Disk Args 
- The boot disk for the instance. Structure is documented below.
- machine_type str
- The machine type to create. - Note: If you want to update this value (resize the VM) after initial creation, you must set - allow_stopping_for_updateto- true.- Custom machine types can be formatted as - custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY_MB, e.g.- custom-6-20480for 6 vCPU and 20GB of RAM. Because of current API limitations some custom machine types may get converted to different machine types (such as an equivalent standard type) and cause non-empty plans in your configuration. Use- lifecycle.ignore_changeson- machine_typein these cases.- There is a limit of 6.5 GB per CPU unless you add extended memory. You must do this explicitly by adding the suffix - -ext, e.g.- custom-2-15360-extfor 2 vCPU and 15 GB of memory.
- network_interfaces Sequence[InstanceNetwork Interface Args] 
- Networks to attach to the instance. This can
be specified multiple times. Structure is documented below.
- advanced_machine_ Instancefeatures Advanced Machine Features Args 
- Configure Nested Virtualisation and Simultaneous Hyper Threading on this VM. Structure is documented below
- allow_stopping_ boolfor_ update 
- If true, allows this prvider to stop the instance to update its properties. If you try to update a property that requires stopping the instance without setting this field, the update will fail.
- attached_disks Sequence[InstanceAttached Disk Args] 
- Additional disks to attach to the instance. Can be repeated multiple times for multiple disks. Structure is documented below.
- can_ip_ boolforward 
- Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false.
- confidential_instance_ Instanceconfig Confidential Instance Config Args 
- Enable Confidential Mode on this VM. Structure is documented below
- deletion_protection bool
- Enable deletion protection on this instance. Defaults to false.
Note: you must disable deletion protection before removing the resource (e.g., via pulumi destroy), or the instance cannot be deleted and the provider run will not complete successfully.
- description str
- A brief description of this resource.
- desired_status str
- Desired status of the instance. Either
"RUNNING","SUSPENDED"or"TERMINATED".
- enable_display bool
- Enable Virtual Displays on this instance.
Note: allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- guest_accelerators Sequence[InstanceGuest Accelerator Args] 
- List of the type and count of accelerator cards attached to the instance. Structure documented below.
Note: GPU accelerators can only be used with on_host_maintenanceoption set to TERMINATE.
- 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_ straction_ type 
- Action to be taken when a customer's encryption key is revoked. Supports STOPandNONE, withNONEbeing the default.
- labels Mapping[str, str]
- A map of key/value label pairs to assign 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.
- metadata Mapping[str, str]
- Metadata key/value pairs to make available from within the instance. Ssh keys attached in the Cloud Console will be removed. Add them to your config in order to keep them attached to your instance. A list of predefined metadata keys (e.g. ssh-keys) can be found here - Depending on the OS you choose for your instance, some metadata keys have special functionality. Most linux-based images will run the content of - metadata.startup-scriptin a shell on every boot. At a minimum, Debian, CentOS, RHEL, SLES, Container-Optimized OS, and Ubuntu images support this key. Windows instances require other keys depending on the format of the script and the time you would like it to run - see this table. For the convenience of the users of- metadata.startup-script, we provide a special attribute,- metadata_startup_script, which is documented below.
- metadata_startup_ strscript 
- An alternative to using the
startup-script metadata key, except this one forces the instance to be recreated
(thus re-running the script) if it is changed. This replaces the startup-script
metadata key on the created instance and thus the two mechanisms are not
allowed to be used simultaneously. Users are free to use either mechanism - the
only distinction is that this separate attribute will cause a recreate on
modification. On import, metadata_startup_scriptwill not be set - if you choose to specify it you will see a diff immediately after import causing a destroy/recreate operation. If importing an instance and specifying this value is desired, you will need to modify your state file.
- min_cpu_ strplatform 
- Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as
Intel HaswellorIntel Skylake. See the complete list here. Note:allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- name str
- A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
- network_performance_ Instanceconfig Network Performance Config Args 
- (Optional, Beta
Configures network performance settings for the instance. Structure is
documented below. Note: machine_typemust be a supported type, theimageused must include theGVNICinguest-os-features, andnetwork_interface.0.nic-typemust beGVNICin order for this setting to take effect.
- params
InstanceParams Args 
- Additional instance parameters. .
- partner_metadata Mapping[str, str]
- Beta key/value pair represents partner metadata assigned to instance where key represent a defined namespace and value is a json string represent the entries associted with the namespace.
- project str
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- reservation_affinity InstanceReservation Affinity Args 
- Specifies the reservations that this instance can consume from. Structure is documented below.
- resource_policies str
- A list of self_links of resource policies to attach to the instance. Modifying this list will cause the instance to recreate. Currently a max of 1 resource policy is supported.
 
- scheduling
InstanceScheduling Args 
- The scheduling strategy to use. More details about this configuration option are detailed below.
- scratch_disks Sequence[InstanceScratch Disk Args] 
- Scratch disks to attach to the instance. This can be specified multiple times for multiple scratch disks. Structure is documented below.
- service_account InstanceService Account Args 
- Service account to attach to the instance.
Structure is documented below.
Note: allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- shielded_instance_ Instanceconfig Shielded Instance Config Args 
- Enable Shielded VM on this instance. Shielded VM provides verifiable integrity to prevent against malware and rootkits. Defaults to disabled. Structure is documented below.
Note: shielded_instance_configcan only be used with boot images with shielded vm support. See the complete list here. Note:allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- Sequence[str]
- A list of network tags to attach to the instance.
- zone str
- The zone that the machine should be created in. If it is not provided, the provider zone is used.
- bootDisk Property Map
- The boot disk for the instance. Structure is documented below.
- machineType String
- The machine type to create. - Note: If you want to update this value (resize the VM) after initial creation, you must set - allow_stopping_for_updateto- true.- Custom machine types can be formatted as - custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY_MB, e.g.- custom-6-20480for 6 vCPU and 20GB of RAM. Because of current API limitations some custom machine types may get converted to different machine types (such as an equivalent standard type) and cause non-empty plans in your configuration. Use- lifecycle.ignore_changeson- machine_typein these cases.- There is a limit of 6.5 GB per CPU unless you add extended memory. You must do this explicitly by adding the suffix - -ext, e.g.- custom-2-15360-extfor 2 vCPU and 15 GB of memory.
- networkInterfaces List<Property Map>
- Networks to attach to the instance. This can
be specified multiple times. Structure is documented below.
- advancedMachine Property MapFeatures 
- Configure Nested Virtualisation and Simultaneous Hyper Threading on this VM. Structure is documented below
- allowStopping BooleanFor Update 
- If true, allows this prvider to stop the instance to update its properties. If you try to update a property that requires stopping the instance without setting this field, the update will fail.
- attachedDisks List<Property Map>
- Additional disks to attach to the instance. Can be repeated multiple times for multiple disks. Structure is documented below.
- canIp BooleanForward 
- Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false.
- confidentialInstance Property MapConfig 
- Enable Confidential Mode on this VM. Structure is documented below
- deletionProtection Boolean
- Enable deletion protection on this instance. Defaults to false.
Note: you must disable deletion protection before removing the resource (e.g., via pulumi destroy), or the instance cannot be deleted and the provider run will not complete successfully.
- description String
- A brief description of this resource.
- desiredStatus String
- Desired status of the instance. Either
"RUNNING","SUSPENDED"or"TERMINATED".
- enableDisplay Boolean
- Enable Virtual Displays on this instance.
Note: allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- guestAccelerators List<Property Map>
- List of the type and count of accelerator cards attached to the instance. Structure documented below.
Note: GPU accelerators can only be used with on_host_maintenanceoption set to TERMINATE.
- 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.
- keyRevocation StringAction Type 
- Action to be taken when a customer's encryption key is revoked. Supports STOPandNONE, withNONEbeing the default.
- labels Map<String>
- A map of key/value label pairs to assign 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.
- metadata Map<String>
- Metadata key/value pairs to make available from within the instance. Ssh keys attached in the Cloud Console will be removed. Add them to your config in order to keep them attached to your instance. A list of predefined metadata keys (e.g. ssh-keys) can be found here - Depending on the OS you choose for your instance, some metadata keys have special functionality. Most linux-based images will run the content of - metadata.startup-scriptin a shell on every boot. At a minimum, Debian, CentOS, RHEL, SLES, Container-Optimized OS, and Ubuntu images support this key. Windows instances require other keys depending on the format of the script and the time you would like it to run - see this table. For the convenience of the users of- metadata.startup-script, we provide a special attribute,- metadata_startup_script, which is documented below.
- metadataStartup StringScript 
- An alternative to using the
startup-script metadata key, except this one forces the instance to be recreated
(thus re-running the script) if it is changed. This replaces the startup-script
metadata key on the created instance and thus the two mechanisms are not
allowed to be used simultaneously. Users are free to use either mechanism - the
only distinction is that this separate attribute will cause a recreate on
modification. On import, metadata_startup_scriptwill not be set - if you choose to specify it you will see a diff immediately after import causing a destroy/recreate operation. If importing an instance and specifying this value is desired, you will need to modify your state file.
- minCpu StringPlatform 
- Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as
Intel HaswellorIntel Skylake. See the complete list here. Note:allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- name String
- A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
- networkPerformance Property MapConfig 
- (Optional, Beta
Configures network performance settings for the instance. Structure is
documented below. Note: machine_typemust be a supported type, theimageused must include theGVNICinguest-os-features, andnetwork_interface.0.nic-typemust beGVNICin order for this setting to take effect.
- params Property Map
- Additional instance parameters. .
- partnerMetadata Map<String>
- Beta key/value pair represents partner metadata assigned to instance where key represent a defined namespace and value is a json string represent the entries associted with the namespace.
- project String
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- reservationAffinity Property Map
- Specifies the reservations that this instance can consume from. Structure is documented below.
- resourcePolicies String
- A list of self_links of resource policies to attach to the instance. Modifying this list will cause the instance to recreate. Currently a max of 1 resource policy is supported.
 
- scheduling Property Map
- The scheduling strategy to use. More details about this configuration option are detailed below.
- scratchDisks List<Property Map>
- Scratch disks to attach to the instance. This can be specified multiple times for multiple scratch disks. Structure is documented below.
- serviceAccount Property Map
- Service account to attach to the instance.
Structure is documented below.
Note: allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- shieldedInstance Property MapConfig 
- Enable Shielded VM on this instance. Shielded VM provides verifiable integrity to prevent against malware and rootkits. Defaults to disabled. Structure is documented below.
Note: shielded_instance_configcan only be used with boot images with shielded vm support. See the complete list here. Note:allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- List<String>
- A list of network tags to attach to the instance.
- zone String
- The zone that the machine should be created in. If it is not provided, the provider zone is used.
Outputs
All input properties are implicitly available as output properties. Additionally, the Instance 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
- The 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>
- All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- 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.
- 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
- The 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
- All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- 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.
- 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
- The 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>
- All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- 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.
- 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
- The 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}
- All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- 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.
- 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
- The 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]
- All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- 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.
- 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
- The 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>
- All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- 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.
- String
- The unique fingerprint of the tags.
Look up Existing Instance Resource
Get an existing Instance 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?: InstanceState, opts?: CustomResourceOptions): Instance@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        advanced_machine_features: Optional[InstanceAdvancedMachineFeaturesArgs] = None,
        allow_stopping_for_update: Optional[bool] = None,
        attached_disks: Optional[Sequence[InstanceAttachedDiskArgs]] = None,
        boot_disk: Optional[InstanceBootDiskArgs] = None,
        can_ip_forward: Optional[bool] = None,
        confidential_instance_config: Optional[InstanceConfidentialInstanceConfigArgs] = 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[InstanceGuestAcceleratorArgs]] = 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[InstanceNetworkInterfaceArgs]] = None,
        network_performance_config: Optional[InstanceNetworkPerformanceConfigArgs] = None,
        params: Optional[InstanceParamsArgs] = None,
        partner_metadata: Optional[Mapping[str, str]] = None,
        project: Optional[str] = None,
        pulumi_labels: Optional[Mapping[str, str]] = None,
        reservation_affinity: Optional[InstanceReservationAffinityArgs] = None,
        resource_policies: Optional[str] = None,
        scheduling: Optional[InstanceSchedulingArgs] = None,
        scratch_disks: Optional[Sequence[InstanceScratchDiskArgs]] = None,
        self_link: Optional[str] = None,
        service_account: Optional[InstanceServiceAccountArgs] = None,
        shielded_instance_config: Optional[InstanceShieldedInstanceConfigArgs] = None,
        tags: Optional[Sequence[str]] = None,
        tags_fingerprint: Optional[str] = None,
        zone: Optional[str] = None) -> Instancefunc GetInstance(ctx *Context, name string, id IDInput, state *InstanceState, opts ...ResourceOption) (*Instance, error)public static Instance Get(string name, Input<string> id, InstanceState? state, CustomResourceOptions? opts = null)public static Instance get(String name, Output<String> id, InstanceState state, CustomResourceOptions options)resources:  _:    type: gcp:compute:Instance    get:      id: ${id}- 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.
- AdvancedMachine InstanceFeatures Advanced Machine Features 
- Configure Nested Virtualisation and Simultaneous Hyper Threading on this VM. Structure is documented below
- AllowStopping boolFor Update 
- If true, allows this prvider to stop the instance to update its properties. If you try to update a property that requires stopping the instance without setting this field, the update will fail.
- AttachedDisks List<InstanceAttached Disk> 
- Additional disks to attach to the instance. Can be repeated multiple times for multiple disks. Structure is documented below.
- BootDisk InstanceBoot Disk 
- The boot disk for the instance. Structure is documented below.
- CanIp boolForward 
- Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false.
- ConfidentialInstance InstanceConfig Confidential Instance Config 
- Enable Confidential Mode on this VM. Structure is documented below
- CpuPlatform string
- The CPU platform used by this instance.
- CreationTimestamp string
- Creation timestamp in RFC3339 text format.
- CurrentStatus string
- The 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
- Enable deletion protection on this instance. Defaults to false.
Note: you must disable deletion protection before removing the resource (e.g., via pulumi destroy), or the instance cannot be deleted and the provider run will not complete successfully.
- Description string
- A brief description of this resource.
- DesiredStatus string
- Desired status of the instance. Either
"RUNNING","SUSPENDED"or"TERMINATED".
- EffectiveLabels Dictionary<string, string>
- All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- EnableDisplay bool
- Enable Virtual Displays on this instance.
Note: allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- GuestAccelerators List<InstanceGuest Accelerator> 
- List of the type and count of accelerator cards attached to the instance. Structure documented below.
Note: GPU accelerators can only be used with on_host_maintenanceoption set to TERMINATE.
- 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.
- KeyRevocation stringAction Type 
- Action to be taken when a customer's encryption key is revoked. Supports STOPandNONE, withNONEbeing the default.
- LabelFingerprint string
- The unique fingerprint of the labels.
- Labels Dictionary<string, string>
- A map of key/value label pairs to assign 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. - Note: If you want to update this value (resize the VM) after initial creation, you must set - allow_stopping_for_updateto- true.- Custom machine types can be formatted as - custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY_MB, e.g.- custom-6-20480for 6 vCPU and 20GB of RAM. Because of current API limitations some custom machine types may get converted to different machine types (such as an equivalent standard type) and cause non-empty plans in your configuration. Use- lifecycle.ignore_changeson- machine_typein these cases.- There is a limit of 6.5 GB per CPU unless you add extended memory. You must do this explicitly by adding the suffix - -ext, e.g.- custom-2-15360-extfor 2 vCPU and 15 GB of memory.
- Metadata Dictionary<string, string>
- Metadata key/value pairs to make available from within the instance. Ssh keys attached in the Cloud Console will be removed. Add them to your config in order to keep them attached to your instance. A list of predefined metadata keys (e.g. ssh-keys) can be found here - Depending on the OS you choose for your instance, some metadata keys have special functionality. Most linux-based images will run the content of - metadata.startup-scriptin a shell on every boot. At a minimum, Debian, CentOS, RHEL, SLES, Container-Optimized OS, and Ubuntu images support this key. Windows instances require other keys depending on the format of the script and the time you would like it to run - see this table. For the convenience of the users of- metadata.startup-script, we provide a special attribute,- metadata_startup_script, which is documented below.
- MetadataFingerprint string
- The unique fingerprint of the metadata.
- MetadataStartup stringScript 
- An alternative to using the
startup-script metadata key, except this one forces the instance to be recreated
(thus re-running the script) if it is changed. This replaces the startup-script
metadata key on the created instance and thus the two mechanisms are not
allowed to be used simultaneously. Users are free to use either mechanism - the
only distinction is that this separate attribute will cause a recreate on
modification. On import, metadata_startup_scriptwill not be set - if you choose to specify it you will see a diff immediately after import causing a destroy/recreate operation. If importing an instance and specifying this value is desired, you will need to modify your state file.
- MinCpu stringPlatform 
- Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as
Intel HaswellorIntel Skylake. See the complete list here. Note:allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- Name string
- A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
- NetworkInterfaces List<InstanceNetwork Interface> 
- Networks to attach to the instance. This can
be specified multiple times. Structure is documented below.
- NetworkPerformance InstanceConfig Network Performance Config 
- (Optional, Beta
Configures network performance settings for the instance. Structure is
documented below. Note: machine_typemust be a supported type, theimageused must include theGVNICinguest-os-features, andnetwork_interface.0.nic-typemust beGVNICin order for this setting to take effect.
- Params
InstanceParams 
- Additional instance parameters. .
- PartnerMetadata Dictionary<string, string>
- Beta key/value pair represents partner metadata assigned to instance where key represent a defined namespace and value is a json string represent the entries associted with the namespace.
- Project string
- The ID of the project in which the resource belongs. If it is not 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 InstanceReservation Affinity 
- Specifies the reservations that this instance can consume from. Structure is documented below.
- ResourcePolicies string
- A list of self_links of resource policies to attach to the instance. Modifying this list will cause the instance to recreate. Currently a max of 1 resource policy is supported.
 
- Scheduling
InstanceScheduling 
- The scheduling strategy to use. More details about this configuration option are detailed below.
- ScratchDisks List<InstanceScratch Disk> 
- Scratch disks to attach to the instance. This can be specified multiple times for multiple scratch disks. Structure is documented below.
- SelfLink string
- The URI of the created resource.
- ServiceAccount InstanceService Account 
- Service account to attach to the instance.
Structure is documented below.
Note: allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- ShieldedInstance InstanceConfig Shielded Instance Config 
- Enable Shielded VM on this instance. Shielded VM provides verifiable integrity to prevent against malware and rootkits. Defaults to disabled. Structure is documented below.
Note: shielded_instance_configcan only be used with boot images with shielded vm support. See the complete list here. Note:allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- List<string>
- A list of network tags to attach to the instance.
- string
- The unique fingerprint of the tags.
- Zone string
- The zone that the machine should be created in. If it is not provided, the provider zone is used.
- AdvancedMachine InstanceFeatures Advanced Machine Features Args 
- Configure Nested Virtualisation and Simultaneous Hyper Threading on this VM. Structure is documented below
- AllowStopping boolFor Update 
- If true, allows this prvider to stop the instance to update its properties. If you try to update a property that requires stopping the instance without setting this field, the update will fail.
- AttachedDisks []InstanceAttached Disk Args 
- Additional disks to attach to the instance. Can be repeated multiple times for multiple disks. Structure is documented below.
- BootDisk InstanceBoot Disk Args 
- The boot disk for the instance. Structure is documented below.
- CanIp boolForward 
- Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false.
- ConfidentialInstance InstanceConfig Confidential Instance Config Args 
- Enable Confidential Mode on this VM. Structure is documented below
- CpuPlatform string
- The CPU platform used by this instance.
- CreationTimestamp string
- Creation timestamp in RFC3339 text format.
- CurrentStatus string
- The 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
- Enable deletion protection on this instance. Defaults to false.
Note: you must disable deletion protection before removing the resource (e.g., via pulumi destroy), or the instance cannot be deleted and the provider run will not complete successfully.
- Description string
- A brief description of this resource.
- DesiredStatus string
- Desired status of the instance. Either
"RUNNING","SUSPENDED"or"TERMINATED".
- EffectiveLabels map[string]string
- All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- EnableDisplay bool
- Enable Virtual Displays on this instance.
Note: allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- GuestAccelerators []InstanceGuest Accelerator Args 
- List of the type and count of accelerator cards attached to the instance. Structure documented below.
Note: GPU accelerators can only be used with on_host_maintenanceoption set to TERMINATE.
- 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.
- KeyRevocation stringAction Type 
- Action to be taken when a customer's encryption key is revoked. Supports STOPandNONE, withNONEbeing the default.
- LabelFingerprint string
- The unique fingerprint of the labels.
- Labels map[string]string
- A map of key/value label pairs to assign 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. - Note: If you want to update this value (resize the VM) after initial creation, you must set - allow_stopping_for_updateto- true.- Custom machine types can be formatted as - custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY_MB, e.g.- custom-6-20480for 6 vCPU and 20GB of RAM. Because of current API limitations some custom machine types may get converted to different machine types (such as an equivalent standard type) and cause non-empty plans in your configuration. Use- lifecycle.ignore_changeson- machine_typein these cases.- There is a limit of 6.5 GB per CPU unless you add extended memory. You must do this explicitly by adding the suffix - -ext, e.g.- custom-2-15360-extfor 2 vCPU and 15 GB of memory.
- Metadata map[string]string
- Metadata key/value pairs to make available from within the instance. Ssh keys attached in the Cloud Console will be removed. Add them to your config in order to keep them attached to your instance. A list of predefined metadata keys (e.g. ssh-keys) can be found here - Depending on the OS you choose for your instance, some metadata keys have special functionality. Most linux-based images will run the content of - metadata.startup-scriptin a shell on every boot. At a minimum, Debian, CentOS, RHEL, SLES, Container-Optimized OS, and Ubuntu images support this key. Windows instances require other keys depending on the format of the script and the time you would like it to run - see this table. For the convenience of the users of- metadata.startup-script, we provide a special attribute,- metadata_startup_script, which is documented below.
- MetadataFingerprint string
- The unique fingerprint of the metadata.
- MetadataStartup stringScript 
- An alternative to using the
startup-script metadata key, except this one forces the instance to be recreated
(thus re-running the script) if it is changed. This replaces the startup-script
metadata key on the created instance and thus the two mechanisms are not
allowed to be used simultaneously. Users are free to use either mechanism - the
only distinction is that this separate attribute will cause a recreate on
modification. On import, metadata_startup_scriptwill not be set - if you choose to specify it you will see a diff immediately after import causing a destroy/recreate operation. If importing an instance and specifying this value is desired, you will need to modify your state file.
- MinCpu stringPlatform 
- Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as
Intel HaswellorIntel Skylake. See the complete list here. Note:allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- Name string
- A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
- NetworkInterfaces []InstanceNetwork Interface Args 
- Networks to attach to the instance. This can
be specified multiple times. Structure is documented below.
- NetworkPerformance InstanceConfig Network Performance Config Args 
- (Optional, Beta
Configures network performance settings for the instance. Structure is
documented below. Note: machine_typemust be a supported type, theimageused must include theGVNICinguest-os-features, andnetwork_interface.0.nic-typemust beGVNICin order for this setting to take effect.
- Params
InstanceParams Args 
- Additional instance parameters. .
- PartnerMetadata map[string]string
- Beta key/value pair represents partner metadata assigned to instance where key represent a defined namespace and value is a json string represent the entries associted with the namespace.
- Project string
- The ID of the project in which the resource belongs. If it is not 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 InstanceReservation Affinity Args 
- Specifies the reservations that this instance can consume from. Structure is documented below.
- ResourcePolicies string
- A list of self_links of resource policies to attach to the instance. Modifying this list will cause the instance to recreate. Currently a max of 1 resource policy is supported.
 
- Scheduling
InstanceScheduling Args 
- The scheduling strategy to use. More details about this configuration option are detailed below.
- ScratchDisks []InstanceScratch Disk Args 
- Scratch disks to attach to the instance. This can be specified multiple times for multiple scratch disks. Structure is documented below.
- SelfLink string
- The URI of the created resource.
- ServiceAccount InstanceService Account Args 
- Service account to attach to the instance.
Structure is documented below.
Note: allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- ShieldedInstance InstanceConfig Shielded Instance Config Args 
- Enable Shielded VM on this instance. Shielded VM provides verifiable integrity to prevent against malware and rootkits. Defaults to disabled. Structure is documented below.
Note: shielded_instance_configcan only be used with boot images with shielded vm support. See the complete list here. Note:allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- []string
- A list of network tags to attach to the instance.
- string
- The unique fingerprint of the tags.
- Zone string
- The zone that the machine should be created in. If it is not provided, the provider zone is used.
- advancedMachine InstanceFeatures Advanced Machine Features 
- Configure Nested Virtualisation and Simultaneous Hyper Threading on this VM. Structure is documented below
- allowStopping BooleanFor Update 
- If true, allows this prvider to stop the instance to update its properties. If you try to update a property that requires stopping the instance without setting this field, the update will fail.
- attachedDisks List<InstanceAttached Disk> 
- Additional disks to attach to the instance. Can be repeated multiple times for multiple disks. Structure is documented below.
- bootDisk InstanceBoot Disk 
- The boot disk for the instance. Structure is documented below.
- canIp BooleanForward 
- Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false.
- confidentialInstance InstanceConfig Confidential Instance Config 
- Enable Confidential Mode on this VM. Structure is documented below
- cpuPlatform String
- The CPU platform used by this instance.
- creationTimestamp String
- Creation timestamp in RFC3339 text format.
- currentStatus String
- The 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
- Enable deletion protection on this instance. Defaults to false.
Note: you must disable deletion protection before removing the resource (e.g., via pulumi destroy), or the instance cannot be deleted and the provider run will not complete successfully.
- description String
- A brief description of this resource.
- desiredStatus String
- Desired status of the instance. Either
"RUNNING","SUSPENDED"or"TERMINATED".
- effectiveLabels Map<String,String>
- All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- enableDisplay Boolean
- Enable Virtual Displays on this instance.
Note: allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- guestAccelerators List<InstanceGuest Accelerator> 
- List of the type and count of accelerator cards attached to the instance. Structure documented below.
Note: GPU accelerators can only be used with on_host_maintenanceoption set to TERMINATE.
- 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.
- keyRevocation StringAction Type 
- Action to be taken when a customer's encryption key is revoked. Supports STOPandNONE, withNONEbeing the default.
- labelFingerprint String
- The unique fingerprint of the labels.
- labels Map<String,String>
- A map of key/value label pairs to assign 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. - Note: If you want to update this value (resize the VM) after initial creation, you must set - allow_stopping_for_updateto- true.- Custom machine types can be formatted as - custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY_MB, e.g.- custom-6-20480for 6 vCPU and 20GB of RAM. Because of current API limitations some custom machine types may get converted to different machine types (such as an equivalent standard type) and cause non-empty plans in your configuration. Use- lifecycle.ignore_changeson- machine_typein these cases.- There is a limit of 6.5 GB per CPU unless you add extended memory. You must do this explicitly by adding the suffix - -ext, e.g.- custom-2-15360-extfor 2 vCPU and 15 GB of memory.
- metadata Map<String,String>
- Metadata key/value pairs to make available from within the instance. Ssh keys attached in the Cloud Console will be removed. Add them to your config in order to keep them attached to your instance. A list of predefined metadata keys (e.g. ssh-keys) can be found here - Depending on the OS you choose for your instance, some metadata keys have special functionality. Most linux-based images will run the content of - metadata.startup-scriptin a shell on every boot. At a minimum, Debian, CentOS, RHEL, SLES, Container-Optimized OS, and Ubuntu images support this key. Windows instances require other keys depending on the format of the script and the time you would like it to run - see this table. For the convenience of the users of- metadata.startup-script, we provide a special attribute,- metadata_startup_script, which is documented below.
- metadataFingerprint String
- The unique fingerprint of the metadata.
- metadataStartup StringScript 
- An alternative to using the
startup-script metadata key, except this one forces the instance to be recreated
(thus re-running the script) if it is changed. This replaces the startup-script
metadata key on the created instance and thus the two mechanisms are not
allowed to be used simultaneously. Users are free to use either mechanism - the
only distinction is that this separate attribute will cause a recreate on
modification. On import, metadata_startup_scriptwill not be set - if you choose to specify it you will see a diff immediately after import causing a destroy/recreate operation. If importing an instance and specifying this value is desired, you will need to modify your state file.
- minCpu StringPlatform 
- Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as
Intel HaswellorIntel Skylake. See the complete list here. Note:allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- name String
- A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
- networkInterfaces List<InstanceNetwork Interface> 
- Networks to attach to the instance. This can
be specified multiple times. Structure is documented below.
- networkPerformance InstanceConfig Network Performance Config 
- (Optional, Beta
Configures network performance settings for the instance. Structure is
documented below. Note: machine_typemust be a supported type, theimageused must include theGVNICinguest-os-features, andnetwork_interface.0.nic-typemust beGVNICin order for this setting to take effect.
- params
InstanceParams 
- Additional instance parameters. .
- partnerMetadata Map<String,String>
- Beta key/value pair represents partner metadata assigned to instance where key represent a defined namespace and value is a json string represent the entries associted with the namespace.
- project String
- The ID of the project in which the resource belongs. If it is not 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 InstanceReservation Affinity 
- Specifies the reservations that this instance can consume from. Structure is documented below.
- resourcePolicies String
- A list of self_links of resource policies to attach to the instance. Modifying this list will cause the instance to recreate. Currently a max of 1 resource policy is supported.
 
- scheduling
InstanceScheduling 
- The scheduling strategy to use. More details about this configuration option are detailed below.
- scratchDisks List<InstanceScratch Disk> 
- Scratch disks to attach to the instance. This can be specified multiple times for multiple scratch disks. Structure is documented below.
- selfLink String
- The URI of the created resource.
- serviceAccount InstanceService Account 
- Service account to attach to the instance.
Structure is documented below.
Note: allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- shieldedInstance InstanceConfig Shielded Instance Config 
- Enable Shielded VM on this instance. Shielded VM provides verifiable integrity to prevent against malware and rootkits. Defaults to disabled. Structure is documented below.
Note: shielded_instance_configcan only be used with boot images with shielded vm support. See the complete list here. Note:allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- List<String>
- A list of network tags to attach to the instance.
- String
- The unique fingerprint of the tags.
- zone String
- The zone that the machine should be created in. If it is not provided, the provider zone is used.
- advancedMachine InstanceFeatures Advanced Machine Features 
- Configure Nested Virtualisation and Simultaneous Hyper Threading on this VM. Structure is documented below
- allowStopping booleanFor Update 
- If true, allows this prvider to stop the instance to update its properties. If you try to update a property that requires stopping the instance without setting this field, the update will fail.
- attachedDisks InstanceAttached Disk[] 
- Additional disks to attach to the instance. Can be repeated multiple times for multiple disks. Structure is documented below.
- bootDisk InstanceBoot Disk 
- The boot disk for the instance. Structure is documented below.
- canIp booleanForward 
- Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false.
- confidentialInstance InstanceConfig Confidential Instance Config 
- Enable Confidential Mode on this VM. Structure is documented below
- cpuPlatform string
- The CPU platform used by this instance.
- creationTimestamp string
- Creation timestamp in RFC3339 text format.
- currentStatus string
- The 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
- Enable deletion protection on this instance. Defaults to false.
Note: you must disable deletion protection before removing the resource (e.g., via pulumi destroy), or the instance cannot be deleted and the provider run will not complete successfully.
- description string
- A brief description of this resource.
- desiredStatus string
- Desired status of the instance. Either
"RUNNING","SUSPENDED"or"TERMINATED".
- effectiveLabels {[key: string]: string}
- All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- enableDisplay boolean
- Enable Virtual Displays on this instance.
Note: allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- guestAccelerators InstanceGuest Accelerator[] 
- List of the type and count of accelerator cards attached to the instance. Structure documented below.
Note: GPU accelerators can only be used with on_host_maintenanceoption set to TERMINATE.
- 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.
- keyRevocation stringAction Type 
- Action to be taken when a customer's encryption key is revoked. Supports STOPandNONE, withNONEbeing the default.
- labelFingerprint string
- The unique fingerprint of the labels.
- labels {[key: string]: string}
- A map of key/value label pairs to assign 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. - Note: If you want to update this value (resize the VM) after initial creation, you must set - allow_stopping_for_updateto- true.- Custom machine types can be formatted as - custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY_MB, e.g.- custom-6-20480for 6 vCPU and 20GB of RAM. Because of current API limitations some custom machine types may get converted to different machine types (such as an equivalent standard type) and cause non-empty plans in your configuration. Use- lifecycle.ignore_changeson- machine_typein these cases.- There is a limit of 6.5 GB per CPU unless you add extended memory. You must do this explicitly by adding the suffix - -ext, e.g.- custom-2-15360-extfor 2 vCPU and 15 GB of memory.
- metadata {[key: string]: string}
- Metadata key/value pairs to make available from within the instance. Ssh keys attached in the Cloud Console will be removed. Add them to your config in order to keep them attached to your instance. A list of predefined metadata keys (e.g. ssh-keys) can be found here - Depending on the OS you choose for your instance, some metadata keys have special functionality. Most linux-based images will run the content of - metadata.startup-scriptin a shell on every boot. At a minimum, Debian, CentOS, RHEL, SLES, Container-Optimized OS, and Ubuntu images support this key. Windows instances require other keys depending on the format of the script and the time you would like it to run - see this table. For the convenience of the users of- metadata.startup-script, we provide a special attribute,- metadata_startup_script, which is documented below.
- metadataFingerprint string
- The unique fingerprint of the metadata.
- metadataStartup stringScript 
- An alternative to using the
startup-script metadata key, except this one forces the instance to be recreated
(thus re-running the script) if it is changed. This replaces the startup-script
metadata key on the created instance and thus the two mechanisms are not
allowed to be used simultaneously. Users are free to use either mechanism - the
only distinction is that this separate attribute will cause a recreate on
modification. On import, metadata_startup_scriptwill not be set - if you choose to specify it you will see a diff immediately after import causing a destroy/recreate operation. If importing an instance and specifying this value is desired, you will need to modify your state file.
- minCpu stringPlatform 
- Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as
Intel HaswellorIntel Skylake. See the complete list here. Note:allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- name string
- A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
- networkInterfaces InstanceNetwork Interface[] 
- Networks to attach to the instance. This can
be specified multiple times. Structure is documented below.
- networkPerformance InstanceConfig Network Performance Config 
- (Optional, Beta
Configures network performance settings for the instance. Structure is
documented below. Note: machine_typemust be a supported type, theimageused must include theGVNICinguest-os-features, andnetwork_interface.0.nic-typemust beGVNICin order for this setting to take effect.
- params
InstanceParams 
- Additional instance parameters. .
- partnerMetadata {[key: string]: string}
- Beta key/value pair represents partner metadata assigned to instance where key represent a defined namespace and value is a json string represent the entries associted with the namespace.
- project string
- The ID of the project in which the resource belongs. If it is not 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 InstanceReservation Affinity 
- Specifies the reservations that this instance can consume from. Structure is documented below.
- resourcePolicies string
- A list of self_links of resource policies to attach to the instance. Modifying this list will cause the instance to recreate. Currently a max of 1 resource policy is supported.
 
- scheduling
InstanceScheduling 
- The scheduling strategy to use. More details about this configuration option are detailed below.
- scratchDisks InstanceScratch Disk[] 
- Scratch disks to attach to the instance. This can be specified multiple times for multiple scratch disks. Structure is documented below.
- selfLink string
- The URI of the created resource.
- serviceAccount InstanceService Account 
- Service account to attach to the instance.
Structure is documented below.
Note: allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- shieldedInstance InstanceConfig Shielded Instance Config 
- Enable Shielded VM on this instance. Shielded VM provides verifiable integrity to prevent against malware and rootkits. Defaults to disabled. Structure is documented below.
Note: shielded_instance_configcan only be used with boot images with shielded vm support. See the complete list here. Note:allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- string[]
- A list of network tags to attach to the instance.
- string
- The unique fingerprint of the tags.
- zone string
- The zone that the machine should be created in. If it is not provided, the provider zone is used.
- advanced_machine_ Instancefeatures Advanced Machine Features Args 
- Configure Nested Virtualisation and Simultaneous Hyper Threading on this VM. Structure is documented below
- allow_stopping_ boolfor_ update 
- If true, allows this prvider to stop the instance to update its properties. If you try to update a property that requires stopping the instance without setting this field, the update will fail.
- attached_disks Sequence[InstanceAttached Disk Args] 
- Additional disks to attach to the instance. Can be repeated multiple times for multiple disks. Structure is documented below.
- boot_disk InstanceBoot Disk Args 
- The boot disk for the instance. Structure is documented below.
- can_ip_ boolforward 
- Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false.
- confidential_instance_ Instanceconfig Confidential Instance Config Args 
- Enable Confidential Mode on this VM. Structure is documented below
- cpu_platform str
- The CPU platform used by this instance.
- creation_timestamp str
- Creation timestamp in RFC3339 text format.
- current_status str
- The 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
- Enable deletion protection on this instance. Defaults to false.
Note: you must disable deletion protection before removing the resource (e.g., via pulumi destroy), or the instance cannot be deleted and the provider run will not complete successfully.
- description str
- A brief description of this resource.
- desired_status str
- Desired status of the instance. Either
"RUNNING","SUSPENDED"or"TERMINATED".
- effective_labels Mapping[str, str]
- All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- enable_display bool
- Enable Virtual Displays on this instance.
Note: allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- guest_accelerators Sequence[InstanceGuest Accelerator Args] 
- List of the type and count of accelerator cards attached to the instance. Structure documented below.
Note: GPU accelerators can only be used with on_host_maintenanceoption set to TERMINATE.
- 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_ straction_ type 
- Action to be taken when a customer's encryption key is revoked. Supports STOPandNONE, withNONEbeing the default.
- label_fingerprint str
- The unique fingerprint of the labels.
- labels Mapping[str, str]
- A map of key/value label pairs to assign 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. - Note: If you want to update this value (resize the VM) after initial creation, you must set - allow_stopping_for_updateto- true.- Custom machine types can be formatted as - custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY_MB, e.g.- custom-6-20480for 6 vCPU and 20GB of RAM. Because of current API limitations some custom machine types may get converted to different machine types (such as an equivalent standard type) and cause non-empty plans in your configuration. Use- lifecycle.ignore_changeson- machine_typein these cases.- There is a limit of 6.5 GB per CPU unless you add extended memory. You must do this explicitly by adding the suffix - -ext, e.g.- custom-2-15360-extfor 2 vCPU and 15 GB of memory.
- metadata Mapping[str, str]
- Metadata key/value pairs to make available from within the instance. Ssh keys attached in the Cloud Console will be removed. Add them to your config in order to keep them attached to your instance. A list of predefined metadata keys (e.g. ssh-keys) can be found here - Depending on the OS you choose for your instance, some metadata keys have special functionality. Most linux-based images will run the content of - metadata.startup-scriptin a shell on every boot. At a minimum, Debian, CentOS, RHEL, SLES, Container-Optimized OS, and Ubuntu images support this key. Windows instances require other keys depending on the format of the script and the time you would like it to run - see this table. For the convenience of the users of- metadata.startup-script, we provide a special attribute,- metadata_startup_script, which is documented below.
- metadata_fingerprint str
- The unique fingerprint of the metadata.
- metadata_startup_ strscript 
- An alternative to using the
startup-script metadata key, except this one forces the instance to be recreated
(thus re-running the script) if it is changed. This replaces the startup-script
metadata key on the created instance and thus the two mechanisms are not
allowed to be used simultaneously. Users are free to use either mechanism - the
only distinction is that this separate attribute will cause a recreate on
modification. On import, metadata_startup_scriptwill not be set - if you choose to specify it you will see a diff immediately after import causing a destroy/recreate operation. If importing an instance and specifying this value is desired, you will need to modify your state file.
- min_cpu_ strplatform 
- Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as
Intel HaswellorIntel Skylake. See the complete list here. Note:allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- name str
- A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
- network_interfaces Sequence[InstanceNetwork Interface Args] 
- Networks to attach to the instance. This can
be specified multiple times. Structure is documented below.
- network_performance_ Instanceconfig Network Performance Config Args 
- (Optional, Beta
Configures network performance settings for the instance. Structure is
documented below. Note: machine_typemust be a supported type, theimageused must include theGVNICinguest-os-features, andnetwork_interface.0.nic-typemust beGVNICin order for this setting to take effect.
- params
InstanceParams Args 
- Additional instance parameters. .
- partner_metadata Mapping[str, str]
- Beta key/value pair represents partner metadata assigned to instance where key represent a defined namespace and value is a json string represent the entries associted with the namespace.
- project str
- The ID of the project in which the resource belongs. If it is not 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 InstanceReservation Affinity Args 
- Specifies the reservations that this instance can consume from. Structure is documented below.
- resource_policies str
- A list of self_links of resource policies to attach to the instance. Modifying this list will cause the instance to recreate. Currently a max of 1 resource policy is supported.
 
- scheduling
InstanceScheduling Args 
- The scheduling strategy to use. More details about this configuration option are detailed below.
- scratch_disks Sequence[InstanceScratch Disk Args] 
- Scratch disks to attach to the instance. This can be specified multiple times for multiple scratch disks. Structure is documented below.
- self_link str
- The URI of the created resource.
- service_account InstanceService Account Args 
- Service account to attach to the instance.
Structure is documented below.
Note: allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- shielded_instance_ Instanceconfig Shielded Instance Config Args 
- Enable Shielded VM on this instance. Shielded VM provides verifiable integrity to prevent against malware and rootkits. Defaults to disabled. Structure is documented below.
Note: shielded_instance_configcan only be used with boot images with shielded vm support. See the complete list here. Note:allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- Sequence[str]
- A list of network tags to attach to the instance.
- str
- The unique fingerprint of the tags.
- zone str
- The zone that the machine should be created in. If it is not provided, the provider zone is used.
- advancedMachine Property MapFeatures 
- Configure Nested Virtualisation and Simultaneous Hyper Threading on this VM. Structure is documented below
- allowStopping BooleanFor Update 
- If true, allows this prvider to stop the instance to update its properties. If you try to update a property that requires stopping the instance without setting this field, the update will fail.
- attachedDisks List<Property Map>
- Additional disks to attach to the instance. Can be repeated multiple times for multiple disks. Structure is documented below.
- bootDisk Property Map
- The boot disk for the instance. Structure is documented below.
- canIp BooleanForward 
- Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false.
- confidentialInstance Property MapConfig 
- Enable Confidential Mode on this VM. Structure is documented below
- cpuPlatform String
- The CPU platform used by this instance.
- creationTimestamp String
- Creation timestamp in RFC3339 text format.
- currentStatus String
- The 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
- Enable deletion protection on this instance. Defaults to false.
Note: you must disable deletion protection before removing the resource (e.g., via pulumi destroy), or the instance cannot be deleted and the provider run will not complete successfully.
- description String
- A brief description of this resource.
- desiredStatus String
- Desired status of the instance. Either
"RUNNING","SUSPENDED"or"TERMINATED".
- effectiveLabels Map<String>
- All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- enableDisplay Boolean
- Enable Virtual Displays on this instance.
Note: allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- guestAccelerators List<Property Map>
- List of the type and count of accelerator cards attached to the instance. Structure documented below.
Note: GPU accelerators can only be used with on_host_maintenanceoption set to TERMINATE.
- 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.
- keyRevocation StringAction Type 
- Action to be taken when a customer's encryption key is revoked. Supports STOPandNONE, withNONEbeing the default.
- labelFingerprint String
- The unique fingerprint of the labels.
- labels Map<String>
- A map of key/value label pairs to assign 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. - Note: If you want to update this value (resize the VM) after initial creation, you must set - allow_stopping_for_updateto- true.- Custom machine types can be formatted as - custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY_MB, e.g.- custom-6-20480for 6 vCPU and 20GB of RAM. Because of current API limitations some custom machine types may get converted to different machine types (such as an equivalent standard type) and cause non-empty plans in your configuration. Use- lifecycle.ignore_changeson- machine_typein these cases.- There is a limit of 6.5 GB per CPU unless you add extended memory. You must do this explicitly by adding the suffix - -ext, e.g.- custom-2-15360-extfor 2 vCPU and 15 GB of memory.
- metadata Map<String>
- Metadata key/value pairs to make available from within the instance. Ssh keys attached in the Cloud Console will be removed. Add them to your config in order to keep them attached to your instance. A list of predefined metadata keys (e.g. ssh-keys) can be found here - Depending on the OS you choose for your instance, some metadata keys have special functionality. Most linux-based images will run the content of - metadata.startup-scriptin a shell on every boot. At a minimum, Debian, CentOS, RHEL, SLES, Container-Optimized OS, and Ubuntu images support this key. Windows instances require other keys depending on the format of the script and the time you would like it to run - see this table. For the convenience of the users of- metadata.startup-script, we provide a special attribute,- metadata_startup_script, which is documented below.
- metadataFingerprint String
- The unique fingerprint of the metadata.
- metadataStartup StringScript 
- An alternative to using the
startup-script metadata key, except this one forces the instance to be recreated
(thus re-running the script) if it is changed. This replaces the startup-script
metadata key on the created instance and thus the two mechanisms are not
allowed to be used simultaneously. Users are free to use either mechanism - the
only distinction is that this separate attribute will cause a recreate on
modification. On import, metadata_startup_scriptwill not be set - if you choose to specify it you will see a diff immediately after import causing a destroy/recreate operation. If importing an instance and specifying this value is desired, you will need to modify your state file.
- minCpu StringPlatform 
- Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as
Intel HaswellorIntel Skylake. See the complete list here. Note:allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- name String
- A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
- networkInterfaces List<Property Map>
- Networks to attach to the instance. This can
be specified multiple times. Structure is documented below.
- networkPerformance Property MapConfig 
- (Optional, Beta
Configures network performance settings for the instance. Structure is
documented below. Note: machine_typemust be a supported type, theimageused must include theGVNICinguest-os-features, andnetwork_interface.0.nic-typemust beGVNICin order for this setting to take effect.
- params Property Map
- Additional instance parameters. .
- partnerMetadata Map<String>
- Beta key/value pair represents partner metadata assigned to instance where key represent a defined namespace and value is a json string represent the entries associted with the namespace.
- project String
- The ID of the project in which the resource belongs. If it is not 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. Structure is documented below.
- resourcePolicies String
- A list of self_links of resource policies to attach to the instance. Modifying this list will cause the instance to recreate. Currently a max of 1 resource policy is supported.
 
- scheduling Property Map
- The scheduling strategy to use. More details about this configuration option are detailed below.
- scratchDisks List<Property Map>
- Scratch disks to attach to the instance. This can be specified multiple times for multiple scratch disks. Structure is documented below.
- selfLink String
- The URI of the created resource.
- serviceAccount Property Map
- Service account to attach to the instance.
Structure is documented below.
Note: allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- shieldedInstance Property MapConfig 
- Enable Shielded VM on this instance. Shielded VM provides verifiable integrity to prevent against malware and rootkits. Defaults to disabled. Structure is documented below.
Note: shielded_instance_configcan only be used with boot images with shielded vm support. See the complete list here. Note:allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- List<String>
- A list of network tags to attach to the instance.
- String
- The unique fingerprint of the tags.
- zone String
- The zone that the machine should be created in. If it is not provided, the provider zone is used.
Supporting Types
InstanceAdvancedMachineFeatures, InstanceAdvancedMachineFeaturesArgs        
- EnableNested boolVirtualization 
- Defines whether the instance should have nested virtualization enabled. Defaults to false.
- EnableUefi boolNetworking 
- Whether to enable UEFI networking for instance creation.
- PerformanceMonitoring stringUnit 
- The PMU is a hardware component within the CPU core that monitors how the processor runs code. Valid values for the level of PMU are STANDARD,ENHANCED, andARCHITECTURAL.
- ThreadsPer intCore 
- The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1.
- TurboMode string
- Turbo frequency mode to use for the instance. Supported modes are currently either ALL_CORE_MAXor unset (default).
- VisibleCore intCount 
- The number of physical cores to expose to an instance. visible cores info (VC).
- EnableNested boolVirtualization 
- Defines whether the instance should have nested virtualization enabled. Defaults to false.
- EnableUefi boolNetworking 
- Whether to enable UEFI networking for instance creation.
- PerformanceMonitoring stringUnit 
- The PMU is a hardware component within the CPU core that monitors how the processor runs code. Valid values for the level of PMU are STANDARD,ENHANCED, andARCHITECTURAL.
- ThreadsPer intCore 
- The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1.
- TurboMode string
- Turbo frequency mode to use for the instance. Supported modes are currently either ALL_CORE_MAXor unset (default).
- VisibleCore intCount 
- The number of physical cores to expose to an instance. visible cores info (VC).
- enableNested BooleanVirtualization 
- Defines whether the instance should have nested virtualization enabled. Defaults to false.
- enableUefi BooleanNetworking 
- Whether to enable UEFI networking for instance creation.
- performanceMonitoring StringUnit 
- The PMU is a hardware component within the CPU core that monitors how the processor runs code. Valid values for the level of PMU are STANDARD,ENHANCED, andARCHITECTURAL.
- threadsPer IntegerCore 
- The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1.
- turboMode String
- Turbo frequency mode to use for the instance. Supported modes are currently either ALL_CORE_MAXor unset (default).
- visibleCore IntegerCount 
- The number of physical cores to expose to an instance. visible cores info (VC).
- enableNested booleanVirtualization 
- Defines whether the instance should have nested virtualization enabled. Defaults to false.
- enableUefi booleanNetworking 
- Whether to enable UEFI networking for instance creation.
- performanceMonitoring stringUnit 
- The PMU is a hardware component within the CPU core that monitors how the processor runs code. Valid values for the level of PMU are STANDARD,ENHANCED, andARCHITECTURAL.
- threadsPer numberCore 
- The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1.
- turboMode string
- Turbo frequency mode to use for the instance. Supported modes are currently either ALL_CORE_MAXor unset (default).
- visibleCore numberCount 
- The number of physical cores to expose to an instance. visible cores info (VC).
- enable_nested_ boolvirtualization 
- Defines whether the instance should have nested virtualization enabled. Defaults to false.
- enable_uefi_ boolnetworking 
- Whether to enable UEFI networking for instance creation.
- performance_monitoring_ strunit 
- The PMU is a hardware component within the CPU core that monitors how the processor runs code. Valid values for the level of PMU are STANDARD,ENHANCED, andARCHITECTURAL.
- threads_per_ intcore 
- The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1.
- turbo_mode str
- Turbo frequency mode to use for the instance. Supported modes are currently either ALL_CORE_MAXor unset (default).
- visible_core_ intcount 
- The number of physical cores to expose to an instance. visible cores info (VC).
- enableNested BooleanVirtualization 
- Defines whether the instance should have nested virtualization enabled. Defaults to false.
- enableUefi BooleanNetworking 
- Whether to enable UEFI networking for instance creation.
- performanceMonitoring StringUnit 
- The PMU is a hardware component within the CPU core that monitors how the processor runs code. Valid values for the level of PMU are STANDARD,ENHANCED, andARCHITECTURAL.
- threadsPer NumberCore 
- The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1.
- turboMode String
- Turbo frequency mode to use for the instance. Supported modes are currently either ALL_CORE_MAXor unset (default).
- visibleCore NumberCount 
- The number of physical cores to expose to an instance. visible cores info (VC).
InstanceAttachedDisk, InstanceAttachedDiskArgs      
- Source string
- The name or self_link of the disk to attach to this instance.
- DeviceName string
- Name with which the attached disk will be accessible
under /dev/disk/by-id/google-*
- DiskEncryption stringKey Raw 
- A 256-bit [customer-supplied encryption key]
(https://cloud.google.com/compute/docs/disks/customer-supplied-encryption),
encoded in RFC 4648 base64
to encrypt this disk. Only one of kms_key_self_linkanddisk_encryption_key_rawmay be set.
- DiskEncryption stringKey Sha256 
- The RFC 4648 base64 encoded SHA-256 hash of the [customer-supplied encryption key] (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) that protects this resource.
- KmsKey stringSelf Link 
- The self_link of the encryption key that is
stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_linkanddisk_encryption_key_rawmay be set.
- Mode string
- Either "READ_ONLY" or "READ_WRITE", defaults to "READ_WRITE" If you have a persistent disk with data that you want to share between multiple instances, detach it from any read-write instances and attach it to one or more instances in read-only mode.
- Source string
- The name or self_link of the disk to attach to this instance.
- DeviceName string
- Name with which the attached disk will be accessible
under /dev/disk/by-id/google-*
- DiskEncryption stringKey Raw 
- A 256-bit [customer-supplied encryption key]
(https://cloud.google.com/compute/docs/disks/customer-supplied-encryption),
encoded in RFC 4648 base64
to encrypt this disk. Only one of kms_key_self_linkanddisk_encryption_key_rawmay be set.
- DiskEncryption stringKey Sha256 
- The RFC 4648 base64 encoded SHA-256 hash of the [customer-supplied encryption key] (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) that protects this resource.
- KmsKey stringSelf Link 
- The self_link of the encryption key that is
stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_linkanddisk_encryption_key_rawmay be set.
- Mode string
- Either "READ_ONLY" or "READ_WRITE", defaults to "READ_WRITE" If you have a persistent disk with data that you want to share between multiple instances, detach it from any read-write instances and attach it to one or more instances in read-only mode.
- source String
- The name or self_link of the disk to attach to this instance.
- deviceName String
- Name with which the attached disk will be accessible
under /dev/disk/by-id/google-*
- diskEncryption StringKey Raw 
- A 256-bit [customer-supplied encryption key]
(https://cloud.google.com/compute/docs/disks/customer-supplied-encryption),
encoded in RFC 4648 base64
to encrypt this disk. Only one of kms_key_self_linkanddisk_encryption_key_rawmay be set.
- diskEncryption StringKey Sha256 
- The RFC 4648 base64 encoded SHA-256 hash of the [customer-supplied encryption key] (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) that protects this resource.
- kmsKey StringSelf Link 
- The self_link of the encryption key that is
stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_linkanddisk_encryption_key_rawmay be set.
- mode String
- Either "READ_ONLY" or "READ_WRITE", defaults to "READ_WRITE" If you have a persistent disk with data that you want to share between multiple instances, detach it from any read-write instances and attach it to one or more instances in read-only mode.
- source string
- The name or self_link of the disk to attach to this instance.
- deviceName string
- Name with which the attached disk will be accessible
under /dev/disk/by-id/google-*
- diskEncryption stringKey Raw 
- A 256-bit [customer-supplied encryption key]
(https://cloud.google.com/compute/docs/disks/customer-supplied-encryption),
encoded in RFC 4648 base64
to encrypt this disk. Only one of kms_key_self_linkanddisk_encryption_key_rawmay be set.
- diskEncryption stringKey Sha256 
- The RFC 4648 base64 encoded SHA-256 hash of the [customer-supplied encryption key] (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) that protects this resource.
- kmsKey stringSelf Link 
- The self_link of the encryption key that is
stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_linkanddisk_encryption_key_rawmay be set.
- mode string
- Either "READ_ONLY" or "READ_WRITE", defaults to "READ_WRITE" If you have a persistent disk with data that you want to share between multiple instances, detach it from any read-write instances and attach it to one or more instances in read-only mode.
- source str
- The name or self_link of the disk to attach to this instance.
- device_name str
- Name with which the attached disk will be accessible
under /dev/disk/by-id/google-*
- disk_encryption_ strkey_ raw 
- A 256-bit [customer-supplied encryption key]
(https://cloud.google.com/compute/docs/disks/customer-supplied-encryption),
encoded in RFC 4648 base64
to encrypt this disk. Only one of kms_key_self_linkanddisk_encryption_key_rawmay be set.
- disk_encryption_ strkey_ sha256 
- The RFC 4648 base64 encoded SHA-256 hash of the [customer-supplied encryption key] (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) that protects this resource.
- kms_key_ strself_ link 
- The self_link of the encryption key that is
stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_linkanddisk_encryption_key_rawmay be set.
- mode str
- Either "READ_ONLY" or "READ_WRITE", defaults to "READ_WRITE" If you have a persistent disk with data that you want to share between multiple instances, detach it from any read-write instances and attach it to one or more instances in read-only mode.
- source String
- The name or self_link of the disk to attach to this instance.
- deviceName String
- Name with which the attached disk will be accessible
under /dev/disk/by-id/google-*
- diskEncryption StringKey Raw 
- A 256-bit [customer-supplied encryption key]
(https://cloud.google.com/compute/docs/disks/customer-supplied-encryption),
encoded in RFC 4648 base64
to encrypt this disk. Only one of kms_key_self_linkanddisk_encryption_key_rawmay be set.
- diskEncryption StringKey Sha256 
- The RFC 4648 base64 encoded SHA-256 hash of the [customer-supplied encryption key] (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) that protects this resource.
- kmsKey StringSelf Link 
- The self_link of the encryption key that is
stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_linkanddisk_encryption_key_rawmay be set.
- mode String
- Either "READ_ONLY" or "READ_WRITE", defaults to "READ_WRITE" If you have a persistent disk with data that you want to share between multiple instances, detach it from any read-write instances and attach it to one or more instances in read-only mode.
InstanceBootDisk, InstanceBootDiskArgs      
- AutoDelete bool
- Whether the disk will be auto-deleted when the instance is deleted. Defaults to true.
- DeviceName string
- Name with which attached disk will be accessible.
On the instance, this device will be /dev/disk/by-id/google-{{device_name}}.
- DiskEncryption stringKey Raw 
- A 256-bit [customer-supplied encryption key]
(https://cloud.google.com/compute/docs/disks/customer-supplied-encryption),
encoded in RFC 4648 base64
to encrypt this disk. Only one of kms_key_self_linkanddisk_encryption_key_rawmay be set.
- DiskEncryption stringKey Sha256 
- The RFC 4648 base64 encoded SHA-256 hash of the [customer-supplied encryption key] (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) that protects this resource.
- InitializeParams InstanceBoot Disk Initialize Params 
- Parameters for a new disk that will be created
alongside the new instance. Either initialize_paramsorsourcemust be set. Structure is documented below.
- 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.)
- KmsKey stringSelf Link 
- The self_link of the encryption key that is
stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_linkanddisk_encryption_key_rawmay be set.
- Mode string
- The mode in which to attach this disk, either READ_WRITEorREAD_ONLY. If not specified, the default is to attach the disk inREAD_WRITEmode.
- Source string
- The name or self_link of the existing disk (such as those managed by
gcp.compute.Disk) or disk image. To create an instance from a snapshot, first create agcp.compute.Diskfrom a snapshot and reference it here.
- AutoDelete bool
- Whether the disk will be auto-deleted when the instance is deleted. Defaults to true.
- DeviceName string
- Name with which attached disk will be accessible.
On the instance, this device will be /dev/disk/by-id/google-{{device_name}}.
- DiskEncryption stringKey Raw 
- A 256-bit [customer-supplied encryption key]
(https://cloud.google.com/compute/docs/disks/customer-supplied-encryption),
encoded in RFC 4648 base64
to encrypt this disk. Only one of kms_key_self_linkanddisk_encryption_key_rawmay be set.
- DiskEncryption stringKey Sha256 
- The RFC 4648 base64 encoded SHA-256 hash of the [customer-supplied encryption key] (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) that protects this resource.
- InitializeParams InstanceBoot Disk Initialize Params 
- Parameters for a new disk that will be created
alongside the new instance. Either initialize_paramsorsourcemust be set. Structure is documented below.
- 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.)
- KmsKey stringSelf Link 
- The self_link of the encryption key that is
stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_linkanddisk_encryption_key_rawmay be set.
- Mode string
- The mode in which to attach this disk, either READ_WRITEorREAD_ONLY. If not specified, the default is to attach the disk inREAD_WRITEmode.
- Source string
- The name or self_link of the existing disk (such as those managed by
gcp.compute.Disk) or disk image. To create an instance from a snapshot, first create agcp.compute.Diskfrom a snapshot and reference it here.
- autoDelete Boolean
- Whether the disk will be auto-deleted when the instance is deleted. Defaults to true.
- deviceName String
- Name with which attached disk will be accessible.
On the instance, this device will be /dev/disk/by-id/google-{{device_name}}.
- diskEncryption StringKey Raw 
- A 256-bit [customer-supplied encryption key]
(https://cloud.google.com/compute/docs/disks/customer-supplied-encryption),
encoded in RFC 4648 base64
to encrypt this disk. Only one of kms_key_self_linkanddisk_encryption_key_rawmay be set.
- diskEncryption StringKey Sha256 
- The RFC 4648 base64 encoded SHA-256 hash of the [customer-supplied encryption key] (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) that protects this resource.
- initializeParams InstanceBoot Disk Initialize Params 
- Parameters for a new disk that will be created
alongside the new instance. Either initialize_paramsorsourcemust be set. Structure is documented below.
- 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.)
- kmsKey StringSelf Link 
- The self_link of the encryption key that is
stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_linkanddisk_encryption_key_rawmay be set.
- mode String
- The mode in which to attach this disk, either READ_WRITEorREAD_ONLY. If not specified, the default is to attach the disk inREAD_WRITEmode.
- source String
- The name or self_link of the existing disk (such as those managed by
gcp.compute.Disk) or disk image. To create an instance from a snapshot, first create agcp.compute.Diskfrom a snapshot and reference it here.
- autoDelete boolean
- Whether the disk will be auto-deleted when the instance is deleted. Defaults to true.
- deviceName string
- Name with which attached disk will be accessible.
On the instance, this device will be /dev/disk/by-id/google-{{device_name}}.
- diskEncryption stringKey Raw 
- A 256-bit [customer-supplied encryption key]
(https://cloud.google.com/compute/docs/disks/customer-supplied-encryption),
encoded in RFC 4648 base64
to encrypt this disk. Only one of kms_key_self_linkanddisk_encryption_key_rawmay be set.
- diskEncryption stringKey Sha256 
- The RFC 4648 base64 encoded SHA-256 hash of the [customer-supplied encryption key] (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) that protects this resource.
- initializeParams InstanceBoot Disk Initialize Params 
- Parameters for a new disk that will be created
alongside the new instance. Either initialize_paramsorsourcemust be set. Structure is documented below.
- 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.)
- kmsKey stringSelf Link 
- The self_link of the encryption key that is
stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_linkanddisk_encryption_key_rawmay be set.
- mode string
- The mode in which to attach this disk, either READ_WRITEorREAD_ONLY. If not specified, the default is to attach the disk inREAD_WRITEmode.
- source string
- The name or self_link of the existing disk (such as those managed by
gcp.compute.Disk) or disk image. To create an instance from a snapshot, first create agcp.compute.Diskfrom a snapshot and reference it here.
- auto_delete bool
- Whether the disk will be auto-deleted when the instance is deleted. Defaults to true.
- device_name str
- Name with which attached disk will be accessible.
On the instance, this device will be /dev/disk/by-id/google-{{device_name}}.
- disk_encryption_ strkey_ raw 
- A 256-bit [customer-supplied encryption key]
(https://cloud.google.com/compute/docs/disks/customer-supplied-encryption),
encoded in RFC 4648 base64
to encrypt this disk. Only one of kms_key_self_linkanddisk_encryption_key_rawmay be set.
- disk_encryption_ strkey_ sha256 
- The RFC 4648 base64 encoded SHA-256 hash of the [customer-supplied encryption key] (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) that protects this resource.
- initialize_params InstanceBoot Disk Initialize Params 
- Parameters for a new disk that will be created
alongside the new instance. Either initialize_paramsorsourcemust be set. Structure is documented below.
- 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_ strself_ link 
- The self_link of the encryption key that is
stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_linkanddisk_encryption_key_rawmay be set.
- mode str
- The mode in which to attach this disk, either READ_WRITEorREAD_ONLY. If not specified, the default is to attach the disk inREAD_WRITEmode.
- source str
- The name or self_link of the existing disk (such as those managed by
gcp.compute.Disk) or disk image. To create an instance from a snapshot, first create agcp.compute.Diskfrom a snapshot and reference it here.
- autoDelete Boolean
- Whether the disk will be auto-deleted when the instance is deleted. Defaults to true.
- deviceName String
- Name with which attached disk will be accessible.
On the instance, this device will be /dev/disk/by-id/google-{{device_name}}.
- diskEncryption StringKey Raw 
- A 256-bit [customer-supplied encryption key]
(https://cloud.google.com/compute/docs/disks/customer-supplied-encryption),
encoded in RFC 4648 base64
to encrypt this disk. Only one of kms_key_self_linkanddisk_encryption_key_rawmay be set.
- diskEncryption StringKey Sha256 
- The RFC 4648 base64 encoded SHA-256 hash of the [customer-supplied encryption key] (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) that protects this resource.
- initializeParams Property Map
- Parameters for a new disk that will be created
alongside the new instance. Either initialize_paramsorsourcemust be set. Structure is documented below.
- 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.)
- kmsKey StringSelf Link 
- The self_link of the encryption key that is
stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_linkanddisk_encryption_key_rawmay be set.
- mode String
- The mode in which to attach this disk, either READ_WRITEorREAD_ONLY. If not specified, the default is to attach the disk inREAD_WRITEmode.
- source String
- The name or self_link of the existing disk (such as those managed by
gcp.compute.Disk) or disk image. To create an instance from a snapshot, first create agcp.compute.Diskfrom a snapshot and reference it here.
InstanceBootDiskInitializeParams, InstanceBootDiskInitializeParamsArgs          
- EnableConfidential boolCompute 
- Whether this disk is using confidential compute mode. Note: Only supported on hyperdisk skus, disk_encryption_key is required when setting to true.
- Image string
- The image from which to initialize this disk. This can be
one of: the image's self_link,projects/{project}/global/images/{image},projects/{project}/global/images/family/{family},global/images/{image},global/images/family/{family},family/{family},{project}/{family},{project}/{image},{family}, or{image}. If referred by family, the images names must include the family name. If they don't, use the gcp.compute.Image data source. For instance, the imagecentos-6-v20180104includes its family namecentos-6. These images can be referred by family name here.
- Labels Dictionary<string, string>
- A set of key/value label pairs assigned to the disk. This field is only applicable for persistent disks.
- 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. For more details,see the Hyperdisk documentation. Note: Updating currently is only supported for hyperdisk skus via disk update api/gcloud without the need to delete and recreate the disk, hyperdisk allows for an update of IOPS every 4 hours. To update your hyperdisk more frequently, you'll need to manually delete and recreate it.
- 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. For more details,see the Hyperdisk documentation. Note: Updating currently is only supported for hyperdisk skus via disk update api/gcloud without the need to delete and recreate the disk, hyperdisk allows for an update of throughput every 4 hours. To update your hyperdisk more frequently, you'll need to manually delete and recreate it.
- 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, so any external values are not set until the user specifies this field. Currently a max of 1 resource policy is supported.
- Size int
- The size of the image in gigabytes. If not specified, it will inherit the size of its base image.
- StoragePool string
- The URL or the name of the storage pool in which the new disk is created.
For example:- https://www.googleapis.com/compute/v1/projects/{project}/zones/{zone}/storagePools/{storagePool}
- /projects/{project}/zones/{zone}/storagePools/{storagePool}
- /zones/{zone}/storagePools/{storagePool}
- /{storagePool}
 
- Type string
- The GCE disk type. Such as pd-standard, pd-balanced or pd-ssd.
- EnableConfidential boolCompute 
- Whether this disk is using confidential compute mode. Note: Only supported on hyperdisk skus, disk_encryption_key is required when setting to true.
- Image string
- The image from which to initialize this disk. This can be
one of: the image's self_link,projects/{project}/global/images/{image},projects/{project}/global/images/family/{family},global/images/{image},global/images/family/{family},family/{family},{project}/{family},{project}/{image},{family}, or{image}. If referred by family, the images names must include the family name. If they don't, use the gcp.compute.Image data source. For instance, the imagecentos-6-v20180104includes its family namecentos-6. These images can be referred by family name here.
- Labels map[string]string
- A set of key/value label pairs assigned to the disk. This field is only applicable for persistent disks.
- 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. For more details,see the Hyperdisk documentation. Note: Updating currently is only supported for hyperdisk skus via disk update api/gcloud without the need to delete and recreate the disk, hyperdisk allows for an update of IOPS every 4 hours. To update your hyperdisk more frequently, you'll need to manually delete and recreate it.
- 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. For more details,see the Hyperdisk documentation. Note: Updating currently is only supported for hyperdisk skus via disk update api/gcloud without the need to delete and recreate the disk, hyperdisk allows for an update of throughput every 4 hours. To update your hyperdisk more frequently, you'll need to manually delete and recreate it.
- 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, so any external values are not set until the user specifies this field. Currently a max of 1 resource policy is supported.
- Size int
- The size of the image in gigabytes. If not specified, it will inherit the size of its base image.
- StoragePool string
- The URL or the name of the storage pool in which the new disk is created.
For example:- https://www.googleapis.com/compute/v1/projects/{project}/zones/{zone}/storagePools/{storagePool}
- /projects/{project}/zones/{zone}/storagePools/{storagePool}
- /zones/{zone}/storagePools/{storagePool}
- /{storagePool}
 
- Type string
- The GCE disk type. Such as pd-standard, pd-balanced or pd-ssd.
- enableConfidential BooleanCompute 
- Whether this disk is using confidential compute mode. Note: Only supported on hyperdisk skus, disk_encryption_key is required when setting to true.
- image String
- The image from which to initialize this disk. This can be
one of: the image's self_link,projects/{project}/global/images/{image},projects/{project}/global/images/family/{family},global/images/{image},global/images/family/{family},family/{family},{project}/{family},{project}/{image},{family}, or{image}. If referred by family, the images names must include the family name. If they don't, use the gcp.compute.Image data source. For instance, the imagecentos-6-v20180104includes its family namecentos-6. These images can be referred by family name here.
- labels Map<String,String>
- A set of key/value label pairs assigned to the disk. This field is only applicable for persistent disks.
- 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. For more details,see the Hyperdisk documentation. Note: Updating currently is only supported for hyperdisk skus via disk update api/gcloud without the need to delete and recreate the disk, hyperdisk allows for an update of IOPS every 4 hours. To update your hyperdisk more frequently, you'll need to manually delete and recreate it.
- 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. For more details,see the Hyperdisk documentation. Note: Updating currently is only supported for hyperdisk skus via disk update api/gcloud without the need to delete and recreate the disk, hyperdisk allows for an update of throughput every 4 hours. To update your hyperdisk more frequently, you'll need to manually delete and recreate it.
- 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, so any external values are not set until the user specifies this field. Currently a max of 1 resource policy is supported.
- size Integer
- The size of the image in gigabytes. If not specified, it will inherit the size of its base image.
- storagePool String
- The URL or the name of the storage pool in which the new disk is created.
For example:- https://www.googleapis.com/compute/v1/projects/{project}/zones/{zone}/storagePools/{storagePool}
- /projects/{project}/zones/{zone}/storagePools/{storagePool}
- /zones/{zone}/storagePools/{storagePool}
- /{storagePool}
 
- type String
- The GCE disk type. Such as pd-standard, pd-balanced or pd-ssd.
- enableConfidential booleanCompute 
- Whether this disk is using confidential compute mode. Note: Only supported on hyperdisk skus, disk_encryption_key is required when setting to true.
- image string
- The image from which to initialize this disk. This can be
one of: the image's self_link,projects/{project}/global/images/{image},projects/{project}/global/images/family/{family},global/images/{image},global/images/family/{family},family/{family},{project}/{family},{project}/{image},{family}, or{image}. If referred by family, the images names must include the family name. If they don't, use the gcp.compute.Image data source. For instance, the imagecentos-6-v20180104includes its family namecentos-6. These images can be referred by family name here.
- labels {[key: string]: string}
- A set of key/value label pairs assigned to the disk. This field is only applicable for persistent disks.
- 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. For more details,see the Hyperdisk documentation. Note: Updating currently is only supported for hyperdisk skus via disk update api/gcloud without the need to delete and recreate the disk, hyperdisk allows for an update of IOPS every 4 hours. To update your hyperdisk more frequently, you'll need to manually delete and recreate it.
- 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. For more details,see the Hyperdisk documentation. Note: Updating currently is only supported for hyperdisk skus via disk update api/gcloud without the need to delete and recreate the disk, hyperdisk allows for an update of throughput every 4 hours. To update your hyperdisk more frequently, you'll need to manually delete and recreate it.
- {[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, so any external values are not set until the user specifies this field. Currently a max of 1 resource policy is supported.
- size number
- The size of the image in gigabytes. If not specified, it will inherit the size of its base image.
- storagePool string
- The URL or the name of the storage pool in which the new disk is created.
For example:- https://www.googleapis.com/compute/v1/projects/{project}/zones/{zone}/storagePools/{storagePool}
- /projects/{project}/zones/{zone}/storagePools/{storagePool}
- /zones/{zone}/storagePools/{storagePool}
- /{storagePool}
 
- type string
- The GCE disk type. Such as pd-standard, pd-balanced or pd-ssd.
- enable_confidential_ boolcompute 
- Whether this disk is using confidential compute mode. Note: Only supported on hyperdisk skus, disk_encryption_key is required when setting to true.
- image str
- The image from which to initialize this disk. This can be
one of: the image's self_link,projects/{project}/global/images/{image},projects/{project}/global/images/family/{family},global/images/{image},global/images/family/{family},family/{family},{project}/{family},{project}/{image},{family}, or{image}. If referred by family, the images names must include the family name. If they don't, use the gcp.compute.Image data source. For instance, the imagecentos-6-v20180104includes its family namecentos-6. These images can be referred by family name here.
- labels Mapping[str, str]
- A set of key/value label pairs assigned to the disk. This field is only applicable for persistent disks.
- 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. For more details,see the Hyperdisk documentation. Note: Updating currently is only supported for hyperdisk skus via disk update api/gcloud without the need to delete and recreate the disk, hyperdisk allows for an update of IOPS every 4 hours. To update your hyperdisk more frequently, you'll need to manually delete and recreate it.
- 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. For more details,see the Hyperdisk documentation. Note: Updating currently is only supported for hyperdisk skus via disk update api/gcloud without the need to delete and recreate the disk, hyperdisk allows for an update of throughput every 4 hours. To update your hyperdisk more frequently, you'll need to manually delete and recreate it.
- 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, so any external values are not set until the user specifies this field. Currently a max of 1 resource policy is supported.
- size int
- The size of the image in gigabytes. If not specified, it will inherit the size of its base image.
- storage_pool str
- The URL or the name of the storage pool in which the new disk is created.
For example:- https://www.googleapis.com/compute/v1/projects/{project}/zones/{zone}/storagePools/{storagePool}
- /projects/{project}/zones/{zone}/storagePools/{storagePool}
- /zones/{zone}/storagePools/{storagePool}
- /{storagePool}
 
- type str
- The GCE disk type. Such as pd-standard, pd-balanced or pd-ssd.
- enableConfidential BooleanCompute 
- Whether this disk is using confidential compute mode. Note: Only supported on hyperdisk skus, disk_encryption_key is required when setting to true.
- image String
- The image from which to initialize this disk. This can be
one of: the image's self_link,projects/{project}/global/images/{image},projects/{project}/global/images/family/{family},global/images/{image},global/images/family/{family},family/{family},{project}/{family},{project}/{image},{family}, or{image}. If referred by family, the images names must include the family name. If they don't, use the gcp.compute.Image data source. For instance, the imagecentos-6-v20180104includes its family namecentos-6. These images can be referred by family name here.
- labels Map<String>
- A set of key/value label pairs assigned to the disk. This field is only applicable for persistent disks.
- 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. For more details,see the Hyperdisk documentation. Note: Updating currently is only supported for hyperdisk skus via disk update api/gcloud without the need to delete and recreate the disk, hyperdisk allows for an update of IOPS every 4 hours. To update your hyperdisk more frequently, you'll need to manually delete and recreate it.
- 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. For more details,see the Hyperdisk documentation. Note: Updating currently is only supported for hyperdisk skus via disk update api/gcloud without the need to delete and recreate the disk, hyperdisk allows for an update of throughput every 4 hours. To update your hyperdisk more frequently, you'll need to manually delete and recreate it.
- 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, so any external values are not set until the user specifies this field. Currently a max of 1 resource policy is supported.
- size Number
- The size of the image in gigabytes. If not specified, it will inherit the size of its base image.
- storagePool String
- The URL or the name of the storage pool in which the new disk is created.
For example:- https://www.googleapis.com/compute/v1/projects/{project}/zones/{zone}/storagePools/{storagePool}
- /projects/{project}/zones/{zone}/storagePools/{storagePool}
- /zones/{zone}/storagePools/{storagePool}
- /{storagePool}
 
- type String
- The GCE disk type. Such as pd-standard, pd-balanced or pd-ssd.
InstanceConfidentialInstanceConfig, InstanceConfidentialInstanceConfigArgs        
- ConfidentialInstance stringType 
- Defines 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.on_host_maintenancecan be set to MIGRATE ifconfidential_instance_typeis set toSEVandmin_cpu_platformis set to"AMD Milan". Otherwise,on_host_maintenancehas to be set to TERMINATE or this will fail to create the VM. IfSEV_SNP, currentlymin_cpu_platformhas to be set to"AMD Milan"or this will fail to create the VM.
- EnableConfidential boolCompute 
- Defines whether the instance should have confidential compute enabled with AMD SEV. If enabled, on_host_maintenancecan be set to MIGRATE ifmin_cpu_platformis set to"AMD Milan". Otherwise,on_host_maintenancehas to be set to TERMINATE or this will fail to create the VM.
- ConfidentialInstance stringType 
- Defines 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.on_host_maintenancecan be set to MIGRATE ifconfidential_instance_typeis set toSEVandmin_cpu_platformis set to"AMD Milan". Otherwise,on_host_maintenancehas to be set to TERMINATE or this will fail to create the VM. IfSEV_SNP, currentlymin_cpu_platformhas to be set to"AMD Milan"or this will fail to create the VM.
- EnableConfidential boolCompute 
- Defines whether the instance should have confidential compute enabled with AMD SEV. If enabled, on_host_maintenancecan be set to MIGRATE ifmin_cpu_platformis set to"AMD Milan". Otherwise,on_host_maintenancehas to be set to TERMINATE or this will fail to create the VM.
- confidentialInstance StringType 
- Defines 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.on_host_maintenancecan be set to MIGRATE ifconfidential_instance_typeis set toSEVandmin_cpu_platformis set to"AMD Milan". Otherwise,on_host_maintenancehas to be set to TERMINATE or this will fail to create the VM. IfSEV_SNP, currentlymin_cpu_platformhas to be set to"AMD Milan"or this will fail to create the VM.
- enableConfidential BooleanCompute 
- Defines whether the instance should have confidential compute enabled with AMD SEV. If enabled, on_host_maintenancecan be set to MIGRATE ifmin_cpu_platformis set to"AMD Milan". Otherwise,on_host_maintenancehas to be set to TERMINATE or this will fail to create the VM.
- confidentialInstance stringType 
- Defines 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.on_host_maintenancecan be set to MIGRATE ifconfidential_instance_typeis set toSEVandmin_cpu_platformis set to"AMD Milan". Otherwise,on_host_maintenancehas to be set to TERMINATE or this will fail to create the VM. IfSEV_SNP, currentlymin_cpu_platformhas to be set to"AMD Milan"or this will fail to create the VM.
- enableConfidential booleanCompute 
- Defines whether the instance should have confidential compute enabled with AMD SEV. If enabled, on_host_maintenancecan be set to MIGRATE ifmin_cpu_platformis set to"AMD Milan". Otherwise,on_host_maintenancehas to be set to TERMINATE or this will fail to create the VM.
- confidential_instance_ strtype 
- Defines 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.on_host_maintenancecan be set to MIGRATE ifconfidential_instance_typeis set toSEVandmin_cpu_platformis set to"AMD Milan". Otherwise,on_host_maintenancehas to be set to TERMINATE or this will fail to create the VM. IfSEV_SNP, currentlymin_cpu_platformhas to be set to"AMD Milan"or this will fail to create the VM.
- enable_confidential_ boolcompute 
- Defines whether the instance should have confidential compute enabled with AMD SEV. If enabled, on_host_maintenancecan be set to MIGRATE ifmin_cpu_platformis set to"AMD Milan". Otherwise,on_host_maintenancehas to be set to TERMINATE or this will fail to create the VM.
- confidentialInstance StringType 
- Defines 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.on_host_maintenancecan be set to MIGRATE ifconfidential_instance_typeis set toSEVandmin_cpu_platformis set to"AMD Milan". Otherwise,on_host_maintenancehas to be set to TERMINATE or this will fail to create the VM. IfSEV_SNP, currentlymin_cpu_platformhas to be set to"AMD Milan"or this will fail to create the VM.
- enableConfidential BooleanCompute 
- Defines whether the instance should have confidential compute enabled with AMD SEV. If enabled, on_host_maintenancecan be set to MIGRATE ifmin_cpu_platformis set to"AMD Milan". Otherwise,on_host_maintenancehas to be set to TERMINATE or this will fail to create the VM.
InstanceGuestAccelerator, InstanceGuestAcceleratorArgs      
InstanceNetworkInterface, InstanceNetworkInterfaceArgs      
- AccessConfigs List<InstanceNetwork Interface Access Config> 
- Access configurations, i.e. IPs via which this instance can be accessed via the Internet.
- AliasIp List<InstanceRanges Network Interface Alias Ip Range> 
- An array of alias IP ranges for this network interface. Can only be specified for network interfaces on subnet-mode networks. Structure documented below.
- InternalIpv6Prefix intLength 
- The prefix length of the primary internal IPv6 range.
- Ipv6AccessConfigs List<InstanceNetwork Interface Ipv6Access Config> 
- 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. Structure documented below.
- 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 to attach this interface to.
Either networkorsubnetworkmust be provided. If network isn't provided it will be inferred from the subnetwork.
- 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 to assign to the instance. If empty, the address will be automatically assigned.
- NicType string
- The type of vNIC to be used on this interface. Possible values: GVNIC, VIRTIO_NET, IDPF, MRDMA, IRDMA.
- 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. Values are IPV4_IPV6, IPV6_ONLY or IPV4_ONLY. If not specified, IPV4_ONLY will be used.
- Subnetwork string
- The name or self_link of the subnetwork to attach this
interface to. Either networkorsubnetworkmust be provided. If network isn't provided it will be inferred from the subnetwork. The subnetwork must exist in the same region this instance will be created in. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required.
- SubnetworkProject string
- The project in which the subnetwork belongs.
If the subnetworkis a self_link, this field is set to the project defined in the subnetwork self_link. If thesubnetworkis a name and this field is not provided, the provider project is used.
- AccessConfigs []InstanceNetwork Interface Access Config 
- Access configurations, i.e. IPs via which this instance can be accessed via the Internet.
- AliasIp []InstanceRanges Network Interface Alias Ip Range 
- An array of alias IP ranges for this network interface. Can only be specified for network interfaces on subnet-mode networks. Structure documented below.
- InternalIpv6Prefix intLength 
- The prefix length of the primary internal IPv6 range.
- Ipv6AccessConfigs []InstanceNetwork Interface Ipv6Access Config 
- 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. Structure documented below.
- 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 to attach this interface to.
Either networkorsubnetworkmust be provided. If network isn't provided it will be inferred from the subnetwork.
- 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 to assign to the instance. If empty, the address will be automatically assigned.
- NicType string
- The type of vNIC to be used on this interface. Possible values: GVNIC, VIRTIO_NET, IDPF, MRDMA, IRDMA.
- 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. Values are IPV4_IPV6, IPV6_ONLY or IPV4_ONLY. If not specified, IPV4_ONLY will be used.
- Subnetwork string
- The name or self_link of the subnetwork to attach this
interface to. Either networkorsubnetworkmust be provided. If network isn't provided it will be inferred from the subnetwork. The subnetwork must exist in the same region this instance will be created in. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required.
- SubnetworkProject string
- The project in which the subnetwork belongs.
If the subnetworkis a self_link, this field is set to the project defined in the subnetwork self_link. If thesubnetworkis a name and this field is not provided, the provider project is used.
- accessConfigs List<InstanceNetwork Interface Access Config> 
- Access configurations, i.e. IPs via which this instance can be accessed via the Internet.
- aliasIp List<InstanceRanges Network Interface Alias Ip Range> 
- An array of alias IP ranges for this network interface. Can only be specified for network interfaces on subnet-mode networks. Structure documented below.
- internalIpv6Prefix IntegerLength 
- The prefix length of the primary internal IPv6 range.
- ipv6AccessConfigs List<InstanceNetwork Interface Ipv6Access Config> 
- 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. Structure documented below.
- 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 to attach this interface to.
Either networkorsubnetworkmust be provided. If network isn't provided it will be inferred from the subnetwork.
- 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 to assign to the instance. If empty, the address will be automatically assigned.
- nicType String
- The type of vNIC to be used on this interface. Possible values: GVNIC, VIRTIO_NET, IDPF, MRDMA, IRDMA.
- 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. Values are IPV4_IPV6, IPV6_ONLY or IPV4_ONLY. If not specified, IPV4_ONLY will be used.
- subnetwork String
- The name or self_link of the subnetwork to attach this
interface to. Either networkorsubnetworkmust be provided. If network isn't provided it will be inferred from the subnetwork. The subnetwork must exist in the same region this instance will be created in. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required.
- subnetworkProject String
- The project in which the subnetwork belongs.
If the subnetworkis a self_link, this field is set to the project defined in the subnetwork self_link. If thesubnetworkis a name and this field is not provided, the provider project is used.
- accessConfigs InstanceNetwork Interface Access Config[] 
- Access configurations, i.e. IPs via which this instance can be accessed via the Internet.
- aliasIp InstanceRanges Network Interface Alias Ip Range[] 
- An array of alias IP ranges for this network interface. Can only be specified for network interfaces on subnet-mode networks. Structure documented below.
- internalIpv6Prefix numberLength 
- The prefix length of the primary internal IPv6 range.
- ipv6AccessConfigs InstanceNetwork Interface Ipv6Access Config[] 
- 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. Structure documented below.
- 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 to attach this interface to.
Either networkorsubnetworkmust be provided. If network isn't provided it will be inferred from the subnetwork.
- 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 to assign to the instance. If empty, the address will be automatically assigned.
- nicType string
- The type of vNIC to be used on this interface. Possible values: GVNIC, VIRTIO_NET, IDPF, MRDMA, IRDMA.
- 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. Values are IPV4_IPV6, IPV6_ONLY or IPV4_ONLY. If not specified, IPV4_ONLY will be used.
- subnetwork string
- The name or self_link of the subnetwork to attach this
interface to. Either networkorsubnetworkmust be provided. If network isn't provided it will be inferred from the subnetwork. The subnetwork must exist in the same region this instance will be created in. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required.
- subnetworkProject string
- The project in which the subnetwork belongs.
If the subnetworkis a self_link, this field is set to the project defined in the subnetwork self_link. If thesubnetworkis a name and this field is not provided, the provider project is used.
- access_configs Sequence[InstanceNetwork Interface Access Config] 
- Access configurations, i.e. IPs via which this instance can be accessed via the Internet.
- alias_ip_ Sequence[Instanceranges Network Interface Alias Ip Range] 
- An array of alias IP ranges for this network interface. Can only be specified for network interfaces on subnet-mode networks. Structure documented below.
- internal_ipv6_ intprefix_ length 
- The prefix length of the primary internal IPv6 range.
- ipv6_access_ Sequence[Instanceconfigs Network Interface Ipv6Access Config] 
- 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. Structure documented below.
- ipv6_access_ strtype 
- 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 to attach this interface to.
Either networkorsubnetworkmust be provided. If network isn't provided it will be inferred from the subnetwork.
- 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 to assign to the instance. If empty, the address will be automatically assigned.
- nic_type str
- The type of vNIC to be used on this interface. Possible values: GVNIC, VIRTIO_NET, IDPF, MRDMA, IRDMA.
- 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. Values are IPV4_IPV6, IPV6_ONLY or IPV4_ONLY. If not specified, IPV4_ONLY will be used.
- subnetwork str
- The name or self_link of the subnetwork to attach this
interface to. Either networkorsubnetworkmust be provided. If network isn't provided it will be inferred from the subnetwork. The subnetwork must exist in the same region this instance will be created in. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required.
- subnetwork_project str
- The project in which the subnetwork belongs.
If the subnetworkis a self_link, this field is set to the project defined in the subnetwork self_link. If thesubnetworkis a name and this field is not provided, the provider project is used.
- accessConfigs List<Property Map>
- Access configurations, i.e. IPs via which this instance can be accessed via the Internet.
- aliasIp List<Property Map>Ranges 
- An array of alias IP ranges for this network interface. Can only be specified for network interfaces on subnet-mode networks. Structure documented below.
- internalIpv6Prefix NumberLength 
- 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. Structure documented below.
- 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 to attach this interface to.
Either networkorsubnetworkmust be provided. If network isn't provided it will be inferred from the subnetwork.
- 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 to assign to the instance. If empty, the address will be automatically assigned.
- nicType String
- The type of vNIC to be used on this interface. Possible values: GVNIC, VIRTIO_NET, IDPF, MRDMA, IRDMA.
- 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. Values are IPV4_IPV6, IPV6_ONLY or IPV4_ONLY. If not specified, IPV4_ONLY will be used.
- subnetwork String
- The name or self_link of the subnetwork to attach this
interface to. Either networkorsubnetworkmust be provided. If network isn't provided it will be inferred from the subnetwork. The subnetwork must exist in the same region this instance will be created in. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required.
- subnetworkProject String
- The project in which the subnetwork belongs.
If the subnetworkis a self_link, this field is set to the project defined in the subnetwork self_link. If thesubnetworkis a name and this field is not provided, the provider project is used.
InstanceNetworkInterfaceAccessConfig, InstanceNetworkInterfaceAccessConfigArgs          
- NatIp string
- The IP address that will be 1:1 mapped to the instance's network ip. If not given, one will be generated.
- NetworkTier string
- The service-level to be provided for IPv6 traffic when the subnet has an external subnet. Only PREMIUM or STANDARD tier is valid for IPv6.
- PublicPtr stringDomain Name 
- 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.
- NatIp string
- The IP address that will be 1:1 mapped to the instance's network ip. If not given, one will be generated.
- NetworkTier string
- The service-level to be provided for IPv6 traffic when the subnet has an external subnet. Only PREMIUM or STANDARD tier is valid for IPv6.
- PublicPtr stringDomain Name 
- 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.
- natIp String
- The IP address that will be 1:1 mapped to the instance's network ip. If not given, one will be generated.
- networkTier String
- The service-level to be provided for IPv6 traffic when the subnet has an external subnet. Only PREMIUM or STANDARD tier is valid for IPv6.
- publicPtr StringDomain Name 
- 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.
- natIp string
- The IP address that will be 1:1 mapped to the instance's network ip. If not given, one will be generated.
- networkTier string
- The service-level to be provided for IPv6 traffic when the subnet has an external subnet. Only PREMIUM or STANDARD tier is valid for IPv6.
- publicPtr stringDomain Name 
- 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.
- nat_ip str
- The IP address that will be 1:1 mapped to the instance's network ip. If not given, one will be generated.
- network_tier str
- The service-level to be provided for IPv6 traffic when the subnet has an external subnet. Only PREMIUM or STANDARD tier is valid for IPv6.
- public_ptr_ strdomain_ name 
- 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.
- natIp String
- The IP address that will be 1:1 mapped to the instance's network ip. If not given, one will be generated.
- networkTier String
- The service-level to be provided for IPv6 traffic when the subnet has an external subnet. Only PREMIUM or STANDARD tier is valid for IPv6.
- publicPtr StringDomain Name 
- 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.
InstanceNetworkInterfaceAliasIpRange, InstanceNetworkInterfaceAliasIpRangeArgs            
- IpCidr stringRange 
- The IP CIDR range represented by this alias IP range. This IP CIDR range must belong to the specified subnetwork and cannot contain IP addresses reserved by system or used by other network interfaces. This range may be a single IP address (e.g. 10.2.3.4), a netmask (e.g. /24) or a CIDR format string (e.g. 10.1.2.0/24).
- SubnetworkRange stringName 
- The subnetwork secondary range name specifying the secondary range from which to allocate the IP CIDR range for this alias IP range. If left unspecified, the primary range of the subnetwork will be used.
- IpCidr stringRange 
- The IP CIDR range represented by this alias IP range. This IP CIDR range must belong to the specified subnetwork and cannot contain IP addresses reserved by system or used by other network interfaces. This range may be a single IP address (e.g. 10.2.3.4), a netmask (e.g. /24) or a CIDR format string (e.g. 10.1.2.0/24).
- SubnetworkRange stringName 
- The subnetwork secondary range name specifying the secondary range from which to allocate the IP CIDR range for this alias IP range. If left unspecified, the primary range of the subnetwork will be used.
- ipCidr StringRange 
- The IP CIDR range represented by this alias IP range. This IP CIDR range must belong to the specified subnetwork and cannot contain IP addresses reserved by system or used by other network interfaces. This range may be a single IP address (e.g. 10.2.3.4), a netmask (e.g. /24) or a CIDR format string (e.g. 10.1.2.0/24).
- subnetworkRange StringName 
- The subnetwork secondary range name specifying the secondary range from which to allocate the IP CIDR range for this alias IP range. If left unspecified, the primary range of the subnetwork will be used.
- ipCidr stringRange 
- The IP CIDR range represented by this alias IP range. This IP CIDR range must belong to the specified subnetwork and cannot contain IP addresses reserved by system or used by other network interfaces. This range may be a single IP address (e.g. 10.2.3.4), a netmask (e.g. /24) or a CIDR format string (e.g. 10.1.2.0/24).
- subnetworkRange stringName 
- The subnetwork secondary range name specifying the secondary range from which to allocate the IP CIDR range for this alias IP range. If left unspecified, the primary range of the subnetwork will be used.
- ip_cidr_ strrange 
- The IP CIDR range represented by this alias IP range. This IP CIDR range must belong to the specified subnetwork and cannot contain IP addresses reserved by system or used by other network interfaces. This range may be a single IP address (e.g. 10.2.3.4), a netmask (e.g. /24) or a CIDR format string (e.g. 10.1.2.0/24).
- subnetwork_range_ strname 
- The subnetwork secondary range name specifying the secondary range from which to allocate the IP CIDR range for this alias IP range. If left unspecified, the primary range of the subnetwork will be used.
- ipCidr StringRange 
- The IP CIDR range represented by this alias IP range. This IP CIDR range must belong to the specified subnetwork and cannot contain IP addresses reserved by system or used by other network interfaces. This range may be a single IP address (e.g. 10.2.3.4), a netmask (e.g. /24) or a CIDR format string (e.g. 10.1.2.0/24).
- subnetworkRange StringName 
- The subnetwork secondary range name specifying the secondary range from which to allocate the IP CIDR range for this alias IP range. If left unspecified, the primary range of the subnetwork will be used.
InstanceNetworkInterfaceIpv6AccessConfig, InstanceNetworkInterfaceIpv6AccessConfigArgs          
- 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.
- ExternalIpv6Prefix stringLength 
- 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.
- PublicPtr stringDomain Name 
- 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.
- ExternalIpv6Prefix stringLength 
- 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.
- PublicPtr stringDomain Name 
- 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.
- externalIpv6Prefix StringLength 
- 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.
- publicPtr StringDomain Name 
- 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.
- externalIpv6Prefix stringLength 
- 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.
- publicPtr stringDomain Name 
- 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_ strprefix_ length 
- 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_ strdomain_ name 
- 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.
- externalIpv6Prefix StringLength 
- 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.
- publicPtr StringDomain Name 
- 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.
InstanceNetworkPerformanceConfig, InstanceNetworkPerformanceConfigArgs        
- TotalEgress stringBandwidth Tier 
- The egress bandwidth tier to enable. Possible values: TIER_1, DEFAULT
- TotalEgress stringBandwidth Tier 
- The egress bandwidth tier to enable. Possible values: TIER_1, DEFAULT
- totalEgress StringBandwidth Tier 
- The egress bandwidth tier to enable. Possible values: TIER_1, DEFAULT
- totalEgress stringBandwidth Tier 
- The egress bandwidth tier to enable. Possible values: TIER_1, DEFAULT
- total_egress_ strbandwidth_ tier 
- The egress bandwidth tier to enable. Possible values: TIER_1, DEFAULT
- totalEgress StringBandwidth Tier 
- The egress bandwidth tier to enable. Possible values: TIER_1, DEFAULT
InstanceParams, InstanceParamsArgs    
- 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.
- 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.
- 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.
- {[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.
- 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.
- 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.
InstanceReservationAffinity, InstanceReservationAffinityArgs      
- Type string
- The type of reservation from which this instance can consume resources.
- SpecificReservation InstanceReservation Affinity Specific Reservation 
- Specifies the label selector for the reservation to use.. Structure is documented below.
- Type string
- The type of reservation from which this instance can consume resources.
- SpecificReservation InstanceReservation Affinity Specific Reservation 
- Specifies the label selector for the reservation to use.. Structure is documented below.
- type String
- The type of reservation from which this instance can consume resources.
- specificReservation InstanceReservation Affinity Specific Reservation 
- Specifies the label selector for the reservation to use.. Structure is documented below.
- type string
- The type of reservation from which this instance can consume resources.
- specificReservation InstanceReservation Affinity Specific Reservation 
- Specifies the label selector for the reservation to use.. Structure is documented below.
- type str
- The type of reservation from which this instance can consume resources.
- specific_reservation InstanceReservation Affinity Specific Reservation 
- Specifies the label selector for the reservation to use.. Structure is documented below.
- 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.. Structure is documented below.
InstanceReservationAffinitySpecificReservation, InstanceReservationAffinitySpecificReservationArgs          
- 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 List<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.
InstanceScheduling, InstanceSchedulingArgs    
- AutomaticRestart bool
- Specifies if the instance should be restarted if it was terminated by Compute Engine (not a user). Defaults to true.
- AvailabilityDomain int
- Specifies the availability domain to place the instance in. The value must be a number between 1 and the number of availability domains specified in the spread placement policy attached to the instance.
- GracefulShutdown InstanceScheduling Graceful Shutdown 
- Settings for the instance to perform a graceful shutdown. Structure is documented below.
- HostError intTimeout Seconds 
- Specifies 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.
- InstanceTermination stringAction 
- Describe the type of termination action for VM. Can be STOPorDELETE. Read more on here
- LocalSsd InstanceRecovery Timeout Scheduling Local Ssd Recovery Timeout 
- 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.
- MaxRun InstanceDuration Scheduling Max Run Duration 
- The duration of the instance. Instance will run and be terminated after then, the termination action could be defined in instance_termination_action. Structure is documented below.
- MinNode intCpus 
- The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node.
- NodeAffinities List<InstanceScheduling Node Affinity> 
- Specifies node affinities or anti-affinities to determine which sole-tenant nodes your instances and managed instance groups will use as host systems. Read more on sole-tenant node creation here. Structure documented below.
- OnHost stringMaintenance 
- Describes maintenance behavior for the instance. Can be MIGRATE or TERMINATE, for more info, read here.
- OnInstance InstanceStop Action Scheduling On Instance Stop Action 
- Specifies the action to be performed when the instance is terminated using max_run_durationandSTOPinstance_termination_action. Only supporttruediscard_local_ssdat this point. Structure is documented below.
- Preemptible bool
- Specifies if the instance is preemptible.
If this field is set to true, then automatic_restartmust be set to false. Defaults to false.
- ProvisioningModel string
- Describe the type of preemptible VM. This field accepts the value STANDARDorSPOT. If the value isSTANDARD, there will be no discount. If this is set toSPOT,preemptibleshould betrueandautomatic_restartshould befalse. For more info aboutSPOT, read here
- TerminationTime string
- Specifies the timestamp, when the instance will be terminated, in RFC3339 text format. If specified, the instance termination action will be performed at the termination time.
- AutomaticRestart bool
- Specifies if the instance should be restarted if it was terminated by Compute Engine (not a user). Defaults to true.
- AvailabilityDomain int
- Specifies the availability domain to place the instance in. The value must be a number between 1 and the number of availability domains specified in the spread placement policy attached to the instance.
- GracefulShutdown InstanceScheduling Graceful Shutdown 
- Settings for the instance to perform a graceful shutdown. Structure is documented below.
- HostError intTimeout Seconds 
- Specifies 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.
- InstanceTermination stringAction 
- Describe the type of termination action for VM. Can be STOPorDELETE. Read more on here
- LocalSsd InstanceRecovery Timeout Scheduling Local Ssd Recovery Timeout 
- 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.
- MaxRun InstanceDuration Scheduling Max Run Duration 
- The duration of the instance. Instance will run and be terminated after then, the termination action could be defined in instance_termination_action. Structure is documented below.
- MinNode intCpus 
- The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node.
- NodeAffinities []InstanceScheduling Node Affinity 
- Specifies node affinities or anti-affinities to determine which sole-tenant nodes your instances and managed instance groups will use as host systems. Read more on sole-tenant node creation here. Structure documented below.
- OnHost stringMaintenance 
- Describes maintenance behavior for the instance. Can be MIGRATE or TERMINATE, for more info, read here.
- OnInstance InstanceStop Action Scheduling On Instance Stop Action 
- Specifies the action to be performed when the instance is terminated using max_run_durationandSTOPinstance_termination_action. Only supporttruediscard_local_ssdat this point. Structure is documented below.
- Preemptible bool
- Specifies if the instance is preemptible.
If this field is set to true, then automatic_restartmust be set to false. Defaults to false.
- ProvisioningModel string
- Describe the type of preemptible VM. This field accepts the value STANDARDorSPOT. If the value isSTANDARD, there will be no discount. If this is set toSPOT,preemptibleshould betrueandautomatic_restartshould befalse. For more info aboutSPOT, read here
- TerminationTime string
- Specifies the timestamp, when the instance will be terminated, in RFC3339 text format. If specified, the instance termination action will be performed at the termination time.
- automaticRestart Boolean
- Specifies if the instance should be restarted if it was terminated by Compute Engine (not a user). Defaults to true.
- availabilityDomain Integer
- Specifies the availability domain to place the instance in. The value must be a number between 1 and the number of availability domains specified in the spread placement policy attached to the instance.
- gracefulShutdown InstanceScheduling Graceful Shutdown 
- Settings for the instance to perform a graceful shutdown. Structure is documented below.
- hostError IntegerTimeout Seconds 
- Specifies 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.
- instanceTermination StringAction 
- Describe the type of termination action for VM. Can be STOPorDELETE. Read more on here
- localSsd InstanceRecovery Timeout Scheduling Local Ssd Recovery Timeout 
- 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.
- maxRun InstanceDuration Scheduling Max Run Duration 
- The duration of the instance. Instance will run and be terminated after then, the termination action could be defined in instance_termination_action. Structure is documented below.
- minNode IntegerCpus 
- The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node.
- nodeAffinities List<InstanceScheduling Node Affinity> 
- Specifies node affinities or anti-affinities to determine which sole-tenant nodes your instances and managed instance groups will use as host systems. Read more on sole-tenant node creation here. Structure documented below.
- onHost StringMaintenance 
- Describes maintenance behavior for the instance. Can be MIGRATE or TERMINATE, for more info, read here.
- onInstance InstanceStop Action Scheduling On Instance Stop Action 
- Specifies the action to be performed when the instance is terminated using max_run_durationandSTOPinstance_termination_action. Only supporttruediscard_local_ssdat this point. Structure is documented below.
- preemptible Boolean
- Specifies if the instance is preemptible.
If this field is set to true, then automatic_restartmust be set to false. Defaults to false.
- provisioningModel String
- Describe the type of preemptible VM. This field accepts the value STANDARDorSPOT. If the value isSTANDARD, there will be no discount. If this is set toSPOT,preemptibleshould betrueandautomatic_restartshould befalse. For more info aboutSPOT, read here
- terminationTime String
- Specifies the timestamp, when the instance will be terminated, in RFC3339 text format. If specified, the instance termination action will be performed at the termination time.
- automaticRestart boolean
- Specifies if the instance should be restarted if it was terminated by Compute Engine (not a user). Defaults to true.
- availabilityDomain number
- Specifies the availability domain to place the instance in. The value must be a number between 1 and the number of availability domains specified in the spread placement policy attached to the instance.
- gracefulShutdown InstanceScheduling Graceful Shutdown 
- Settings for the instance to perform a graceful shutdown. Structure is documented below.
- hostError numberTimeout Seconds 
- Specifies 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.
- instanceTermination stringAction 
- Describe the type of termination action for VM. Can be STOPorDELETE. Read more on here
- localSsd InstanceRecovery Timeout Scheduling Local Ssd Recovery Timeout 
- 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.
- maxRun InstanceDuration Scheduling Max Run Duration 
- The duration of the instance. Instance will run and be terminated after then, the termination action could be defined in instance_termination_action. Structure is documented below.
- minNode numberCpus 
- The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node.
- nodeAffinities InstanceScheduling Node Affinity[] 
- Specifies node affinities or anti-affinities to determine which sole-tenant nodes your instances and managed instance groups will use as host systems. Read more on sole-tenant node creation here. Structure documented below.
- onHost stringMaintenance 
- Describes maintenance behavior for the instance. Can be MIGRATE or TERMINATE, for more info, read here.
- onInstance InstanceStop Action Scheduling On Instance Stop Action 
- Specifies the action to be performed when the instance is terminated using max_run_durationandSTOPinstance_termination_action. Only supporttruediscard_local_ssdat this point. Structure is documented below.
- preemptible boolean
- Specifies if the instance is preemptible.
If this field is set to true, then automatic_restartmust be set to false. Defaults to false.
- provisioningModel string
- Describe the type of preemptible VM. This field accepts the value STANDARDorSPOT. If the value isSTANDARD, there will be no discount. If this is set toSPOT,preemptibleshould betrueandautomatic_restartshould befalse. For more info aboutSPOT, read here
- terminationTime string
- Specifies the timestamp, when the instance will be terminated, in RFC3339 text format. If specified, the instance termination action will be performed at the termination time.
- automatic_restart bool
- Specifies if the instance should be restarted if it was terminated by Compute Engine (not a user). Defaults to true.
- availability_domain int
- Specifies the availability domain to place the instance in. The value must be a number between 1 and the number of availability domains specified in the spread placement policy attached to the instance.
- graceful_shutdown InstanceScheduling Graceful Shutdown 
- Settings for the instance to perform a graceful shutdown. Structure is documented below.
- host_error_ inttimeout_ seconds 
- Specifies 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_ straction 
- Describe the type of termination action for VM. Can be STOPorDELETE. Read more on here
- local_ssd_ Instancerecovery_ timeout Scheduling Local Ssd Recovery Timeout 
- 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_ Instanceduration Scheduling Max Run Duration 
- The duration of the instance. Instance will run and be terminated after then, the termination action could be defined in instance_termination_action. Structure is documented below.
- min_node_ intcpus 
- The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node.
- node_affinities Sequence[InstanceScheduling Node Affinity] 
- Specifies node affinities or anti-affinities to determine which sole-tenant nodes your instances and managed instance groups will use as host systems. Read more on sole-tenant node creation here. Structure documented below.
- on_host_ strmaintenance 
- Describes maintenance behavior for the instance. Can be MIGRATE or TERMINATE, for more info, read here.
- on_instance_ Instancestop_ action Scheduling On Instance Stop Action 
- Specifies the action to be performed when the instance is terminated using max_run_durationandSTOPinstance_termination_action. Only supporttruediscard_local_ssdat this point. Structure is documented below.
- preemptible bool
- Specifies if the instance is preemptible.
If this field is set to true, then automatic_restartmust be set to false. Defaults to false.
- provisioning_model str
- Describe the type of preemptible VM. This field accepts the value STANDARDorSPOT. If the value isSTANDARD, there will be no discount. If this is set toSPOT,preemptibleshould betrueandautomatic_restartshould befalse. For more info aboutSPOT, read here
- termination_time str
- Specifies the timestamp, when the instance will be terminated, in RFC3339 text format. If specified, the instance termination action will be performed at the termination time.
- automaticRestart Boolean
- Specifies if the instance should be restarted if it was terminated by Compute Engine (not a user). Defaults to true.
- availabilityDomain Number
- Specifies the availability domain to place the instance in. The value must be a number between 1 and the number of availability domains specified in the spread placement policy attached to the instance.
- gracefulShutdown Property Map
- Settings for the instance to perform a graceful shutdown. Structure is documented below.
- hostError NumberTimeout Seconds 
- Specifies 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.
- instanceTermination StringAction 
- Describe the type of termination action for VM. Can be STOPorDELETE. Read more on here
- localSsd Property MapRecovery Timeout 
- 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.
- maxRun Property MapDuration 
- The duration of the instance. Instance will run and be terminated after then, the termination action could be defined in instance_termination_action. Structure is documented below.
- minNode NumberCpus 
- The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node.
- 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. Read more on sole-tenant node creation here. Structure documented below.
- onHost StringMaintenance 
- Describes maintenance behavior for the instance. Can be MIGRATE or TERMINATE, for more info, read here.
- onInstance Property MapStop Action 
- Specifies the action to be performed when the instance is terminated using max_run_durationandSTOPinstance_termination_action. Only supporttruediscard_local_ssdat this point. Structure is documented below.
- preemptible Boolean
- Specifies if the instance is preemptible.
If this field is set to true, then automatic_restartmust be set to false. Defaults to false.
- provisioningModel String
- Describe the type of preemptible VM. This field accepts the value STANDARDorSPOT. If the value isSTANDARD, there will be no discount. If this is set toSPOT,preemptibleshould betrueandautomatic_restartshould befalse. For more info aboutSPOT, read here
- terminationTime String
- Specifies the timestamp, when the instance will be terminated, in RFC3339 text format. If specified, the instance termination action will be performed at the termination time.
InstanceSchedulingGracefulShutdown, InstanceSchedulingGracefulShutdownArgs        
- Enabled bool
- Opts-in for graceful shutdown.
- MaxDuration InstanceScheduling Graceful Shutdown Max Duration 
- The time allotted for the instance to gracefully shut down. If the graceful shutdown isn't complete after this time, then the instance transitions to the STOPPING state. Structure is documented below:
- Enabled bool
- Opts-in for graceful shutdown.
- MaxDuration InstanceScheduling Graceful Shutdown Max Duration 
- The time allotted for the instance to gracefully shut down. If the graceful shutdown isn't complete after this time, then the instance transitions to the STOPPING state. Structure is documented below:
- enabled Boolean
- Opts-in for graceful shutdown.
- maxDuration InstanceScheduling Graceful Shutdown Max Duration 
- The time allotted for the instance to gracefully shut down. If the graceful shutdown isn't complete after this time, then the instance transitions to the STOPPING state. Structure is documented below:
- enabled boolean
- Opts-in for graceful shutdown.
- maxDuration InstanceScheduling Graceful Shutdown Max Duration 
- The time allotted for the instance to gracefully shut down. If the graceful shutdown isn't complete after this time, then the instance transitions to the STOPPING state. Structure is documented below:
- enabled bool
- Opts-in for graceful shutdown.
- max_duration InstanceScheduling Graceful Shutdown Max Duration 
- The time allotted for the instance to gracefully shut down. If the graceful shutdown isn't complete after this time, then the instance transitions to the STOPPING state. Structure is documented below:
- enabled Boolean
- Opts-in for graceful shutdown.
- maxDuration Property Map
- The time allotted for the instance to gracefully shut down. If the graceful shutdown isn't complete after this time, then the instance transitions to the STOPPING state. Structure is documented below:
InstanceSchedulingGracefulShutdownMaxDuration, InstanceSchedulingGracefulShutdownMaxDurationArgs            
- Seconds int
- Span of time at a resolution of a second. The value must be between 1 and 3600, which is 3,600 seconds (one hour).`
- 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
secondsfield and a positivenanosfield. Must be from 0 to 999,999,999 inclusive.
- Seconds int
- Span of time at a resolution of a second. The value must be between 1 and 3600, which is 3,600 seconds (one hour).`
- 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
secondsfield and a positivenanosfield. Must be from 0 to 999,999,999 inclusive.
- seconds Integer
- Span of time at a resolution of a second. The value must be between 1 and 3600, which is 3,600 seconds (one hour).`
- 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
secondsfield and a positivenanosfield. Must be from 0 to 999,999,999 inclusive.
- seconds number
- Span of time at a resolution of a second. The value must be between 1 and 3600, which is 3,600 seconds (one hour).`
- 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
secondsfield and a positivenanosfield. Must be from 0 to 999,999,999 inclusive.
- seconds int
- Span of time at a resolution of a second. The value must be between 1 and 3600, which is 3,600 seconds (one hour).`
- 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
secondsfield and a positivenanosfield. Must be from 0 to 999,999,999 inclusive.
- seconds Number
- Span of time at a resolution of a second. The value must be between 1 and 3600, which is 3,600 seconds (one hour).`
- 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
secondsfield and a positivenanosfield. Must be from 0 to 999,999,999 inclusive.
InstanceSchedulingLocalSsdRecoveryTimeout, InstanceSchedulingLocalSsdRecoveryTimeoutArgs            
- Seconds int
- Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years.
- 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
secondsfield and a positivenanosfield. 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. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years.
- 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
secondsfield and a positivenanosfield. 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. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years.
- 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
secondsfield and a positivenanosfield. 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. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years.
- 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
secondsfield and a positivenanosfield. 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. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years.
- 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
secondsfield and a positivenanosfield. 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. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years.
- 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
secondsfield and a positivenanosfield. Must be from 0 to 999,999,999 inclusive.
InstanceSchedulingMaxRunDuration, InstanceSchedulingMaxRunDurationArgs          
- Seconds int
- Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years.
- 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
secondsfield and a positivenanosfield. 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. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years.
- 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
secondsfield and a positivenanosfield. 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. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years.
- 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
secondsfield and a positivenanosfield. 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. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years.
- 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
secondsfield and a positivenanosfield. 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. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years.
- 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
secondsfield and a positivenanosfield. 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. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years.
- 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
secondsfield and a positivenanosfield. Must be from 0 to 999,999,999 inclusive.
InstanceSchedulingNodeAffinity, InstanceSchedulingNodeAffinityArgs        
InstanceSchedulingOnInstanceStopAction, InstanceSchedulingOnInstanceStopActionArgs            
- DiscardLocal boolSsd 
- Whether to discard local SSDs attached to the VM while terminating using max_run_duration. Only supportstrueat this point.
- DiscardLocal boolSsd 
- Whether to discard local SSDs attached to the VM while terminating using max_run_duration. Only supportstrueat this point.
- discardLocal BooleanSsd 
- Whether to discard local SSDs attached to the VM while terminating using max_run_duration. Only supportstrueat this point.
- discardLocal booleanSsd 
- Whether to discard local SSDs attached to the VM while terminating using max_run_duration. Only supportstrueat this point.
- discard_local_ boolssd 
- Whether to discard local SSDs attached to the VM while terminating using max_run_duration. Only supportstrueat this point.
- discardLocal BooleanSsd 
- Whether to discard local SSDs attached to the VM while terminating using max_run_duration. Only supportstrueat this point.
InstanceScratchDisk, InstanceScratchDiskArgs      
- Interface string
- The disk interface to use for attaching this disk; either 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 to use for attaching this disk; either 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 to use for attaching this disk; either 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 to use for attaching this disk; either 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 to use for attaching this disk; either 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 to use for attaching this disk; either 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.
InstanceServiceAccount, InstanceServiceAccountArgs      
- Scopes List<string>
- A list of service scopes. Both OAuth2 URLs and gcloud
short names are supported. To allow full access to all Cloud APIs, use the
cloud-platformscope. See a complete list of scopes here. Note:allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- Email string
- The service account e-mail address.
Note: allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- Scopes []string
- A list of service scopes. Both OAuth2 URLs and gcloud
short names are supported. To allow full access to all Cloud APIs, use the
cloud-platformscope. See a complete list of scopes here. Note:allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- Email string
- The service account e-mail address.
Note: allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- scopes List<String>
- A list of service scopes. Both OAuth2 URLs and gcloud
short names are supported. To allow full access to all Cloud APIs, use the
cloud-platformscope. See a complete list of scopes here. Note:allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- email String
- The service account e-mail address.
Note: allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- scopes string[]
- A list of service scopes. Both OAuth2 URLs and gcloud
short names are supported. To allow full access to all Cloud APIs, use the
cloud-platformscope. See a complete list of scopes here. Note:allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- email string
- The service account e-mail address.
Note: allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- scopes Sequence[str]
- A list of service scopes. Both OAuth2 URLs and gcloud
short names are supported. To allow full access to all Cloud APIs, use the
cloud-platformscope. See a complete list of scopes here. Note:allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- email str
- The service account e-mail address.
Note: allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- scopes List<String>
- A list of service scopes. Both OAuth2 URLs and gcloud
short names are supported. To allow full access to all Cloud APIs, use the
cloud-platformscope. See a complete list of scopes here. Note:allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
- email String
- The service account e-mail address.
Note: allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
InstanceShieldedInstanceConfig, InstanceShieldedInstanceConfigArgs        
- EnableIntegrity boolMonitoring 
- Compare the most recent boot measurements to the integrity policy baseline and return a pair of pass/fail results depending on whether they match or not. Defaults to true.
Note: allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
 
- Compare the most recent boot measurements to the integrity policy baseline and return a pair of pass/fail results depending on whether they match or not. Defaults to true.
Note: 
- EnableSecure boolBoot 
- Verify the digital signature of all boot components, and halt the boot process if signature verification fails. Defaults to false.
Note: allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
 
- Verify the digital signature of all boot components, and halt the boot process if signature verification fails. Defaults to false.
Note: 
- EnableVtpm bool
- Use a virtualized trusted platform module, which is a specialized computer chip you can use to encrypt objects like keys and certificates. Defaults to true.
Note: allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
 
- Use a virtualized trusted platform module, which is a specialized computer chip you can use to encrypt objects like keys and certificates. Defaults to true.
Note: 
- EnableIntegrity boolMonitoring 
- Compare the most recent boot measurements to the integrity policy baseline and return a pair of pass/fail results depending on whether they match or not. Defaults to true.
Note: allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
 
- Compare the most recent boot measurements to the integrity policy baseline and return a pair of pass/fail results depending on whether they match or not. Defaults to true.
Note: 
- EnableSecure boolBoot 
- Verify the digital signature of all boot components, and halt the boot process if signature verification fails. Defaults to false.
Note: allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
 
- Verify the digital signature of all boot components, and halt the boot process if signature verification fails. Defaults to false.
Note: 
- EnableVtpm bool
- Use a virtualized trusted platform module, which is a specialized computer chip you can use to encrypt objects like keys and certificates. Defaults to true.
Note: allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
 
- Use a virtualized trusted platform module, which is a specialized computer chip you can use to encrypt objects like keys and certificates. Defaults to true.
Note: 
- enableIntegrity BooleanMonitoring 
- Compare the most recent boot measurements to the integrity policy baseline and return a pair of pass/fail results depending on whether they match or not. Defaults to true.
Note: allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
 
- Compare the most recent boot measurements to the integrity policy baseline and return a pair of pass/fail results depending on whether they match or not. Defaults to true.
Note: 
- enableSecure BooleanBoot 
- Verify the digital signature of all boot components, and halt the boot process if signature verification fails. Defaults to false.
Note: allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
 
- Verify the digital signature of all boot components, and halt the boot process if signature verification fails. Defaults to false.
Note: 
- enableVtpm Boolean
- Use a virtualized trusted platform module, which is a specialized computer chip you can use to encrypt objects like keys and certificates. Defaults to true.
Note: allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
 
- Use a virtualized trusted platform module, which is a specialized computer chip you can use to encrypt objects like keys and certificates. Defaults to true.
Note: 
- enableIntegrity booleanMonitoring 
- Compare the most recent boot measurements to the integrity policy baseline and return a pair of pass/fail results depending on whether they match or not. Defaults to true.
Note: allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
 
- Compare the most recent boot measurements to the integrity policy baseline and return a pair of pass/fail results depending on whether they match or not. Defaults to true.
Note: 
- enableSecure booleanBoot 
- Verify the digital signature of all boot components, and halt the boot process if signature verification fails. Defaults to false.
Note: allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
 
- Verify the digital signature of all boot components, and halt the boot process if signature verification fails. Defaults to false.
Note: 
- enableVtpm boolean
- Use a virtualized trusted platform module, which is a specialized computer chip you can use to encrypt objects like keys and certificates. Defaults to true.
Note: allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
 
- Use a virtualized trusted platform module, which is a specialized computer chip you can use to encrypt objects like keys and certificates. Defaults to true.
Note: 
- enable_integrity_ boolmonitoring 
- Compare the most recent boot measurements to the integrity policy baseline and return a pair of pass/fail results depending on whether they match or not. Defaults to true.
Note: allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
 
- Compare the most recent boot measurements to the integrity policy baseline and return a pair of pass/fail results depending on whether they match or not. Defaults to true.
Note: 
- enable_secure_ boolboot 
- Verify the digital signature of all boot components, and halt the boot process if signature verification fails. Defaults to false.
Note: allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
 
- Verify the digital signature of all boot components, and halt the boot process if signature verification fails. Defaults to false.
Note: 
- enable_vtpm bool
- Use a virtualized trusted platform module, which is a specialized computer chip you can use to encrypt objects like keys and certificates. Defaults to true.
Note: allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
 
- Use a virtualized trusted platform module, which is a specialized computer chip you can use to encrypt objects like keys and certificates. Defaults to true.
Note: 
- enableIntegrity BooleanMonitoring 
- Compare the most recent boot measurements to the integrity policy baseline and return a pair of pass/fail results depending on whether they match or not. Defaults to true.
Note: allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
 
- Compare the most recent boot measurements to the integrity policy baseline and return a pair of pass/fail results depending on whether they match or not. Defaults to true.
Note: 
- enableSecure BooleanBoot 
- Verify the digital signature of all boot components, and halt the boot process if signature verification fails. Defaults to false.
Note: allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
 
- Verify the digital signature of all boot components, and halt the boot process if signature verification fails. Defaults to false.
Note: 
- enableVtpm Boolean
- Use a virtualized trusted platform module, which is a specialized computer chip you can use to encrypt objects like keys and certificates. Defaults to true.
Note: allow_stopping_for_updatemust be set to true or your instance must have adesired_statusofTERMINATEDin order to update this field.
 
- Use a virtualized trusted platform module, which is a specialized computer chip you can use to encrypt objects like keys and certificates. Defaults to true.
Note: 
Import
Instances can be imported using any of these accepted formats:
- projects/{{project}}/zones/{{zone}}/instances/{{name}}
- {{project}}/{{zone}}/{{name}}
- {{name}}
When using the pulumi import command, instances can be imported using one of the formats above. For example:
$ pulumi import gcp:compute/instance:Instance default projects/{{project}}/zones/{{zone}}/instances/{{name}}
$ pulumi import gcp:compute/instance:Instance default {{project}}/{{zone}}/{{name}}
$ pulumi import gcp:compute/instance:Instance default {{name}}
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- Google Cloud (GCP) Classic pulumi/pulumi-gcp
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the google-betaTerraform Provider.