Instance

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

Create a Instance Resource

def Instance(resource_name, opts=None, allow_stopping_for_update=None, attached_disks=None, boot_disk=None, can_ip_forward=None, deletion_protection=None, description=None, desired_status=None, enable_display=None, guest_accelerators=None, hostname=None, labels=None, machine_type=None, metadata=None, metadata_startup_script=None, min_cpu_platform=None, name=None, network_interfaces=None, project=None, resource_policies=None, scheduling=None, scratch_disks=None, service_account=None, shielded_instance_config=None, tags=None, zone=None, __props__=None);
func NewInstance(ctx *Context, name string, args InstanceArgs, opts ...ResourceOption) (*Instance, error)
public Instance(string name, InstanceArgs args, CustomResourceOptions? opts = null)
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.
opts ResourceOptions
A bag of options that control this 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.

Instance Resource Properties

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

Inputs

The Instance resource accepts the following input properties:

BootDisk InstanceBootDiskArgs

The boot disk for the instance. Structure is documented below.

MachineType string

The machine type to create.

NetworkInterfaces List<InstanceNetworkInterfaceArgs>

Networks to attach to the instance. This can be specified multiple times. Structure is documented below.

AllowStoppingForUpdate bool

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<InstanceAttachedDiskArgs>

Additional disks to attach to the instance. Can be repeated multiple times for multiple disks. Structure is documented below.

CanIpForward bool

Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false.

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" or "TERMINATED".

EnableDisplay bool

Enable Virtual Displays on this instance. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field.

GuestAccelerators List<InstanceGuestAcceleratorArgs>

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_maintenance option 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.

Labels Dictionary<string, string>

A map of key/value label pairs to assign to the instance.

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.

MetadataStartupScript string

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 willl cause a recreate on modification. On import, metadata_startup_script will be set, but metadata.startup-script will not - if you choose to use the other mechanism, you will see a diff immediately after import, which will cause a destroy/recreate operation. You may want to modify your state file manually using pulumi stack commands, depending on your use case.

MinCpuPlatform string

Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as Intel Haswell or Intel Skylake. See the complete list here. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in 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.

Project string

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

ResourcePolicies string

– A list of short names or 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 InstanceSchedulingArgs

The scheduling strategy to use. More details about this configuration option are detailed below.

ScratchDisks List<InstanceScratchDiskArgs>

Scratch disks to attach to the instance. This can be specified multiple times for multiple scratch disks. Structure is documented below.

ServiceAccount InstanceServiceAccountArgs

Service account to attach to the instance. Structure is documented below. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field.

ShieldedInstanceConfig InstanceShieldedInstanceConfigArgs

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_config can only be used with boot images with shielded vm support. See the complete list here.

Tags List<string>

A list of network tags to attach to the instance.

Zone string

The zone that the machine should be created in.

BootDisk InstanceBootDisk

The boot disk for the instance. Structure is documented below.

MachineType string

The machine type to create.

NetworkInterfaces []InstanceNetworkInterface

Networks to attach to the instance. This can be specified multiple times. Structure is documented below.

AllowStoppingForUpdate bool

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 []InstanceAttachedDisk

Additional disks to attach to the instance. Can be repeated multiple times for multiple disks. Structure is documented below.

CanIpForward bool

Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false.

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" or "TERMINATED".

EnableDisplay bool

Enable Virtual Displays on this instance. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field.

GuestAccelerators []InstanceGuestAccelerator

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_maintenance option 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.

Labels map[string]string

A map of key/value label pairs to assign to the instance.

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.

MetadataStartupScript string

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 willl cause a recreate on modification. On import, metadata_startup_script will be set, but metadata.startup-script will not - if you choose to use the other mechanism, you will see a diff immediately after import, which will cause a destroy/recreate operation. You may want to modify your state file manually using pulumi stack commands, depending on your use case.

MinCpuPlatform string

Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as Intel Haswell or Intel Skylake. See the complete list here. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in 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.

Project string

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

ResourcePolicies string

– A list of short names or 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 []InstanceScratchDisk

Scratch disks to attach to the instance. This can be specified multiple times for multiple scratch disks. Structure is documented below.

ServiceAccount InstanceServiceAccount

Service account to attach to the instance. Structure is documented below. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field.

ShieldedInstanceConfig InstanceShieldedInstanceConfig

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_config can only be used with boot images with shielded vm support. See the complete list here.

Tags []string

A list of network tags to attach to the instance.

Zone string

The zone that the machine should be created in.

bootDisk InstanceBootDisk

The boot disk for the instance. Structure is documented below.

machineType string

The machine type to create.

networkInterfaces InstanceNetworkInterface[]

Networks to attach to the instance. This can be specified multiple times. Structure is documented below.

allowStoppingForUpdate boolean

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 InstanceAttachedDisk[]

Additional disks to attach to the instance. Can be repeated multiple times for multiple disks. Structure is documented below.

canIpForward boolean

Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false.

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" or "TERMINATED".

enableDisplay boolean

Enable Virtual Displays on this instance. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field.

guestAccelerators InstanceGuestAccelerator[]

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_maintenance option 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.

labels {[key: string]: string}

A map of key/value label pairs to assign to the instance.

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.

metadataStartupScript string

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 willl cause a recreate on modification. On import, metadata_startup_script will be set, but metadata.startup-script will not - if you choose to use the other mechanism, you will see a diff immediately after import, which will cause a destroy/recreate operation. You may want to modify your state file manually using pulumi stack commands, depending on your use case.

minCpuPlatform string

Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as Intel Haswell or Intel Skylake. See the complete list here. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in 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.

project string

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

resourcePolicies string

– A list of short names or 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 InstanceScratchDisk[]

Scratch disks to attach to the instance. This can be specified multiple times for multiple scratch disks. Structure is documented below.

serviceAccount InstanceServiceAccount

Service account to attach to the instance. Structure is documented below. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field.

shieldedInstanceConfig InstanceShieldedInstanceConfig

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_config can only be used with boot images with shielded vm support. See the complete list here.

tags string[]

A list of network tags to attach to the instance.

zone string

The zone that the machine should be created in.

boot_disk Dict[InstanceBootDisk]

The boot disk for the instance. Structure is documented below.

machine_type str

The machine type to create.

network_interfaces List[InstanceNetworkInterface]

Networks to attach to the instance. This can be specified multiple times. Structure is documented below.

allow_stopping_for_update bool

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 List[InstanceAttachedDisk]

Additional disks to attach to the instance. Can be repeated multiple times for multiple disks. Structure is documented below.

can_ip_forward bool

Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false.

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" or "TERMINATED".

enable_display bool

Enable Virtual Displays on this instance. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field.

guest_accelerators List[InstanceGuestAccelerator]

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_maintenance option 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.

labels Dict[str, str]

A map of key/value label pairs to assign to the instance.

metadata Dict[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.

metadata_startup_script str

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 willl cause a recreate on modification. On import, metadata_startup_script will be set, but metadata.startup-script will not - if you choose to use the other mechanism, you will see a diff immediately after import, which will cause a destroy/recreate operation. You may want to modify your state file manually using pulumi stack commands, depending on your use case.

min_cpu_platform str

Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as Intel Haswell or Intel Skylake. See the complete list here. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in 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.

project str

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

resource_policies str

– A list of short names or 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 Dict[InstanceScheduling]

The scheduling strategy to use. More details about this configuration option are detailed below.

scratch_disks List[InstanceScratchDisk]

Scratch disks to attach to the instance. This can be specified multiple times for multiple scratch disks. Structure is documented below.

service_account Dict[InstanceServiceAccount]

Service account to attach to the instance. Structure is documented below. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field.

shielded_instance_config Dict[InstanceShieldedInstanceConfig]

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_config can only be used with boot images with shielded vm support. See the complete list here.

tags List[str]

A list of network tags to attach to the instance.

zone str

The zone that the machine should be created in.

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.

CurrentStatus string

Current status of the instance.

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.

SelfLink string

The URI of the created resource.

TagsFingerprint string

The unique fingerprint of the tags.

CpuPlatform string

The CPU platform used by this instance.

CurrentStatus string

Current status of the instance.

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.

SelfLink string

The URI of the created resource.

TagsFingerprint string

The unique fingerprint of the tags.

cpuPlatform string

The CPU platform used by this instance.

currentStatus string

Current status of the instance.

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.

selfLink string

The URI of the created resource.

tagsFingerprint string

The unique fingerprint of the tags.

cpu_platform str

The CPU platform used by this instance.

current_status str

Current status of the instance.

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.

self_link str

The URI of the created resource.

tags_fingerprint str

The unique fingerprint of the tags.

Look up an 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
static get(resource_name, id, opts=None, allow_stopping_for_update=None, attached_disks=None, boot_disk=None, can_ip_forward=None, cpu_platform=None, current_status=None, deletion_protection=None, description=None, desired_status=None, enable_display=None, guest_accelerators=None, hostname=None, instance_id=None, label_fingerprint=None, labels=None, machine_type=None, metadata=None, metadata_fingerprint=None, metadata_startup_script=None, min_cpu_platform=None, name=None, network_interfaces=None, project=None, resource_policies=None, scheduling=None, scratch_disks=None, self_link=None, service_account=None, shielded_instance_config=None, tags=None, tags_fingerprint=None, zone=None, __props__=None);
func 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)
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.

The following state arguments are supported:

AllowStoppingForUpdate bool

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<InstanceAttachedDiskArgs>

Additional disks to attach to the instance. Can be repeated multiple times for multiple disks. Structure is documented below.

BootDisk InstanceBootDiskArgs

The boot disk for the instance. Structure is documented below.

CanIpForward bool

Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false.

CpuPlatform string

The CPU platform used by this instance.

CurrentStatus string

Current status of the instance.

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" or "TERMINATED".

EnableDisplay bool

Enable Virtual Displays on this instance. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field.

GuestAccelerators List<InstanceGuestAcceleratorArgs>

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_maintenance option 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.

LabelFingerprint string

The unique fingerprint of the labels.

Labels Dictionary<string, string>

A map of key/value label pairs to assign to the instance.

MachineType string

The machine type to create.

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.

MetadataFingerprint string

The unique fingerprint of the metadata.

MetadataStartupScript string

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 willl cause a recreate on modification. On import, metadata_startup_script will be set, but metadata.startup-script will not - if you choose to use the other mechanism, you will see a diff immediately after import, which will cause a destroy/recreate operation. You may want to modify your state file manually using pulumi stack commands, depending on your use case.

MinCpuPlatform string

Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as Intel Haswell or Intel Skylake. See the complete list here. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in 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<InstanceNetworkInterfaceArgs>

Networks to attach to the instance. This can be specified multiple times. Structure is documented below.

Project string

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

ResourcePolicies string

– A list of short names or 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 InstanceSchedulingArgs

The scheduling strategy to use. More details about this configuration option are detailed below.

ScratchDisks List<InstanceScratchDiskArgs>

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 InstanceServiceAccountArgs

Service account to attach to the instance. Structure is documented below. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field.

ShieldedInstanceConfig InstanceShieldedInstanceConfigArgs

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_config can only be used with boot images with shielded vm support. See the complete list here.

Tags List<string>

A list of network tags to attach to the instance.

TagsFingerprint string

The unique fingerprint of the tags.

Zone string

The zone that the machine should be created in.

AllowStoppingForUpdate bool

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 []InstanceAttachedDisk

Additional disks to attach to the instance. Can be repeated multiple times for multiple disks. Structure is documented below.

BootDisk InstanceBootDisk

The boot disk for the instance. Structure is documented below.

CanIpForward bool

Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false.

CpuPlatform string

The CPU platform used by this instance.

CurrentStatus string

Current status of the instance.

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" or "TERMINATED".

EnableDisplay bool

Enable Virtual Displays on this instance. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field.

GuestAccelerators []InstanceGuestAccelerator

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_maintenance option 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.

LabelFingerprint string

The unique fingerprint of the labels.

Labels map[string]string

A map of key/value label pairs to assign to the instance.

MachineType string

The machine type to create.

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.

MetadataFingerprint string

The unique fingerprint of the metadata.

MetadataStartupScript string

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 willl cause a recreate on modification. On import, metadata_startup_script will be set, but metadata.startup-script will not - if you choose to use the other mechanism, you will see a diff immediately after import, which will cause a destroy/recreate operation. You may want to modify your state file manually using pulumi stack commands, depending on your use case.

MinCpuPlatform string

Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as Intel Haswell or Intel Skylake. See the complete list here. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in 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 []InstanceNetworkInterface

Networks to attach to the instance. This can be specified multiple times. Structure is documented below.

Project string

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

ResourcePolicies string

– A list of short names or 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 []InstanceScratchDisk

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 InstanceServiceAccount

Service account to attach to the instance. Structure is documented below. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field.

ShieldedInstanceConfig InstanceShieldedInstanceConfig

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_config can only be used with boot images with shielded vm support. See the complete list here.

Tags []string

A list of network tags to attach to the instance.

TagsFingerprint string

The unique fingerprint of the tags.

Zone string

The zone that the machine should be created in.

allowStoppingForUpdate boolean

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 InstanceAttachedDisk[]

Additional disks to attach to the instance. Can be repeated multiple times for multiple disks. Structure is documented below.

bootDisk InstanceBootDisk

The boot disk for the instance. Structure is documented below.

canIpForward boolean

Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false.

cpuPlatform string

The CPU platform used by this instance.

currentStatus string

Current status of the instance.

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" or "TERMINATED".

enableDisplay boolean

Enable Virtual Displays on this instance. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field.

guestAccelerators InstanceGuestAccelerator[]

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_maintenance option 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.

labelFingerprint string

The unique fingerprint of the labels.

labels {[key: string]: string}

A map of key/value label pairs to assign to the instance.

machineType string

The machine type to create.

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.

metadataFingerprint string

The unique fingerprint of the metadata.

metadataStartupScript string

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 willl cause a recreate on modification. On import, metadata_startup_script will be set, but metadata.startup-script will not - if you choose to use the other mechanism, you will see a diff immediately after import, which will cause a destroy/recreate operation. You may want to modify your state file manually using pulumi stack commands, depending on your use case.

minCpuPlatform string

Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as Intel Haswell or Intel Skylake. See the complete list here. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in 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 InstanceNetworkInterface[]

Networks to attach to the instance. This can be specified multiple times. Structure is documented below.

project string

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

resourcePolicies string

– A list of short names or 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 InstanceScratchDisk[]

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 InstanceServiceAccount

Service account to attach to the instance. Structure is documented below. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field.

shieldedInstanceConfig InstanceShieldedInstanceConfig

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_config can only be used with boot images with shielded vm support. See the complete list here.

tags string[]

A list of network tags to attach to the instance.

tagsFingerprint string

The unique fingerprint of the tags.

zone string

The zone that the machine should be created in.

allow_stopping_for_update bool

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 List[InstanceAttachedDisk]

Additional disks to attach to the instance. Can be repeated multiple times for multiple disks. Structure is documented below.

boot_disk Dict[InstanceBootDisk]

The boot disk for the instance. Structure is documented below.

can_ip_forward bool

Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false.

cpu_platform str

The CPU platform used by this instance.

current_status str

Current status of the instance.

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" or "TERMINATED".

enable_display bool

Enable Virtual Displays on this instance. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field.

guest_accelerators List[InstanceGuestAccelerator]

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_maintenance option 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.

label_fingerprint str

The unique fingerprint of the labels.

labels Dict[str, str]

A map of key/value label pairs to assign to the instance.

machine_type str

The machine type to create.

metadata Dict[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.

metadata_fingerprint str

The unique fingerprint of the metadata.

metadata_startup_script str

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 willl cause a recreate on modification. On import, metadata_startup_script will be set, but metadata.startup-script will not - if you choose to use the other mechanism, you will see a diff immediately after import, which will cause a destroy/recreate operation. You may want to modify your state file manually using pulumi stack commands, depending on your use case.

min_cpu_platform str

Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as Intel Haswell or Intel Skylake. See the complete list here. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in 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 List[InstanceNetworkInterface]

Networks to attach to the instance. This can be specified multiple times. Structure is documented below.

project str

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

resource_policies str

– A list of short names or 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 Dict[InstanceScheduling]

The scheduling strategy to use. More details about this configuration option are detailed below.

scratch_disks List[InstanceScratchDisk]

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 Dict[InstanceServiceAccount]

Service account to attach to the instance. Structure is documented below. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field.

shielded_instance_config Dict[InstanceShieldedInstanceConfig]

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_config can only be used with boot images with shielded vm support. See the complete list here.

tags List[str]

A list of network tags to attach to the instance.

tags_fingerprint str

The unique fingerprint of the tags.

zone str

The zone that the machine should be created in.

Supporting Types

InstanceAttachedDisk

See the input and output API doc for this type.

See the input and output API doc for this type.

See the input and output API doc for this type.

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-*

DiskEncryptionKeyRaw string

A 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.

DiskEncryptionKeySha256 string
KmsKeySelfLink string

The self_link of the encryption key that is stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.

Mode string

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-*

DiskEncryptionKeyRaw string

A 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.

DiskEncryptionKeySha256 string
KmsKeySelfLink string

The self_link of the encryption key that is stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.

Mode string

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-*

diskEncryptionKeyRaw string

A 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.

diskEncryptionKeySha256 string
kmsKeySelfLink string

The self_link of the encryption key that is stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.

mode string

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-*

diskEncryptionKeyRaw str

A 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.

diskEncryptionKeySha256 str
kmsKeySelfLink str

The self_link of the encryption key that is stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.

mode str

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

See the input and output API doc for this type.

See the input and output API doc for this type.

See the input and output API doc for this type.

AutoDelete bool

Whether the disk will be auto-deleted when the instance is deleted. Defaults to true.

DeviceName string

Name with which the attached disk will be accessible under /dev/disk/by-id/google-*

DiskEncryptionKeyRaw string

A 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.

DiskEncryptionKeySha256 string
InitializeParams InstanceBootDiskInitializeParamsArgs

Parameters for a new disk that will be created alongside the new instance. Either initialize_params or source must be set. Structure is documented below.

KmsKeySelfLink string

The self_link of the encryption key that is stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.

Mode string

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.

AutoDelete bool

Whether the disk will be auto-deleted when the instance is deleted. Defaults to true.

DeviceName string

Name with which the attached disk will be accessible under /dev/disk/by-id/google-*

DiskEncryptionKeyRaw string

A 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.

DiskEncryptionKeySha256 string
InitializeParams InstanceBootDiskInitializeParams

Parameters for a new disk that will be created alongside the new instance. Either initialize_params or source must be set. Structure is documented below.

KmsKeySelfLink string

The self_link of the encryption key that is stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.

Mode string

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.

autoDelete boolean

Whether the disk will be auto-deleted when the instance is deleted. Defaults to true.

deviceName string

Name with which the attached disk will be accessible under /dev/disk/by-id/google-*

diskEncryptionKeyRaw string

A 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.

diskEncryptionKeySha256 string
initializeParams InstanceBootDiskInitializeParams

Parameters for a new disk that will be created alongside the new instance. Either initialize_params or source must be set. Structure is documented below.

kmsKeySelfLink string

The self_link of the encryption key that is stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.

mode string

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.

autoDelete bool

Whether the disk will be auto-deleted when the instance is deleted. Defaults to true.

device_name str

Name with which the attached disk will be accessible under /dev/disk/by-id/google-*

diskEncryptionKeyRaw str

A 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.

diskEncryptionKeySha256 str
initializeParams Dict[InstanceBootDiskInitializeParams]

Parameters for a new disk that will be created alongside the new instance. Either initialize_params or source must be set. Structure is documented below.

kmsKeySelfLink str

The self_link of the encryption key that is stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set.

mode str

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.

InstanceBootDiskInitializeParams

See the input and output API doc for this type.

See the input and output API doc for this type.

See the input and output API doc for this type.

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 image centos-6-v20180104 includes its family name centos-6. These images can be referred by family name here.

Labels Dictionary<string, object>

A map of key/value label pairs to assign to the instance.

Size int

The size of the image in gigabytes. If not specified, it will inherit the size of its base image.

Type string

The accelerator type resource to expose to this instance. E.g. nvidia-tesla-k80.

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 image centos-6-v20180104 includes its family name centos-6. These images can be referred by family name here.

Labels map[string]interface{}

A map of key/value label pairs to assign to the instance.

Size int

The size of the image in gigabytes. If not specified, it will inherit the size of its base image.

Type string

The accelerator type resource to expose to this instance. E.g. nvidia-tesla-k80.

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 image centos-6-v20180104 includes its family name centos-6. These images can be referred by family name here.

labels {[key: string]: any}

A map of key/value label pairs to assign to the instance.

size number

The size of the image in gigabytes. If not specified, it will inherit the size of its base image.

type string

The accelerator type resource to expose to this instance. E.g. nvidia-tesla-k80.

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 image centos-6-v20180104 includes its family name centos-6. These images can be referred by family name here.

labels Dict[str, Any]

A map of key/value label pairs to assign to the instance.

size float

The size of the image in gigabytes. If not specified, it will inherit the size of its base image.

type str

The accelerator type resource to expose to this instance. E.g. nvidia-tesla-k80.

InstanceGuestAccelerator

See the input and output API doc for this type.

See the input and output API doc for this type.

See the input and output API doc for this type.

Count int

The number of the guest accelerator cards exposed to this instance.

Type string

The accelerator type resource to expose to this instance. E.g. nvidia-tesla-k80.

Count int

The number of the guest accelerator cards exposed to this instance.

Type string

The accelerator type resource to expose to this instance. E.g. nvidia-tesla-k80.

count number

The number of the guest accelerator cards exposed to this instance.

type string

The accelerator type resource to expose to this instance. E.g. nvidia-tesla-k80.

count float

The number of the guest accelerator cards exposed to this instance.

type str

The accelerator type resource to expose to this instance. E.g. nvidia-tesla-k80.

InstanceNetworkInterface

See the input and output API doc for this type.

See the input and output API doc for this type.

See the input and output API doc for this type.

AccessConfigs List<InstanceNetworkInterfaceAccessConfigArgs>

Access configurations, i.e. IPs via which this instance can be accessed via the Internet. Omit to ensure that the instance is not accessible from the Internet. If omitted, ssh will not work unless this provider can send traffic to the instance’s network (e.g. via tunnel or because it is running on another cloud instance on that network). This block can be repeated multiple times. Structure documented below.

AliasIpRanges List<InstanceNetworkInterfaceAliasIpRangeArgs>

An array of alias IP ranges for this network interface. Can only be specified for network interfaces on subnet-mode networks. Structure documented below.

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 network or subnetwork must be provided.

NetworkIp string

The private IP address to assign to the instance. If empty, the address will be automatically assigned.

Subnetwork string

The name or self_link of the subnetwork to attach this interface to. The subnetwork must exist in the same region this instance will be created in. Either network or subnetwork must be provided.

SubnetworkProject string

The project in which the subnetwork belongs. If the subnetwork is a self_link, this field is ignored in favor of the project defined in the subnetwork self_link. If the subnetwork is a name and this field is not provided, the provider project is used.

AccessConfigs []InstanceNetworkInterfaceAccessConfig

Access configurations, i.e. IPs via which this instance can be accessed via the Internet. Omit to ensure that the instance is not accessible from the Internet. If omitted, ssh will not work unless this provider can send traffic to the instance’s network (e.g. via tunnel or because it is running on another cloud instance on that network). This block can be repeated multiple times. Structure documented below.

AliasIpRanges []InstanceNetworkInterfaceAliasIpRange

An array of alias IP ranges for this network interface. Can only be specified for network interfaces on subnet-mode networks. Structure documented below.

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 network or subnetwork must be provided.

NetworkIp string

The private IP address to assign to the instance. If empty, the address will be automatically assigned.

Subnetwork string

The name or self_link of the subnetwork to attach this interface to. The subnetwork must exist in the same region this instance will be created in. Either network or subnetwork must be provided.

SubnetworkProject string

The project in which the subnetwork belongs. If the subnetwork is a self_link, this field is ignored in favor of the project defined in the subnetwork self_link. If the subnetwork is a name and this field is not provided, the provider project is used.

accessConfigs InstanceNetworkInterfaceAccessConfig[]

Access configurations, i.e. IPs via which this instance can be accessed via the Internet. Omit to ensure that the instance is not accessible from the Internet. If omitted, ssh will not work unless this provider can send traffic to the instance’s network (e.g. via tunnel or because it is running on another cloud instance on that network). This block can be repeated multiple times. Structure documented below.

aliasIpRanges InstanceNetworkInterfaceAliasIpRange[]

An array of alias IP ranges for this network interface. Can only be specified for network interfaces on subnet-mode networks. Structure documented below.

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 network or subnetwork must be provided.

networkIp string

The private IP address to assign to the instance. If empty, the address will be automatically assigned.

subnetwork string

The name or self_link of the subnetwork to attach this interface to. The subnetwork must exist in the same region this instance will be created in. Either network or subnetwork must be provided.

subnetworkProject string

The project in which the subnetwork belongs. If the subnetwork is a self_link, this field is ignored in favor of the project defined in the subnetwork self_link. If the subnetwork is a name and this field is not provided, the provider project is used.

accessConfigs List[InstanceNetworkInterfaceAccessConfig]

Access configurations, i.e. IPs via which this instance can be accessed via the Internet. Omit to ensure that the instance is not accessible from the Internet. If omitted, ssh will not work unless this provider can send traffic to the instance’s network (e.g. via tunnel or because it is running on another cloud instance on that network). This block can be repeated multiple times. Structure documented below.

aliasIpRanges List[InstanceNetworkInterfaceAliasIpRange]

An array of alias IP ranges for this network interface. Can only be specified for network interfaces on subnet-mode networks. Structure documented below.

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 network or subnetwork must be provided.

networkIp str

The private IP address to assign to the instance. If empty, the address will be automatically assigned.

subnetwork str

The name or self_link of the subnetwork to attach this interface to. The subnetwork must exist in the same region this instance will be created in. Either network or subnetwork must be provided.

subnetworkProject str

The project in which the subnetwork belongs. If the subnetwork is a self_link, this field is ignored in favor of the project defined in the subnetwork self_link. If the subnetwork is a name and this field is not provided, the provider project is used.

InstanceNetworkInterfaceAccessConfig

See the input and output API doc for this type.

See the input and output API doc for this type.

See the input and output API doc for this type.

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 [networking tier][network-tier] used for configuring this instance. This field can take the following values: PREMIUM or STANDARD. If this field is not specified, it is assumed to be PREMIUM.

PublicPtrDomainName string

The DNS domain name for the public PTR record. To set this field on an instance, you must be verified as the owner of the domain. See the docs for how to become verified as a domain owner.

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 [networking tier][network-tier] used for configuring this instance. This field can take the following values: PREMIUM or STANDARD. If this field is not specified, it is assumed to be PREMIUM.

PublicPtrDomainName string

The DNS domain name for the public PTR record. To set this field on an instance, you must be verified as the owner of the domain. See the docs for how to become verified as a domain owner.

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 [networking tier][network-tier] used for configuring this instance. This field can take the following values: PREMIUM or STANDARD. If this field is not specified, it is assumed to be PREMIUM.

publicPtrDomainName string

The DNS domain name for the public PTR record. To set this field on an instance, you must be verified as the owner of the domain. See the docs for how to become verified as a domain owner.

natIp 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 [networking tier][network-tier] used for configuring this instance. This field can take the following values: PREMIUM or STANDARD. If this field is not specified, it is assumed to be PREMIUM.

publicPtrDomainName str

The DNS domain name for the public PTR record. To set this field on an instance, you must be verified as the owner of the domain. See the docs for how to become verified as a domain owner.

InstanceNetworkInterfaceAliasIpRange

See the input and output API doc for this type.

See the input and output API doc for this type.

See the input and output API doc for this type.

IpCidrRange string

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

SubnetworkRangeName string

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.

IpCidrRange string

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

SubnetworkRangeName string

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.

ipCidrRange string

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

subnetworkRangeName string

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_range str

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

subnetworkRangeName str

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.

InstanceScheduling

See the input and output API doc for this type.

See the input and output API doc for this type.

See the input and output API doc for this type.

AutomaticRestart bool

Specifies if the instance should be restarted if it was terminated by Compute Engine (not a user). Defaults to true.

MinNodeCpus int
NodeAffinities List<InstanceSchedulingNodeAffinityArgs>

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.

OnHostMaintenance string

Describes maintenance behavior for the instance. Can be MIGRATE or TERMINATE, for more info, read here.

Preemptible bool

Specifies if the instance is preemptible. If this field is set to true, then automatic_restart must be set to false. Defaults to false.

AutomaticRestart bool

Specifies if the instance should be restarted if it was terminated by Compute Engine (not a user). Defaults to true.

MinNodeCpus int
NodeAffinities []InstanceSchedulingNodeAffinity

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.

OnHostMaintenance string

Describes maintenance behavior for the instance. Can be MIGRATE or TERMINATE, for more info, read here.

Preemptible bool

Specifies if the instance is preemptible. If this field is set to true, then automatic_restart must be set to false. Defaults to false.

automaticRestart boolean

Specifies if the instance should be restarted if it was terminated by Compute Engine (not a user). Defaults to true.

minNodeCpus number
nodeAffinities InstanceSchedulingNodeAffinity[]

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.

onHostMaintenance string

Describes maintenance behavior for the instance. Can be MIGRATE or TERMINATE, for more info, read here.

preemptible boolean

Specifies if the instance is preemptible. If this field is set to true, then automatic_restart must be set to false. Defaults to false.

automaticRestart bool

Specifies if the instance should be restarted if it was terminated by Compute Engine (not a user). Defaults to true.

minNodeCpus float
nodeAffinities List[InstanceSchedulingNodeAffinity]

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.

onHostMaintenance str

Describes maintenance behavior for the instance. Can be MIGRATE or TERMINATE, for more info, read here.

preemptible bool

Specifies if the instance is preemptible. If this field is set to true, then automatic_restart must be set to false. Defaults to false.

InstanceSchedulingNodeAffinity

See the input and output API doc for this type.

See the input and output API doc for this type.

See the input and output API doc for this type.

Key string

The key for the node affinity label.

Operator string

The operator. Can be IN for node-affinities or NOT_IN for anti-affinities.

Values List<string>
Key string

The key for the node affinity label.

Operator string

The operator. Can be IN for node-affinities or NOT_IN for anti-affinities.

Values []string
key string

The key for the node affinity label.

operator string

The operator. Can be IN for node-affinities or NOT_IN for anti-affinities.

values string[]
key str

The key for the node affinity label.

operator str

The operator. Can be IN for node-affinities or NOT_IN for anti-affinities.

values List[str]

InstanceScratchDisk

See the input and output API doc for this type.

See the input and output API doc for this type.

See the input and output API doc for this type.

Interface string

The disk interface to use for attaching this disk; either SCSI or NVME.

Interface string

The disk interface to use for attaching this disk; either SCSI or NVME.

interface string

The disk interface to use for attaching this disk; either SCSI or NVME.

interface str

The disk interface to use for attaching this disk; either SCSI or NVME.

InstanceServiceAccount

See the input and output API doc for this type.

See the input and output API doc for this type.

See the input and output API doc for this type.

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-platform scope. See a complete list of scopes here. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field.

Email string

The service account e-mail address. If not given, the default Google Compute Engine service account is used. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in 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-platform scope. See a complete list of scopes here. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field.

Email string

The service account e-mail address. If not given, the default Google Compute Engine service account is used. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in 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-platform scope. See a complete list of scopes here. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field.

email string

The service account e-mail address. If not given, the default Google Compute Engine service account is used. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field.

scopes List[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-platform scope. See a complete list of scopes here. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field.

email str

The service account e-mail address. If not given, the default Google Compute Engine service account is used. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field.

InstanceShieldedInstanceConfig

See the input and output API doc for this type.

See the input and output API doc for this type.

See the input and output API doc for this type.

EnableIntegrityMonitoring bool

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

EnableSecureBoot bool

– Verify the digital signature of all boot components, and halt the boot process if signature verification fails. Defaults to false.

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.

EnableIntegrityMonitoring bool

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

EnableSecureBoot bool

– Verify the digital signature of all boot components, and halt the boot process if signature verification fails. Defaults to false.

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.

enableIntegrityMonitoring boolean

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

enableSecureBoot boolean

– Verify the digital signature of all boot components, and halt the boot process if signature verification fails. Defaults to false.

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.

enableIntegrityMonitoring bool

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

enableSecureBoot bool

– Verify the digital signature of all boot components, and halt the boot process if signature verification fails. Defaults to false.

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.

Package Details

Repository
https://github.com/pulumi/pulumi-gcp
License
Apache-2.0
Notes
This Pulumi package is based on the google-beta Terraform Provider.