RegionInstanceTemplateArgs

data class RegionInstanceTemplateArgs(val advancedMachineFeatures: Output<RegionInstanceTemplateAdvancedMachineFeaturesArgs>? = null, val canIpForward: Output<Boolean>? = null, val confidentialInstanceConfig: Output<RegionInstanceTemplateConfidentialInstanceConfigArgs>? = null, val description: Output<String>? = null, val disks: Output<List<RegionInstanceTemplateDiskArgs>>? = null, val enableDisplay: Output<Boolean>? = null, val guestAccelerators: Output<List<RegionInstanceTemplateGuestAcceleratorArgs>>? = null, val instanceDescription: Output<String>? = null, val keyRevocationActionType: Output<String>? = null, val labels: Output<Map<String, String>>? = null, val machineType: Output<String>? = null, val metadata: Output<Map<String, String>>? = null, val metadataStartupScript: Output<String>? = null, val minCpuPlatform: Output<String>? = null, val name: Output<String>? = null, val namePrefix: Output<String>? = null, val networkInterfaces: Output<List<RegionInstanceTemplateNetworkInterfaceArgs>>? = null, val networkPerformanceConfig: Output<RegionInstanceTemplateNetworkPerformanceConfigArgs>? = null, val partnerMetadata: Output<Map<String, String>>? = null, val project: Output<String>? = null, val region: Output<String>? = null, val reservationAffinity: Output<RegionInstanceTemplateReservationAffinityArgs>? = null, val resourceManagerTags: Output<Map<String, String>>? = null, val resourcePolicies: Output<String>? = null, val scheduling: Output<RegionInstanceTemplateSchedulingArgs>? = null, val serviceAccount: Output<RegionInstanceTemplateServiceAccountArgs>? = null, val shieldedInstanceConfig: Output<RegionInstanceTemplateShieldedInstanceConfigArgs>? = null, val tags: Output<List<String>>? = null) : ConvertibleToJava<RegionInstanceTemplateArgs>

Import

Instance templates can be imported using any of these accepted formats:

  • projects/{{project}}/regions/{{region}}/instanceTemplates/{{name}}

  • {{project}}/{{name}}

  • {{name}} When using the pulumi import command, instance templates can be imported using one of the formats above. For example:

$ pulumi import gcp:compute/regionInstanceTemplate:RegionInstanceTemplate default projects/{{project}}/regions/{{region}}/instanceTemplates/{{name}}
$ pulumi import gcp:compute/regionInstanceTemplate:RegionInstanceTemplate default {{project}}/{{name}}
$ pulumi import gcp:compute/regionInstanceTemplate:RegionInstanceTemplate default {{name}}

Constructors

Link copied to clipboard
constructor(advancedMachineFeatures: Output<RegionInstanceTemplateAdvancedMachineFeaturesArgs>? = null, canIpForward: Output<Boolean>? = null, confidentialInstanceConfig: Output<RegionInstanceTemplateConfidentialInstanceConfigArgs>? = null, description: Output<String>? = null, disks: Output<List<RegionInstanceTemplateDiskArgs>>? = null, enableDisplay: Output<Boolean>? = null, guestAccelerators: Output<List<RegionInstanceTemplateGuestAcceleratorArgs>>? = null, instanceDescription: Output<String>? = null, keyRevocationActionType: Output<String>? = null, labels: Output<Map<String, String>>? = null, machineType: Output<String>? = null, metadata: Output<Map<String, String>>? = null, metadataStartupScript: Output<String>? = null, minCpuPlatform: Output<String>? = null, name: Output<String>? = null, namePrefix: Output<String>? = null, networkInterfaces: Output<List<RegionInstanceTemplateNetworkInterfaceArgs>>? = null, networkPerformanceConfig: Output<RegionInstanceTemplateNetworkPerformanceConfigArgs>? = null, partnerMetadata: Output<Map<String, String>>? = null, project: Output<String>? = null, region: Output<String>? = null, reservationAffinity: Output<RegionInstanceTemplateReservationAffinityArgs>? = null, resourceManagerTags: Output<Map<String, String>>? = null, resourcePolicies: Output<String>? = null, scheduling: Output<RegionInstanceTemplateSchedulingArgs>? = null, serviceAccount: Output<RegionInstanceTemplateServiceAccountArgs>? = null, shieldedInstanceConfig: Output<RegionInstanceTemplateShieldedInstanceConfigArgs>? = null, tags: Output<List<String>>? = null)

Properties

Link copied to clipboard

Configure Nested Virtualisation and Simultaneous Hyper Threading on this VM. Structure is documented below

Link copied to clipboard
val canIpForward: Output<Boolean>? = null

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

Link copied to clipboard

Enable Confidential Mode on this VM. Structure is documented below

Link copied to clipboard
val description: Output<String>? = null

A brief description of this resource.

Link copied to clipboard

Disks to attach to instances created from this template. This can be specified multiple times for multiple disks. Structure is documented below.

Link copied to clipboard
val enableDisplay: Output<Boolean>? = null

Enable Virtual Displays on this instance. Note: allow_stopping_for_update must be set to true in order to update this field.

Link copied to clipboard

List of the type and count of accelerator cards attached to the instance. Structure documented below.

Link copied to clipboard
val instanceDescription: Output<String>? = null

A brief description to use for instances created from this template.

Link copied to clipboard
val keyRevocationActionType: Output<String>? = null

Action to be taken when a customer's encryption key is revoked. Supports STOP and NONE, with NONE being the default.

Link copied to clipboard
val labels: Output<Map<String, String>>? = null

A set of key/value label pairs to assign to instances created from this template. 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.

Link copied to clipboard
val machineType: Output<String>? = null

The machine type to create. To create a machine with a custom type (such as extended memory), format the value like custom-VCPUS-MEM_IN_MB like custom-6-20480 for 6 vCPU and 20GB of RAM.

Link copied to clipboard
val metadata: Output<Map<String, String>>? = null

Metadata key/value pairs to make available from within instances created from this template.

Link copied to clipboard
val metadataStartupScript: Output<String>? = null

An alternative to using the startup-script metadata key, mostly to match the compute_instance resource. This replaces the startup-script metadata key on the created instance and thus the two mechanisms are not allowed to be used simultaneously.

Link copied to clipboard
val minCpuPlatform: Output<String>? = null

Specifies a minimum CPU platform. Applicable values are the friendly names of CPU platforms, such as Intel Haswell or Intel Skylake. See the complete list here.

Link copied to clipboard
val name: Output<String>? = null
Link copied to clipboard
val namePrefix: Output<String>? = null

Creates a unique name beginning with the specified prefix. Conflicts with name. Max length is 54 characters. Prefixes with lengths longer than 37 characters will use a shortened UUID that will be more prone to collisions. Resulting name for a name_prefix<= 37 characters: name_prefix + YYYYmmddHHSSssss + 8 digit incremental counter Resulting name for a name_prefix 38 - 54 characters: name_prefix + YYmmdd + 3 digit incremental counter

Link copied to clipboard

Networks to attach to instances created from this template. This can be specified multiple times for multiple networks. Structure is documented below.

Link copied to clipboard

Configures network performance settings for the instance created from the template. Structure is documented below. Note: machine_type 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.

Link copied to clipboard
val partnerMetadata: Output<Map<String, String>>? = null

Beta key/value pair represents partner metadata assigned to instance template where key represent a defined namespace and value is a json string represent the entries associted with the namespace.

Link copied to clipboard
val project: Output<String>? = null

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

Link copied to clipboard
val region: Output<String>? = null

The Region in which the resource belongs. If region is not provided, the provider region is used.

Link copied to clipboard

Specifies the reservations that this instance can consume from. Structure is documented below.

Link copied to clipboard
val resourceManagerTags: Output<Map<String, String>>? = null

A set of key/value resource manager tag pairs to bind to the instance. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456.

Link copied to clipboard
val resourcePolicies: Output<String>? = null
Link copied to clipboard

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

Link copied to clipboard

Service account to attach to the instance. Structure is documented below.

Link copied to clipboard

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.

Link copied to clipboard
val tags: Output<List<String>>? = null

Tags to attach to the instance.

Functions

Link copied to clipboard
open override fun toJava(): RegionInstanceTemplateArgs