Package com.pulumi.gcp.compute
Class InstanceTemplateArgs.Builder
- java.lang.Object
-
- com.pulumi.gcp.compute.InstanceTemplateArgs.Builder
-
- Enclosing class:
- InstanceTemplateArgs
public static final class InstanceTemplateArgs.Builder extends java.lang.Object
-
-
Constructor Summary
Constructors Constructor Description Builder()
Builder(InstanceTemplateArgs defaults)
-
Method Summary
-
-
-
Constructor Detail
-
Builder
public Builder()
-
Builder
public Builder(InstanceTemplateArgs defaults)
-
-
Method Detail
-
advancedMachineFeatures
public InstanceTemplateArgs.Builder advancedMachineFeatures(@Nullable com.pulumi.core.Output<InstanceTemplateAdvancedMachineFeaturesArgs> advancedMachineFeatures)
- Parameters:
advancedMachineFeatures
- Configure Nested Virtualisation and Simultaneous Hyper Threading on this VM. Structure is documented below- Returns:
- builder
-
advancedMachineFeatures
public InstanceTemplateArgs.Builder advancedMachineFeatures(InstanceTemplateAdvancedMachineFeaturesArgs advancedMachineFeatures)
- Parameters:
advancedMachineFeatures
- Configure Nested Virtualisation and Simultaneous Hyper Threading on this VM. Structure is documented below- Returns:
- builder
-
canIpForward
public InstanceTemplateArgs.Builder canIpForward(@Nullable com.pulumi.core.Output<java.lang.Boolean> canIpForward)
- Parameters:
canIpForward
- Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false.- Returns:
- builder
-
canIpForward
public InstanceTemplateArgs.Builder canIpForward(java.lang.Boolean canIpForward)
- Parameters:
canIpForward
- Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false.- Returns:
- builder
-
confidentialInstanceConfig
public InstanceTemplateArgs.Builder confidentialInstanceConfig(@Nullable com.pulumi.core.Output<InstanceTemplateConfidentialInstanceConfigArgs> confidentialInstanceConfig)
- Parameters:
confidentialInstanceConfig
- Enable [Confidential Mode](https://cloud.google.com/compute/confidential-vm/docs/about-cvm) on this VM. Structure is documented below- Returns:
- builder
-
confidentialInstanceConfig
public InstanceTemplateArgs.Builder confidentialInstanceConfig(InstanceTemplateConfidentialInstanceConfigArgs confidentialInstanceConfig)
- Parameters:
confidentialInstanceConfig
- Enable [Confidential Mode](https://cloud.google.com/compute/confidential-vm/docs/about-cvm) on this VM. Structure is documented below- Returns:
- builder
-
description
public InstanceTemplateArgs.Builder description(@Nullable com.pulumi.core.Output<java.lang.String> description)
- Parameters:
description
- A brief description of this resource.- Returns:
- builder
-
description
public InstanceTemplateArgs.Builder description(java.lang.String description)
- Parameters:
description
- A brief description of this resource.- Returns:
- builder
-
disks
public InstanceTemplateArgs.Builder disks(com.pulumi.core.Output<java.util.List<InstanceTemplateDiskArgs>> disks)
- Parameters:
disks
- Disks to attach to instances created from this template. This can be specified multiple times for multiple disks. Structure is documented below.- Returns:
- builder
-
disks
public InstanceTemplateArgs.Builder disks(java.util.List<InstanceTemplateDiskArgs> disks)
- Parameters:
disks
- Disks to attach to instances created from this template. This can be specified multiple times for multiple disks. Structure is documented below.- Returns:
- builder
-
disks
public InstanceTemplateArgs.Builder disks(InstanceTemplateDiskArgs... disks)
- Parameters:
disks
- Disks to attach to instances created from this template. This can be specified multiple times for multiple disks. Structure is documented below.- Returns:
- builder
-
enableDisplay
public InstanceTemplateArgs.Builder enableDisplay(@Nullable com.pulumi.core.Output<java.lang.Boolean> enableDisplay)
- Parameters:
enableDisplay
- ) Enable [Virtual Displays](https://cloud.google.com/compute/docs/instances/enable-instance-virtual-display#verify_display_driver) on this instance. **Note**: `allow_stopping_for_update` must be set to true in order to update this field.- Returns:
- builder
-
enableDisplay
public InstanceTemplateArgs.Builder enableDisplay(java.lang.Boolean enableDisplay)
- Parameters:
enableDisplay
- ) Enable [Virtual Displays](https://cloud.google.com/compute/docs/instances/enable-instance-virtual-display#verify_display_driver) on this instance. **Note**: `allow_stopping_for_update` must be set to true in order to update this field.- Returns:
- builder
-
guestAccelerators
public InstanceTemplateArgs.Builder guestAccelerators(@Nullable com.pulumi.core.Output<java.util.List<InstanceTemplateGuestAcceleratorArgs>> guestAccelerators)
- Parameters:
guestAccelerators
- List of the type and count of accelerator cards attached to the instance. Structure documented below.- Returns:
- builder
-
guestAccelerators
public InstanceTemplateArgs.Builder guestAccelerators(java.util.List<InstanceTemplateGuestAcceleratorArgs> guestAccelerators)
- Parameters:
guestAccelerators
- List of the type and count of accelerator cards attached to the instance. Structure documented below.- Returns:
- builder
-
guestAccelerators
public InstanceTemplateArgs.Builder guestAccelerators(InstanceTemplateGuestAcceleratorArgs... guestAccelerators)
- Parameters:
guestAccelerators
- List of the type and count of accelerator cards attached to the instance. Structure documented below.- Returns:
- builder
-
instanceDescription
public InstanceTemplateArgs.Builder instanceDescription(@Nullable com.pulumi.core.Output<java.lang.String> instanceDescription)
- Parameters:
instanceDescription
- A brief description to use for instances created from this template.- Returns:
- builder
-
instanceDescription
public InstanceTemplateArgs.Builder instanceDescription(java.lang.String instanceDescription)
- Parameters:
instanceDescription
- A brief description to use for instances created from this template.- Returns:
- builder
-
labels
public InstanceTemplateArgs.Builder labels(@Nullable com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>> labels)
- Parameters:
labels
- 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.- Returns:
- builder
-
labels
public InstanceTemplateArgs.Builder labels(java.util.Map<java.lang.String,java.lang.String> labels)
- Parameters:
labels
- 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.- Returns:
- builder
-
machineType
public InstanceTemplateArgs.Builder machineType(com.pulumi.core.Output<java.lang.String> machineType)
- Parameters:
machineType
- The machine type to create. To create a machine with a [custom type](https://cloud.google.com/dataproc/docs/concepts/compute/custom-machine-types) (such as extended memory), format the value like `custom-VCPUS-MEM_IN_MB` like `custom-6-20480` for 6 vCPU and 20GB of RAM. ***- Returns:
- builder
-
machineType
public InstanceTemplateArgs.Builder machineType(java.lang.String machineType)
- Parameters:
machineType
- The machine type to create. To create a machine with a [custom type](https://cloud.google.com/dataproc/docs/concepts/compute/custom-machine-types) (such as extended memory), format the value like `custom-VCPUS-MEM_IN_MB` like `custom-6-20480` for 6 vCPU and 20GB of RAM. ***- Returns:
- builder
-
metadata
public InstanceTemplateArgs.Builder metadata(@Nullable com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.Object>> metadata)
- Parameters:
metadata
- Metadata key/value pairs to make available from within instances created from this template.- Returns:
- builder
-
metadata
public InstanceTemplateArgs.Builder metadata(java.util.Map<java.lang.String,java.lang.Object> metadata)
- Parameters:
metadata
- Metadata key/value pairs to make available from within instances created from this template.- Returns:
- builder
-
metadataStartupScript
public InstanceTemplateArgs.Builder metadataStartupScript(@Nullable com.pulumi.core.Output<java.lang.String> metadataStartupScript)
- Parameters:
metadataStartupScript
- 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.- Returns:
- builder
-
metadataStartupScript
public InstanceTemplateArgs.Builder metadataStartupScript(java.lang.String metadataStartupScript)
- Parameters:
metadataStartupScript
- 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.- Returns:
- builder
-
minCpuPlatform
public InstanceTemplateArgs.Builder minCpuPlatform(@Nullable com.pulumi.core.Output<java.lang.String> minCpuPlatform)
- Parameters:
minCpuPlatform
- 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](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform).- Returns:
- builder
-
minCpuPlatform
public InstanceTemplateArgs.Builder minCpuPlatform(java.lang.String minCpuPlatform)
- Parameters:
minCpuPlatform
- 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](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform).- Returns:
- builder
-
name
public InstanceTemplateArgs.Builder name(@Nullable com.pulumi.core.Output<java.lang.String> name)
- Parameters:
name
- The name of the instance template. If you leave this blank, the provider will auto-generate a unique name.- Returns:
- builder
-
name
public InstanceTemplateArgs.Builder name(java.lang.String name)
- Parameters:
name
- The name of the instance template. If you leave this blank, the provider will auto-generate a unique name.- Returns:
- builder
-
namePrefix
public InstanceTemplateArgs.Builder namePrefix(@Nullable com.pulumi.core.Output<java.lang.String> namePrefix)
- Parameters:
namePrefix
- Creates a unique name beginning with the specified prefix. Conflicts with `name`.- Returns:
- builder
-
namePrefix
public InstanceTemplateArgs.Builder namePrefix(java.lang.String namePrefix)
- Parameters:
namePrefix
- Creates a unique name beginning with the specified prefix. Conflicts with `name`.- Returns:
- builder
-
networkInterfaces
public InstanceTemplateArgs.Builder networkInterfaces(@Nullable com.pulumi.core.Output<java.util.List<InstanceTemplateNetworkInterfaceArgs>> networkInterfaces)
- Parameters:
networkInterfaces
- Networks to attach to instances created from this template. This can be specified multiple times for multiple networks. Structure is documented below.- Returns:
- builder
-
networkInterfaces
public InstanceTemplateArgs.Builder networkInterfaces(java.util.List<InstanceTemplateNetworkInterfaceArgs> networkInterfaces)
- Parameters:
networkInterfaces
- Networks to attach to instances created from this template. This can be specified multiple times for multiple networks. Structure is documented below.- Returns:
- builder
-
networkInterfaces
public InstanceTemplateArgs.Builder networkInterfaces(InstanceTemplateNetworkInterfaceArgs... networkInterfaces)
- Parameters:
networkInterfaces
- Networks to attach to instances created from this template. This can be specified multiple times for multiple networks. Structure is documented below.- Returns:
- builder
-
networkPerformanceConfig
public InstanceTemplateArgs.Builder networkPerformanceConfig(@Nullable com.pulumi.core.Output<InstanceTemplateNetworkPerformanceConfigArgs> networkPerformanceConfig)
- Parameters:
networkPerformanceConfig
- (Optional, Configures network performance settings for the instance created from the template. Structure is documented below. **Note**: `machine_type` must be a [supported type](https://cloud.google.com/compute/docs/networking/configure-vm-with-high-bandwidth-configuration), the `image` used must include the [`GVNIC`](https://cloud.google.com/compute/docs/networking/using-gvnic#create-instance-gvnic-image) in `guest-os-features`, and `network_interface.0.nic-type` must be `GVNIC` in order for this setting to take effect.- Returns:
- builder
-
networkPerformanceConfig
public InstanceTemplateArgs.Builder networkPerformanceConfig(InstanceTemplateNetworkPerformanceConfigArgs networkPerformanceConfig)
- Parameters:
networkPerformanceConfig
- (Optional, Configures network performance settings for the instance created from the template. Structure is documented below. **Note**: `machine_type` must be a [supported type](https://cloud.google.com/compute/docs/networking/configure-vm-with-high-bandwidth-configuration), the `image` used must include the [`GVNIC`](https://cloud.google.com/compute/docs/networking/using-gvnic#create-instance-gvnic-image) in `guest-os-features`, and `network_interface.0.nic-type` must be `GVNIC` in order for this setting to take effect.- Returns:
- builder
-
project
public InstanceTemplateArgs.Builder project(@Nullable com.pulumi.core.Output<java.lang.String> project)
- Parameters:
project
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.- Returns:
- builder
-
project
public InstanceTemplateArgs.Builder project(java.lang.String project)
- Parameters:
project
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.- Returns:
- builder
-
region
public InstanceTemplateArgs.Builder region(@Nullable com.pulumi.core.Output<java.lang.String> region)
- Parameters:
region
- An instance template is a global resource that is not bound to a zone or a region. However, you can still specify some regional resources in an instance template, which restricts the template to the region where that resource resides. For example, a custom `subnetwork` resource is tied to a specific region. Defaults to the region of the Provider if no value is given.- Returns:
- builder
-
region
public InstanceTemplateArgs.Builder region(java.lang.String region)
- Parameters:
region
- An instance template is a global resource that is not bound to a zone or a region. However, you can still specify some regional resources in an instance template, which restricts the template to the region where that resource resides. For example, a custom `subnetwork` resource is tied to a specific region. Defaults to the region of the Provider if no value is given.- Returns:
- builder
-
reservationAffinity
public InstanceTemplateArgs.Builder reservationAffinity(@Nullable com.pulumi.core.Output<InstanceTemplateReservationAffinityArgs> reservationAffinity)
- Parameters:
reservationAffinity
- Specifies the reservations that this instance can consume from. Structure is documented below.- Returns:
- builder
-
reservationAffinity
public InstanceTemplateArgs.Builder reservationAffinity(InstanceTemplateReservationAffinityArgs reservationAffinity)
- Parameters:
reservationAffinity
- Specifies the reservations that this instance can consume from. Structure is documented below.- Returns:
- builder
-
resourcePolicies
public InstanceTemplateArgs.Builder resourcePolicies(@Nullable com.pulumi.core.Output<java.lang.String> resourcePolicies)
- Parameters:
resourcePolicies
- - A list of self_links of resource policies to attach to the instance. Modifying this list will cause the instance to recreate. Currently a max of 1 resource policy is supported.- Returns:
- builder
-
resourcePolicies
public InstanceTemplateArgs.Builder resourcePolicies(java.lang.String resourcePolicies)
- Parameters:
resourcePolicies
- - A list of self_links of resource policies to attach to the instance. Modifying this list will cause the instance to recreate. Currently a max of 1 resource policy is supported.- Returns:
- builder
-
scheduling
public InstanceTemplateArgs.Builder scheduling(@Nullable com.pulumi.core.Output<InstanceTemplateSchedulingArgs> scheduling)
- Parameters:
scheduling
- The scheduling strategy to use. More details about this configuration option are detailed below.- Returns:
- builder
-
scheduling
public InstanceTemplateArgs.Builder scheduling(InstanceTemplateSchedulingArgs scheduling)
- Parameters:
scheduling
- The scheduling strategy to use. More details about this configuration option are detailed below.- Returns:
- builder
-
serviceAccount
public InstanceTemplateArgs.Builder serviceAccount(@Nullable com.pulumi.core.Output<InstanceTemplateServiceAccountArgs> serviceAccount)
- Parameters:
serviceAccount
- Service account to attach to the instance. Structure is documented below.- Returns:
- builder
-
serviceAccount
public InstanceTemplateArgs.Builder serviceAccount(InstanceTemplateServiceAccountArgs serviceAccount)
- Parameters:
serviceAccount
- Service account to attach to the instance. Structure is documented below.- Returns:
- builder
-
shieldedInstanceConfig
public InstanceTemplateArgs.Builder shieldedInstanceConfig(@Nullable com.pulumi.core.Output<InstanceTemplateShieldedInstanceConfigArgs> shieldedInstanceConfig)
- Parameters:
shieldedInstanceConfig
- Enable [Shielded VM](https://cloud.google.com/security/shielded-cloud/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](https://cloud.google.com/compute/docs/images#shielded-images).- Returns:
- builder
-
shieldedInstanceConfig
public InstanceTemplateArgs.Builder shieldedInstanceConfig(InstanceTemplateShieldedInstanceConfigArgs shieldedInstanceConfig)
- Parameters:
shieldedInstanceConfig
- Enable [Shielded VM](https://cloud.google.com/security/shielded-cloud/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](https://cloud.google.com/compute/docs/images#shielded-images).- Returns:
- builder
-
tags
public InstanceTemplateArgs.Builder tags(@Nullable com.pulumi.core.Output<java.util.List<java.lang.String>> tags)
- Parameters:
tags
- Tags to attach to the instance.- Returns:
- builder
-
tags
public InstanceTemplateArgs.Builder tags(java.util.List<java.lang.String> tags)
- Parameters:
tags
- Tags to attach to the instance.- Returns:
- builder
-
tags
public InstanceTemplateArgs.Builder tags(java.lang.String... tags)
- Parameters:
tags
- Tags to attach to the instance.- Returns:
- builder
-
build
public InstanceTemplateArgs build()
-
-