Instance From Template Args
data class InstanceFromTemplateArgs(val advancedMachineFeatures: Output<InstanceFromTemplateAdvancedMachineFeaturesArgs>? = null, val allowStoppingForUpdate: Output<Boolean>? = null, val attachedDisks: Output<List<InstanceFromTemplateAttachedDiskArgs>>? = null, val bootDisk: Output<InstanceFromTemplateBootDiskArgs>? = null, val canIpForward: Output<Boolean>? = null, val confidentialInstanceConfig: Output<InstanceFromTemplateConfidentialInstanceConfigArgs>? = null, val deletionProtection: Output<Boolean>? = null, val description: Output<String>? = null, val desiredStatus: Output<String>? = null, val enableDisplay: Output<Boolean>? = null, val guestAccelerators: Output<List<InstanceFromTemplateGuestAcceleratorArgs>>? = null, val hostname: 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 networkInterfaces: Output<List<InstanceFromTemplateNetworkInterfaceArgs>>? = null, val networkPerformanceConfig: Output<InstanceFromTemplateNetworkPerformanceConfigArgs>? = null, val params: Output<InstanceFromTemplateParamsArgs>? = null, val project: Output<String>? = null, val reservationAffinity: Output<InstanceFromTemplateReservationAffinityArgs>? = null, val resourcePolicies: Output<String>? = null, val scheduling: Output<InstanceFromTemplateSchedulingArgs>? = null, val scratchDisks: Output<List<InstanceFromTemplateScratchDiskArgs>>? = null, val serviceAccount: Output<InstanceFromTemplateServiceAccountArgs>? = null, val shieldedInstanceConfig: Output<InstanceFromTemplateShieldedInstanceConfigArgs>? = null, val sourceInstanceTemplate: Output<String>? = null, val tags: Output<List<String>>? = null, val zone: Output<String>? = null) : ConvertibleToJava<InstanceFromTemplateArgs>
Manages a VM instance resource within GCE. For more information see the official documentation and API. This resource is specifically to create a compute instance from a given source_instance_template
. To create an instance without a template, use the gcp.compute.Instance
resource.
Example Usage
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.compute.InstanceTemplate;
import com.pulumi.gcp.compute.InstanceTemplateArgs;
import com.pulumi.gcp.compute.inputs.InstanceTemplateDiskArgs;
import com.pulumi.gcp.compute.inputs.InstanceTemplateNetworkInterfaceArgs;
import com.pulumi.gcp.compute.InstanceFromTemplate;
import com.pulumi.gcp.compute.InstanceFromTemplateArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var tplInstanceTemplate = new InstanceTemplate("tplInstanceTemplate", InstanceTemplateArgs.builder()
.machineType("e2-medium")
.disks(InstanceTemplateDiskArgs.builder()
.sourceImage("debian-cloud/debian-11")
.autoDelete(true)
.diskSizeGb(100)
.boot(true)
.build())
.networkInterfaces(InstanceTemplateNetworkInterfaceArgs.builder()
.network("default")
.build())
.metadata(Map.of("foo", "bar"))
.canIpForward(true)
.build());
var tplInstanceFromTemplate = new InstanceFromTemplate("tplInstanceFromTemplate", InstanceFromTemplateArgs.builder()
.zone("us-central1-a")
.sourceInstanceTemplate(tplInstanceTemplate.selfLinkUnique())
.canIpForward(false)
.labels(Map.of("my_key", "my_value"))
.build());
}
}
Content copied to clipboard
Import
This resource does not support import.
Constructors
Link copied to clipboard
fun InstanceFromTemplateArgs(advancedMachineFeatures: Output<InstanceFromTemplateAdvancedMachineFeaturesArgs>? = null, allowStoppingForUpdate: Output<Boolean>? = null, attachedDisks: Output<List<InstanceFromTemplateAttachedDiskArgs>>? = null, bootDisk: Output<InstanceFromTemplateBootDiskArgs>? = null, canIpForward: Output<Boolean>? = null, confidentialInstanceConfig: Output<InstanceFromTemplateConfidentialInstanceConfigArgs>? = null, deletionProtection: Output<Boolean>? = null, description: Output<String>? = null, desiredStatus: Output<String>? = null, enableDisplay: Output<Boolean>? = null, guestAccelerators: Output<List<InstanceFromTemplateGuestAcceleratorArgs>>? = null, hostname: 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, networkInterfaces: Output<List<InstanceFromTemplateNetworkInterfaceArgs>>? = null, networkPerformanceConfig: Output<InstanceFromTemplateNetworkPerformanceConfigArgs>? = null, params: Output<InstanceFromTemplateParamsArgs>? = null, project: Output<String>? = null, reservationAffinity: Output<InstanceFromTemplateReservationAffinityArgs>? = null, resourcePolicies: Output<String>? = null, scheduling: Output<InstanceFromTemplateSchedulingArgs>? = null, scratchDisks: Output<List<InstanceFromTemplateScratchDiskArgs>>? = null, serviceAccount: Output<InstanceFromTemplateServiceAccountArgs>? = null, shieldedInstanceConfig: Output<InstanceFromTemplateShieldedInstanceConfigArgs>? = null, sourceInstanceTemplate: Output<String>? = null, tags: Output<List<String>>? = null, zone: Output<String>? = null)
Functions
Properties
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
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-z0-9]*[a-z0-9, concatenated with periods. The entire hostname must not exceed 253 characters. Changing this forces a new resource to be created.
Link copied to clipboard
Link copied to clipboard