InstanceArgs class

The set of arguments for Instance. The set of arguments for Instance.

Constructors

InstanceArgs({Input<InstanceAdvancedMachineFeatures?>? advancedMachineFeatures, Input<bool?>? allowStoppingForUpdate, Input<List<InstanceAttachedDisk>?>? attachedDisks, required Input<InstanceBootDisk> bootDisk, Input<bool?>? canIpForward, Input<InstanceConfidentialInstanceConfig?>? confidentialInstanceConfig, Input<String?>? deletionPolicy, Input<bool?>? deletionProtection, Input<String?>? description, Input<String?>? desiredStatus, Input<bool?>? enableDisplay, Input<bool?>? eraseWindowsVssSignature, Input<List<InstanceGuestAccelerator>?>? guestAccelerators, Input<String?>? hostname, Input<InstanceInstanceEncryptionKey?>? instanceEncryptionKey, Input<String?>? keyRevocationActionType, Input<Map<String, String>?>? labels, required Input<String> machineType, Input<Map<String, String>?>? metadata, Input<String?>? metadataStartupScript, Input<String?>? minCpuPlatform, Input<String?>? name, required Input<List<InstanceNetworkInterface>> networkInterfaces, Input<InstanceNetworkPerformanceConfig?>? networkPerformanceConfig, Input<InstanceParams?>? params, Input<Map<String, String>?>? partnerMetadata, Input<String?>? project, Input<InstanceReservationAffinity?>? reservationAffinity, Input<String?>? resourcePolicies, Input<InstanceScheduling?>? scheduling, Input<List<InstanceScratchDisk>?>? scratchDisks, Input<InstanceServiceAccount?>? serviceAccount, Input<InstanceShieldedInstanceConfig?>? shieldedInstanceConfig, Input<List<String>?>? tags, Input<InstanceWorkloadIdentityConfig?>? workloadIdentityConfig, Input<String?>? zone})
Creates a new InstanceArgs. advancedMachineFeatures Configure Nested Virtualisation and Simultaneous Hyper Threading on this VM. Structure is documented below allowStoppingForUpdate If true, allows this provider to stop the instance to update its properties. attachedDisks Additional disks to attach to the instance. Can be repeated multiple times for multiple disks. Structure is documented below. bootDisk The boot disk for the instance. canIpForward Whether to allow sending and receiving of confidentialInstanceConfig Enable Confidential Mode on this VM. Structure is documented below deletionPolicy Whether Terraform will be prevented from destroying the resource. Defaults to "DELETE". deletionProtection Enable deletion protection on this instance. Defaults to false. description A brief description of this resource. desiredStatus Desired status of the instance. Either enableDisplay Enable Virtual Displays on this instance. eraseWindowsVssSignature Beta Specifies whether the disks restored from source snapshots or source machine image should erase Windows specific VSS signature. guestAccelerators List of the type and count of accelerator cards attached to the instance. Structure documented below. hostname A custom hostname for the instance. Must be a fully qualified DNS name and RFC-1035-valid. instanceEncryptionKey Configuration for data encryption on the instance with encryption keys. Structure is documented below. keyRevocationActionType Action to be taken when a customer's encryption key is revoked. Supports STOP and NONE, with NONE being the default. labels A map of key/value label pairs to assign to the instance. machineType The machine type to create. metadata Metadata key/value pairs to make available from metadataStartupScript An alternative to using the minCpuPlatform Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as name A unique name for the resource, required by GCE. networkInterfaces Networks to attach to the instance. This can networkPerformanceConfig Configures network performance settings for the instance. Structure is params Additional instance parameters. partnerMetadata 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 The ID of the project in which the resource belongs. If it reservationAffinity Specifies the reservations that this instance can consume from. resourcePolicies - A list of selfLinks 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 The scheduling strategy to use. More details about scratchDisks Scratch disks to attach to the instance. This can be serviceAccount Service account to attach to the instance. shieldedInstanceConfig Enable Shielded VM on this instance. Shielded VM provides verifiable integrity to prevent against malware and rootkits. Defaults to disabled. Structure is documented below. tags A list of network tags to attach to the instance. workloadIdentityConfig Workload Identity Config. More details about zone The zone that the machine should be created in. If it is not provided, the provider zone is used.
const
InstanceArgs.fromMap(Map<String, dynamic> map)
factory

Properties

advancedMachineFeatures → Input<InstanceAdvancedMachineFeatures?>?
Configure Nested Virtualisation and Simultaneous Hyper Threading on this VM. Structure is documented below
final
allowStoppingForUpdate → Input<bool?>?
If true, allows this provider 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.
final
attachedDisks → Input<List<InstanceAttachedDisk>?>?
Additional disks to attach to the instance. Can be repeated multiple times for multiple disks. Structure is documented below.
final
bootDisk → Input<InstanceBootDisk>
The boot disk for the instance. Structure is documented below.
final
canIpForward → Input<bool?>?
Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false.
final
confidentialInstanceConfig → Input<InstanceConfidentialInstanceConfig?>?
Enable Confidential Mode on this VM. Structure is documented below
final
deletionPolicy → Input<String?>?
Whether Terraform will be prevented from destroying the resource. Defaults to "DELETE". When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
final
deletionProtection → Input<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.
final
description → Input<String?>?
A brief description of this resource.
final
desiredStatus → Input<String?>?
Desired status of the instance. Either "RUNNING", "SUSPENDED" or "TERMINATED".
final
enableDisplay → Input<bool?>?
Enable Virtual Displays on this instance. Note: allowStoppingForUpdate must be set to true or your instance must have a desiredStatus of TERMINATED in order to update this field.
final
eraseWindowsVssSignature → Input<bool?>?
Beta Specifies whether the disks restored from source snapshots or source machine image should erase Windows specific VSS signature.
final
guestAccelerators → Input<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 onHostMaintenance option set to TERMINATE.
final
hashCode → int
The hash code for this object.
no setterinherited
hostname → Input<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.
final
instanceEncryptionKey → Input<InstanceInstanceEncryptionKey?>?
Configuration for data encryption on the instance with encryption keys. Structure is documented below.
final
keyRevocationActionType → Input<String?>?
Action to be taken when a customer's encryption key is revoked. Supports STOP and NONE, with NONE being the default.
final
labels → Input<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.
final
machineType → Input<String>
The machine type to create.
final
metadata → Input<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
final
metadataStartupScript → Input<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 will cause a recreate on modification. On import, metadataStartupScript will 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.
final
minCpuPlatform → Input<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: allowStoppingForUpdate must be set to true or your instance must have a desiredStatus of TERMINATED in order to update this field.
final
name → Input<String?>?
A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
final
networkInterfaces → Input<List<InstanceNetworkInterface>>
Networks to attach to the instance. This can be specified multiple times. Structure is documented below.
final
networkPerformanceConfig → Input<InstanceNetworkPerformanceConfig?>?
Configures network performance settings for the instance. Structure is documented below. Note: machineType must be a supported type, the image used must include the GVNIC in guest-os-features, and network_interface.0.nic-type must be GVNIC in order for this setting to take effect.
final
params → Input<InstanceParams?>?
Additional instance parameters. .
final
partnerMetadata → Input<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.
final
project → Input<String?>?
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
final
reservationAffinity → Input<InstanceReservationAffinity?>?
Specifies the reservations that this instance can consume from. Structure is documented below.
final
resourcePolicies → Input<String?>?
  • A list of selfLinks 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.
  • final
    runtimeType → Type
    A representation of the runtime type of the object.
    no setterinherited
    scheduling → Input<InstanceScheduling?>?
    The scheduling strategy to use. More details about this configuration option are detailed below.
    final
    scratchDisks → Input<List<InstanceScratchDisk>?>?
    Scratch disks to attach to the instance. This can be specified multiple times for multiple scratch disks. Structure is documented below.
    final
    serviceAccount → Input<InstanceServiceAccount?>?
    Service account to attach to the instance. Structure is documented below. Note: allowStoppingForUpdate must be set to true or your instance must have a desiredStatus of TERMINATED in order to update this field.
    final
    shieldedInstanceConfig → Input<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: shieldedInstanceConfig can only be used with boot images with shielded vm support. See the complete list here. Note: allowStoppingForUpdate must be set to true or your instance must have a desiredStatus of TERMINATED in order to update this field.
    final
    tags → Input<List<String>?>?
    A list of network tags to attach to the instance.
    final
    workloadIdentityConfig → Input<InstanceWorkloadIdentityConfig?>?
    Workload Identity Config. More details about this configuration option are detailed below.
    final
    zone → Input<String?>?
    The zone that the machine should be created in. If it is not provided, the provider zone is used.
    final

    Methods

    noSuchMethod(Invocation invocation) → dynamic
    Invoked when a nonexistent method or property is accessed.
    inherited
    toMap() → Map<String, dynamic>
    toString() → String
    A string representation of this object.
    inherited

    Operators

    operator ==(Object other) → bool
    The equality operator.
    inherited