gcp.compute.InstanceTemplate
Explore with Pulumi AI
Note: Global instance templates can be used in any region. To lower the impact of outages outside your region and gain data residency within your region, use google_compute_region_instance_template.
Manages a VM instance template resource within GCE. For more information see the official documentation and API.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const _default = new gcp.serviceaccount.Account("default", {
accountId: "service-account-id",
displayName: "Service Account",
});
const myImage = gcp.compute.getImage({
family: "debian-11",
project: "debian-cloud",
});
const foobar = new gcp.compute.Disk("foobar", {
name: "existing-disk",
image: myImage.then(myImage => myImage.selfLink),
size: 10,
type: "pd-ssd",
zone: "us-central1-a",
});
const dailyBackup = new gcp.compute.ResourcePolicy("daily_backup", {
name: "every-day-4am",
region: "us-central1",
snapshotSchedulePolicy: {
schedule: {
dailySchedule: {
daysInCycle: 1,
startTime: "04:00",
},
},
},
});
const defaultInstanceTemplate = new gcp.compute.InstanceTemplate("default", {
name: "appserver-template",
description: "This template is used to create app server instances.",
tags: [
"foo",
"bar",
],
labels: {
environment: "dev",
},
instanceDescription: "description assigned to instances",
machineType: "e2-medium",
canIpForward: false,
scheduling: {
automaticRestart: true,
onHostMaintenance: "MIGRATE",
},
disks: [
{
sourceImage: "debian-cloud/debian-11",
autoDelete: true,
boot: true,
resourcePolicies: dailyBackup.id,
},
{
source: foobar.name,
autoDelete: false,
boot: false,
},
],
networkInterfaces: [{
network: "default",
}],
metadata: {
foo: "bar",
},
serviceAccount: {
email: _default.email,
scopes: ["cloud-platform"],
},
});
import pulumi
import pulumi_gcp as gcp
default = gcp.serviceaccount.Account("default",
account_id="service-account-id",
display_name="Service Account")
my_image = gcp.compute.get_image(family="debian-11",
project="debian-cloud")
foobar = gcp.compute.Disk("foobar",
name="existing-disk",
image=my_image.self_link,
size=10,
type="pd-ssd",
zone="us-central1-a")
daily_backup = gcp.compute.ResourcePolicy("daily_backup",
name="every-day-4am",
region="us-central1",
snapshot_schedule_policy={
"schedule": {
"daily_schedule": {
"days_in_cycle": 1,
"start_time": "04:00",
},
},
})
default_instance_template = gcp.compute.InstanceTemplate("default",
name="appserver-template",
description="This template is used to create app server instances.",
tags=[
"foo",
"bar",
],
labels={
"environment": "dev",
},
instance_description="description assigned to instances",
machine_type="e2-medium",
can_ip_forward=False,
scheduling={
"automatic_restart": True,
"on_host_maintenance": "MIGRATE",
},
disks=[
{
"source_image": "debian-cloud/debian-11",
"auto_delete": True,
"boot": True,
"resource_policies": daily_backup.id,
},
{
"source": foobar.name,
"auto_delete": False,
"boot": False,
},
],
network_interfaces=[{
"network": "default",
}],
metadata={
"foo": "bar",
},
service_account={
"email": default.email,
"scopes": ["cloud-platform"],
})
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/compute"
"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/serviceaccount"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_default, err := serviceaccount.NewAccount(ctx, "default", &serviceaccount.AccountArgs{
AccountId: pulumi.String("service-account-id"),
DisplayName: pulumi.String("Service Account"),
})
if err != nil {
return err
}
myImage, err := compute.LookupImage(ctx, &compute.LookupImageArgs{
Family: pulumi.StringRef("debian-11"),
Project: pulumi.StringRef("debian-cloud"),
}, nil)
if err != nil {
return err
}
foobar, err := compute.NewDisk(ctx, "foobar", &compute.DiskArgs{
Name: pulumi.String("existing-disk"),
Image: pulumi.String(myImage.SelfLink),
Size: pulumi.Int(10),
Type: pulumi.String("pd-ssd"),
Zone: pulumi.String("us-central1-a"),
})
if err != nil {
return err
}
dailyBackup, err := compute.NewResourcePolicy(ctx, "daily_backup", &compute.ResourcePolicyArgs{
Name: pulumi.String("every-day-4am"),
Region: pulumi.String("us-central1"),
SnapshotSchedulePolicy: &compute.ResourcePolicySnapshotSchedulePolicyArgs{
Schedule: &compute.ResourcePolicySnapshotSchedulePolicyScheduleArgs{
DailySchedule: &compute.ResourcePolicySnapshotSchedulePolicyScheduleDailyScheduleArgs{
DaysInCycle: pulumi.Int(1),
StartTime: pulumi.String("04:00"),
},
},
},
})
if err != nil {
return err
}
_, err = compute.NewInstanceTemplate(ctx, "default", &compute.InstanceTemplateArgs{
Name: pulumi.String("appserver-template"),
Description: pulumi.String("This template is used to create app server instances."),
Tags: pulumi.StringArray{
pulumi.String("foo"),
pulumi.String("bar"),
},
Labels: pulumi.StringMap{
"environment": pulumi.String("dev"),
},
InstanceDescription: pulumi.String("description assigned to instances"),
MachineType: pulumi.String("e2-medium"),
CanIpForward: pulumi.Bool(false),
Scheduling: &compute.InstanceTemplateSchedulingArgs{
AutomaticRestart: pulumi.Bool(true),
OnHostMaintenance: pulumi.String("MIGRATE"),
},
Disks: compute.InstanceTemplateDiskArray{
&compute.InstanceTemplateDiskArgs{
SourceImage: pulumi.String("debian-cloud/debian-11"),
AutoDelete: pulumi.Bool(true),
Boot: pulumi.Bool(true),
ResourcePolicies: dailyBackup.ID(),
},
&compute.InstanceTemplateDiskArgs{
Source: foobar.Name,
AutoDelete: pulumi.Bool(false),
Boot: pulumi.Bool(false),
},
},
NetworkInterfaces: compute.InstanceTemplateNetworkInterfaceArray{
&compute.InstanceTemplateNetworkInterfaceArgs{
Network: pulumi.String("default"),
},
},
Metadata: pulumi.StringMap{
"foo": pulumi.String("bar"),
},
ServiceAccount: &compute.InstanceTemplateServiceAccountArgs{
Email: _default.Email,
Scopes: pulumi.StringArray{
pulumi.String("cloud-platform"),
},
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var @default = new Gcp.ServiceAccount.Account("default", new()
{
AccountId = "service-account-id",
DisplayName = "Service Account",
});
var myImage = Gcp.Compute.GetImage.Invoke(new()
{
Family = "debian-11",
Project = "debian-cloud",
});
var foobar = new Gcp.Compute.Disk("foobar", new()
{
Name = "existing-disk",
Image = myImage.Apply(getImageResult => getImageResult.SelfLink),
Size = 10,
Type = "pd-ssd",
Zone = "us-central1-a",
});
var dailyBackup = new Gcp.Compute.ResourcePolicy("daily_backup", new()
{
Name = "every-day-4am",
Region = "us-central1",
SnapshotSchedulePolicy = new Gcp.Compute.Inputs.ResourcePolicySnapshotSchedulePolicyArgs
{
Schedule = new Gcp.Compute.Inputs.ResourcePolicySnapshotSchedulePolicyScheduleArgs
{
DailySchedule = new Gcp.Compute.Inputs.ResourcePolicySnapshotSchedulePolicyScheduleDailyScheduleArgs
{
DaysInCycle = 1,
StartTime = "04:00",
},
},
},
});
var defaultInstanceTemplate = new Gcp.Compute.InstanceTemplate("default", new()
{
Name = "appserver-template",
Description = "This template is used to create app server instances.",
Tags = new[]
{
"foo",
"bar",
},
Labels =
{
{ "environment", "dev" },
},
InstanceDescription = "description assigned to instances",
MachineType = "e2-medium",
CanIpForward = false,
Scheduling = new Gcp.Compute.Inputs.InstanceTemplateSchedulingArgs
{
AutomaticRestart = true,
OnHostMaintenance = "MIGRATE",
},
Disks = new[]
{
new Gcp.Compute.Inputs.InstanceTemplateDiskArgs
{
SourceImage = "debian-cloud/debian-11",
AutoDelete = true,
Boot = true,
ResourcePolicies = dailyBackup.Id,
},
new Gcp.Compute.Inputs.InstanceTemplateDiskArgs
{
Source = foobar.Name,
AutoDelete = false,
Boot = false,
},
},
NetworkInterfaces = new[]
{
new Gcp.Compute.Inputs.InstanceTemplateNetworkInterfaceArgs
{
Network = "default",
},
},
Metadata =
{
{ "foo", "bar" },
},
ServiceAccount = new Gcp.Compute.Inputs.InstanceTemplateServiceAccountArgs
{
Email = @default.Email,
Scopes = new[]
{
"cloud-platform",
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.serviceaccount.Account;
import com.pulumi.gcp.serviceaccount.AccountArgs;
import com.pulumi.gcp.compute.ComputeFunctions;
import com.pulumi.gcp.compute.inputs.GetImageArgs;
import com.pulumi.gcp.compute.Disk;
import com.pulumi.gcp.compute.DiskArgs;
import com.pulumi.gcp.compute.ResourcePolicy;
import com.pulumi.gcp.compute.ResourcePolicyArgs;
import com.pulumi.gcp.compute.inputs.ResourcePolicySnapshotSchedulePolicyArgs;
import com.pulumi.gcp.compute.inputs.ResourcePolicySnapshotSchedulePolicyScheduleArgs;
import com.pulumi.gcp.compute.inputs.ResourcePolicySnapshotSchedulePolicyScheduleDailyScheduleArgs;
import com.pulumi.gcp.compute.InstanceTemplate;
import com.pulumi.gcp.compute.InstanceTemplateArgs;
import com.pulumi.gcp.compute.inputs.InstanceTemplateSchedulingArgs;
import com.pulumi.gcp.compute.inputs.InstanceTemplateDiskArgs;
import com.pulumi.gcp.compute.inputs.InstanceTemplateNetworkInterfaceArgs;
import com.pulumi.gcp.compute.inputs.InstanceTemplateServiceAccountArgs;
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 default_ = new Account("default", AccountArgs.builder()
.accountId("service-account-id")
.displayName("Service Account")
.build());
final var myImage = ComputeFunctions.getImage(GetImageArgs.builder()
.family("debian-11")
.project("debian-cloud")
.build());
var foobar = new Disk("foobar", DiskArgs.builder()
.name("existing-disk")
.image(myImage.selfLink())
.size(10)
.type("pd-ssd")
.zone("us-central1-a")
.build());
var dailyBackup = new ResourcePolicy("dailyBackup", ResourcePolicyArgs.builder()
.name("every-day-4am")
.region("us-central1")
.snapshotSchedulePolicy(ResourcePolicySnapshotSchedulePolicyArgs.builder()
.schedule(ResourcePolicySnapshotSchedulePolicyScheduleArgs.builder()
.dailySchedule(ResourcePolicySnapshotSchedulePolicyScheduleDailyScheduleArgs.builder()
.daysInCycle(1)
.startTime("04:00")
.build())
.build())
.build())
.build());
var defaultInstanceTemplate = new InstanceTemplate("defaultInstanceTemplate", InstanceTemplateArgs.builder()
.name("appserver-template")
.description("This template is used to create app server instances.")
.tags(
"foo",
"bar")
.labels(Map.of("environment", "dev"))
.instanceDescription("description assigned to instances")
.machineType("e2-medium")
.canIpForward(false)
.scheduling(InstanceTemplateSchedulingArgs.builder()
.automaticRestart(true)
.onHostMaintenance("MIGRATE")
.build())
.disks(
InstanceTemplateDiskArgs.builder()
.sourceImage("debian-cloud/debian-11")
.autoDelete(true)
.boot(true)
.resourcePolicies(dailyBackup.id())
.build(),
InstanceTemplateDiskArgs.builder()
.source(foobar.name())
.autoDelete(false)
.boot(false)
.build())
.networkInterfaces(InstanceTemplateNetworkInterfaceArgs.builder()
.network("default")
.build())
.metadata(Map.of("foo", "bar"))
.serviceAccount(InstanceTemplateServiceAccountArgs.builder()
.email(default_.email())
.scopes("cloud-platform")
.build())
.build());
}
}
resources:
default:
type: gcp:serviceaccount:Account
properties:
accountId: service-account-id
displayName: Service Account
defaultInstanceTemplate:
type: gcp:compute:InstanceTemplate
name: default
properties:
name: appserver-template
description: This template is used to create app server instances.
tags:
- foo
- bar
labels:
environment: dev
instanceDescription: description assigned to instances
machineType: e2-medium
canIpForward: false
scheduling:
automaticRestart: true
onHostMaintenance: MIGRATE
disks:
- sourceImage: debian-cloud/debian-11
autoDelete: true
boot: true
resourcePolicies: ${dailyBackup.id}
- source: ${foobar.name}
autoDelete: false
boot: false
networkInterfaces:
- network: default
metadata:
foo: bar
serviceAccount:
email: ${default.email}
scopes:
- cloud-platform
foobar:
type: gcp:compute:Disk
properties:
name: existing-disk
image: ${myImage.selfLink}
size: 10
type: pd-ssd
zone: us-central1-a
dailyBackup:
type: gcp:compute:ResourcePolicy
name: daily_backup
properties:
name: every-day-4am
region: us-central1
snapshotSchedulePolicy:
schedule:
dailySchedule:
daysInCycle: 1
startTime: 04:00
variables:
myImage:
fn::invoke:
function: gcp:compute:getImage
arguments:
family: debian-11
project: debian-cloud
Automatic Envoy Deployment
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const _default = gcp.compute.getDefaultServiceAccount({});
const myImage = gcp.compute.getImage({
family: "debian-11",
project: "debian-cloud",
});
const foobar = new gcp.compute.InstanceTemplate("foobar", {
name: "appserver-template",
machineType: "e2-medium",
canIpForward: false,
tags: [
"foo",
"bar",
],
disks: [{
sourceImage: myImage.then(myImage => myImage.selfLink),
autoDelete: true,
boot: true,
}],
networkInterfaces: [{
network: "default",
}],
scheduling: {
preemptible: false,
automaticRestart: true,
},
metadata: {
"gce-software-declaration": `{
"softwareRecipes": [{
"name": "install-gce-service-proxy-agent",
"desired_state": "INSTALLED",
"installSteps": [{
"scriptRun": {
"script": "#! /bin/bash\\nZONE=(curl --silent http://metadata.google.internal/computeMetadata/v1/instance/zone -H Metadata-Flavor:Google | cut -d/ -f4 )\\nexport SERVICE_PROXY_AGENT_DIRECTORY=(mktemp -d)\\nsudo gsutil cp gs://gce-service-proxy-"ZONE"/service-proxy-agent/releases/service-proxy-agent-0.2.tgz "SERVICE_PROXY_AGENT_DIRECTORY" || sudo gsutil cp gs://gce-service-proxy/service-proxy-agent/releases/service-proxy-agent-0.2.tgz "SERVICE_PROXY_AGENT_DIRECTORY"\\nsudo tar -xzf "SERVICE_PROXY_AGENT_DIRECTORY"/service-proxy-agent-0.2.tgz -C "SERVICE_PROXY_AGENT_DIRECTORY"\\n"SERVICE_PROXY_AGENT_DIRECTORY"/service-proxy-agent/service-proxy-agent-bootstrap.sh"
}
}]
}]
}
`,
"gce-service-proxy": `{
"api-version": "0.2",
"proxy-spec": {
"proxy-port": 15001,
"network": "my-network",
"tracing": "ON",
"access-log": "/var/log/envoy/access.log"
}
"service": {
"serving-ports": [80, 81]
},
"labels": {
"app_name": "bookserver_app",
"app_version": "STABLE"
}
}
`,
"enable-guest-attributes": "true",
"enable-osconfig": "true",
},
serviceAccount: {
email: _default.then(_default => _default.email),
scopes: ["cloud-platform"],
},
labels: {
"gce-service-proxy": "on",
},
});
import pulumi
import pulumi_gcp as gcp
default = gcp.compute.get_default_service_account()
my_image = gcp.compute.get_image(family="debian-11",
project="debian-cloud")
foobar = gcp.compute.InstanceTemplate("foobar",
name="appserver-template",
machine_type="e2-medium",
can_ip_forward=False,
tags=[
"foo",
"bar",
],
disks=[{
"source_image": my_image.self_link,
"auto_delete": True,
"boot": True,
}],
network_interfaces=[{
"network": "default",
}],
scheduling={
"preemptible": False,
"automatic_restart": True,
},
metadata={
"gce-software-declaration": """{
"softwareRecipes": [{
"name": "install-gce-service-proxy-agent",
"desired_state": "INSTALLED",
"installSteps": [{
"scriptRun": {
"script": "#! /bin/bash\nZONE=$(curl --silent http://metadata.google.internal/computeMetadata/v1/instance/zone -H Metadata-Flavor:Google | cut -d/ -f4 )\nexport SERVICE_PROXY_AGENT_DIRECTORY=$(mktemp -d)\nsudo gsutil cp gs://gce-service-proxy-"$ZONE"/service-proxy-agent/releases/service-proxy-agent-0.2.tgz "$SERVICE_PROXY_AGENT_DIRECTORY" || sudo gsutil cp gs://gce-service-proxy/service-proxy-agent/releases/service-proxy-agent-0.2.tgz "$SERVICE_PROXY_AGENT_DIRECTORY"\nsudo tar -xzf "$SERVICE_PROXY_AGENT_DIRECTORY"/service-proxy-agent-0.2.tgz -C "$SERVICE_PROXY_AGENT_DIRECTORY"\n"$SERVICE_PROXY_AGENT_DIRECTORY"/service-proxy-agent/service-proxy-agent-bootstrap.sh"
}
}]
}]
}
""",
"gce-service-proxy": """{
"api-version": "0.2",
"proxy-spec": {
"proxy-port": 15001,
"network": "my-network",
"tracing": "ON",
"access-log": "/var/log/envoy/access.log"
}
"service": {
"serving-ports": [80, 81]
},
"labels": {
"app_name": "bookserver_app",
"app_version": "STABLE"
}
}
""",
"enable-guest-attributes": "true",
"enable-osconfig": "true",
},
service_account={
"email": default.email,
"scopes": ["cloud-platform"],
},
labels={
"gce-service-proxy": "on",
})
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/compute"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_default, err := compute.GetDefaultServiceAccount(ctx, &compute.GetDefaultServiceAccountArgs{}, nil)
if err != nil {
return err
}
myImage, err := compute.LookupImage(ctx, &compute.LookupImageArgs{
Family: pulumi.StringRef("debian-11"),
Project: pulumi.StringRef("debian-cloud"),
}, nil)
if err != nil {
return err
}
_, err = compute.NewInstanceTemplate(ctx, "foobar", &compute.InstanceTemplateArgs{
Name: pulumi.String("appserver-template"),
MachineType: pulumi.String("e2-medium"),
CanIpForward: pulumi.Bool(false),
Tags: pulumi.StringArray{
pulumi.String("foo"),
pulumi.String("bar"),
},
Disks: compute.InstanceTemplateDiskArray{
&compute.InstanceTemplateDiskArgs{
SourceImage: pulumi.String(myImage.SelfLink),
AutoDelete: pulumi.Bool(true),
Boot: pulumi.Bool(true),
},
},
NetworkInterfaces: compute.InstanceTemplateNetworkInterfaceArray{
&compute.InstanceTemplateNetworkInterfaceArgs{
Network: pulumi.String("default"),
},
},
Scheduling: &compute.InstanceTemplateSchedulingArgs{
Preemptible: pulumi.Bool(false),
AutomaticRestart: pulumi.Bool(true),
},
Metadata: pulumi.StringMap{
"gce-software-declaration": pulumi.String(`{
"softwareRecipes": [{
"name": "install-gce-service-proxy-agent",
"desired_state": "INSTALLED",
"installSteps": [{
"scriptRun": {
"script": "#! /bin/bash\nZONE=$(curl --silent http://metadata.google.internal/computeMetadata/v1/instance/zone -H Metadata-Flavor:Google | cut -d/ -f4 )\nexport SERVICE_PROXY_AGENT_DIRECTORY=$(mktemp -d)\nsudo gsutil cp gs://gce-service-proxy-"$ZONE"/service-proxy-agent/releases/service-proxy-agent-0.2.tgz "$SERVICE_PROXY_AGENT_DIRECTORY" || sudo gsutil cp gs://gce-service-proxy/service-proxy-agent/releases/service-proxy-agent-0.2.tgz "$SERVICE_PROXY_AGENT_DIRECTORY"\nsudo tar -xzf "$SERVICE_PROXY_AGENT_DIRECTORY"/service-proxy-agent-0.2.tgz -C "$SERVICE_PROXY_AGENT_DIRECTORY"\n"$SERVICE_PROXY_AGENT_DIRECTORY"/service-proxy-agent/service-proxy-agent-bootstrap.sh"
}
}]
}]
}
`),
"gce-service-proxy": pulumi.String(`{
"api-version": "0.2",
"proxy-spec": {
"proxy-port": 15001,
"network": "my-network",
"tracing": "ON",
"access-log": "/var/log/envoy/access.log"
}
"service": {
"serving-ports": [80, 81]
},
"labels": {
"app_name": "bookserver_app",
"app_version": "STABLE"
}
}
`),
"enable-guest-attributes": pulumi.String("true"),
"enable-osconfig": pulumi.String("true"),
},
ServiceAccount: &compute.InstanceTemplateServiceAccountArgs{
Email: pulumi.String(_default.Email),
Scopes: pulumi.StringArray{
pulumi.String("cloud-platform"),
},
},
Labels: pulumi.StringMap{
"gce-service-proxy": pulumi.String("on"),
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var @default = Gcp.Compute.GetDefaultServiceAccount.Invoke();
var myImage = Gcp.Compute.GetImage.Invoke(new()
{
Family = "debian-11",
Project = "debian-cloud",
});
var foobar = new Gcp.Compute.InstanceTemplate("foobar", new()
{
Name = "appserver-template",
MachineType = "e2-medium",
CanIpForward = false,
Tags = new[]
{
"foo",
"bar",
},
Disks = new[]
{
new Gcp.Compute.Inputs.InstanceTemplateDiskArgs
{
SourceImage = myImage.Apply(getImageResult => getImageResult.SelfLink),
AutoDelete = true,
Boot = true,
},
},
NetworkInterfaces = new[]
{
new Gcp.Compute.Inputs.InstanceTemplateNetworkInterfaceArgs
{
Network = "default",
},
},
Scheduling = new Gcp.Compute.Inputs.InstanceTemplateSchedulingArgs
{
Preemptible = false,
AutomaticRestart = true,
},
Metadata =
{
{ "gce-software-declaration", @"{
""softwareRecipes"": [{
""name"": ""install-gce-service-proxy-agent"",
""desired_state"": ""INSTALLED"",
""installSteps"": [{
""scriptRun"": {
""script"": ""#! /bin/bash\nZONE=$(curl --silent http://metadata.google.internal/computeMetadata/v1/instance/zone -H Metadata-Flavor:Google | cut -d/ -f4 )\nexport SERVICE_PROXY_AGENT_DIRECTORY=$(mktemp -d)\nsudo gsutil cp gs://gce-service-proxy-""$ZONE""/service-proxy-agent/releases/service-proxy-agent-0.2.tgz ""$SERVICE_PROXY_AGENT_DIRECTORY"" || sudo gsutil cp gs://gce-service-proxy/service-proxy-agent/releases/service-proxy-agent-0.2.tgz ""$SERVICE_PROXY_AGENT_DIRECTORY""\nsudo tar -xzf ""$SERVICE_PROXY_AGENT_DIRECTORY""/service-proxy-agent-0.2.tgz -C ""$SERVICE_PROXY_AGENT_DIRECTORY""\n""$SERVICE_PROXY_AGENT_DIRECTORY""/service-proxy-agent/service-proxy-agent-bootstrap.sh""
}
}]
}]
}
" },
{ "gce-service-proxy", @"{
""api-version"": ""0.2"",
""proxy-spec"": {
""proxy-port"": 15001,
""network"": ""my-network"",
""tracing"": ""ON"",
""access-log"": ""/var/log/envoy/access.log""
}
""service"": {
""serving-ports"": [80, 81]
},
""labels"": {
""app_name"": ""bookserver_app"",
""app_version"": ""STABLE""
}
}
" },
{ "enable-guest-attributes", "true" },
{ "enable-osconfig", "true" },
},
ServiceAccount = new Gcp.Compute.Inputs.InstanceTemplateServiceAccountArgs
{
Email = @default.Apply(@default => @default.Apply(getDefaultServiceAccountResult => getDefaultServiceAccountResult.Email)),
Scopes = new[]
{
"cloud-platform",
},
},
Labels =
{
{ "gce-service-proxy", "on" },
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.compute.ComputeFunctions;
import com.pulumi.gcp.compute.inputs.GetDefaultServiceAccountArgs;
import com.pulumi.gcp.compute.inputs.GetImageArgs;
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.inputs.InstanceTemplateSchedulingArgs;
import com.pulumi.gcp.compute.inputs.InstanceTemplateServiceAccountArgs;
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) {
final var default = ComputeFunctions.getDefaultServiceAccount(GetDefaultServiceAccountArgs.builder()
.build());
final var myImage = ComputeFunctions.getImage(GetImageArgs.builder()
.family("debian-11")
.project("debian-cloud")
.build());
var foobar = new InstanceTemplate("foobar", InstanceTemplateArgs.builder()
.name("appserver-template")
.machineType("e2-medium")
.canIpForward(false)
.tags(
"foo",
"bar")
.disks(InstanceTemplateDiskArgs.builder()
.sourceImage(myImage.selfLink())
.autoDelete(true)
.boot(true)
.build())
.networkInterfaces(InstanceTemplateNetworkInterfaceArgs.builder()
.network("default")
.build())
.scheduling(InstanceTemplateSchedulingArgs.builder()
.preemptible(false)
.automaticRestart(true)
.build())
.metadata(Map.ofEntries(
Map.entry("gce-software-declaration", """
{
"softwareRecipes": [{
"name": "install-gce-service-proxy-agent",
"desired_state": "INSTALLED",
"installSteps": [{
"scriptRun": {
"script": "#! /bin/bash\nZONE=$(curl --silent http://metadata.google.internal/computeMetadata/v1/instance/zone -H Metadata-Flavor:Google | cut -d/ -f4 )\nexport SERVICE_PROXY_AGENT_DIRECTORY=$(mktemp -d)\nsudo gsutil cp gs://gce-service-proxy-"$ZONE"/service-proxy-agent/releases/service-proxy-agent-0.2.tgz "$SERVICE_PROXY_AGENT_DIRECTORY" || sudo gsutil cp gs://gce-service-proxy/service-proxy-agent/releases/service-proxy-agent-0.2.tgz "$SERVICE_PROXY_AGENT_DIRECTORY"\nsudo tar -xzf "$SERVICE_PROXY_AGENT_DIRECTORY"/service-proxy-agent-0.2.tgz -C "$SERVICE_PROXY_AGENT_DIRECTORY"\n"$SERVICE_PROXY_AGENT_DIRECTORY"/service-proxy-agent/service-proxy-agent-bootstrap.sh"
}
}]
}]
}
"""),
Map.entry("gce-service-proxy", """
{
"api-version": "0.2",
"proxy-spec": {
"proxy-port": 15001,
"network": "my-network",
"tracing": "ON",
"access-log": "/var/log/envoy/access.log"
}
"service": {
"serving-ports": [80, 81]
},
"labels": {
"app_name": "bookserver_app",
"app_version": "STABLE"
}
}
"""),
Map.entry("enable-guest-attributes", "true"),
Map.entry("enable-osconfig", "true")
))
.serviceAccount(InstanceTemplateServiceAccountArgs.builder()
.email(default_.email())
.scopes("cloud-platform")
.build())
.labels(Map.of("gce-service-proxy", "on"))
.build());
}
}
resources:
foobar:
type: gcp:compute:InstanceTemplate
properties:
name: appserver-template
machineType: e2-medium
canIpForward: false
tags:
- foo
- bar
disks:
- sourceImage: ${myImage.selfLink}
autoDelete: true
boot: true
networkInterfaces:
- network: default
scheduling:
preemptible: false
automaticRestart: true
metadata:
gce-software-declaration: |
{
"softwareRecipes": [{
"name": "install-gce-service-proxy-agent",
"desired_state": "INSTALLED",
"installSteps": [{
"scriptRun": {
"script": "#! /bin/bash\nZONE=$(curl --silent http://metadata.google.internal/computeMetadata/v1/instance/zone -H Metadata-Flavor:Google | cut -d/ -f4 )\nexport SERVICE_PROXY_AGENT_DIRECTORY=$(mktemp -d)\nsudo gsutil cp gs://gce-service-proxy-"$ZONE"/service-proxy-agent/releases/service-proxy-agent-0.2.tgz "$SERVICE_PROXY_AGENT_DIRECTORY" || sudo gsutil cp gs://gce-service-proxy/service-proxy-agent/releases/service-proxy-agent-0.2.tgz "$SERVICE_PROXY_AGENT_DIRECTORY"\nsudo tar -xzf "$SERVICE_PROXY_AGENT_DIRECTORY"/service-proxy-agent-0.2.tgz -C "$SERVICE_PROXY_AGENT_DIRECTORY"\n"$SERVICE_PROXY_AGENT_DIRECTORY"/service-proxy-agent/service-proxy-agent-bootstrap.sh"
}
}]
}]
}
gce-service-proxy: |
{
"api-version": "0.2",
"proxy-spec": {
"proxy-port": 15001,
"network": "my-network",
"tracing": "ON",
"access-log": "/var/log/envoy/access.log"
}
"service": {
"serving-ports": [80, 81]
},
"labels": {
"app_name": "bookserver_app",
"app_version": "STABLE"
}
}
enable-guest-attributes: 'true'
enable-osconfig: 'true'
serviceAccount:
email: ${default.email}
scopes:
- cloud-platform
labels:
gce-service-proxy: on
variables:
default:
fn::invoke:
function: gcp:compute:getDefaultServiceAccount
arguments: {}
myImage:
fn::invoke:
function: gcp:compute:getImage
arguments:
family: debian-11
project: debian-cloud
Confidential Computing
Example with Confidential Mode activated.
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const _default = new gcp.serviceaccount.Account("default", {
accountId: "my-custom-sa",
displayName: "Custom SA for VM Instance",
});
const confidentialInstanceTemplate = new gcp.compute.InstanceTemplate("confidential_instance_template", {
networkInterfaces: [{
accessConfigs: [{}],
network: "default",
}],
name: "my-confidential-instance-template",
region: "us-central1",
machineType: "n2d-standard-2",
minCpuPlatform: "AMD Milan",
confidentialInstanceConfig: {
enableConfidentialCompute: true,
confidentialInstanceType: "SEV",
},
disks: [{
sourceImage: "ubuntu-os-cloud/ubuntu-2004-lts",
}],
serviceAccount: {
email: _default.email,
scopes: ["cloud-platform"],
},
});
import pulumi
import pulumi_gcp as gcp
default = gcp.serviceaccount.Account("default",
account_id="my-custom-sa",
display_name="Custom SA for VM Instance")
confidential_instance_template = gcp.compute.InstanceTemplate("confidential_instance_template",
network_interfaces=[{
"access_configs": [{}],
"network": "default",
}],
name="my-confidential-instance-template",
region="us-central1",
machine_type="n2d-standard-2",
min_cpu_platform="AMD Milan",
confidential_instance_config={
"enable_confidential_compute": True,
"confidential_instance_type": "SEV",
},
disks=[{
"source_image": "ubuntu-os-cloud/ubuntu-2004-lts",
}],
service_account={
"email": default.email,
"scopes": ["cloud-platform"],
})
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/compute"
"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/serviceaccount"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_default, err := serviceaccount.NewAccount(ctx, "default", &serviceaccount.AccountArgs{
AccountId: pulumi.String("my-custom-sa"),
DisplayName: pulumi.String("Custom SA for VM Instance"),
})
if err != nil {
return err
}
_, err = compute.NewInstanceTemplate(ctx, "confidential_instance_template", &compute.InstanceTemplateArgs{
NetworkInterfaces: compute.InstanceTemplateNetworkInterfaceArray{
&compute.InstanceTemplateNetworkInterfaceArgs{
AccessConfigs: compute.InstanceTemplateNetworkInterfaceAccessConfigArray{
&compute.InstanceTemplateNetworkInterfaceAccessConfigArgs{},
},
Network: pulumi.String("default"),
},
},
Name: pulumi.String("my-confidential-instance-template"),
Region: pulumi.String("us-central1"),
MachineType: pulumi.String("n2d-standard-2"),
MinCpuPlatform: pulumi.String("AMD Milan"),
ConfidentialInstanceConfig: &compute.InstanceTemplateConfidentialInstanceConfigArgs{
EnableConfidentialCompute: pulumi.Bool(true),
ConfidentialInstanceType: pulumi.String("SEV"),
},
Disks: compute.InstanceTemplateDiskArray{
&compute.InstanceTemplateDiskArgs{
SourceImage: pulumi.String("ubuntu-os-cloud/ubuntu-2004-lts"),
},
},
ServiceAccount: &compute.InstanceTemplateServiceAccountArgs{
Email: _default.Email,
Scopes: pulumi.StringArray{
pulumi.String("cloud-platform"),
},
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var @default = new Gcp.ServiceAccount.Account("default", new()
{
AccountId = "my-custom-sa",
DisplayName = "Custom SA for VM Instance",
});
var confidentialInstanceTemplate = new Gcp.Compute.InstanceTemplate("confidential_instance_template", new()
{
NetworkInterfaces = new[]
{
new Gcp.Compute.Inputs.InstanceTemplateNetworkInterfaceArgs
{
AccessConfigs = new[]
{
null,
},
Network = "default",
},
},
Name = "my-confidential-instance-template",
Region = "us-central1",
MachineType = "n2d-standard-2",
MinCpuPlatform = "AMD Milan",
ConfidentialInstanceConfig = new Gcp.Compute.Inputs.InstanceTemplateConfidentialInstanceConfigArgs
{
EnableConfidentialCompute = true,
ConfidentialInstanceType = "SEV",
},
Disks = new[]
{
new Gcp.Compute.Inputs.InstanceTemplateDiskArgs
{
SourceImage = "ubuntu-os-cloud/ubuntu-2004-lts",
},
},
ServiceAccount = new Gcp.Compute.Inputs.InstanceTemplateServiceAccountArgs
{
Email = @default.Email,
Scopes = new[]
{
"cloud-platform",
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.serviceaccount.Account;
import com.pulumi.gcp.serviceaccount.AccountArgs;
import com.pulumi.gcp.compute.InstanceTemplate;
import com.pulumi.gcp.compute.InstanceTemplateArgs;
import com.pulumi.gcp.compute.inputs.InstanceTemplateNetworkInterfaceArgs;
import com.pulumi.gcp.compute.inputs.InstanceTemplateConfidentialInstanceConfigArgs;
import com.pulumi.gcp.compute.inputs.InstanceTemplateDiskArgs;
import com.pulumi.gcp.compute.inputs.InstanceTemplateServiceAccountArgs;
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 default_ = new Account("default", AccountArgs.builder()
.accountId("my-custom-sa")
.displayName("Custom SA for VM Instance")
.build());
var confidentialInstanceTemplate = new InstanceTemplate("confidentialInstanceTemplate", InstanceTemplateArgs.builder()
.networkInterfaces(InstanceTemplateNetworkInterfaceArgs.builder()
.accessConfigs(InstanceTemplateNetworkInterfaceAccessConfigArgs.builder()
.build())
.network("default")
.build())
.name("my-confidential-instance-template")
.region("us-central1")
.machineType("n2d-standard-2")
.minCpuPlatform("AMD Milan")
.confidentialInstanceConfig(InstanceTemplateConfidentialInstanceConfigArgs.builder()
.enableConfidentialCompute(true)
.confidentialInstanceType("SEV")
.build())
.disks(InstanceTemplateDiskArgs.builder()
.sourceImage("ubuntu-os-cloud/ubuntu-2004-lts")
.build())
.serviceAccount(InstanceTemplateServiceAccountArgs.builder()
.email(default_.email())
.scopes("cloud-platform")
.build())
.build());
}
}
resources:
default:
type: gcp:serviceaccount:Account
properties:
accountId: my-custom-sa
displayName: Custom SA for VM Instance
confidentialInstanceTemplate:
type: gcp:compute:InstanceTemplate
name: confidential_instance_template
properties:
networkInterfaces:
- accessConfigs:
- {}
network: default
name: my-confidential-instance-template
region: us-central1
machineType: n2d-standard-2
minCpuPlatform: AMD Milan
confidentialInstanceConfig:
enableConfidentialCompute: true
confidentialInstanceType: SEV
disks:
- sourceImage: ubuntu-os-cloud/ubuntu-2004-lts
serviceAccount:
email: ${default.email}
scopes:
- cloud-platform
Deploying the Latest Image
A common way to use instance templates and managed instance groups is to deploy the latest image in a family, usually the latest build of your application. There are two ways to do this in the provider, and they have their pros and cons. The difference ends up being in how “latest” is interpreted. You can either deploy the latest image available when the provider runs, or you can have each instance check what the latest image is when it’s being created, either as part of a scaling event or being rebuilt by the instance group manager.
If you’re not sure, we recommend deploying the latest image available when the provider runs,
because this means all the instances in your group will be based on the same image, always,
and means that no upgrades or changes to your instances happen outside of a pulumi up
.
You can achieve this by using the gcp.compute.Image
data source, which will retrieve the latest image on every pulumi apply
, and will update
the template to use that specific image:
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const myImage = gcp.compute.getImage({
family: "debian-11",
project: "debian-cloud",
});
const instanceTemplate = new gcp.compute.InstanceTemplate("instance_template", {
namePrefix: "instance-template-",
machineType: "e2-medium",
region: "us-central1",
disks: [{
sourceImage: myImage.then(myImage => myImage.selfLink),
}],
});
import pulumi
import pulumi_gcp as gcp
my_image = gcp.compute.get_image(family="debian-11",
project="debian-cloud")
instance_template = gcp.compute.InstanceTemplate("instance_template",
name_prefix="instance-template-",
machine_type="e2-medium",
region="us-central1",
disks=[{
"source_image": my_image.self_link,
}])
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/compute"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
myImage, err := compute.LookupImage(ctx, &compute.LookupImageArgs{
Family: pulumi.StringRef("debian-11"),
Project: pulumi.StringRef("debian-cloud"),
}, nil)
if err != nil {
return err
}
_, err = compute.NewInstanceTemplate(ctx, "instance_template", &compute.InstanceTemplateArgs{
NamePrefix: pulumi.String("instance-template-"),
MachineType: pulumi.String("e2-medium"),
Region: pulumi.String("us-central1"),
Disks: compute.InstanceTemplateDiskArray{
&compute.InstanceTemplateDiskArgs{
SourceImage: pulumi.String(myImage.SelfLink),
},
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var myImage = Gcp.Compute.GetImage.Invoke(new()
{
Family = "debian-11",
Project = "debian-cloud",
});
var instanceTemplate = new Gcp.Compute.InstanceTemplate("instance_template", new()
{
NamePrefix = "instance-template-",
MachineType = "e2-medium",
Region = "us-central1",
Disks = new[]
{
new Gcp.Compute.Inputs.InstanceTemplateDiskArgs
{
SourceImage = myImage.Apply(getImageResult => getImageResult.SelfLink),
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.compute.ComputeFunctions;
import com.pulumi.gcp.compute.inputs.GetImageArgs;
import com.pulumi.gcp.compute.InstanceTemplate;
import com.pulumi.gcp.compute.InstanceTemplateArgs;
import com.pulumi.gcp.compute.inputs.InstanceTemplateDiskArgs;
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) {
final var myImage = ComputeFunctions.getImage(GetImageArgs.builder()
.family("debian-11")
.project("debian-cloud")
.build());
var instanceTemplate = new InstanceTemplate("instanceTemplate", InstanceTemplateArgs.builder()
.namePrefix("instance-template-")
.machineType("e2-medium")
.region("us-central1")
.disks(InstanceTemplateDiskArgs.builder()
.sourceImage(myImage.selfLink())
.build())
.build());
}
}
resources:
instanceTemplate:
type: gcp:compute:InstanceTemplate
name: instance_template
properties:
namePrefix: instance-template-
machineType: e2-medium
region: us-central1
disks:
- sourceImage: ${myImage.selfLink}
variables:
myImage:
fn::invoke:
function: gcp:compute:getImage
arguments:
family: debian-11
project: debian-cloud
To have instances update to the latest on every scaling event or instance re-creation, use the family as the image for the disk, and it will use GCP’s default behavior, setting the image for the template to the family:
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const instanceTemplate = new gcp.compute.InstanceTemplate("instance_template", {
namePrefix: "instance-template-",
machineType: "e2-medium",
region: "us-central1",
disks: [{
sourceImage: "debian-cloud/debian-11",
}],
});
import pulumi
import pulumi_gcp as gcp
instance_template = gcp.compute.InstanceTemplate("instance_template",
name_prefix="instance-template-",
machine_type="e2-medium",
region="us-central1",
disks=[{
"source_image": "debian-cloud/debian-11",
}])
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/compute"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := compute.NewInstanceTemplate(ctx, "instance_template", &compute.InstanceTemplateArgs{
NamePrefix: pulumi.String("instance-template-"),
MachineType: pulumi.String("e2-medium"),
Region: pulumi.String("us-central1"),
Disks: compute.InstanceTemplateDiskArray{
&compute.InstanceTemplateDiskArgs{
SourceImage: pulumi.String("debian-cloud/debian-11"),
},
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var instanceTemplate = new Gcp.Compute.InstanceTemplate("instance_template", new()
{
NamePrefix = "instance-template-",
MachineType = "e2-medium",
Region = "us-central1",
Disks = new[]
{
new Gcp.Compute.Inputs.InstanceTemplateDiskArgs
{
SourceImage = "debian-cloud/debian-11",
},
},
});
});
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 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 instanceTemplate = new InstanceTemplate("instanceTemplate", InstanceTemplateArgs.builder()
.namePrefix("instance-template-")
.machineType("e2-medium")
.region("us-central1")
.disks(InstanceTemplateDiskArgs.builder()
.sourceImage("debian-cloud/debian-11")
.build())
.build());
}
}
resources:
instanceTemplate:
type: gcp:compute:InstanceTemplate
name: instance_template
properties:
namePrefix: instance-template-
machineType: e2-medium
region: us-central1
disks:
- sourceImage: debian-cloud/debian-11
Create InstanceTemplate Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new InstanceTemplate(name: string, args: InstanceTemplateArgs, opts?: CustomResourceOptions);
@overload
def InstanceTemplate(resource_name: str,
args: InstanceTemplateArgs,
opts: Optional[ResourceOptions] = None)
@overload
def InstanceTemplate(resource_name: str,
opts: Optional[ResourceOptions] = None,
disks: Optional[Sequence[InstanceTemplateDiskArgs]] = None,
machine_type: Optional[str] = None,
name: Optional[str] = None,
scheduling: Optional[InstanceTemplateSchedulingArgs] = None,
confidential_instance_config: Optional[InstanceTemplateConfidentialInstanceConfigArgs] = None,
enable_display: Optional[bool] = None,
guest_accelerators: Optional[Sequence[InstanceTemplateGuestAcceleratorArgs]] = None,
instance_description: Optional[str] = None,
key_revocation_action_type: Optional[str] = None,
labels: Optional[Mapping[str, str]] = None,
can_ip_forward: Optional[bool] = None,
metadata: Optional[Mapping[str, str]] = None,
metadata_startup_script: Optional[str] = None,
min_cpu_platform: Optional[str] = None,
description: Optional[str] = None,
advanced_machine_features: Optional[InstanceTemplateAdvancedMachineFeaturesArgs] = None,
region: Optional[str] = None,
network_performance_config: Optional[InstanceTemplateNetworkPerformanceConfigArgs] = None,
partner_metadata: Optional[Mapping[str, str]] = None,
project: Optional[str] = None,
network_interfaces: Optional[Sequence[InstanceTemplateNetworkInterfaceArgs]] = None,
reservation_affinity: Optional[InstanceTemplateReservationAffinityArgs] = None,
resource_manager_tags: Optional[Mapping[str, str]] = None,
resource_policies: Optional[str] = None,
name_prefix: Optional[str] = None,
service_account: Optional[InstanceTemplateServiceAccountArgs] = None,
shielded_instance_config: Optional[InstanceTemplateShieldedInstanceConfigArgs] = None,
tags: Optional[Sequence[str]] = None)
func NewInstanceTemplate(ctx *Context, name string, args InstanceTemplateArgs, opts ...ResourceOption) (*InstanceTemplate, error)
public InstanceTemplate(string name, InstanceTemplateArgs args, CustomResourceOptions? opts = null)
public InstanceTemplate(String name, InstanceTemplateArgs args)
public InstanceTemplate(String name, InstanceTemplateArgs args, CustomResourceOptions options)
type: gcp:compute:InstanceTemplate
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name
This property is required. string - The unique name of the resource.
- args
This property is required. InstanceTemplateArgs - The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name
This property is required. str - The unique name of the resource.
- args
This property is required. InstanceTemplateArgs - The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name
This property is required. string - The unique name of the resource.
- args
This property is required. InstanceTemplateArgs - The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name
This property is required. string - The unique name of the resource.
- args
This property is required. InstanceTemplateArgs - The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name
This property is required. String - The unique name of the resource.
- args
This property is required. InstanceTemplateArgs - The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var instanceTemplateResource = new Gcp.Compute.InstanceTemplate("instanceTemplateResource", new()
{
Disks = new[]
{
new Gcp.Compute.Inputs.InstanceTemplateDiskArgs
{
AutoDelete = false,
Boot = false,
DeviceName = "string",
DiskEncryptionKey = new Gcp.Compute.Inputs.InstanceTemplateDiskDiskEncryptionKeyArgs
{
KmsKeySelfLink = "string",
},
DiskName = "string",
DiskSizeGb = 0,
DiskType = "string",
Interface = "string",
Labels =
{
{ "string", "string" },
},
Mode = "string",
ProvisionedIops = 0,
ProvisionedThroughput = 0,
ResourceManagerTags =
{
{ "string", "string" },
},
ResourcePolicies = "string",
Source = "string",
SourceImage = "string",
SourceImageEncryptionKey = new Gcp.Compute.Inputs.InstanceTemplateDiskSourceImageEncryptionKeyArgs
{
KmsKeySelfLink = "string",
KmsKeyServiceAccount = "string",
},
SourceSnapshot = "string",
SourceSnapshotEncryptionKey = new Gcp.Compute.Inputs.InstanceTemplateDiskSourceSnapshotEncryptionKeyArgs
{
KmsKeySelfLink = "string",
KmsKeyServiceAccount = "string",
},
Type = "string",
},
},
MachineType = "string",
Name = "string",
Scheduling = new Gcp.Compute.Inputs.InstanceTemplateSchedulingArgs
{
AutomaticRestart = false,
AvailabilityDomain = 0,
GracefulShutdown = new Gcp.Compute.Inputs.InstanceTemplateSchedulingGracefulShutdownArgs
{
Enabled = false,
MaxDuration = new Gcp.Compute.Inputs.InstanceTemplateSchedulingGracefulShutdownMaxDurationArgs
{
Seconds = 0,
Nanos = 0,
},
},
HostErrorTimeoutSeconds = 0,
InstanceTerminationAction = "string",
LocalSsdRecoveryTimeouts = new[]
{
new Gcp.Compute.Inputs.InstanceTemplateSchedulingLocalSsdRecoveryTimeoutArgs
{
Seconds = 0,
Nanos = 0,
},
},
MaintenanceInterval = "string",
MaxRunDuration = new Gcp.Compute.Inputs.InstanceTemplateSchedulingMaxRunDurationArgs
{
Seconds = 0,
Nanos = 0,
},
MinNodeCpus = 0,
NodeAffinities = new[]
{
new Gcp.Compute.Inputs.InstanceTemplateSchedulingNodeAffinityArgs
{
Key = "string",
Operator = "string",
Values = new[]
{
"string",
},
},
},
OnHostMaintenance = "string",
OnInstanceStopAction = new Gcp.Compute.Inputs.InstanceTemplateSchedulingOnInstanceStopActionArgs
{
DiscardLocalSsd = false,
},
Preemptible = false,
ProvisioningModel = "string",
TerminationTime = "string",
},
ConfidentialInstanceConfig = new Gcp.Compute.Inputs.InstanceTemplateConfidentialInstanceConfigArgs
{
ConfidentialInstanceType = "string",
EnableConfidentialCompute = false,
},
EnableDisplay = false,
GuestAccelerators = new[]
{
new Gcp.Compute.Inputs.InstanceTemplateGuestAcceleratorArgs
{
Count = 0,
Type = "string",
},
},
InstanceDescription = "string",
KeyRevocationActionType = "string",
Labels =
{
{ "string", "string" },
},
CanIpForward = false,
Metadata =
{
{ "string", "string" },
},
MetadataStartupScript = "string",
MinCpuPlatform = "string",
Description = "string",
AdvancedMachineFeatures = new Gcp.Compute.Inputs.InstanceTemplateAdvancedMachineFeaturesArgs
{
EnableNestedVirtualization = false,
EnableUefiNetworking = false,
PerformanceMonitoringUnit = "string",
ThreadsPerCore = 0,
TurboMode = "string",
VisibleCoreCount = 0,
},
Region = "string",
NetworkPerformanceConfig = new Gcp.Compute.Inputs.InstanceTemplateNetworkPerformanceConfigArgs
{
TotalEgressBandwidthTier = "string",
},
PartnerMetadata =
{
{ "string", "string" },
},
Project = "string",
NetworkInterfaces = new[]
{
new Gcp.Compute.Inputs.InstanceTemplateNetworkInterfaceArgs
{
AccessConfigs = new[]
{
new Gcp.Compute.Inputs.InstanceTemplateNetworkInterfaceAccessConfigArgs
{
NatIp = "string",
NetworkTier = "string",
PublicPtrDomainName = "string",
},
},
AliasIpRanges = new[]
{
new Gcp.Compute.Inputs.InstanceTemplateNetworkInterfaceAliasIpRangeArgs
{
IpCidrRange = "string",
SubnetworkRangeName = "string",
},
},
InternalIpv6PrefixLength = 0,
Ipv6AccessConfigs = new[]
{
new Gcp.Compute.Inputs.InstanceTemplateNetworkInterfaceIpv6AccessConfigArgs
{
NetworkTier = "string",
ExternalIpv6 = "string",
ExternalIpv6PrefixLength = "string",
Name = "string",
PublicPtrDomainName = "string",
},
},
Ipv6AccessType = "string",
Ipv6Address = "string",
Name = "string",
Network = "string",
NetworkAttachment = "string",
NetworkIp = "string",
NicType = "string",
QueueCount = 0,
StackType = "string",
Subnetwork = "string",
SubnetworkProject = "string",
},
},
ReservationAffinity = new Gcp.Compute.Inputs.InstanceTemplateReservationAffinityArgs
{
Type = "string",
SpecificReservation = new Gcp.Compute.Inputs.InstanceTemplateReservationAffinitySpecificReservationArgs
{
Key = "string",
Values = new[]
{
"string",
},
},
},
ResourceManagerTags =
{
{ "string", "string" },
},
ResourcePolicies = "string",
NamePrefix = "string",
ServiceAccount = new Gcp.Compute.Inputs.InstanceTemplateServiceAccountArgs
{
Scopes = new[]
{
"string",
},
Email = "string",
},
ShieldedInstanceConfig = new Gcp.Compute.Inputs.InstanceTemplateShieldedInstanceConfigArgs
{
EnableIntegrityMonitoring = false,
EnableSecureBoot = false,
EnableVtpm = false,
},
Tags = new[]
{
"string",
},
});
example, err := compute.NewInstanceTemplate(ctx, "instanceTemplateResource", &compute.InstanceTemplateArgs{
Disks: compute.InstanceTemplateDiskArray{
&compute.InstanceTemplateDiskArgs{
AutoDelete: pulumi.Bool(false),
Boot: pulumi.Bool(false),
DeviceName: pulumi.String("string"),
DiskEncryptionKey: &compute.InstanceTemplateDiskDiskEncryptionKeyArgs{
KmsKeySelfLink: pulumi.String("string"),
},
DiskName: pulumi.String("string"),
DiskSizeGb: pulumi.Int(0),
DiskType: pulumi.String("string"),
Interface: pulumi.String("string"),
Labels: pulumi.StringMap{
"string": pulumi.String("string"),
},
Mode: pulumi.String("string"),
ProvisionedIops: pulumi.Int(0),
ProvisionedThroughput: pulumi.Int(0),
ResourceManagerTags: pulumi.StringMap{
"string": pulumi.String("string"),
},
ResourcePolicies: pulumi.String("string"),
Source: pulumi.String("string"),
SourceImage: pulumi.String("string"),
SourceImageEncryptionKey: &compute.InstanceTemplateDiskSourceImageEncryptionKeyArgs{
KmsKeySelfLink: pulumi.String("string"),
KmsKeyServiceAccount: pulumi.String("string"),
},
SourceSnapshot: pulumi.String("string"),
SourceSnapshotEncryptionKey: &compute.InstanceTemplateDiskSourceSnapshotEncryptionKeyArgs{
KmsKeySelfLink: pulumi.String("string"),
KmsKeyServiceAccount: pulumi.String("string"),
},
Type: pulumi.String("string"),
},
},
MachineType: pulumi.String("string"),
Name: pulumi.String("string"),
Scheduling: &compute.InstanceTemplateSchedulingArgs{
AutomaticRestart: pulumi.Bool(false),
AvailabilityDomain: pulumi.Int(0),
GracefulShutdown: &compute.InstanceTemplateSchedulingGracefulShutdownArgs{
Enabled: pulumi.Bool(false),
MaxDuration: &compute.InstanceTemplateSchedulingGracefulShutdownMaxDurationArgs{
Seconds: pulumi.Int(0),
Nanos: pulumi.Int(0),
},
},
HostErrorTimeoutSeconds: pulumi.Int(0),
InstanceTerminationAction: pulumi.String("string"),
LocalSsdRecoveryTimeouts: compute.InstanceTemplateSchedulingLocalSsdRecoveryTimeoutArray{
&compute.InstanceTemplateSchedulingLocalSsdRecoveryTimeoutArgs{
Seconds: pulumi.Int(0),
Nanos: pulumi.Int(0),
},
},
MaintenanceInterval: pulumi.String("string"),
MaxRunDuration: &compute.InstanceTemplateSchedulingMaxRunDurationArgs{
Seconds: pulumi.Int(0),
Nanos: pulumi.Int(0),
},
MinNodeCpus: pulumi.Int(0),
NodeAffinities: compute.InstanceTemplateSchedulingNodeAffinityArray{
&compute.InstanceTemplateSchedulingNodeAffinityArgs{
Key: pulumi.String("string"),
Operator: pulumi.String("string"),
Values: pulumi.StringArray{
pulumi.String("string"),
},
},
},
OnHostMaintenance: pulumi.String("string"),
OnInstanceStopAction: &compute.InstanceTemplateSchedulingOnInstanceStopActionArgs{
DiscardLocalSsd: pulumi.Bool(false),
},
Preemptible: pulumi.Bool(false),
ProvisioningModel: pulumi.String("string"),
TerminationTime: pulumi.String("string"),
},
ConfidentialInstanceConfig: &compute.InstanceTemplateConfidentialInstanceConfigArgs{
ConfidentialInstanceType: pulumi.String("string"),
EnableConfidentialCompute: pulumi.Bool(false),
},
EnableDisplay: pulumi.Bool(false),
GuestAccelerators: compute.InstanceTemplateGuestAcceleratorArray{
&compute.InstanceTemplateGuestAcceleratorArgs{
Count: pulumi.Int(0),
Type: pulumi.String("string"),
},
},
InstanceDescription: pulumi.String("string"),
KeyRevocationActionType: pulumi.String("string"),
Labels: pulumi.StringMap{
"string": pulumi.String("string"),
},
CanIpForward: pulumi.Bool(false),
Metadata: pulumi.StringMap{
"string": pulumi.String("string"),
},
MetadataStartupScript: pulumi.String("string"),
MinCpuPlatform: pulumi.String("string"),
Description: pulumi.String("string"),
AdvancedMachineFeatures: &compute.InstanceTemplateAdvancedMachineFeaturesArgs{
EnableNestedVirtualization: pulumi.Bool(false),
EnableUefiNetworking: pulumi.Bool(false),
PerformanceMonitoringUnit: pulumi.String("string"),
ThreadsPerCore: pulumi.Int(0),
TurboMode: pulumi.String("string"),
VisibleCoreCount: pulumi.Int(0),
},
Region: pulumi.String("string"),
NetworkPerformanceConfig: &compute.InstanceTemplateNetworkPerformanceConfigArgs{
TotalEgressBandwidthTier: pulumi.String("string"),
},
PartnerMetadata: pulumi.StringMap{
"string": pulumi.String("string"),
},
Project: pulumi.String("string"),
NetworkInterfaces: compute.InstanceTemplateNetworkInterfaceArray{
&compute.InstanceTemplateNetworkInterfaceArgs{
AccessConfigs: compute.InstanceTemplateNetworkInterfaceAccessConfigArray{
&compute.InstanceTemplateNetworkInterfaceAccessConfigArgs{
NatIp: pulumi.String("string"),
NetworkTier: pulumi.String("string"),
PublicPtrDomainName: pulumi.String("string"),
},
},
AliasIpRanges: compute.InstanceTemplateNetworkInterfaceAliasIpRangeArray{
&compute.InstanceTemplateNetworkInterfaceAliasIpRangeArgs{
IpCidrRange: pulumi.String("string"),
SubnetworkRangeName: pulumi.String("string"),
},
},
InternalIpv6PrefixLength: pulumi.Int(0),
Ipv6AccessConfigs: compute.InstanceTemplateNetworkInterfaceIpv6AccessConfigArray{
&compute.InstanceTemplateNetworkInterfaceIpv6AccessConfigArgs{
NetworkTier: pulumi.String("string"),
ExternalIpv6: pulumi.String("string"),
ExternalIpv6PrefixLength: pulumi.String("string"),
Name: pulumi.String("string"),
PublicPtrDomainName: pulumi.String("string"),
},
},
Ipv6AccessType: pulumi.String("string"),
Ipv6Address: pulumi.String("string"),
Name: pulumi.String("string"),
Network: pulumi.String("string"),
NetworkAttachment: pulumi.String("string"),
NetworkIp: pulumi.String("string"),
NicType: pulumi.String("string"),
QueueCount: pulumi.Int(0),
StackType: pulumi.String("string"),
Subnetwork: pulumi.String("string"),
SubnetworkProject: pulumi.String("string"),
},
},
ReservationAffinity: &compute.InstanceTemplateReservationAffinityArgs{
Type: pulumi.String("string"),
SpecificReservation: &compute.InstanceTemplateReservationAffinitySpecificReservationArgs{
Key: pulumi.String("string"),
Values: pulumi.StringArray{
pulumi.String("string"),
},
},
},
ResourceManagerTags: pulumi.StringMap{
"string": pulumi.String("string"),
},
ResourcePolicies: pulumi.String("string"),
NamePrefix: pulumi.String("string"),
ServiceAccount: &compute.InstanceTemplateServiceAccountArgs{
Scopes: pulumi.StringArray{
pulumi.String("string"),
},
Email: pulumi.String("string"),
},
ShieldedInstanceConfig: &compute.InstanceTemplateShieldedInstanceConfigArgs{
EnableIntegrityMonitoring: pulumi.Bool(false),
EnableSecureBoot: pulumi.Bool(false),
EnableVtpm: pulumi.Bool(false),
},
Tags: pulumi.StringArray{
pulumi.String("string"),
},
})
var instanceTemplateResource = new InstanceTemplate("instanceTemplateResource", InstanceTemplateArgs.builder()
.disks(InstanceTemplateDiskArgs.builder()
.autoDelete(false)
.boot(false)
.deviceName("string")
.diskEncryptionKey(InstanceTemplateDiskDiskEncryptionKeyArgs.builder()
.kmsKeySelfLink("string")
.build())
.diskName("string")
.diskSizeGb(0)
.diskType("string")
.interface_("string")
.labels(Map.of("string", "string"))
.mode("string")
.provisionedIops(0)
.provisionedThroughput(0)
.resourceManagerTags(Map.of("string", "string"))
.resourcePolicies("string")
.source("string")
.sourceImage("string")
.sourceImageEncryptionKey(InstanceTemplateDiskSourceImageEncryptionKeyArgs.builder()
.kmsKeySelfLink("string")
.kmsKeyServiceAccount("string")
.build())
.sourceSnapshot("string")
.sourceSnapshotEncryptionKey(InstanceTemplateDiskSourceSnapshotEncryptionKeyArgs.builder()
.kmsKeySelfLink("string")
.kmsKeyServiceAccount("string")
.build())
.type("string")
.build())
.machineType("string")
.name("string")
.scheduling(InstanceTemplateSchedulingArgs.builder()
.automaticRestart(false)
.availabilityDomain(0)
.gracefulShutdown(InstanceTemplateSchedulingGracefulShutdownArgs.builder()
.enabled(false)
.maxDuration(InstanceTemplateSchedulingGracefulShutdownMaxDurationArgs.builder()
.seconds(0)
.nanos(0)
.build())
.build())
.hostErrorTimeoutSeconds(0)
.instanceTerminationAction("string")
.localSsdRecoveryTimeouts(InstanceTemplateSchedulingLocalSsdRecoveryTimeoutArgs.builder()
.seconds(0)
.nanos(0)
.build())
.maintenanceInterval("string")
.maxRunDuration(InstanceTemplateSchedulingMaxRunDurationArgs.builder()
.seconds(0)
.nanos(0)
.build())
.minNodeCpus(0)
.nodeAffinities(InstanceTemplateSchedulingNodeAffinityArgs.builder()
.key("string")
.operator("string")
.values("string")
.build())
.onHostMaintenance("string")
.onInstanceStopAction(InstanceTemplateSchedulingOnInstanceStopActionArgs.builder()
.discardLocalSsd(false)
.build())
.preemptible(false)
.provisioningModel("string")
.terminationTime("string")
.build())
.confidentialInstanceConfig(InstanceTemplateConfidentialInstanceConfigArgs.builder()
.confidentialInstanceType("string")
.enableConfidentialCompute(false)
.build())
.enableDisplay(false)
.guestAccelerators(InstanceTemplateGuestAcceleratorArgs.builder()
.count(0)
.type("string")
.build())
.instanceDescription("string")
.keyRevocationActionType("string")
.labels(Map.of("string", "string"))
.canIpForward(false)
.metadata(Map.of("string", "string"))
.metadataStartupScript("string")
.minCpuPlatform("string")
.description("string")
.advancedMachineFeatures(InstanceTemplateAdvancedMachineFeaturesArgs.builder()
.enableNestedVirtualization(false)
.enableUefiNetworking(false)
.performanceMonitoringUnit("string")
.threadsPerCore(0)
.turboMode("string")
.visibleCoreCount(0)
.build())
.region("string")
.networkPerformanceConfig(InstanceTemplateNetworkPerformanceConfigArgs.builder()
.totalEgressBandwidthTier("string")
.build())
.partnerMetadata(Map.of("string", "string"))
.project("string")
.networkInterfaces(InstanceTemplateNetworkInterfaceArgs.builder()
.accessConfigs(InstanceTemplateNetworkInterfaceAccessConfigArgs.builder()
.natIp("string")
.networkTier("string")
.publicPtrDomainName("string")
.build())
.aliasIpRanges(InstanceTemplateNetworkInterfaceAliasIpRangeArgs.builder()
.ipCidrRange("string")
.subnetworkRangeName("string")
.build())
.internalIpv6PrefixLength(0)
.ipv6AccessConfigs(InstanceTemplateNetworkInterfaceIpv6AccessConfigArgs.builder()
.networkTier("string")
.externalIpv6("string")
.externalIpv6PrefixLength("string")
.name("string")
.publicPtrDomainName("string")
.build())
.ipv6AccessType("string")
.ipv6Address("string")
.name("string")
.network("string")
.networkAttachment("string")
.networkIp("string")
.nicType("string")
.queueCount(0)
.stackType("string")
.subnetwork("string")
.subnetworkProject("string")
.build())
.reservationAffinity(InstanceTemplateReservationAffinityArgs.builder()
.type("string")
.specificReservation(InstanceTemplateReservationAffinitySpecificReservationArgs.builder()
.key("string")
.values("string")
.build())
.build())
.resourceManagerTags(Map.of("string", "string"))
.resourcePolicies("string")
.namePrefix("string")
.serviceAccount(InstanceTemplateServiceAccountArgs.builder()
.scopes("string")
.email("string")
.build())
.shieldedInstanceConfig(InstanceTemplateShieldedInstanceConfigArgs.builder()
.enableIntegrityMonitoring(false)
.enableSecureBoot(false)
.enableVtpm(false)
.build())
.tags("string")
.build());
instance_template_resource = gcp.compute.InstanceTemplate("instanceTemplateResource",
disks=[{
"auto_delete": False,
"boot": False,
"device_name": "string",
"disk_encryption_key": {
"kms_key_self_link": "string",
},
"disk_name": "string",
"disk_size_gb": 0,
"disk_type": "string",
"interface": "string",
"labels": {
"string": "string",
},
"mode": "string",
"provisioned_iops": 0,
"provisioned_throughput": 0,
"resource_manager_tags": {
"string": "string",
},
"resource_policies": "string",
"source": "string",
"source_image": "string",
"source_image_encryption_key": {
"kms_key_self_link": "string",
"kms_key_service_account": "string",
},
"source_snapshot": "string",
"source_snapshot_encryption_key": {
"kms_key_self_link": "string",
"kms_key_service_account": "string",
},
"type": "string",
}],
machine_type="string",
name="string",
scheduling={
"automatic_restart": False,
"availability_domain": 0,
"graceful_shutdown": {
"enabled": False,
"max_duration": {
"seconds": 0,
"nanos": 0,
},
},
"host_error_timeout_seconds": 0,
"instance_termination_action": "string",
"local_ssd_recovery_timeouts": [{
"seconds": 0,
"nanos": 0,
}],
"maintenance_interval": "string",
"max_run_duration": {
"seconds": 0,
"nanos": 0,
},
"min_node_cpus": 0,
"node_affinities": [{
"key": "string",
"operator": "string",
"values": ["string"],
}],
"on_host_maintenance": "string",
"on_instance_stop_action": {
"discard_local_ssd": False,
},
"preemptible": False,
"provisioning_model": "string",
"termination_time": "string",
},
confidential_instance_config={
"confidential_instance_type": "string",
"enable_confidential_compute": False,
},
enable_display=False,
guest_accelerators=[{
"count": 0,
"type": "string",
}],
instance_description="string",
key_revocation_action_type="string",
labels={
"string": "string",
},
can_ip_forward=False,
metadata={
"string": "string",
},
metadata_startup_script="string",
min_cpu_platform="string",
description="string",
advanced_machine_features={
"enable_nested_virtualization": False,
"enable_uefi_networking": False,
"performance_monitoring_unit": "string",
"threads_per_core": 0,
"turbo_mode": "string",
"visible_core_count": 0,
},
region="string",
network_performance_config={
"total_egress_bandwidth_tier": "string",
},
partner_metadata={
"string": "string",
},
project="string",
network_interfaces=[{
"access_configs": [{
"nat_ip": "string",
"network_tier": "string",
"public_ptr_domain_name": "string",
}],
"alias_ip_ranges": [{
"ip_cidr_range": "string",
"subnetwork_range_name": "string",
}],
"internal_ipv6_prefix_length": 0,
"ipv6_access_configs": [{
"network_tier": "string",
"external_ipv6": "string",
"external_ipv6_prefix_length": "string",
"name": "string",
"public_ptr_domain_name": "string",
}],
"ipv6_access_type": "string",
"ipv6_address": "string",
"name": "string",
"network": "string",
"network_attachment": "string",
"network_ip": "string",
"nic_type": "string",
"queue_count": 0,
"stack_type": "string",
"subnetwork": "string",
"subnetwork_project": "string",
}],
reservation_affinity={
"type": "string",
"specific_reservation": {
"key": "string",
"values": ["string"],
},
},
resource_manager_tags={
"string": "string",
},
resource_policies="string",
name_prefix="string",
service_account={
"scopes": ["string"],
"email": "string",
},
shielded_instance_config={
"enable_integrity_monitoring": False,
"enable_secure_boot": False,
"enable_vtpm": False,
},
tags=["string"])
const instanceTemplateResource = new gcp.compute.InstanceTemplate("instanceTemplateResource", {
disks: [{
autoDelete: false,
boot: false,
deviceName: "string",
diskEncryptionKey: {
kmsKeySelfLink: "string",
},
diskName: "string",
diskSizeGb: 0,
diskType: "string",
"interface": "string",
labels: {
string: "string",
},
mode: "string",
provisionedIops: 0,
provisionedThroughput: 0,
resourceManagerTags: {
string: "string",
},
resourcePolicies: "string",
source: "string",
sourceImage: "string",
sourceImageEncryptionKey: {
kmsKeySelfLink: "string",
kmsKeyServiceAccount: "string",
},
sourceSnapshot: "string",
sourceSnapshotEncryptionKey: {
kmsKeySelfLink: "string",
kmsKeyServiceAccount: "string",
},
type: "string",
}],
machineType: "string",
name: "string",
scheduling: {
automaticRestart: false,
availabilityDomain: 0,
gracefulShutdown: {
enabled: false,
maxDuration: {
seconds: 0,
nanos: 0,
},
},
hostErrorTimeoutSeconds: 0,
instanceTerminationAction: "string",
localSsdRecoveryTimeouts: [{
seconds: 0,
nanos: 0,
}],
maintenanceInterval: "string",
maxRunDuration: {
seconds: 0,
nanos: 0,
},
minNodeCpus: 0,
nodeAffinities: [{
key: "string",
operator: "string",
values: ["string"],
}],
onHostMaintenance: "string",
onInstanceStopAction: {
discardLocalSsd: false,
},
preemptible: false,
provisioningModel: "string",
terminationTime: "string",
},
confidentialInstanceConfig: {
confidentialInstanceType: "string",
enableConfidentialCompute: false,
},
enableDisplay: false,
guestAccelerators: [{
count: 0,
type: "string",
}],
instanceDescription: "string",
keyRevocationActionType: "string",
labels: {
string: "string",
},
canIpForward: false,
metadata: {
string: "string",
},
metadataStartupScript: "string",
minCpuPlatform: "string",
description: "string",
advancedMachineFeatures: {
enableNestedVirtualization: false,
enableUefiNetworking: false,
performanceMonitoringUnit: "string",
threadsPerCore: 0,
turboMode: "string",
visibleCoreCount: 0,
},
region: "string",
networkPerformanceConfig: {
totalEgressBandwidthTier: "string",
},
partnerMetadata: {
string: "string",
},
project: "string",
networkInterfaces: [{
accessConfigs: [{
natIp: "string",
networkTier: "string",
publicPtrDomainName: "string",
}],
aliasIpRanges: [{
ipCidrRange: "string",
subnetworkRangeName: "string",
}],
internalIpv6PrefixLength: 0,
ipv6AccessConfigs: [{
networkTier: "string",
externalIpv6: "string",
externalIpv6PrefixLength: "string",
name: "string",
publicPtrDomainName: "string",
}],
ipv6AccessType: "string",
ipv6Address: "string",
name: "string",
network: "string",
networkAttachment: "string",
networkIp: "string",
nicType: "string",
queueCount: 0,
stackType: "string",
subnetwork: "string",
subnetworkProject: "string",
}],
reservationAffinity: {
type: "string",
specificReservation: {
key: "string",
values: ["string"],
},
},
resourceManagerTags: {
string: "string",
},
resourcePolicies: "string",
namePrefix: "string",
serviceAccount: {
scopes: ["string"],
email: "string",
},
shieldedInstanceConfig: {
enableIntegrityMonitoring: false,
enableSecureBoot: false,
enableVtpm: false,
},
tags: ["string"],
});
type: gcp:compute:InstanceTemplate
properties:
advancedMachineFeatures:
enableNestedVirtualization: false
enableUefiNetworking: false
performanceMonitoringUnit: string
threadsPerCore: 0
turboMode: string
visibleCoreCount: 0
canIpForward: false
confidentialInstanceConfig:
confidentialInstanceType: string
enableConfidentialCompute: false
description: string
disks:
- autoDelete: false
boot: false
deviceName: string
diskEncryptionKey:
kmsKeySelfLink: string
diskName: string
diskSizeGb: 0
diskType: string
interface: string
labels:
string: string
mode: string
provisionedIops: 0
provisionedThroughput: 0
resourceManagerTags:
string: string
resourcePolicies: string
source: string
sourceImage: string
sourceImageEncryptionKey:
kmsKeySelfLink: string
kmsKeyServiceAccount: string
sourceSnapshot: string
sourceSnapshotEncryptionKey:
kmsKeySelfLink: string
kmsKeyServiceAccount: string
type: string
enableDisplay: false
guestAccelerators:
- count: 0
type: string
instanceDescription: string
keyRevocationActionType: string
labels:
string: string
machineType: string
metadata:
string: string
metadataStartupScript: string
minCpuPlatform: string
name: string
namePrefix: string
networkInterfaces:
- accessConfigs:
- natIp: string
networkTier: string
publicPtrDomainName: string
aliasIpRanges:
- ipCidrRange: string
subnetworkRangeName: string
internalIpv6PrefixLength: 0
ipv6AccessConfigs:
- externalIpv6: string
externalIpv6PrefixLength: string
name: string
networkTier: string
publicPtrDomainName: string
ipv6AccessType: string
ipv6Address: string
name: string
network: string
networkAttachment: string
networkIp: string
nicType: string
queueCount: 0
stackType: string
subnetwork: string
subnetworkProject: string
networkPerformanceConfig:
totalEgressBandwidthTier: string
partnerMetadata:
string: string
project: string
region: string
reservationAffinity:
specificReservation:
key: string
values:
- string
type: string
resourceManagerTags:
string: string
resourcePolicies: string
scheduling:
automaticRestart: false
availabilityDomain: 0
gracefulShutdown:
enabled: false
maxDuration:
nanos: 0
seconds: 0
hostErrorTimeoutSeconds: 0
instanceTerminationAction: string
localSsdRecoveryTimeouts:
- nanos: 0
seconds: 0
maintenanceInterval: string
maxRunDuration:
nanos: 0
seconds: 0
minNodeCpus: 0
nodeAffinities:
- key: string
operator: string
values:
- string
onHostMaintenance: string
onInstanceStopAction:
discardLocalSsd: false
preemptible: false
provisioningModel: string
terminationTime: string
serviceAccount:
email: string
scopes:
- string
shieldedInstanceConfig:
enableIntegrityMonitoring: false
enableSecureBoot: false
enableVtpm: false
tags:
- string
InstanceTemplate Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The InstanceTemplate resource accepts the following input properties:
- Disks
This property is required. Changes to this property will trigger replacement.
Template Disk> - Disks to attach to instances created from this template. This can be specified multiple times for multiple disks. Structure is documented below.
- Machine
Type This property is required. Changes to this property will trigger replacement.
- 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.
- Advanced
Machine Features Changes to this property will trigger replacement.
Template Advanced Machine Features - Configure Nested Virtualisation and Simultaneous Hyper Threading on this VM. Structure is documented below
- Can
Ip Forward Changes to this property will trigger replacement.
- Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false.
- Confidential
Instance Config Changes to this property will trigger replacement.
Template Confidential Instance Config - Enable Confidential Mode on this VM. Structure is documented below
- Description
Changes to this property will trigger replacement.
- A brief description of this resource.
- Enable
Display Changes to this property will trigger replacement.
- Enable Virtual Displays on this instance.
Note:
allow_stopping_for_update
must be set to true in order to update this field. - Guest
Accelerators Changes to this property will trigger replacement.
Template Guest Accelerator> - List of the type and count of accelerator cards attached to the instance. Structure documented below.
- Instance
Description Changes to this property will trigger replacement.
- A brief description to use for instances created from this template.
- Key
Revocation Action Type Changes to this property will trigger replacement.
- Action to be taken when a customer's encryption key is revoked. Supports
STOP
andNONE
, withNONE
being the default. - Labels Dictionary<string, string>
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.
- Metadata
Changes to this property will trigger replacement.
- Metadata key/value pairs to make available from within instances created from this template.
- Metadata
Startup Script Changes to this property will trigger replacement.
- 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.
- Min
Cpu Platform Changes to this property will trigger replacement.
- Specifies a minimum CPU platform. Applicable values are the friendly names of CPU platforms, such as
Intel Haswell
orIntel Skylake
. See the complete list here. - Name
Changes to this property will trigger replacement.
- The name of the instance template. If you leave this blank, the provider will auto-generate a unique name.
- Name
Prefix Changes to this property will trigger replacement.
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 aname_prefix
38 - 54 characters:name_prefix
+ YYmmdd + 3 digit incremental counter- Network
Interfaces Changes to this property will trigger replacement.
Template Network Interface> - Networks to attach to instances created from this template. This can be specified multiple times for multiple networks. Structure is documented below.
- Network
Performance Config Changes to this property will trigger replacement.
Template Network Performance Config - (Optional, Configures network performance settings for the instance created from the
template. Structure is documented below. Note:
machine_type
must be a supported type, theimage
used must include theGVNIC
inguest-os-features
, andnetwork_interface.0.nic-type
must beGVNIC
in order for this setting to take effect. - Partner
Metadata Dictionary<string, string> - 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.
- Project
Changes to this property will trigger replacement.
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- Region
Changes to this property will trigger replacement.
- 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. - Reservation
Affinity Changes to this property will trigger replacement.
Template Reservation Affinity - Specifies the reservations that this instance can consume from. Structure is documented below.
Changes to this property will trigger replacement.
- A set of key/value resource manager tag pairs to bind to the instances. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456.
- Resource
Policies Changes to this property will trigger replacement.
- 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.
- Scheduling
Changes to this property will trigger replacement.
Template Scheduling - The scheduling strategy to use. More details about this configuration option are detailed below.
- Service
Account Changes to this property will trigger replacement.
Template Service Account - Service account to attach to the instance. Structure is documented below.
- Shielded
Instance Config Changes to this property will trigger replacement.
Template Shielded Instance Config - 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. Changes to this property will trigger replacement.
- Tags to attach to the instance.
- Disks
This property is required. Changes to this property will trigger replacement.
Template Disk Args - Disks to attach to instances created from this template. This can be specified multiple times for multiple disks. Structure is documented below.
- Machine
Type This property is required. Changes to this property will trigger replacement.
- 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.
- Advanced
Machine Features Changes to this property will trigger replacement.
Template Advanced Machine Features Args - Configure Nested Virtualisation and Simultaneous Hyper Threading on this VM. Structure is documented below
- Can
Ip Forward Changes to this property will trigger replacement.
- Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false.
- Confidential
Instance Config Changes to this property will trigger replacement.
Template Confidential Instance Config Args - Enable Confidential Mode on this VM. Structure is documented below
- Description
Changes to this property will trigger replacement.
- A brief description of this resource.
- Enable
Display Changes to this property will trigger replacement.
- Enable Virtual Displays on this instance.
Note:
allow_stopping_for_update
must be set to true in order to update this field. - Guest
Accelerators Changes to this property will trigger replacement.
Template Guest Accelerator Args - List of the type and count of accelerator cards attached to the instance. Structure documented below.
- Instance
Description Changes to this property will trigger replacement.
- A brief description to use for instances created from this template.
- Key
Revocation Action Type Changes to this property will trigger replacement.
- Action to be taken when a customer's encryption key is revoked. Supports
STOP
andNONE
, withNONE
being the default. - Labels map[string]string
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.
- Metadata
Changes to this property will trigger replacement.
- Metadata key/value pairs to make available from within instances created from this template.
- Metadata
Startup Script Changes to this property will trigger replacement.
- 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.
- Min
Cpu Platform Changes to this property will trigger replacement.
- Specifies a minimum CPU platform. Applicable values are the friendly names of CPU platforms, such as
Intel Haswell
orIntel Skylake
. See the complete list here. - Name
Changes to this property will trigger replacement.
- The name of the instance template. If you leave this blank, the provider will auto-generate a unique name.
- Name
Prefix Changes to this property will trigger replacement.
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 aname_prefix
38 - 54 characters:name_prefix
+ YYmmdd + 3 digit incremental counter- Network
Interfaces Changes to this property will trigger replacement.
Template Network Interface Args - Networks to attach to instances created from this template. This can be specified multiple times for multiple networks. Structure is documented below.
- Network
Performance Config Changes to this property will trigger replacement.
Template Network Performance Config Args - (Optional, Configures network performance settings for the instance created from the
template. Structure is documented below. Note:
machine_type
must be a supported type, theimage
used must include theGVNIC
inguest-os-features
, andnetwork_interface.0.nic-type
must beGVNIC
in order for this setting to take effect. - Partner
Metadata map[string]string - 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.
- Project
Changes to this property will trigger replacement.
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- Region
Changes to this property will trigger replacement.
- 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. - Reservation
Affinity Changes to this property will trigger replacement.
Template Reservation Affinity Args - Specifies the reservations that this instance can consume from. Structure is documented below.
Changes to this property will trigger replacement.
- A set of key/value resource manager tag pairs to bind to the instances. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456.
- Resource
Policies Changes to this property will trigger replacement.
- 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.
- Scheduling
Changes to this property will trigger replacement.
Template Scheduling Args - The scheduling strategy to use. More details about this configuration option are detailed below.
- Service
Account Changes to this property will trigger replacement.
Template Service Account Args - Service account to attach to the instance. Structure is documented below.
- Shielded
Instance Config Changes to this property will trigger replacement.
Template Shielded Instance Config Args - 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. Changes to this property will trigger replacement.
- Tags to attach to the instance.
- disks
This property is required. Changes to this property will trigger replacement.
Template Disk> - Disks to attach to instances created from this template. This can be specified multiple times for multiple disks. Structure is documented below.
- machine
Type This property is required. Changes to this property will trigger replacement.
- 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.
- advanced
Machine Features Changes to this property will trigger replacement.
Template Advanced Machine Features - Configure Nested Virtualisation and Simultaneous Hyper Threading on this VM. Structure is documented below
- can
Ip Forward Changes to this property will trigger replacement.
- Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false.
- confidential
Instance Config Changes to this property will trigger replacement.
Template Confidential Instance Config - Enable Confidential Mode on this VM. Structure is documented below
- description
Changes to this property will trigger replacement.
- A brief description of this resource.
- enable
Display Changes to this property will trigger replacement.
- Enable Virtual Displays on this instance.
Note:
allow_stopping_for_update
must be set to true in order to update this field. - guest
Accelerators Changes to this property will trigger replacement.
Template Guest Accelerator> - List of the type and count of accelerator cards attached to the instance. Structure documented below.
- instance
Description Changes to this property will trigger replacement.
- A brief description to use for instances created from this template.
- key
Revocation Action Type Changes to this property will trigger replacement.
- Action to be taken when a customer's encryption key is revoked. Supports
STOP
andNONE
, withNONE
being the default. - labels Map<String,String>
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.
- metadata
Changes to this property will trigger replacement.
- Metadata key/value pairs to make available from within instances created from this template.
- metadata
Startup Script Changes to this property will trigger replacement.
- 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.
- min
Cpu Platform Changes to this property will trigger replacement.
- Specifies a minimum CPU platform. Applicable values are the friendly names of CPU platforms, such as
Intel Haswell
orIntel Skylake
. See the complete list here. - name
Changes to this property will trigger replacement.
- The name of the instance template. If you leave this blank, the provider will auto-generate a unique name.
- name
Prefix Changes to this property will trigger replacement.
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 aname_prefix
38 - 54 characters:name_prefix
+ YYmmdd + 3 digit incremental counter- network
Interfaces Changes to this property will trigger replacement.
Template Network Interface> - Networks to attach to instances created from this template. This can be specified multiple times for multiple networks. Structure is documented below.
- network
Performance Config Changes to this property will trigger replacement.
Template Network Performance Config - (Optional, Configures network performance settings for the instance created from the
template. Structure is documented below. Note:
machine_type
must be a supported type, theimage
used must include theGVNIC
inguest-os-features
, andnetwork_interface.0.nic-type
must beGVNIC
in order for this setting to take effect. - partner
Metadata Map<String,String> - 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.
- project
Changes to this property will trigger replacement.
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- region
Changes to this property will trigger replacement.
- 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. - reservation
Affinity Changes to this property will trigger replacement.
Template Reservation Affinity - Specifies the reservations that this instance can consume from. Structure is documented below.
Changes to this property will trigger replacement.
- A set of key/value resource manager tag pairs to bind to the instances. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456.
- resource
Policies Changes to this property will trigger replacement.
- 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.
- scheduling
Changes to this property will trigger replacement.
Template Scheduling - The scheduling strategy to use. More details about this configuration option are detailed below.
- service
Account Changes to this property will trigger replacement.
Template Service Account - Service account to attach to the instance. Structure is documented below.
- shielded
Instance Config Changes to this property will trigger replacement.
Template Shielded Instance Config - 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. Changes to this property will trigger replacement.
- Tags to attach to the instance.
- disks
This property is required. Changes to this property will trigger replacement.
Template Disk[] - Disks to attach to instances created from this template. This can be specified multiple times for multiple disks. Structure is documented below.
- machine
Type This property is required. Changes to this property will trigger replacement.
- 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.
- advanced
Machine Features Changes to this property will trigger replacement.
Template Advanced Machine Features - Configure Nested Virtualisation and Simultaneous Hyper Threading on this VM. Structure is documented below
- can
Ip Forward Changes to this property will trigger replacement.
- Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false.
- confidential
Instance Config Changes to this property will trigger replacement.
Template Confidential Instance Config - Enable Confidential Mode on this VM. Structure is documented below
- description
Changes to this property will trigger replacement.
- A brief description of this resource.
- enable
Display Changes to this property will trigger replacement.
- Enable Virtual Displays on this instance.
Note:
allow_stopping_for_update
must be set to true in order to update this field. - guest
Accelerators Changes to this property will trigger replacement.
Template Guest Accelerator[] - List of the type and count of accelerator cards attached to the instance. Structure documented below.
- instance
Description Changes to this property will trigger replacement.
- A brief description to use for instances created from this template.
- key
Revocation Action Type Changes to this property will trigger replacement.
- Action to be taken when a customer's encryption key is revoked. Supports
STOP
andNONE
, withNONE
being the default. - labels {[key: string]: string}
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.
- metadata
Changes to this property will trigger replacement.
- Metadata key/value pairs to make available from within instances created from this template.
- metadata
Startup Script Changes to this property will trigger replacement.
- 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.
- min
Cpu Platform Changes to this property will trigger replacement.
- Specifies a minimum CPU platform. Applicable values are the friendly names of CPU platforms, such as
Intel Haswell
orIntel Skylake
. See the complete list here. - name
Changes to this property will trigger replacement.
- The name of the instance template. If you leave this blank, the provider will auto-generate a unique name.
- name
Prefix Changes to this property will trigger replacement.
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 aname_prefix
38 - 54 characters:name_prefix
+ YYmmdd + 3 digit incremental counter- network
Interfaces Changes to this property will trigger replacement.
Template Network Interface[] - Networks to attach to instances created from this template. This can be specified multiple times for multiple networks. Structure is documented below.
- network
Performance Config Changes to this property will trigger replacement.
Template Network Performance Config - (Optional, Configures network performance settings for the instance created from the
template. Structure is documented below. Note:
machine_type
must be a supported type, theimage
used must include theGVNIC
inguest-os-features
, andnetwork_interface.0.nic-type
must beGVNIC
in order for this setting to take effect. - partner
Metadata {[key: string]: string} - 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.
- project
Changes to this property will trigger replacement.
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- region
Changes to this property will trigger replacement.
- 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. - reservation
Affinity Changes to this property will trigger replacement.
Template Reservation Affinity - Specifies the reservations that this instance can consume from. Structure is documented below.
Changes to this property will trigger replacement.
- A set of key/value resource manager tag pairs to bind to the instances. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456.
- resource
Policies Changes to this property will trigger replacement.
- 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.
- scheduling
Changes to this property will trigger replacement.
Template Scheduling - The scheduling strategy to use. More details about this configuration option are detailed below.
- service
Account Changes to this property will trigger replacement.
Template Service Account - Service account to attach to the instance. Structure is documented below.
- shielded
Instance Config Changes to this property will trigger replacement.
Template Shielded Instance Config - 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. Changes to this property will trigger replacement.
- Tags to attach to the instance.
- disks
This property is required. Changes to this property will trigger replacement.
Template Disk Args] - Disks to attach to instances created from this template. This can be specified multiple times for multiple disks. Structure is documented below.
- machine_
type This property is required. Changes to this property will trigger replacement.
- 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.
- advanced_
machine_ features Changes to this property will trigger replacement.
Template Advanced Machine Features Args - Configure Nested Virtualisation and Simultaneous Hyper Threading on this VM. Structure is documented below
- can_
ip_ forward Changes to this property will trigger replacement.
- Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false.
- confidential_
instance_ config Changes to this property will trigger replacement.
Template Confidential Instance Config Args - Enable Confidential Mode on this VM. Structure is documented below
- description
Changes to this property will trigger replacement.
- A brief description of this resource.
- enable_
display Changes to this property will trigger replacement.
- Enable Virtual Displays on this instance.
Note:
allow_stopping_for_update
must be set to true in order to update this field. - guest_
accelerators Changes to this property will trigger replacement.
Template Guest Accelerator Args] - List of the type and count of accelerator cards attached to the instance. Structure documented below.
- instance_
description Changes to this property will trigger replacement.
- A brief description to use for instances created from this template.
- key_
revocation_ action_ type Changes to this property will trigger replacement.
- Action to be taken when a customer's encryption key is revoked. Supports
STOP
andNONE
, withNONE
being the default. - labels Mapping[str, str]
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.
- metadata
Changes to this property will trigger replacement.
- Metadata key/value pairs to make available from within instances created from this template.
- metadata_
startup_ script Changes to this property will trigger replacement.
- 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.
- min_
cpu_ platform Changes to this property will trigger replacement.
- Specifies a minimum CPU platform. Applicable values are the friendly names of CPU platforms, such as
Intel Haswell
orIntel Skylake
. See the complete list here. - name
Changes to this property will trigger replacement.
- The name of the instance template. If you leave this blank, the provider will auto-generate a unique name.
- name_
prefix Changes to this property will trigger replacement.
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 aname_prefix
38 - 54 characters:name_prefix
+ YYmmdd + 3 digit incremental counter- network_
interfaces Changes to this property will trigger replacement.
Template Network Interface Args] - Networks to attach to instances created from this template. This can be specified multiple times for multiple networks. Structure is documented below.
- network_
performance_ config Changes to this property will trigger replacement.
Template Network Performance Config Args - (Optional, Configures network performance settings for the instance created from the
template. Structure is documented below. Note:
machine_type
must be a supported type, theimage
used must include theGVNIC
inguest-os-features
, andnetwork_interface.0.nic-type
must beGVNIC
in order for this setting to take effect. - partner_
metadata Mapping[str, str] - 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.
- project
Changes to this property will trigger replacement.
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- region
Changes to this property will trigger replacement.
- 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. - reservation_
affinity Changes to this property will trigger replacement.
Template Reservation Affinity Args - Specifies the reservations that this instance can consume from. Structure is documented below.
Changes to this property will trigger replacement.
- A set of key/value resource manager tag pairs to bind to the instances. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456.
- resource_
policies Changes to this property will trigger replacement.
- 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.
- scheduling
Changes to this property will trigger replacement.
Template Scheduling Args - The scheduling strategy to use. More details about this configuration option are detailed below.
- service_
account Changes to this property will trigger replacement.
Template Service Account Args - Service account to attach to the instance. Structure is documented below.
- shielded_
instance_ config Changes to this property will trigger replacement.
Template Shielded Instance Config Args - 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. Changes to this property will trigger replacement.
- Tags to attach to the instance.
- disks
This property is required. Changes to this property will trigger replacement.
- Disks to attach to instances created from this template. This can be specified multiple times for multiple disks. Structure is documented below.
- machine
Type This property is required. Changes to this property will trigger replacement.
- 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.
- advanced
Machine Features Changes to this property will trigger replacement.
- Configure Nested Virtualisation and Simultaneous Hyper Threading on this VM. Structure is documented below
- can
Ip Forward Changes to this property will trigger replacement.
- Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false.
- confidential
Instance Config Changes to this property will trigger replacement.
- Enable Confidential Mode on this VM. Structure is documented below
- description
Changes to this property will trigger replacement.
- A brief description of this resource.
- enable
Display Changes to this property will trigger replacement.
- Enable Virtual Displays on this instance.
Note:
allow_stopping_for_update
must be set to true in order to update this field. - guest
Accelerators Changes to this property will trigger replacement.
- List of the type and count of accelerator cards attached to the instance. Structure documented below.
- instance
Description Changes to this property will trigger replacement.
- A brief description to use for instances created from this template.
- key
Revocation Action Type Changes to this property will trigger replacement.
- Action to be taken when a customer's encryption key is revoked. Supports
STOP
andNONE
, withNONE
being the default. - labels Map<String>
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.
- metadata
Changes to this property will trigger replacement.
- Metadata key/value pairs to make available from within instances created from this template.
- metadata
Startup Script Changes to this property will trigger replacement.
- 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.
- min
Cpu Platform Changes to this property will trigger replacement.
- Specifies a minimum CPU platform. Applicable values are the friendly names of CPU platforms, such as
Intel Haswell
orIntel Skylake
. See the complete list here. - name
Changes to this property will trigger replacement.
- The name of the instance template. If you leave this blank, the provider will auto-generate a unique name.
- name
Prefix Changes to this property will trigger replacement.
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 aname_prefix
38 - 54 characters:name_prefix
+ YYmmdd + 3 digit incremental counter- network
Interfaces Changes to this property will trigger replacement.
- Networks to attach to instances created from this template. This can be specified multiple times for multiple networks. Structure is documented below.
- network
Performance Config Changes to this property will trigger replacement.
- (Optional, Configures network performance settings for the instance created from the
template. Structure is documented below. Note:
machine_type
must be a supported type, theimage
used must include theGVNIC
inguest-os-features
, andnetwork_interface.0.nic-type
must beGVNIC
in order for this setting to take effect. - partner
Metadata Map<String> - 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.
- project
Changes to this property will trigger replacement.
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- region
Changes to this property will trigger replacement.
- 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. - reservation
Affinity Changes to this property will trigger replacement.
- Specifies the reservations that this instance can consume from. Structure is documented below.
Changes to this property will trigger replacement.
- A set of key/value resource manager tag pairs to bind to the instances. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456.
- resource
Policies Changes to this property will trigger replacement.
- 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.
- scheduling
Changes to this property will trigger replacement.
- The scheduling strategy to use. More details about this configuration option are detailed below.
- service
Account Changes to this property will trigger replacement.
- Service account to attach to the instance. Structure is documented below.
- shielded
Instance Config Changes to this property will trigger replacement.
- 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. Changes to this property will trigger replacement.
- Tags to attach to the instance.
Outputs
All input properties are implicitly available as output properties. Additionally, the InstanceTemplate resource produces the following output properties:
- Creation
Timestamp string - Creation timestamp in RFC3339 text format.
- Effective
Labels Dictionary<string, string> - All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- Id string
- The provider-assigned unique ID for this managed resource.
- Metadata
Fingerprint string - The unique fingerprint of the metadata.
- Pulumi
Labels Dictionary<string, string> - The combination of labels configured directly on the resource and default labels configured on the provider.
- Self
Link string - The URI of the created resource.
- Self
Link stringUnique - A special URI of the created resource that uniquely identifies this instance template with the following format:
projects/{{project}}/global/instanceTemplates/{{name}}?uniqueId={{uniqueId}}
Referencing an instance template via this attribute prevents Time of Check to Time of Use attacks when the instance template resides in a shared/untrusted environment. - string
- The unique fingerprint of the tags.
- Creation
Timestamp string - Creation timestamp in RFC3339 text format.
- Effective
Labels map[string]string - All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- Id string
- The provider-assigned unique ID for this managed resource.
- Metadata
Fingerprint string - The unique fingerprint of the metadata.
- Pulumi
Labels map[string]string - The combination of labels configured directly on the resource and default labels configured on the provider.
- Self
Link string - The URI of the created resource.
- Self
Link stringUnique - A special URI of the created resource that uniquely identifies this instance template with the following format:
projects/{{project}}/global/instanceTemplates/{{name}}?uniqueId={{uniqueId}}
Referencing an instance template via this attribute prevents Time of Check to Time of Use attacks when the instance template resides in a shared/untrusted environment. - string
- The unique fingerprint of the tags.
- creation
Timestamp String - Creation timestamp in RFC3339 text format.
- effective
Labels Map<String,String> - All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- id String
- The provider-assigned unique ID for this managed resource.
- metadata
Fingerprint String - The unique fingerprint of the metadata.
- pulumi
Labels Map<String,String> - The combination of labels configured directly on the resource and default labels configured on the provider.
- self
Link String - The URI of the created resource.
- self
Link StringUnique - A special URI of the created resource that uniquely identifies this instance template with the following format:
projects/{{project}}/global/instanceTemplates/{{name}}?uniqueId={{uniqueId}}
Referencing an instance template via this attribute prevents Time of Check to Time of Use attacks when the instance template resides in a shared/untrusted environment. - String
- The unique fingerprint of the tags.
- creation
Timestamp string - Creation timestamp in RFC3339 text format.
- effective
Labels {[key: string]: string} - All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- id string
- The provider-assigned unique ID for this managed resource.
- metadata
Fingerprint string - The unique fingerprint of the metadata.
- pulumi
Labels {[key: string]: string} - The combination of labels configured directly on the resource and default labels configured on the provider.
- self
Link string - The URI of the created resource.
- self
Link stringUnique - A special URI of the created resource that uniquely identifies this instance template with the following format:
projects/{{project}}/global/instanceTemplates/{{name}}?uniqueId={{uniqueId}}
Referencing an instance template via this attribute prevents Time of Check to Time of Use attacks when the instance template resides in a shared/untrusted environment. - string
- The unique fingerprint of the tags.
- creation_
timestamp str - Creation timestamp in RFC3339 text format.
- effective_
labels Mapping[str, str] - All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- id str
- The provider-assigned unique ID for this managed resource.
- metadata_
fingerprint str - The unique fingerprint of the metadata.
- pulumi_
labels Mapping[str, str] - The combination of labels configured directly on the resource and default labels configured on the provider.
- self_
link str - The URI of the created resource.
- self_
link_ strunique - A special URI of the created resource that uniquely identifies this instance template with the following format:
projects/{{project}}/global/instanceTemplates/{{name}}?uniqueId={{uniqueId}}
Referencing an instance template via this attribute prevents Time of Check to Time of Use attacks when the instance template resides in a shared/untrusted environment. - str
- The unique fingerprint of the tags.
- creation
Timestamp String - Creation timestamp in RFC3339 text format.
- effective
Labels Map<String> - All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- id String
- The provider-assigned unique ID for this managed resource.
- metadata
Fingerprint String - The unique fingerprint of the metadata.
- pulumi
Labels Map<String> - The combination of labels configured directly on the resource and default labels configured on the provider.
- self
Link String - The URI of the created resource.
- self
Link StringUnique - A special URI of the created resource that uniquely identifies this instance template with the following format:
projects/{{project}}/global/instanceTemplates/{{name}}?uniqueId={{uniqueId}}
Referencing an instance template via this attribute prevents Time of Check to Time of Use attacks when the instance template resides in a shared/untrusted environment. - String
- The unique fingerprint of the tags.
Look up Existing InstanceTemplate Resource
Get an existing InstanceTemplate 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?: InstanceTemplateState, opts?: CustomResourceOptions): InstanceTemplate
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
advanced_machine_features: Optional[InstanceTemplateAdvancedMachineFeaturesArgs] = None,
can_ip_forward: Optional[bool] = None,
confidential_instance_config: Optional[InstanceTemplateConfidentialInstanceConfigArgs] = None,
creation_timestamp: Optional[str] = None,
description: Optional[str] = None,
disks: Optional[Sequence[InstanceTemplateDiskArgs]] = None,
effective_labels: Optional[Mapping[str, str]] = None,
enable_display: Optional[bool] = None,
guest_accelerators: Optional[Sequence[InstanceTemplateGuestAcceleratorArgs]] = None,
instance_description: Optional[str] = None,
key_revocation_action_type: Optional[str] = None,
labels: Optional[Mapping[str, str]] = None,
machine_type: Optional[str] = None,
metadata: Optional[Mapping[str, str]] = None,
metadata_fingerprint: Optional[str] = None,
metadata_startup_script: Optional[str] = None,
min_cpu_platform: Optional[str] = None,
name: Optional[str] = None,
name_prefix: Optional[str] = None,
network_interfaces: Optional[Sequence[InstanceTemplateNetworkInterfaceArgs]] = None,
network_performance_config: Optional[InstanceTemplateNetworkPerformanceConfigArgs] = None,
partner_metadata: Optional[Mapping[str, str]] = None,
project: Optional[str] = None,
pulumi_labels: Optional[Mapping[str, str]] = None,
region: Optional[str] = None,
reservation_affinity: Optional[InstanceTemplateReservationAffinityArgs] = None,
resource_manager_tags: Optional[Mapping[str, str]] = None,
resource_policies: Optional[str] = None,
scheduling: Optional[InstanceTemplateSchedulingArgs] = None,
self_link: Optional[str] = None,
self_link_unique: Optional[str] = None,
service_account: Optional[InstanceTemplateServiceAccountArgs] = None,
shielded_instance_config: Optional[InstanceTemplateShieldedInstanceConfigArgs] = None,
tags: Optional[Sequence[str]] = None,
tags_fingerprint: Optional[str] = None) -> InstanceTemplate
func GetInstanceTemplate(ctx *Context, name string, id IDInput, state *InstanceTemplateState, opts ...ResourceOption) (*InstanceTemplate, error)
public static InstanceTemplate Get(string name, Input<string> id, InstanceTemplateState? state, CustomResourceOptions? opts = null)
public static InstanceTemplate get(String name, Output<String> id, InstanceTemplateState state, CustomResourceOptions options)
resources: _: type: gcp:compute:InstanceTemplate get: id: ${id}
- name
This property is required. - The unique name of the resulting resource.
- id
This property is required. - 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
This property is required. - The unique name of the resulting resource.
- id
This property is required. - The unique provider ID of the resource to lookup.
- name
This property is required. - The unique name of the resulting resource.
- id
This property is required. - 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
This property is required. - The unique name of the resulting resource.
- id
This property is required. - 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
This property is required. - The unique name of the resulting resource.
- id
This property is required. - 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.
- Advanced
Machine Features Changes to this property will trigger replacement.
Template Advanced Machine Features - Configure Nested Virtualisation and Simultaneous Hyper Threading on this VM. Structure is documented below
- Can
Ip Forward Changes to this property will trigger replacement.
- Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false.
- Confidential
Instance Config Changes to this property will trigger replacement.
Template Confidential Instance Config - Enable Confidential Mode on this VM. Structure is documented below
- Creation
Timestamp Changes to this property will trigger replacement.
- Creation timestamp in RFC3339 text format.
- Description
Changes to this property will trigger replacement.
- A brief description of this resource.
- Disks
Changes to this property will trigger replacement.
Template Disk> - Disks to attach to instances created from this template. This can be specified multiple times for multiple disks. Structure is documented below.
- Effective
Labels Changes to this property will trigger replacement.
- All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- Enable
Display Changes to this property will trigger replacement.
- Enable Virtual Displays on this instance.
Note:
allow_stopping_for_update
must be set to true in order to update this field. - Guest
Accelerators Changes to this property will trigger replacement.
Template Guest Accelerator> - List of the type and count of accelerator cards attached to the instance. Structure documented below.
- Instance
Description Changes to this property will trigger replacement.
- A brief description to use for instances created from this template.
- Key
Revocation Action Type Changes to this property will trigger replacement.
- Action to be taken when a customer's encryption key is revoked. Supports
STOP
andNONE
, withNONE
being the default. - Labels Dictionary<string, string>
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.
- Machine
Type Changes to this property will trigger replacement.
- 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.
- Metadata
Changes to this property will trigger replacement.
- Metadata key/value pairs to make available from within instances created from this template.
- Metadata
Fingerprint Changes to this property will trigger replacement.
- The unique fingerprint of the metadata.
- Metadata
Startup Script Changes to this property will trigger replacement.
- 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.
- Min
Cpu Platform Changes to this property will trigger replacement.
- Specifies a minimum CPU platform. Applicable values are the friendly names of CPU platforms, such as
Intel Haswell
orIntel Skylake
. See the complete list here. - Name
Changes to this property will trigger replacement.
- The name of the instance template. If you leave this blank, the provider will auto-generate a unique name.
- Name
Prefix Changes to this property will trigger replacement.
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 aname_prefix
38 - 54 characters:name_prefix
+ YYmmdd + 3 digit incremental counter- Network
Interfaces Changes to this property will trigger replacement.
Template Network Interface> - Networks to attach to instances created from this template. This can be specified multiple times for multiple networks. Structure is documented below.
- Network
Performance Config Changes to this property will trigger replacement.
Template Network Performance Config - (Optional, Configures network performance settings for the instance created from the
template. Structure is documented below. Note:
machine_type
must be a supported type, theimage
used must include theGVNIC
inguest-os-features
, andnetwork_interface.0.nic-type
must beGVNIC
in order for this setting to take effect. - Partner
Metadata Dictionary<string, string> - 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.
- Project
Changes to this property will trigger replacement.
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- Pulumi
Labels Dictionary<string, string> - The combination of labels configured directly on the resource and default labels configured on the provider.
- Region
Changes to this property will trigger replacement.
- 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. - Reservation
Affinity Changes to this property will trigger replacement.
Template Reservation Affinity - Specifies the reservations that this instance can consume from. Structure is documented below.
Changes to this property will trigger replacement.
- A set of key/value resource manager tag pairs to bind to the instances. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456.
- Resource
Policies Changes to this property will trigger replacement.
- 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.
- Scheduling
Changes to this property will trigger replacement.
Template Scheduling - The scheduling strategy to use. More details about this configuration option are detailed below.
- Self
Link Changes to this property will trigger replacement.
- The URI of the created resource.
- Self
Link Unique Changes to this property will trigger replacement.
- A special URI of the created resource that uniquely identifies this instance template with the following format:
projects/{{project}}/global/instanceTemplates/{{name}}?uniqueId={{uniqueId}}
Referencing an instance template via this attribute prevents Time of Check to Time of Use attacks when the instance template resides in a shared/untrusted environment. - Service
Account Changes to this property will trigger replacement.
Template Service Account - Service account to attach to the instance. Structure is documented below.
- Shielded
Instance Config Changes to this property will trigger replacement.
Template Shielded Instance Config - 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. Changes to this property will trigger replacement.
- Tags to attach to the instance.
Changes to this property will trigger replacement.
- The unique fingerprint of the tags.
- Advanced
Machine Features Changes to this property will trigger replacement.
Template Advanced Machine Features Args - Configure Nested Virtualisation and Simultaneous Hyper Threading on this VM. Structure is documented below
- Can
Ip Forward Changes to this property will trigger replacement.
- Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false.
- Confidential
Instance Config Changes to this property will trigger replacement.
Template Confidential Instance Config Args - Enable Confidential Mode on this VM. Structure is documented below
- Creation
Timestamp Changes to this property will trigger replacement.
- Creation timestamp in RFC3339 text format.
- Description
Changes to this property will trigger replacement.
- A brief description of this resource.
- Disks
Changes to this property will trigger replacement.
Template Disk Args - Disks to attach to instances created from this template. This can be specified multiple times for multiple disks. Structure is documented below.
- Effective
Labels Changes to this property will trigger replacement.
- All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- Enable
Display Changes to this property will trigger replacement.
- Enable Virtual Displays on this instance.
Note:
allow_stopping_for_update
must be set to true in order to update this field. - Guest
Accelerators Changes to this property will trigger replacement.
Template Guest Accelerator Args - List of the type and count of accelerator cards attached to the instance. Structure documented below.
- Instance
Description Changes to this property will trigger replacement.
- A brief description to use for instances created from this template.
- Key
Revocation Action Type Changes to this property will trigger replacement.
- Action to be taken when a customer's encryption key is revoked. Supports
STOP
andNONE
, withNONE
being the default. - Labels map[string]string
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.
- Machine
Type Changes to this property will trigger replacement.
- 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.
- Metadata
Changes to this property will trigger replacement.
- Metadata key/value pairs to make available from within instances created from this template.
- Metadata
Fingerprint Changes to this property will trigger replacement.
- The unique fingerprint of the metadata.
- Metadata
Startup Script Changes to this property will trigger replacement.
- 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.
- Min
Cpu Platform Changes to this property will trigger replacement.
- Specifies a minimum CPU platform. Applicable values are the friendly names of CPU platforms, such as
Intel Haswell
orIntel Skylake
. See the complete list here. - Name
Changes to this property will trigger replacement.
- The name of the instance template. If you leave this blank, the provider will auto-generate a unique name.
- Name
Prefix Changes to this property will trigger replacement.
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 aname_prefix
38 - 54 characters:name_prefix
+ YYmmdd + 3 digit incremental counter- Network
Interfaces Changes to this property will trigger replacement.
Template Network Interface Args - Networks to attach to instances created from this template. This can be specified multiple times for multiple networks. Structure is documented below.
- Network
Performance Config Changes to this property will trigger replacement.
Template Network Performance Config Args - (Optional, Configures network performance settings for the instance created from the
template. Structure is documented below. Note:
machine_type
must be a supported type, theimage
used must include theGVNIC
inguest-os-features
, andnetwork_interface.0.nic-type
must beGVNIC
in order for this setting to take effect. - Partner
Metadata map[string]string - 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.
- Project
Changes to this property will trigger replacement.
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- Pulumi
Labels map[string]string - The combination of labels configured directly on the resource and default labels configured on the provider.
- Region
Changes to this property will trigger replacement.
- 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. - Reservation
Affinity Changes to this property will trigger replacement.
Template Reservation Affinity Args - Specifies the reservations that this instance can consume from. Structure is documented below.
Changes to this property will trigger replacement.
- A set of key/value resource manager tag pairs to bind to the instances. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456.
- Resource
Policies Changes to this property will trigger replacement.
- 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.
- Scheduling
Changes to this property will trigger replacement.
Template Scheduling Args - The scheduling strategy to use. More details about this configuration option are detailed below.
- Self
Link Changes to this property will trigger replacement.
- The URI of the created resource.
- Self
Link Unique Changes to this property will trigger replacement.
- A special URI of the created resource that uniquely identifies this instance template with the following format:
projects/{{project}}/global/instanceTemplates/{{name}}?uniqueId={{uniqueId}}
Referencing an instance template via this attribute prevents Time of Check to Time of Use attacks when the instance template resides in a shared/untrusted environment. - Service
Account Changes to this property will trigger replacement.
Template Service Account Args - Service account to attach to the instance. Structure is documented below.
- Shielded
Instance Config Changes to this property will trigger replacement.
Template Shielded Instance Config Args - 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. Changes to this property will trigger replacement.
- Tags to attach to the instance.
Changes to this property will trigger replacement.
- The unique fingerprint of the tags.
- advanced
Machine Features Changes to this property will trigger replacement.
Template Advanced Machine Features - Configure Nested Virtualisation and Simultaneous Hyper Threading on this VM. Structure is documented below
- can
Ip Forward Changes to this property will trigger replacement.
- Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false.
- confidential
Instance Config Changes to this property will trigger replacement.
Template Confidential Instance Config - Enable Confidential Mode on this VM. Structure is documented below
- creation
Timestamp Changes to this property will trigger replacement.
- Creation timestamp in RFC3339 text format.
- description
Changes to this property will trigger replacement.
- A brief description of this resource.
- disks
Changes to this property will trigger replacement.
Template Disk> - Disks to attach to instances created from this template. This can be specified multiple times for multiple disks. Structure is documented below.
- effective
Labels Changes to this property will trigger replacement.
- All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- enable
Display Changes to this property will trigger replacement.
- Enable Virtual Displays on this instance.
Note:
allow_stopping_for_update
must be set to true in order to update this field. - guest
Accelerators Changes to this property will trigger replacement.
Template Guest Accelerator> - List of the type and count of accelerator cards attached to the instance. Structure documented below.
- instance
Description Changes to this property will trigger replacement.
- A brief description to use for instances created from this template.
- key
Revocation Action Type Changes to this property will trigger replacement.
- Action to be taken when a customer's encryption key is revoked. Supports
STOP
andNONE
, withNONE
being the default. - labels Map<String,String>
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.
- machine
Type Changes to this property will trigger replacement.
- 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.
- metadata
Changes to this property will trigger replacement.
- Metadata key/value pairs to make available from within instances created from this template.
- metadata
Fingerprint Changes to this property will trigger replacement.
- The unique fingerprint of the metadata.
- metadata
Startup Script Changes to this property will trigger replacement.
- 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.
- min
Cpu Platform Changes to this property will trigger replacement.
- Specifies a minimum CPU platform. Applicable values are the friendly names of CPU platforms, such as
Intel Haswell
orIntel Skylake
. See the complete list here. - name
Changes to this property will trigger replacement.
- The name of the instance template. If you leave this blank, the provider will auto-generate a unique name.
- name
Prefix Changes to this property will trigger replacement.
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 aname_prefix
38 - 54 characters:name_prefix
+ YYmmdd + 3 digit incremental counter- network
Interfaces Changes to this property will trigger replacement.
Template Network Interface> - Networks to attach to instances created from this template. This can be specified multiple times for multiple networks. Structure is documented below.
- network
Performance Config Changes to this property will trigger replacement.
Template Network Performance Config - (Optional, Configures network performance settings for the instance created from the
template. Structure is documented below. Note:
machine_type
must be a supported type, theimage
used must include theGVNIC
inguest-os-features
, andnetwork_interface.0.nic-type
must beGVNIC
in order for this setting to take effect. - partner
Metadata Map<String,String> - 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.
- project
Changes to this property will trigger replacement.
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- pulumi
Labels Map<String,String> - The combination of labels configured directly on the resource and default labels configured on the provider.
- region
Changes to this property will trigger replacement.
- 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. - reservation
Affinity Changes to this property will trigger replacement.
Template Reservation Affinity - Specifies the reservations that this instance can consume from. Structure is documented below.
Changes to this property will trigger replacement.
- A set of key/value resource manager tag pairs to bind to the instances. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456.
- resource
Policies Changes to this property will trigger replacement.
- 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.
- scheduling
Changes to this property will trigger replacement.
Template Scheduling - The scheduling strategy to use. More details about this configuration option are detailed below.
- self
Link Changes to this property will trigger replacement.
- The URI of the created resource.
- self
Link Unique Changes to this property will trigger replacement.
- A special URI of the created resource that uniquely identifies this instance template with the following format:
projects/{{project}}/global/instanceTemplates/{{name}}?uniqueId={{uniqueId}}
Referencing an instance template via this attribute prevents Time of Check to Time of Use attacks when the instance template resides in a shared/untrusted environment. - service
Account Changes to this property will trigger replacement.
Template Service Account - Service account to attach to the instance. Structure is documented below.
- shielded
Instance Config Changes to this property will trigger replacement.
Template Shielded Instance Config - 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. Changes to this property will trigger replacement.
- Tags to attach to the instance.
Changes to this property will trigger replacement.
- The unique fingerprint of the tags.
- advanced
Machine Features Changes to this property will trigger replacement.
Template Advanced Machine Features - Configure Nested Virtualisation and Simultaneous Hyper Threading on this VM. Structure is documented below
- can
Ip Forward Changes to this property will trigger replacement.
- Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false.
- confidential
Instance Config Changes to this property will trigger replacement.
Template Confidential Instance Config - Enable Confidential Mode on this VM. Structure is documented below
- creation
Timestamp Changes to this property will trigger replacement.
- Creation timestamp in RFC3339 text format.
- description
Changes to this property will trigger replacement.
- A brief description of this resource.
- disks
Changes to this property will trigger replacement.
Template Disk[] - Disks to attach to instances created from this template. This can be specified multiple times for multiple disks. Structure is documented below.
- effective
Labels Changes to this property will trigger replacement.
- All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- enable
Display Changes to this property will trigger replacement.
- Enable Virtual Displays on this instance.
Note:
allow_stopping_for_update
must be set to true in order to update this field. - guest
Accelerators Changes to this property will trigger replacement.
Template Guest Accelerator[] - List of the type and count of accelerator cards attached to the instance. Structure documented below.
- instance
Description Changes to this property will trigger replacement.
- A brief description to use for instances created from this template.
- key
Revocation Action Type Changes to this property will trigger replacement.
- Action to be taken when a customer's encryption key is revoked. Supports
STOP
andNONE
, withNONE
being the default. - labels {[key: string]: string}
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.
- machine
Type Changes to this property will trigger replacement.
- 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.
- metadata
Changes to this property will trigger replacement.
- Metadata key/value pairs to make available from within instances created from this template.
- metadata
Fingerprint Changes to this property will trigger replacement.
- The unique fingerprint of the metadata.
- metadata
Startup Script Changes to this property will trigger replacement.
- 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.
- min
Cpu Platform Changes to this property will trigger replacement.
- Specifies a minimum CPU platform. Applicable values are the friendly names of CPU platforms, such as
Intel Haswell
orIntel Skylake
. See the complete list here. - name
Changes to this property will trigger replacement.
- The name of the instance template. If you leave this blank, the provider will auto-generate a unique name.
- name
Prefix Changes to this property will trigger replacement.
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 aname_prefix
38 - 54 characters:name_prefix
+ YYmmdd + 3 digit incremental counter- network
Interfaces Changes to this property will trigger replacement.
Template Network Interface[] - Networks to attach to instances created from this template. This can be specified multiple times for multiple networks. Structure is documented below.
- network
Performance Config Changes to this property will trigger replacement.
Template Network Performance Config - (Optional, Configures network performance settings for the instance created from the
template. Structure is documented below. Note:
machine_type
must be a supported type, theimage
used must include theGVNIC
inguest-os-features
, andnetwork_interface.0.nic-type
must beGVNIC
in order for this setting to take effect. - partner
Metadata {[key: string]: string} - 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.
- project
Changes to this property will trigger replacement.
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- pulumi
Labels {[key: string]: string} - The combination of labels configured directly on the resource and default labels configured on the provider.
- region
Changes to this property will trigger replacement.
- 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. - reservation
Affinity Changes to this property will trigger replacement.
Template Reservation Affinity - Specifies the reservations that this instance can consume from. Structure is documented below.
Changes to this property will trigger replacement.
- A set of key/value resource manager tag pairs to bind to the instances. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456.
- resource
Policies Changes to this property will trigger replacement.
- 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.
- scheduling
Changes to this property will trigger replacement.
Template Scheduling - The scheduling strategy to use. More details about this configuration option are detailed below.
- self
Link Changes to this property will trigger replacement.
- The URI of the created resource.
- self
Link Unique Changes to this property will trigger replacement.
- A special URI of the created resource that uniquely identifies this instance template with the following format:
projects/{{project}}/global/instanceTemplates/{{name}}?uniqueId={{uniqueId}}
Referencing an instance template via this attribute prevents Time of Check to Time of Use attacks when the instance template resides in a shared/untrusted environment. - service
Account Changes to this property will trigger replacement.
Template Service Account - Service account to attach to the instance. Structure is documented below.
- shielded
Instance Config Changes to this property will trigger replacement.
Template Shielded Instance Config - 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. Changes to this property will trigger replacement.
- Tags to attach to the instance.
Changes to this property will trigger replacement.
- The unique fingerprint of the tags.
- advanced_
machine_ features Changes to this property will trigger replacement.
Template Advanced Machine Features Args - Configure Nested Virtualisation and Simultaneous Hyper Threading on this VM. Structure is documented below
- can_
ip_ forward Changes to this property will trigger replacement.
- Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false.
- confidential_
instance_ config Changes to this property will trigger replacement.
Template Confidential Instance Config Args - Enable Confidential Mode on this VM. Structure is documented below
- creation_
timestamp Changes to this property will trigger replacement.
- Creation timestamp in RFC3339 text format.
- description
Changes to this property will trigger replacement.
- A brief description of this resource.
- disks
Changes to this property will trigger replacement.
Template Disk Args] - Disks to attach to instances created from this template. This can be specified multiple times for multiple disks. Structure is documented below.
- effective_
labels Changes to this property will trigger replacement.
- All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- enable_
display Changes to this property will trigger replacement.
- Enable Virtual Displays on this instance.
Note:
allow_stopping_for_update
must be set to true in order to update this field. - guest_
accelerators Changes to this property will trigger replacement.
Template Guest Accelerator Args] - List of the type and count of accelerator cards attached to the instance. Structure documented below.
- instance_
description Changes to this property will trigger replacement.
- A brief description to use for instances created from this template.
- key_
revocation_ action_ type Changes to this property will trigger replacement.
- Action to be taken when a customer's encryption key is revoked. Supports
STOP
andNONE
, withNONE
being the default. - labels Mapping[str, str]
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.
- machine_
type Changes to this property will trigger replacement.
- 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.
- metadata
Changes to this property will trigger replacement.
- Metadata key/value pairs to make available from within instances created from this template.
- metadata_
fingerprint Changes to this property will trigger replacement.
- The unique fingerprint of the metadata.
- metadata_
startup_ script Changes to this property will trigger replacement.
- 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.
- min_
cpu_ platform Changes to this property will trigger replacement.
- Specifies a minimum CPU platform. Applicable values are the friendly names of CPU platforms, such as
Intel Haswell
orIntel Skylake
. See the complete list here. - name
Changes to this property will trigger replacement.
- The name of the instance template. If you leave this blank, the provider will auto-generate a unique name.
- name_
prefix Changes to this property will trigger replacement.
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 aname_prefix
38 - 54 characters:name_prefix
+ YYmmdd + 3 digit incremental counter- network_
interfaces Changes to this property will trigger replacement.
Template Network Interface Args] - Networks to attach to instances created from this template. This can be specified multiple times for multiple networks. Structure is documented below.
- network_
performance_ config Changes to this property will trigger replacement.
Template Network Performance Config Args - (Optional, Configures network performance settings for the instance created from the
template. Structure is documented below. Note:
machine_type
must be a supported type, theimage
used must include theGVNIC
inguest-os-features
, andnetwork_interface.0.nic-type
must beGVNIC
in order for this setting to take effect. - partner_
metadata Mapping[str, str] - 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.
- project
Changes to this property will trigger replacement.
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- pulumi_
labels Mapping[str, str] - The combination of labels configured directly on the resource and default labels configured on the provider.
- region
Changes to this property will trigger replacement.
- 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. - reservation_
affinity Changes to this property will trigger replacement.
Template Reservation Affinity Args - Specifies the reservations that this instance can consume from. Structure is documented below.
Changes to this property will trigger replacement.
- A set of key/value resource manager tag pairs to bind to the instances. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456.
- resource_
policies Changes to this property will trigger replacement.
- 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.
- scheduling
Changes to this property will trigger replacement.
Template Scheduling Args - The scheduling strategy to use. More details about this configuration option are detailed below.
- self_
link Changes to this property will trigger replacement.
- The URI of the created resource.
- self_
link_ unique Changes to this property will trigger replacement.
- A special URI of the created resource that uniquely identifies this instance template with the following format:
projects/{{project}}/global/instanceTemplates/{{name}}?uniqueId={{uniqueId}}
Referencing an instance template via this attribute prevents Time of Check to Time of Use attacks when the instance template resides in a shared/untrusted environment. - service_
account Changes to this property will trigger replacement.
Template Service Account Args - Service account to attach to the instance. Structure is documented below.
- shielded_
instance_ config Changes to this property will trigger replacement.
Template Shielded Instance Config Args - 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. Changes to this property will trigger replacement.
- Tags to attach to the instance.
Changes to this property will trigger replacement.
- The unique fingerprint of the tags.
- advanced
Machine Features Changes to this property will trigger replacement.
- Configure Nested Virtualisation and Simultaneous Hyper Threading on this VM. Structure is documented below
- can
Ip Forward Changes to this property will trigger replacement.
- Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false.
- confidential
Instance Config Changes to this property will trigger replacement.
- Enable Confidential Mode on this VM. Structure is documented below
- creation
Timestamp Changes to this property will trigger replacement.
- Creation timestamp in RFC3339 text format.
- description
Changes to this property will trigger replacement.
- A brief description of this resource.
- disks
Changes to this property will trigger replacement.
- Disks to attach to instances created from this template. This can be specified multiple times for multiple disks. Structure is documented below.
- effective
Labels Changes to this property will trigger replacement.
- All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- enable
Display Changes to this property will trigger replacement.
- Enable Virtual Displays on this instance.
Note:
allow_stopping_for_update
must be set to true in order to update this field. - guest
Accelerators Changes to this property will trigger replacement.
- List of the type and count of accelerator cards attached to the instance. Structure documented below.
- instance
Description Changes to this property will trigger replacement.
- A brief description to use for instances created from this template.
- key
Revocation Action Type Changes to this property will trigger replacement.
- Action to be taken when a customer's encryption key is revoked. Supports
STOP
andNONE
, withNONE
being the default. - labels Map<String>
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.
- machine
Type Changes to this property will trigger replacement.
- 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.
- metadata
Changes to this property will trigger replacement.
- Metadata key/value pairs to make available from within instances created from this template.
- metadata
Fingerprint Changes to this property will trigger replacement.
- The unique fingerprint of the metadata.
- metadata
Startup Script Changes to this property will trigger replacement.
- 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.
- min
Cpu Platform Changes to this property will trigger replacement.
- Specifies a minimum CPU platform. Applicable values are the friendly names of CPU platforms, such as
Intel Haswell
orIntel Skylake
. See the complete list here. - name
Changes to this property will trigger replacement.
- The name of the instance template. If you leave this blank, the provider will auto-generate a unique name.
- name
Prefix Changes to this property will trigger replacement.
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 aname_prefix
38 - 54 characters:name_prefix
+ YYmmdd + 3 digit incremental counter- network
Interfaces Changes to this property will trigger replacement.
- Networks to attach to instances created from this template. This can be specified multiple times for multiple networks. Structure is documented below.
- network
Performance Config Changes to this property will trigger replacement.
- (Optional, Configures network performance settings for the instance created from the
template. Structure is documented below. Note:
machine_type
must be a supported type, theimage
used must include theGVNIC
inguest-os-features
, andnetwork_interface.0.nic-type
must beGVNIC
in order for this setting to take effect. - partner
Metadata Map<String> - 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.
- project
Changes to this property will trigger replacement.
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- pulumi
Labels Map<String> - The combination of labels configured directly on the resource and default labels configured on the provider.
- region
Changes to this property will trigger replacement.
- 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. - reservation
Affinity Changes to this property will trigger replacement.
- Specifies the reservations that this instance can consume from. Structure is documented below.
Changes to this property will trigger replacement.
- A set of key/value resource manager tag pairs to bind to the instances. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456.
- resource
Policies Changes to this property will trigger replacement.
- 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.
- scheduling
Changes to this property will trigger replacement.
- The scheduling strategy to use. More details about this configuration option are detailed below.
- self
Link Changes to this property will trigger replacement.
- The URI of the created resource.
- self
Link Unique Changes to this property will trigger replacement.
- A special URI of the created resource that uniquely identifies this instance template with the following format:
projects/{{project}}/global/instanceTemplates/{{name}}?uniqueId={{uniqueId}}
Referencing an instance template via this attribute prevents Time of Check to Time of Use attacks when the instance template resides in a shared/untrusted environment. - service
Account Changes to this property will trigger replacement.
- Service account to attach to the instance. Structure is documented below.
- shielded
Instance Config Changes to this property will trigger replacement.
- 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. Changes to this property will trigger replacement.
- Tags to attach to the instance.
Changes to this property will trigger replacement.
- The unique fingerprint of the tags.
Supporting Types
InstanceTemplateAdvancedMachineFeatures, InstanceTemplateAdvancedMachineFeaturesArgs
- Enable
Nested Virtualization Changes to this property will trigger replacement.
- Defines whether the instance should have nested virtualization enabled. Defaults to false.
- Enable
Uefi Networking Changes to this property will trigger replacement.
- Whether to enable UEFI networking for instance creation.
- Performance
Monitoring Unit Changes to this property will trigger replacement.
- The PMU is a hardware component within the CPU core that monitors how the processor runs code. Valid values for the level of PMU are
STANDARD
,ENHANCED
, andARCHITECTURAL
. - Threads
Per Core Changes to this property will trigger replacement.
- The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1.
- Turbo
Mode string - Turbo frequency mode to use for the instance. Supported modes are currently either
ALL_CORE_MAX
or unset (default). - Visible
Core Count Changes to this property will trigger replacement.
- The number of physical cores to expose to an instance. visible cores info (VC).
- Enable
Nested Virtualization Changes to this property will trigger replacement.
- Defines whether the instance should have nested virtualization enabled. Defaults to false.
- Enable
Uefi Networking Changes to this property will trigger replacement.
- Whether to enable UEFI networking for instance creation.
- Performance
Monitoring Unit Changes to this property will trigger replacement.
- The PMU is a hardware component within the CPU core that monitors how the processor runs code. Valid values for the level of PMU are
STANDARD
,ENHANCED
, andARCHITECTURAL
. - Threads
Per Core Changes to this property will trigger replacement.
- The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1.
- Turbo
Mode string - Turbo frequency mode to use for the instance. Supported modes are currently either
ALL_CORE_MAX
or unset (default). - Visible
Core Count Changes to this property will trigger replacement.
- The number of physical cores to expose to an instance. visible cores info (VC).
- enable
Nested Virtualization Changes to this property will trigger replacement.
- Defines whether the instance should have nested virtualization enabled. Defaults to false.
- enable
Uefi Networking Changes to this property will trigger replacement.
- Whether to enable UEFI networking for instance creation.
- performance
Monitoring Unit Changes to this property will trigger replacement.
- The PMU is a hardware component within the CPU core that monitors how the processor runs code. Valid values for the level of PMU are
STANDARD
,ENHANCED
, andARCHITECTURAL
. - threads
Per Core Changes to this property will trigger replacement.
- The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1.
- turbo
Mode String - Turbo frequency mode to use for the instance. Supported modes are currently either
ALL_CORE_MAX
or unset (default). - visible
Core Count Changes to this property will trigger replacement.
- The number of physical cores to expose to an instance. visible cores info (VC).
- enable
Nested Virtualization Changes to this property will trigger replacement.
- Defines whether the instance should have nested virtualization enabled. Defaults to false.
- enable
Uefi Networking Changes to this property will trigger replacement.
- Whether to enable UEFI networking for instance creation.
- performance
Monitoring Unit Changes to this property will trigger replacement.
- The PMU is a hardware component within the CPU core that monitors how the processor runs code. Valid values for the level of PMU are
STANDARD
,ENHANCED
, andARCHITECTURAL
. - threads
Per Core Changes to this property will trigger replacement.
- The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1.
- turbo
Mode string - Turbo frequency mode to use for the instance. Supported modes are currently either
ALL_CORE_MAX
or unset (default). - visible
Core Count Changes to this property will trigger replacement.
- The number of physical cores to expose to an instance. visible cores info (VC).
- enable_
nested_ virtualization Changes to this property will trigger replacement.
- Defines whether the instance should have nested virtualization enabled. Defaults to false.
- enable_
uefi_ networking Changes to this property will trigger replacement.
- Whether to enable UEFI networking for instance creation.
- performance_
monitoring_ unit Changes to this property will trigger replacement.
- The PMU is a hardware component within the CPU core that monitors how the processor runs code. Valid values for the level of PMU are
STANDARD
,ENHANCED
, andARCHITECTURAL
. - threads_
per_ core Changes to this property will trigger replacement.
- The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1.
- turbo_
mode str - Turbo frequency mode to use for the instance. Supported modes are currently either
ALL_CORE_MAX
or unset (default). - visible_
core_ count Changes to this property will trigger replacement.
- The number of physical cores to expose to an instance. visible cores info (VC).
- enable
Nested Virtualization Changes to this property will trigger replacement.
- Defines whether the instance should have nested virtualization enabled. Defaults to false.
- enable
Uefi Networking Changes to this property will trigger replacement.
- Whether to enable UEFI networking for instance creation.
- performance
Monitoring Unit Changes to this property will trigger replacement.
- The PMU is a hardware component within the CPU core that monitors how the processor runs code. Valid values for the level of PMU are
STANDARD
,ENHANCED
, andARCHITECTURAL
. - threads
Per Core Changes to this property will trigger replacement.
- The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1.
- turbo
Mode String - Turbo frequency mode to use for the instance. Supported modes are currently either
ALL_CORE_MAX
or unset (default). - visible
Core Count Changes to this property will trigger replacement.
- The number of physical cores to expose to an instance. visible cores info (VC).
InstanceTemplateConfidentialInstanceConfig, InstanceTemplateConfidentialInstanceConfigArgs
- Confidential
Instance Type Changes to this property will trigger replacement.
- Defines the confidential computing technology the instance uses. SEV is an AMD feature. TDX is an Intel feature. One of the following values is required:
SEV
,SEV_SNP
,TDX
.on_host_maintenance
can be set to MIGRATE ifconfidential_instance_type
is set toSEV
andmin_cpu_platform
is set to"AMD Milan"
. Otherwise,on_host_maintenance
has to be set to TERMINATE or this will fail to create the VM. IfSEV_SNP
, currentlymin_cpu_platform
has to be set to"AMD Milan"
or this will fail to create the VM. - Enable
Confidential Compute Changes to this property will trigger replacement.
- Defines whether the instance should have confidential compute enabled with AMD SEV. If enabled,
on_host_maintenance
can be set to MIGRATE ifmin_cpu_platform
is set to"AMD Milan"
. Otherwise,on_host_maintenance
has to be set to TERMINATE or this will fail to create the VM.
- Confidential
Instance Type Changes to this property will trigger replacement.
- Defines the confidential computing technology the instance uses. SEV is an AMD feature. TDX is an Intel feature. One of the following values is required:
SEV
,SEV_SNP
,TDX
.on_host_maintenance
can be set to MIGRATE ifconfidential_instance_type
is set toSEV
andmin_cpu_platform
is set to"AMD Milan"
. Otherwise,on_host_maintenance
has to be set to TERMINATE or this will fail to create the VM. IfSEV_SNP
, currentlymin_cpu_platform
has to be set to"AMD Milan"
or this will fail to create the VM. - Enable
Confidential Compute Changes to this property will trigger replacement.
- Defines whether the instance should have confidential compute enabled with AMD SEV. If enabled,
on_host_maintenance
can be set to MIGRATE ifmin_cpu_platform
is set to"AMD Milan"
. Otherwise,on_host_maintenance
has to be set to TERMINATE or this will fail to create the VM.
- confidential
Instance Type Changes to this property will trigger replacement.
- Defines the confidential computing technology the instance uses. SEV is an AMD feature. TDX is an Intel feature. One of the following values is required:
SEV
,SEV_SNP
,TDX
.on_host_maintenance
can be set to MIGRATE ifconfidential_instance_type
is set toSEV
andmin_cpu_platform
is set to"AMD Milan"
. Otherwise,on_host_maintenance
has to be set to TERMINATE or this will fail to create the VM. IfSEV_SNP
, currentlymin_cpu_platform
has to be set to"AMD Milan"
or this will fail to create the VM. - enable
Confidential Compute Changes to this property will trigger replacement.
- Defines whether the instance should have confidential compute enabled with AMD SEV. If enabled,
on_host_maintenance
can be set to MIGRATE ifmin_cpu_platform
is set to"AMD Milan"
. Otherwise,on_host_maintenance
has to be set to TERMINATE or this will fail to create the VM.
- confidential
Instance Type Changes to this property will trigger replacement.
- Defines the confidential computing technology the instance uses. SEV is an AMD feature. TDX is an Intel feature. One of the following values is required:
SEV
,SEV_SNP
,TDX
.on_host_maintenance
can be set to MIGRATE ifconfidential_instance_type
is set toSEV
andmin_cpu_platform
is set to"AMD Milan"
. Otherwise,on_host_maintenance
has to be set to TERMINATE or this will fail to create the VM. IfSEV_SNP
, currentlymin_cpu_platform
has to be set to"AMD Milan"
or this will fail to create the VM. - enable
Confidential Compute Changes to this property will trigger replacement.
- Defines whether the instance should have confidential compute enabled with AMD SEV. If enabled,
on_host_maintenance
can be set to MIGRATE ifmin_cpu_platform
is set to"AMD Milan"
. Otherwise,on_host_maintenance
has to be set to TERMINATE or this will fail to create the VM.
- confidential_
instance_ type Changes to this property will trigger replacement.
- Defines the confidential computing technology the instance uses. SEV is an AMD feature. TDX is an Intel feature. One of the following values is required:
SEV
,SEV_SNP
,TDX
.on_host_maintenance
can be set to MIGRATE ifconfidential_instance_type
is set toSEV
andmin_cpu_platform
is set to"AMD Milan"
. Otherwise,on_host_maintenance
has to be set to TERMINATE or this will fail to create the VM. IfSEV_SNP
, currentlymin_cpu_platform
has to be set to"AMD Milan"
or this will fail to create the VM. - enable_
confidential_ compute Changes to this property will trigger replacement.
- Defines whether the instance should have confidential compute enabled with AMD SEV. If enabled,
on_host_maintenance
can be set to MIGRATE ifmin_cpu_platform
is set to"AMD Milan"
. Otherwise,on_host_maintenance
has to be set to TERMINATE or this will fail to create the VM.
- confidential
Instance Type Changes to this property will trigger replacement.
- Defines the confidential computing technology the instance uses. SEV is an AMD feature. TDX is an Intel feature. One of the following values is required:
SEV
,SEV_SNP
,TDX
.on_host_maintenance
can be set to MIGRATE ifconfidential_instance_type
is set toSEV
andmin_cpu_platform
is set to"AMD Milan"
. Otherwise,on_host_maintenance
has to be set to TERMINATE or this will fail to create the VM. IfSEV_SNP
, currentlymin_cpu_platform
has to be set to"AMD Milan"
or this will fail to create the VM. - enable
Confidential Compute Changes to this property will trigger replacement.
- Defines whether the instance should have confidential compute enabled with AMD SEV. If enabled,
on_host_maintenance
can be set to MIGRATE ifmin_cpu_platform
is set to"AMD Milan"
. Otherwise,on_host_maintenance
has to be set to TERMINATE or this will fail to create the VM.
InstanceTemplateDisk, InstanceTemplateDiskArgs
- Auto
Delete Changes to this property will trigger replacement.
- Whether or not the disk should be auto-deleted. This defaults to true.
- Boot
Changes to this property will trigger replacement.
- Indicates that this is a boot disk.
- Device
Name Changes to this property will trigger replacement.
- A unique device name that is reflected into the /dev/ tree of a Linux operating system running within the instance. If not specified, the server chooses a default device name to apply to this disk.
- Disk
Encryption Key Changes to this property will trigger replacement.
Template Disk Disk Encryption Key Encrypts or decrypts a disk using a customer-supplied encryption key.
If you are creating a new disk, this field encrypts the new disk using an encryption key that you provide. If you are attaching an existing disk that is already encrypted, this field decrypts the disk using the customer-supplied encryption key.
If you encrypt a disk using a customer-supplied key, you must provide the same key again when you attempt to use this resource at a later time. For example, you must provide the key when you create a snapshot or an image from the disk or when you attach the disk to a virtual machine instance.
If you do not provide an encryption key, then the disk will be encrypted using an automatically generated key and you do not need to provide a key to use the disk later.
Instance templates do not store customer-supplied encryption keys, so you cannot use your own keys to encrypt disks in a managed instance group. Structure documented below.
- Disk
Name Changes to this property will trigger replacement.
- Name of the disk. When not provided, this defaults to the name of the instance.
- Disk
Size Gb Changes to this property will trigger replacement.
- The size of the image in gigabytes. If not specified, it will inherit the size of its base image. For SCRATCH disks, the size must be exactly 375GB.
- Disk
Type Changes to this property will trigger replacement.
- The GCE disk type. Such as
"pd-ssd"
,"local-ssd"
,"pd-balanced"
or"pd-standard"
,"hyperdisk-balanced"
,"hyperdisk-throughput"
or"hyperdisk-extreme"
. - Interface
Changes to this property will trigger replacement.
- Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME. The default is SCSI. Persistent disks must always use SCSI and the request will fail if you attempt to attach a persistent disk in any other format than SCSI. Local SSDs can use either NVME or SCSI.
- Labels
Changes to this property will trigger replacement.
- A set of ket/value label pairs to assign to disk created from this template
- Mode
Changes to this property will trigger replacement.
- The mode in which to attach this disk, either READ_WRITE or READ_ONLY. If you are attaching or creating a boot disk, this must read-write mode.
- Provisioned
Iops Changes to this property will trigger replacement.
- Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation.
- Provisioned
Throughput Changes to this property will trigger replacement.
- Indicates how much throughput to provision for the disk, in MB/s. This sets the amount of data that can be read or written from the disk per second. Values must greater than or equal to 1. For more details, see the Hyperdisk documentation.
Changes to this property will trigger replacement.
- A set of key/value resource manager tag pairs to bind to this disk. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456.
- Resource
Policies Changes to this property will trigger replacement.
- A list (short name or id) of resource policies to attach to this disk for automatic snapshot creations. Currently a max of 1 resource policy is supported.
- Source
Changes to this property will trigger replacement.
The name (not self_link) of the disk (such as those managed by
gcp.compute.Disk
) to attach.Note: Either
source
,source_image
, orsource_snapshot
is required in a disk block unless the disk type islocal-ssd
. Check the API docs for details.- Source
Image Changes to this property will trigger replacement.
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}
.Note: Either
source
,source_image
, orsource_snapshot
is required in a disk block unless the disk type islocal-ssd
. Check the API docs for details.- Source
Image Encryption Key Changes to this property will trigger replacement.
Template Disk Source Image Encryption Key The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key.
Instance templates do not store customer-supplied encryption keys, so you cannot create disks for instances in a managed instance group if the source images are encrypted with your own keys. Structure documented below.
- Source
Snapshot Changes to this property will trigger replacement.
The source snapshot to create this disk.
Note: Either
source
,source_image
, orsource_snapshot
is required in a disk block unless the disk type islocal-ssd
. Check the API docs for details.- Source
Snapshot Encryption Key Changes to this property will trigger replacement.
Template Disk Source Snapshot Encryption Key - The customer-supplied encryption key of the source snapshot. Structure documented below.
- Type
Changes to this property will trigger replacement.
- The type of GCE disk, can be either
"SCRATCH"
or"PERSISTENT"
.
- Auto
Delete Changes to this property will trigger replacement.
- Whether or not the disk should be auto-deleted. This defaults to true.
- Boot
Changes to this property will trigger replacement.
- Indicates that this is a boot disk.
- Device
Name Changes to this property will trigger replacement.
- A unique device name that is reflected into the /dev/ tree of a Linux operating system running within the instance. If not specified, the server chooses a default device name to apply to this disk.
- Disk
Encryption Key Changes to this property will trigger replacement.
Template Disk Disk Encryption Key Encrypts or decrypts a disk using a customer-supplied encryption key.
If you are creating a new disk, this field encrypts the new disk using an encryption key that you provide. If you are attaching an existing disk that is already encrypted, this field decrypts the disk using the customer-supplied encryption key.
If you encrypt a disk using a customer-supplied key, you must provide the same key again when you attempt to use this resource at a later time. For example, you must provide the key when you create a snapshot or an image from the disk or when you attach the disk to a virtual machine instance.
If you do not provide an encryption key, then the disk will be encrypted using an automatically generated key and you do not need to provide a key to use the disk later.
Instance templates do not store customer-supplied encryption keys, so you cannot use your own keys to encrypt disks in a managed instance group. Structure documented below.
- Disk
Name Changes to this property will trigger replacement.
- Name of the disk. When not provided, this defaults to the name of the instance.
- Disk
Size Gb Changes to this property will trigger replacement.
- The size of the image in gigabytes. If not specified, it will inherit the size of its base image. For SCRATCH disks, the size must be exactly 375GB.
- Disk
Type Changes to this property will trigger replacement.
- The GCE disk type. Such as
"pd-ssd"
,"local-ssd"
,"pd-balanced"
or"pd-standard"
,"hyperdisk-balanced"
,"hyperdisk-throughput"
or"hyperdisk-extreme"
. - Interface
Changes to this property will trigger replacement.
- Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME. The default is SCSI. Persistent disks must always use SCSI and the request will fail if you attempt to attach a persistent disk in any other format than SCSI. Local SSDs can use either NVME or SCSI.
- Labels
Changes to this property will trigger replacement.
- A set of ket/value label pairs to assign to disk created from this template
- Mode
Changes to this property will trigger replacement.
- The mode in which to attach this disk, either READ_WRITE or READ_ONLY. If you are attaching or creating a boot disk, this must read-write mode.
- Provisioned
Iops Changes to this property will trigger replacement.
- Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation.
- Provisioned
Throughput Changes to this property will trigger replacement.
- Indicates how much throughput to provision for the disk, in MB/s. This sets the amount of data that can be read or written from the disk per second. Values must greater than or equal to 1. For more details, see the Hyperdisk documentation.
Changes to this property will trigger replacement.
- A set of key/value resource manager tag pairs to bind to this disk. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456.
- Resource
Policies Changes to this property will trigger replacement.
- A list (short name or id) of resource policies to attach to this disk for automatic snapshot creations. Currently a max of 1 resource policy is supported.
- Source
Changes to this property will trigger replacement.
The name (not self_link) of the disk (such as those managed by
gcp.compute.Disk
) to attach.Note: Either
source
,source_image
, orsource_snapshot
is required in a disk block unless the disk type islocal-ssd
. Check the API docs for details.- Source
Image Changes to this property will trigger replacement.
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}
.Note: Either
source
,source_image
, orsource_snapshot
is required in a disk block unless the disk type islocal-ssd
. Check the API docs for details.- Source
Image Encryption Key Changes to this property will trigger replacement.
Template Disk Source Image Encryption Key The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key.
Instance templates do not store customer-supplied encryption keys, so you cannot create disks for instances in a managed instance group if the source images are encrypted with your own keys. Structure documented below.
- Source
Snapshot Changes to this property will trigger replacement.
The source snapshot to create this disk.
Note: Either
source
,source_image
, orsource_snapshot
is required in a disk block unless the disk type islocal-ssd
. Check the API docs for details.- Source
Snapshot Encryption Key Changes to this property will trigger replacement.
Template Disk Source Snapshot Encryption Key - The customer-supplied encryption key of the source snapshot. Structure documented below.
- Type
Changes to this property will trigger replacement.
- The type of GCE disk, can be either
"SCRATCH"
or"PERSISTENT"
.
- auto
Delete Changes to this property will trigger replacement.
- Whether or not the disk should be auto-deleted. This defaults to true.
- boot
Changes to this property will trigger replacement.
- Indicates that this is a boot disk.
- device
Name Changes to this property will trigger replacement.
- A unique device name that is reflected into the /dev/ tree of a Linux operating system running within the instance. If not specified, the server chooses a default device name to apply to this disk.
- disk
Encryption Key Changes to this property will trigger replacement.
Template Disk Disk Encryption Key Encrypts or decrypts a disk using a customer-supplied encryption key.
If you are creating a new disk, this field encrypts the new disk using an encryption key that you provide. If you are attaching an existing disk that is already encrypted, this field decrypts the disk using the customer-supplied encryption key.
If you encrypt a disk using a customer-supplied key, you must provide the same key again when you attempt to use this resource at a later time. For example, you must provide the key when you create a snapshot or an image from the disk or when you attach the disk to a virtual machine instance.
If you do not provide an encryption key, then the disk will be encrypted using an automatically generated key and you do not need to provide a key to use the disk later.
Instance templates do not store customer-supplied encryption keys, so you cannot use your own keys to encrypt disks in a managed instance group. Structure documented below.
- disk
Name Changes to this property will trigger replacement.
- Name of the disk. When not provided, this defaults to the name of the instance.
- disk
Size Gb Changes to this property will trigger replacement.
- The size of the image in gigabytes. If not specified, it will inherit the size of its base image. For SCRATCH disks, the size must be exactly 375GB.
- disk
Type Changes to this property will trigger replacement.
- The GCE disk type. Such as
"pd-ssd"
,"local-ssd"
,"pd-balanced"
or"pd-standard"
,"hyperdisk-balanced"
,"hyperdisk-throughput"
or"hyperdisk-extreme"
. - interface_
Changes to this property will trigger replacement.
- Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME. The default is SCSI. Persistent disks must always use SCSI and the request will fail if you attempt to attach a persistent disk in any other format than SCSI. Local SSDs can use either NVME or SCSI.
- labels
Changes to this property will trigger replacement.
- A set of ket/value label pairs to assign to disk created from this template
- mode
Changes to this property will trigger replacement.
- The mode in which to attach this disk, either READ_WRITE or READ_ONLY. If you are attaching or creating a boot disk, this must read-write mode.
- provisioned
Iops Changes to this property will trigger replacement.
- Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation.
- provisioned
Throughput Changes to this property will trigger replacement.
- Indicates how much throughput to provision for the disk, in MB/s. This sets the amount of data that can be read or written from the disk per second. Values must greater than or equal to 1. For more details, see the Hyperdisk documentation.
Changes to this property will trigger replacement.
- A set of key/value resource manager tag pairs to bind to this disk. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456.
- resource
Policies Changes to this property will trigger replacement.
- A list (short name or id) of resource policies to attach to this disk for automatic snapshot creations. Currently a max of 1 resource policy is supported.
- source
Changes to this property will trigger replacement.
The name (not self_link) of the disk (such as those managed by
gcp.compute.Disk
) to attach.Note: Either
source
,source_image
, orsource_snapshot
is required in a disk block unless the disk type islocal-ssd
. Check the API docs for details.- source
Image Changes to this property will trigger replacement.
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}
.Note: Either
source
,source_image
, orsource_snapshot
is required in a disk block unless the disk type islocal-ssd
. Check the API docs for details.- source
Image Encryption Key Changes to this property will trigger replacement.
Template Disk Source Image Encryption Key The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key.
Instance templates do not store customer-supplied encryption keys, so you cannot create disks for instances in a managed instance group if the source images are encrypted with your own keys. Structure documented below.
- source
Snapshot Changes to this property will trigger replacement.
The source snapshot to create this disk.
Note: Either
source
,source_image
, orsource_snapshot
is required in a disk block unless the disk type islocal-ssd
. Check the API docs for details.- source
Snapshot Encryption Key Changes to this property will trigger replacement.
Template Disk Source Snapshot Encryption Key - The customer-supplied encryption key of the source snapshot. Structure documented below.
- type
Changes to this property will trigger replacement.
- The type of GCE disk, can be either
"SCRATCH"
or"PERSISTENT"
.
- auto
Delete Changes to this property will trigger replacement.
- Whether or not the disk should be auto-deleted. This defaults to true.
- boot
Changes to this property will trigger replacement.
- Indicates that this is a boot disk.
- device
Name Changes to this property will trigger replacement.
- A unique device name that is reflected into the /dev/ tree of a Linux operating system running within the instance. If not specified, the server chooses a default device name to apply to this disk.
- disk
Encryption Key Changes to this property will trigger replacement.
Template Disk Disk Encryption Key Encrypts or decrypts a disk using a customer-supplied encryption key.
If you are creating a new disk, this field encrypts the new disk using an encryption key that you provide. If you are attaching an existing disk that is already encrypted, this field decrypts the disk using the customer-supplied encryption key.
If you encrypt a disk using a customer-supplied key, you must provide the same key again when you attempt to use this resource at a later time. For example, you must provide the key when you create a snapshot or an image from the disk or when you attach the disk to a virtual machine instance.
If you do not provide an encryption key, then the disk will be encrypted using an automatically generated key and you do not need to provide a key to use the disk later.
Instance templates do not store customer-supplied encryption keys, so you cannot use your own keys to encrypt disks in a managed instance group. Structure documented below.
- disk
Name Changes to this property will trigger replacement.
- Name of the disk. When not provided, this defaults to the name of the instance.
- disk
Size Gb Changes to this property will trigger replacement.
- The size of the image in gigabytes. If not specified, it will inherit the size of its base image. For SCRATCH disks, the size must be exactly 375GB.
- disk
Type Changes to this property will trigger replacement.
- The GCE disk type. Such as
"pd-ssd"
,"local-ssd"
,"pd-balanced"
or"pd-standard"
,"hyperdisk-balanced"
,"hyperdisk-throughput"
or"hyperdisk-extreme"
. - interface
Changes to this property will trigger replacement.
- Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME. The default is SCSI. Persistent disks must always use SCSI and the request will fail if you attempt to attach a persistent disk in any other format than SCSI. Local SSDs can use either NVME or SCSI.
- labels
Changes to this property will trigger replacement.
- A set of ket/value label pairs to assign to disk created from this template
- mode
Changes to this property will trigger replacement.
- The mode in which to attach this disk, either READ_WRITE or READ_ONLY. If you are attaching or creating a boot disk, this must read-write mode.
- provisioned
Iops Changes to this property will trigger replacement.
- Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation.
- provisioned
Throughput Changes to this property will trigger replacement.
- Indicates how much throughput to provision for the disk, in MB/s. This sets the amount of data that can be read or written from the disk per second. Values must greater than or equal to 1. For more details, see the Hyperdisk documentation.
Changes to this property will trigger replacement.
- A set of key/value resource manager tag pairs to bind to this disk. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456.
- resource
Policies Changes to this property will trigger replacement.
- A list (short name or id) of resource policies to attach to this disk for automatic snapshot creations. Currently a max of 1 resource policy is supported.
- source
Changes to this property will trigger replacement.
The name (not self_link) of the disk (such as those managed by
gcp.compute.Disk
) to attach.Note: Either
source
,source_image
, orsource_snapshot
is required in a disk block unless the disk type islocal-ssd
. Check the API docs for details.- source
Image Changes to this property will trigger replacement.
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}
.Note: Either
source
,source_image
, orsource_snapshot
is required in a disk block unless the disk type islocal-ssd
. Check the API docs for details.- source
Image Encryption Key Changes to this property will trigger replacement.
Template Disk Source Image Encryption Key The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key.
Instance templates do not store customer-supplied encryption keys, so you cannot create disks for instances in a managed instance group if the source images are encrypted with your own keys. Structure documented below.
- source
Snapshot Changes to this property will trigger replacement.
The source snapshot to create this disk.
Note: Either
source
,source_image
, orsource_snapshot
is required in a disk block unless the disk type islocal-ssd
. Check the API docs for details.- source
Snapshot Encryption Key Changes to this property will trigger replacement.
Template Disk Source Snapshot Encryption Key - The customer-supplied encryption key of the source snapshot. Structure documented below.
- type
Changes to this property will trigger replacement.
- The type of GCE disk, can be either
"SCRATCH"
or"PERSISTENT"
.
- auto_
delete Changes to this property will trigger replacement.
- Whether or not the disk should be auto-deleted. This defaults to true.
- boot
Changes to this property will trigger replacement.
- Indicates that this is a boot disk.
- device_
name Changes to this property will trigger replacement.
- A unique device name that is reflected into the /dev/ tree of a Linux operating system running within the instance. If not specified, the server chooses a default device name to apply to this disk.
- disk_
encryption_ key Changes to this property will trigger replacement.
Template Disk Disk Encryption Key Encrypts or decrypts a disk using a customer-supplied encryption key.
If you are creating a new disk, this field encrypts the new disk using an encryption key that you provide. If you are attaching an existing disk that is already encrypted, this field decrypts the disk using the customer-supplied encryption key.
If you encrypt a disk using a customer-supplied key, you must provide the same key again when you attempt to use this resource at a later time. For example, you must provide the key when you create a snapshot or an image from the disk or when you attach the disk to a virtual machine instance.
If you do not provide an encryption key, then the disk will be encrypted using an automatically generated key and you do not need to provide a key to use the disk later.
Instance templates do not store customer-supplied encryption keys, so you cannot use your own keys to encrypt disks in a managed instance group. Structure documented below.
- disk_
name Changes to this property will trigger replacement.
- Name of the disk. When not provided, this defaults to the name of the instance.
- disk_
size_ gb Changes to this property will trigger replacement.
- The size of the image in gigabytes. If not specified, it will inherit the size of its base image. For SCRATCH disks, the size must be exactly 375GB.
- disk_
type Changes to this property will trigger replacement.
- The GCE disk type. Such as
"pd-ssd"
,"local-ssd"
,"pd-balanced"
or"pd-standard"
,"hyperdisk-balanced"
,"hyperdisk-throughput"
or"hyperdisk-extreme"
. - interface
Changes to this property will trigger replacement.
- Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME. The default is SCSI. Persistent disks must always use SCSI and the request will fail if you attempt to attach a persistent disk in any other format than SCSI. Local SSDs can use either NVME or SCSI.
- labels
Changes to this property will trigger replacement.
- A set of ket/value label pairs to assign to disk created from this template
- mode
Changes to this property will trigger replacement.
- The mode in which to attach this disk, either READ_WRITE or READ_ONLY. If you are attaching or creating a boot disk, this must read-write mode.
- provisioned_
iops Changes to this property will trigger replacement.
- Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation.
- provisioned_
throughput Changes to this property will trigger replacement.
- Indicates how much throughput to provision for the disk, in MB/s. This sets the amount of data that can be read or written from the disk per second. Values must greater than or equal to 1. For more details, see the Hyperdisk documentation.
Changes to this property will trigger replacement.
- A set of key/value resource manager tag pairs to bind to this disk. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456.
- resource_
policies Changes to this property will trigger replacement.
- A list (short name or id) of resource policies to attach to this disk for automatic snapshot creations. Currently a max of 1 resource policy is supported.
- source
Changes to this property will trigger replacement.
The name (not self_link) of the disk (such as those managed by
gcp.compute.Disk
) to attach.Note: Either
source
,source_image
, orsource_snapshot
is required in a disk block unless the disk type islocal-ssd
. Check the API docs for details.- source_
image Changes to this property will trigger replacement.
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}
.Note: Either
source
,source_image
, orsource_snapshot
is required in a disk block unless the disk type islocal-ssd
. Check the API docs for details.- source_
image_ encryption_ key Changes to this property will trigger replacement.
Template Disk Source Image Encryption Key The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key.
Instance templates do not store customer-supplied encryption keys, so you cannot create disks for instances in a managed instance group if the source images are encrypted with your own keys. Structure documented below.
- source_
snapshot Changes to this property will trigger replacement.
The source snapshot to create this disk.
Note: Either
source
,source_image
, orsource_snapshot
is required in a disk block unless the disk type islocal-ssd
. Check the API docs for details.- source_
snapshot_ encryption_ key Changes to this property will trigger replacement.
Template Disk Source Snapshot Encryption Key - The customer-supplied encryption key of the source snapshot. Structure documented below.
- type
Changes to this property will trigger replacement.
- The type of GCE disk, can be either
"SCRATCH"
or"PERSISTENT"
.
- auto
Delete Changes to this property will trigger replacement.
- Whether or not the disk should be auto-deleted. This defaults to true.
- boot
Changes to this property will trigger replacement.
- Indicates that this is a boot disk.
- device
Name Changes to this property will trigger replacement.
- A unique device name that is reflected into the /dev/ tree of a Linux operating system running within the instance. If not specified, the server chooses a default device name to apply to this disk.
- disk
Encryption Key Changes to this property will trigger replacement.
Encrypts or decrypts a disk using a customer-supplied encryption key.
If you are creating a new disk, this field encrypts the new disk using an encryption key that you provide. If you are attaching an existing disk that is already encrypted, this field decrypts the disk using the customer-supplied encryption key.
If you encrypt a disk using a customer-supplied key, you must provide the same key again when you attempt to use this resource at a later time. For example, you must provide the key when you create a snapshot or an image from the disk or when you attach the disk to a virtual machine instance.
If you do not provide an encryption key, then the disk will be encrypted using an automatically generated key and you do not need to provide a key to use the disk later.
Instance templates do not store customer-supplied encryption keys, so you cannot use your own keys to encrypt disks in a managed instance group. Structure documented below.
- disk
Name Changes to this property will trigger replacement.
- Name of the disk. When not provided, this defaults to the name of the instance.
- disk
Size Gb Changes to this property will trigger replacement.
- The size of the image in gigabytes. If not specified, it will inherit the size of its base image. For SCRATCH disks, the size must be exactly 375GB.
- disk
Type Changes to this property will trigger replacement.
- The GCE disk type. Such as
"pd-ssd"
,"local-ssd"
,"pd-balanced"
or"pd-standard"
,"hyperdisk-balanced"
,"hyperdisk-throughput"
or"hyperdisk-extreme"
. - interface
Changes to this property will trigger replacement.
- Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME. The default is SCSI. Persistent disks must always use SCSI and the request will fail if you attempt to attach a persistent disk in any other format than SCSI. Local SSDs can use either NVME or SCSI.
- labels
Changes to this property will trigger replacement.
- A set of ket/value label pairs to assign to disk created from this template
- mode
Changes to this property will trigger replacement.
- The mode in which to attach this disk, either READ_WRITE or READ_ONLY. If you are attaching or creating a boot disk, this must read-write mode.
- provisioned
Iops Changes to this property will trigger replacement.
- Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation.
- provisioned
Throughput Changes to this property will trigger replacement.
- Indicates how much throughput to provision for the disk, in MB/s. This sets the amount of data that can be read or written from the disk per second. Values must greater than or equal to 1. For more details, see the Hyperdisk documentation.
Changes to this property will trigger replacement.
- A set of key/value resource manager tag pairs to bind to this disk. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456.
- resource
Policies Changes to this property will trigger replacement.
- A list (short name or id) of resource policies to attach to this disk for automatic snapshot creations. Currently a max of 1 resource policy is supported.
- source
Changes to this property will trigger replacement.
The name (not self_link) of the disk (such as those managed by
gcp.compute.Disk
) to attach.Note: Either
source
,source_image
, orsource_snapshot
is required in a disk block unless the disk type islocal-ssd
. Check the API docs for details.- source
Image Changes to this property will trigger replacement.
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}
.Note: Either
source
,source_image
, orsource_snapshot
is required in a disk block unless the disk type islocal-ssd
. Check the API docs for details.- source
Image Encryption Key Changes to this property will trigger replacement.
The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key.
Instance templates do not store customer-supplied encryption keys, so you cannot create disks for instances in a managed instance group if the source images are encrypted with your own keys. Structure documented below.
- source
Snapshot Changes to this property will trigger replacement.
The source snapshot to create this disk.
Note: Either
source
,source_image
, orsource_snapshot
is required in a disk block unless the disk type islocal-ssd
. Check the API docs for details.- source
Snapshot Encryption Key Changes to this property will trigger replacement.
- The customer-supplied encryption key of the source snapshot. Structure documented below.
- type
Changes to this property will trigger replacement.
- The type of GCE disk, can be either
"SCRATCH"
or"PERSISTENT"
.
InstanceTemplateDiskDiskEncryptionKey, InstanceTemplateDiskDiskEncryptionKeyArgs
- Kms
Key Self Link This property is required. Changes to this property will trigger replacement.
- The self link of the encryption key that is stored in Google Cloud KMS
- Kms
Key Self Link This property is required. Changes to this property will trigger replacement.
- The self link of the encryption key that is stored in Google Cloud KMS
- kms
Key Self Link This property is required. Changes to this property will trigger replacement.
- The self link of the encryption key that is stored in Google Cloud KMS
- kms
Key Self Link This property is required. Changes to this property will trigger replacement.
- The self link of the encryption key that is stored in Google Cloud KMS
- kms_
key_ self_ link This property is required. Changes to this property will trigger replacement.
- The self link of the encryption key that is stored in Google Cloud KMS
- kms
Key Self Link This property is required. Changes to this property will trigger replacement.
- The self link of the encryption key that is stored in Google Cloud KMS
InstanceTemplateDiskSourceImageEncryptionKey, InstanceTemplateDiskSourceImageEncryptionKeyArgs
- Kms
Key Self Link This property is required. Changes to this property will trigger replacement.
- The self link of the encryption key that is stored in Google Cloud KMS.
- Kms
Key Service Account Changes to this property will trigger replacement.
- The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
- Kms
Key Self Link This property is required. Changes to this property will trigger replacement.
- The self link of the encryption key that is stored in Google Cloud KMS.
- Kms
Key Service Account Changes to this property will trigger replacement.
- The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
- kms
Key Self Link This property is required. Changes to this property will trigger replacement.
- The self link of the encryption key that is stored in Google Cloud KMS.
- kms
Key Service Account Changes to this property will trigger replacement.
- The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
- kms
Key Self Link This property is required. Changes to this property will trigger replacement.
- The self link of the encryption key that is stored in Google Cloud KMS.
- kms
Key Service Account Changes to this property will trigger replacement.
- The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
- kms_
key_ self_ link This property is required. Changes to this property will trigger replacement.
- The self link of the encryption key that is stored in Google Cloud KMS.
- kms_
key_ service_ account Changes to this property will trigger replacement.
- The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
- kms
Key Self Link This property is required. Changes to this property will trigger replacement.
- The self link of the encryption key that is stored in Google Cloud KMS.
- kms
Key Service Account Changes to this property will trigger replacement.
- The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
InstanceTemplateDiskSourceSnapshotEncryptionKey, InstanceTemplateDiskSourceSnapshotEncryptionKeyArgs
- Kms
Key Self Link This property is required. Changes to this property will trigger replacement.
- The self link of the encryption key that is stored in Google Cloud KMS.
- Kms
Key Service Account Changes to this property will trigger replacement.
- The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
- Kms
Key Self Link This property is required. Changes to this property will trigger replacement.
- The self link of the encryption key that is stored in Google Cloud KMS.
- Kms
Key Service Account Changes to this property will trigger replacement.
- The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
- kms
Key Self Link This property is required. Changes to this property will trigger replacement.
- The self link of the encryption key that is stored in Google Cloud KMS.
- kms
Key Service Account Changes to this property will trigger replacement.
- The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
- kms
Key Self Link This property is required. Changes to this property will trigger replacement.
- The self link of the encryption key that is stored in Google Cloud KMS.
- kms
Key Service Account Changes to this property will trigger replacement.
- The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
- kms_
key_ self_ link This property is required. Changes to this property will trigger replacement.
- The self link of the encryption key that is stored in Google Cloud KMS.
- kms_
key_ service_ account Changes to this property will trigger replacement.
- The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
- kms
Key Self Link This property is required. Changes to this property will trigger replacement.
- The self link of the encryption key that is stored in Google Cloud KMS.
- kms
Key Service Account Changes to this property will trigger replacement.
- The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
InstanceTemplateGuestAccelerator, InstanceTemplateGuestAcceleratorArgs
- Count
This property is required. Changes to this property will trigger replacement.
- The number of the guest accelerator cards exposed to this instance.
- Type
This property is required. Changes to this property will trigger replacement.
- The accelerator type resource to expose to this instance. E.g.
nvidia-tesla-k80
.
- Count
This property is required. Changes to this property will trigger replacement.
- The number of the guest accelerator cards exposed to this instance.
- Type
This property is required. Changes to this property will trigger replacement.
- The accelerator type resource to expose to this instance. E.g.
nvidia-tesla-k80
.
- count
This property is required. Changes to this property will trigger replacement.
- The number of the guest accelerator cards exposed to this instance.
- type
This property is required. Changes to this property will trigger replacement.
- The accelerator type resource to expose to this instance. E.g.
nvidia-tesla-k80
.
- count
This property is required. Changes to this property will trigger replacement.
- The number of the guest accelerator cards exposed to this instance.
- type
This property is required. Changes to this property will trigger replacement.
- The accelerator type resource to expose to this instance. E.g.
nvidia-tesla-k80
.
- count
This property is required. Changes to this property will trigger replacement.
- The number of the guest accelerator cards exposed to this instance.
- type
This property is required. Changes to this property will trigger replacement.
- The accelerator type resource to expose to this instance. E.g.
nvidia-tesla-k80
.
- count
This property is required. Changes to this property will trigger replacement.
- The number of the guest accelerator cards exposed to this instance.
- type
This property is required. Changes to this property will trigger replacement.
- The accelerator type resource to expose to this instance. E.g.
nvidia-tesla-k80
.
InstanceTemplateNetworkInterface, InstanceTemplateNetworkInterfaceArgs
- Access
Configs Changes to this property will trigger replacement.
Template Network Interface Access Config> - 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 (this means that ssh provisioners will
not work unless you 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 specified once per
network_interface
. Structure documented below. - Alias
Ip Ranges Changes to this property will trigger replacement.
Template Network Interface Alias Ip Range> - An array of alias IP ranges for this network interface. Can only be specified for network interfaces on subnet-mode networks. Structure documented below.
- Internal
Ipv6Prefix Length Changes to this property will trigger replacement.
- The prefix length of the primary internal IPv6 range.
- Ipv6Access
Configs Changes to this property will trigger replacement.
Template Network Interface Ipv6Access Config> - An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access. Structure documented below.
- Ipv6Access
Type Changes to this property will trigger replacement.
- One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork.
- Ipv6Address
Changes to this property will trigger replacement.
- An IPv6 internal network address for this network interface. If not specified, Google Cloud will automatically assign an internal IPv6 address from the instance's subnetwork.
- Name
Changes to this property will trigger replacement.
- The name of the instance template. If you leave this blank, the provider will auto-generate a unique name.
- Network
Changes to this property will trigger replacement.
- The name or self_link of the network to attach this interface to.
Use
network
attribute for Legacy or Auto subnetted networks andsubnetwork
for custom subnetted networks. - Network
Attachment Changes to this property will trigger replacement.
- The URL of the network attachment that this interface should connect to in the following format: projects/{projectNumber}/regions/{region_name}/networkAttachments/{network_attachment_name}.
- Network
Ip Changes to this property will trigger replacement.
- The private IP address to assign to the instance. If empty, the address will be automatically assigned.
- Nic
Type Changes to this property will trigger replacement.
- The type of vNIC to be used on this interface. Possible values: GVNIC, VIRTIO_NET, MRDMA, IRDMA.
- Queue
Count Changes to this property will trigger replacement.
- The networking queue count that's specified by users for the network interface. Both Rx and Tx queues will be set to this number. It will be empty if not specified.
- Stack
Type Changes to this property will trigger replacement.
- The stack type for this network interface to identify whether the IPv6 feature is enabled or not. Values are IPV4_IPV6, IPV6_ONLY or IPV4_ONLY. If not specified, IPV4_ONLY will be used.
- Subnetwork
Changes to this property will trigger replacement.
- the name of the subnetwork to attach this interface
to. The subnetwork must exist in the same
region
this instance will be created in. Eithernetwork
orsubnetwork
must be provided. - Subnetwork
Project Changes to this property will trigger replacement.
- The ID of the project in which the subnetwork belongs. If it is not provided, the provider project is used.
- Access
Configs Changes to this property will trigger replacement.
Template Network Interface Access Config - 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 (this means that ssh provisioners will
not work unless you 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 specified once per
network_interface
. Structure documented below. - Alias
Ip Ranges Changes to this property will trigger replacement.
Template Network Interface Alias Ip Range - An array of alias IP ranges for this network interface. Can only be specified for network interfaces on subnet-mode networks. Structure documented below.
- Internal
Ipv6Prefix Length Changes to this property will trigger replacement.
- The prefix length of the primary internal IPv6 range.
- Ipv6Access
Configs Changes to this property will trigger replacement.
Template Network Interface Ipv6Access Config - An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access. Structure documented below.
- Ipv6Access
Type Changes to this property will trigger replacement.
- One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork.
- Ipv6Address
Changes to this property will trigger replacement.
- An IPv6 internal network address for this network interface. If not specified, Google Cloud will automatically assign an internal IPv6 address from the instance's subnetwork.
- Name
Changes to this property will trigger replacement.
- The name of the instance template. If you leave this blank, the provider will auto-generate a unique name.
- Network
Changes to this property will trigger replacement.
- The name or self_link of the network to attach this interface to.
Use
network
attribute for Legacy or Auto subnetted networks andsubnetwork
for custom subnetted networks. - Network
Attachment Changes to this property will trigger replacement.
- The URL of the network attachment that this interface should connect to in the following format: projects/{projectNumber}/regions/{region_name}/networkAttachments/{network_attachment_name}.
- Network
Ip Changes to this property will trigger replacement.
- The private IP address to assign to the instance. If empty, the address will be automatically assigned.
- Nic
Type Changes to this property will trigger replacement.
- The type of vNIC to be used on this interface. Possible values: GVNIC, VIRTIO_NET, MRDMA, IRDMA.
- Queue
Count Changes to this property will trigger replacement.
- The networking queue count that's specified by users for the network interface. Both Rx and Tx queues will be set to this number. It will be empty if not specified.
- Stack
Type Changes to this property will trigger replacement.
- The stack type for this network interface to identify whether the IPv6 feature is enabled or not. Values are IPV4_IPV6, IPV6_ONLY or IPV4_ONLY. If not specified, IPV4_ONLY will be used.
- Subnetwork
Changes to this property will trigger replacement.
- the name of the subnetwork to attach this interface
to. The subnetwork must exist in the same
region
this instance will be created in. Eithernetwork
orsubnetwork
must be provided. - Subnetwork
Project Changes to this property will trigger replacement.
- The ID of the project in which the subnetwork belongs. If it is not provided, the provider project is used.
- access
Configs Changes to this property will trigger replacement.
Template Network Interface Access Config> - 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 (this means that ssh provisioners will
not work unless you 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 specified once per
network_interface
. Structure documented below. - alias
Ip Ranges Changes to this property will trigger replacement.
Template Network Interface Alias Ip Range> - An array of alias IP ranges for this network interface. Can only be specified for network interfaces on subnet-mode networks. Structure documented below.
- internal
Ipv6Prefix Length Changes to this property will trigger replacement.
- The prefix length of the primary internal IPv6 range.
- ipv6Access
Configs Changes to this property will trigger replacement.
Template Network Interface Ipv6Access Config> - An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access. Structure documented below.
- ipv6Access
Type Changes to this property will trigger replacement.
- One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork.
- ipv6Address
Changes to this property will trigger replacement.
- An IPv6 internal network address for this network interface. If not specified, Google Cloud will automatically assign an internal IPv6 address from the instance's subnetwork.
- name
Changes to this property will trigger replacement.
- The name of the instance template. If you leave this blank, the provider will auto-generate a unique name.
- network
Changes to this property will trigger replacement.
- The name or self_link of the network to attach this interface to.
Use
network
attribute for Legacy or Auto subnetted networks andsubnetwork
for custom subnetted networks. - network
Attachment Changes to this property will trigger replacement.
- The URL of the network attachment that this interface should connect to in the following format: projects/{projectNumber}/regions/{region_name}/networkAttachments/{network_attachment_name}.
- network
Ip Changes to this property will trigger replacement.
- The private IP address to assign to the instance. If empty, the address will be automatically assigned.
- nic
Type Changes to this property will trigger replacement.
- The type of vNIC to be used on this interface. Possible values: GVNIC, VIRTIO_NET, MRDMA, IRDMA.
- queue
Count Changes to this property will trigger replacement.
- The networking queue count that's specified by users for the network interface. Both Rx and Tx queues will be set to this number. It will be empty if not specified.
- stack
Type Changes to this property will trigger replacement.
- The stack type for this network interface to identify whether the IPv6 feature is enabled or not. Values are IPV4_IPV6, IPV6_ONLY or IPV4_ONLY. If not specified, IPV4_ONLY will be used.
- subnetwork
Changes to this property will trigger replacement.
- the name of the subnetwork to attach this interface
to. The subnetwork must exist in the same
region
this instance will be created in. Eithernetwork
orsubnetwork
must be provided. - subnetwork
Project Changes to this property will trigger replacement.
- The ID of the project in which the subnetwork belongs. If it is not provided, the provider project is used.
- access
Configs Changes to this property will trigger replacement.
Template Network Interface Access Config[] - 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 (this means that ssh provisioners will
not work unless you 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 specified once per
network_interface
. Structure documented below. - alias
Ip Ranges Changes to this property will trigger replacement.
Template Network Interface Alias Ip Range[] - An array of alias IP ranges for this network interface. Can only be specified for network interfaces on subnet-mode networks. Structure documented below.
- internal
Ipv6Prefix Length Changes to this property will trigger replacement.
- The prefix length of the primary internal IPv6 range.
- ipv6Access
Configs Changes to this property will trigger replacement.
Template Network Interface Ipv6Access Config[] - An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access. Structure documented below.
- ipv6Access
Type Changes to this property will trigger replacement.
- One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork.
- ipv6Address
Changes to this property will trigger replacement.
- An IPv6 internal network address for this network interface. If not specified, Google Cloud will automatically assign an internal IPv6 address from the instance's subnetwork.
- name
Changes to this property will trigger replacement.
- The name of the instance template. If you leave this blank, the provider will auto-generate a unique name.
- network
Changes to this property will trigger replacement.
- The name or self_link of the network to attach this interface to.
Use
network
attribute for Legacy or Auto subnetted networks andsubnetwork
for custom subnetted networks. - network
Attachment Changes to this property will trigger replacement.
- The URL of the network attachment that this interface should connect to in the following format: projects/{projectNumber}/regions/{region_name}/networkAttachments/{network_attachment_name}.
- network
Ip Changes to this property will trigger replacement.
- The private IP address to assign to the instance. If empty, the address will be automatically assigned.
- nic
Type Changes to this property will trigger replacement.
- The type of vNIC to be used on this interface. Possible values: GVNIC, VIRTIO_NET, MRDMA, IRDMA.
- queue
Count Changes to this property will trigger replacement.
- The networking queue count that's specified by users for the network interface. Both Rx and Tx queues will be set to this number. It will be empty if not specified.
- stack
Type Changes to this property will trigger replacement.
- The stack type for this network interface to identify whether the IPv6 feature is enabled or not. Values are IPV4_IPV6, IPV6_ONLY or IPV4_ONLY. If not specified, IPV4_ONLY will be used.
- subnetwork
Changes to this property will trigger replacement.
- the name of the subnetwork to attach this interface
to. The subnetwork must exist in the same
region
this instance will be created in. Eithernetwork
orsubnetwork
must be provided. - subnetwork
Project Changes to this property will trigger replacement.
- The ID of the project in which the subnetwork belongs. If it is not provided, the provider project is used.
- access_
configs Changes to this property will trigger replacement.
Template Network Interface Access Config] - 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 (this means that ssh provisioners will
not work unless you 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 specified once per
network_interface
. Structure documented below. - alias_
ip_ ranges Changes to this property will trigger replacement.
Template Network Interface Alias Ip Range] - An array of alias IP ranges for this network interface. Can only be specified for network interfaces on subnet-mode networks. Structure documented below.
- internal_
ipv6_ prefix_ length Changes to this property will trigger replacement.
- The prefix length of the primary internal IPv6 range.
- ipv6_
access_ configs Changes to this property will trigger replacement.
Template Network Interface Ipv6Access Config] - An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access. Structure documented below.
- ipv6_
access_ type Changes to this property will trigger replacement.
- One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork.
- ipv6_
address Changes to this property will trigger replacement.
- An IPv6 internal network address for this network interface. If not specified, Google Cloud will automatically assign an internal IPv6 address from the instance's subnetwork.
- name
Changes to this property will trigger replacement.
- The name of the instance template. If you leave this blank, the provider will auto-generate a unique name.
- network
Changes to this property will trigger replacement.
- The name or self_link of the network to attach this interface to.
Use
network
attribute for Legacy or Auto subnetted networks andsubnetwork
for custom subnetted networks. - network_
attachment Changes to this property will trigger replacement.
- The URL of the network attachment that this interface should connect to in the following format: projects/{projectNumber}/regions/{region_name}/networkAttachments/{network_attachment_name}.
- network_
ip Changes to this property will trigger replacement.
- The private IP address to assign to the instance. If empty, the address will be automatically assigned.
- nic_
type Changes to this property will trigger replacement.
- The type of vNIC to be used on this interface. Possible values: GVNIC, VIRTIO_NET, MRDMA, IRDMA.
- queue_
count Changes to this property will trigger replacement.
- The networking queue count that's specified by users for the network interface. Both Rx and Tx queues will be set to this number. It will be empty if not specified.
- stack_
type Changes to this property will trigger replacement.
- The stack type for this network interface to identify whether the IPv6 feature is enabled or not. Values are IPV4_IPV6, IPV6_ONLY or IPV4_ONLY. If not specified, IPV4_ONLY will be used.
- subnetwork
Changes to this property will trigger replacement.
- the name of the subnetwork to attach this interface
to. The subnetwork must exist in the same
region
this instance will be created in. Eithernetwork
orsubnetwork
must be provided. - subnetwork_
project Changes to this property will trigger replacement.
- The ID of the project in which the subnetwork belongs. If it is not provided, the provider project is used.
- access
Configs Changes to this property will trigger replacement.
- 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 (this means that ssh provisioners will
not work unless you 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 specified once per
network_interface
. Structure documented below. - alias
Ip Ranges Changes to this property will trigger replacement.
- An array of alias IP ranges for this network interface. Can only be specified for network interfaces on subnet-mode networks. Structure documented below.
- internal
Ipv6Prefix Length Changes to this property will trigger replacement.
- The prefix length of the primary internal IPv6 range.
- ipv6Access
Configs Changes to this property will trigger replacement.
- An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access. Structure documented below.
- ipv6Access
Type Changes to this property will trigger replacement.
- One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork.
- ipv6Address
Changes to this property will trigger replacement.
- An IPv6 internal network address for this network interface. If not specified, Google Cloud will automatically assign an internal IPv6 address from the instance's subnetwork.
- name
Changes to this property will trigger replacement.
- The name of the instance template. If you leave this blank, the provider will auto-generate a unique name.
- network
Changes to this property will trigger replacement.
- The name or self_link of the network to attach this interface to.
Use
network
attribute for Legacy or Auto subnetted networks andsubnetwork
for custom subnetted networks. - network
Attachment Changes to this property will trigger replacement.
- The URL of the network attachment that this interface should connect to in the following format: projects/{projectNumber}/regions/{region_name}/networkAttachments/{network_attachment_name}.
- network
Ip Changes to this property will trigger replacement.
- The private IP address to assign to the instance. If empty, the address will be automatically assigned.
- nic
Type Changes to this property will trigger replacement.
- The type of vNIC to be used on this interface. Possible values: GVNIC, VIRTIO_NET, MRDMA, IRDMA.
- queue
Count Changes to this property will trigger replacement.
- The networking queue count that's specified by users for the network interface. Both Rx and Tx queues will be set to this number. It will be empty if not specified.
- stack
Type Changes to this property will trigger replacement.
- The stack type for this network interface to identify whether the IPv6 feature is enabled or not. Values are IPV4_IPV6, IPV6_ONLY or IPV4_ONLY. If not specified, IPV4_ONLY will be used.
- subnetwork
Changes to this property will trigger replacement.
- the name of the subnetwork to attach this interface
to. The subnetwork must exist in the same
region
this instance will be created in. Eithernetwork
orsubnetwork
must be provided. - subnetwork
Project Changes to this property will trigger replacement.
- The ID of the project in which the subnetwork belongs. If it is not provided, the provider project is used.
InstanceTemplateNetworkInterfaceAccessConfig, InstanceTemplateNetworkInterfaceAccessConfigArgs
- Nat
Ip Changes to this property will trigger replacement.
- The IP address that will be 1:1 mapped to the instance's network ip. If not given, one will be generated.
- Network
Tier Changes to this property will trigger replacement.
- The service-level to be provided for IPv6 traffic when the subnet has an external subnet. Only PREMIUM and STANDARD tier is valid for IPv6.
- Public
Ptr Domain Name Changes to this property will trigger replacement.
- The DNS domain name for the public PTR record.The DNS domain name for the public PTR record.
- Nat
Ip Changes to this property will trigger replacement.
- The IP address that will be 1:1 mapped to the instance's network ip. If not given, one will be generated.
- Network
Tier Changes to this property will trigger replacement.
- The service-level to be provided for IPv6 traffic when the subnet has an external subnet. Only PREMIUM and STANDARD tier is valid for IPv6.
- Public
Ptr Domain Name Changes to this property will trigger replacement.
- The DNS domain name for the public PTR record.The DNS domain name for the public PTR record.
- nat
Ip Changes to this property will trigger replacement.
- The IP address that will be 1:1 mapped to the instance's network ip. If not given, one will be generated.
- network
Tier Changes to this property will trigger replacement.
- The service-level to be provided for IPv6 traffic when the subnet has an external subnet. Only PREMIUM and STANDARD tier is valid for IPv6.
- public
Ptr Domain Name Changes to this property will trigger replacement.
- The DNS domain name for the public PTR record.The DNS domain name for the public PTR record.
- nat
Ip Changes to this property will trigger replacement.
- The IP address that will be 1:1 mapped to the instance's network ip. If not given, one will be generated.
- network
Tier Changes to this property will trigger replacement.
- The service-level to be provided for IPv6 traffic when the subnet has an external subnet. Only PREMIUM and STANDARD tier is valid for IPv6.
- public
Ptr Domain Name Changes to this property will trigger replacement.
- The DNS domain name for the public PTR record.The DNS domain name for the public PTR record.
- nat_
ip Changes to this property will trigger replacement.
- The IP address that will be 1:1 mapped to the instance's network ip. If not given, one will be generated.
- network_
tier Changes to this property will trigger replacement.
- The service-level to be provided for IPv6 traffic when the subnet has an external subnet. Only PREMIUM and STANDARD tier is valid for IPv6.
- public_
ptr_ domain_ name Changes to this property will trigger replacement.
- The DNS domain name for the public PTR record.The DNS domain name for the public PTR record.
- nat
Ip Changes to this property will trigger replacement.
- The IP address that will be 1:1 mapped to the instance's network ip. If not given, one will be generated.
- network
Tier Changes to this property will trigger replacement.
- The service-level to be provided for IPv6 traffic when the subnet has an external subnet. Only PREMIUM and STANDARD tier is valid for IPv6.
- public
Ptr Domain Name Changes to this property will trigger replacement.
- The DNS domain name for the public PTR record.The DNS domain name for the public PTR record.
InstanceTemplateNetworkInterfaceAliasIpRange, InstanceTemplateNetworkInterfaceAliasIpRangeArgs
- Ip
Cidr Range This property is required. Changes to this property will trigger replacement.
- 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. At the time of writing only a netmask (e.g. /24) may be supplied, with a CIDR format resulting in an API error.
- Subnetwork
Range Name Changes to this property will trigger replacement.
- 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 This property is required. Changes to this property will trigger replacement.
- 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. At the time of writing only a netmask (e.g. /24) may be supplied, with a CIDR format resulting in an API error.
- Subnetwork
Range Name Changes to this property will trigger replacement.
- 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 This property is required. Changes to this property will trigger replacement.
- 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. At the time of writing only a netmask (e.g. /24) may be supplied, with a CIDR format resulting in an API error.
- subnetwork
Range Name Changes to this property will trigger replacement.
- 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 This property is required. Changes to this property will trigger replacement.
- 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. At the time of writing only a netmask (e.g. /24) may be supplied, with a CIDR format resulting in an API error.
- subnetwork
Range Name Changes to this property will trigger replacement.
- 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 This property is required. Changes to this property will trigger replacement.
- 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. At the time of writing only a netmask (e.g. /24) may be supplied, with a CIDR format resulting in an API error.
- subnetwork_
range_ name Changes to this property will trigger replacement.
- 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 This property is required. Changes to this property will trigger replacement.
- 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. At the time of writing only a netmask (e.g. /24) may be supplied, with a CIDR format resulting in an API error.
- subnetwork
Range Name Changes to this property will trigger replacement.
- 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.
InstanceTemplateNetworkInterfaceIpv6AccessConfig, InstanceTemplateNetworkInterfaceIpv6AccessConfigArgs
- Network
Tier This property is required. Changes to this property will trigger replacement.
- The service-level to be provided for IPv6 traffic when the subnet has an external subnet. Only PREMIUM tier is valid for IPv6
- External
Ipv6 Changes to this property will trigger replacement.
- The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
- External
Ipv6Prefix Length Changes to this property will trigger replacement.
- The prefix length of the external IPv6 range.
- Name
Changes to this property will trigger replacement.
- The name of the instance template. If you leave this blank, the provider will auto-generate a unique name.
- Public
Ptr Domain Name Changes to this property will trigger replacement.
- The domain name to be used when creating DNSv6 records for the external IPv6 ranges.
- Network
Tier This property is required. Changes to this property will trigger replacement.
- The service-level to be provided for IPv6 traffic when the subnet has an external subnet. Only PREMIUM tier is valid for IPv6
- External
Ipv6 Changes to this property will trigger replacement.
- The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
- External
Ipv6Prefix Length Changes to this property will trigger replacement.
- The prefix length of the external IPv6 range.
- Name
Changes to this property will trigger replacement.
- The name of the instance template. If you leave this blank, the provider will auto-generate a unique name.
- Public
Ptr Domain Name Changes to this property will trigger replacement.
- The domain name to be used when creating DNSv6 records for the external IPv6 ranges.
- network
Tier This property is required. Changes to this property will trigger replacement.
- The service-level to be provided for IPv6 traffic when the subnet has an external subnet. Only PREMIUM tier is valid for IPv6
- external
Ipv6 Changes to this property will trigger replacement.
- The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
- external
Ipv6Prefix Length Changes to this property will trigger replacement.
- The prefix length of the external IPv6 range.
- name
Changes to this property will trigger replacement.
- The name of the instance template. If you leave this blank, the provider will auto-generate a unique name.
- public
Ptr Domain Name Changes to this property will trigger replacement.
- The domain name to be used when creating DNSv6 records for the external IPv6 ranges.
- network
Tier This property is required. Changes to this property will trigger replacement.
- The service-level to be provided for IPv6 traffic when the subnet has an external subnet. Only PREMIUM tier is valid for IPv6
- external
Ipv6 Changes to this property will trigger replacement.
- The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
- external
Ipv6Prefix Length Changes to this property will trigger replacement.
- The prefix length of the external IPv6 range.
- name
Changes to this property will trigger replacement.
- The name of the instance template. If you leave this blank, the provider will auto-generate a unique name.
- public
Ptr Domain Name Changes to this property will trigger replacement.
- The domain name to be used when creating DNSv6 records for the external IPv6 ranges.
- network_
tier This property is required. Changes to this property will trigger replacement.
- The service-level to be provided for IPv6 traffic when the subnet has an external subnet. Only PREMIUM tier is valid for IPv6
- external_
ipv6 Changes to this property will trigger replacement.
- The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
- external_
ipv6_ prefix_ length Changes to this property will trigger replacement.
- The prefix length of the external IPv6 range.
- name
Changes to this property will trigger replacement.
- The name of the instance template. If you leave this blank, the provider will auto-generate a unique name.
- public_
ptr_ domain_ name Changes to this property will trigger replacement.
- The domain name to be used when creating DNSv6 records for the external IPv6 ranges.
- network
Tier This property is required. Changes to this property will trigger replacement.
- The service-level to be provided for IPv6 traffic when the subnet has an external subnet. Only PREMIUM tier is valid for IPv6
- external
Ipv6 Changes to this property will trigger replacement.
- The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
- external
Ipv6Prefix Length Changes to this property will trigger replacement.
- The prefix length of the external IPv6 range.
- name
Changes to this property will trigger replacement.
- The name of the instance template. If you leave this blank, the provider will auto-generate a unique name.
- public
Ptr Domain Name Changes to this property will trigger replacement.
- The domain name to be used when creating DNSv6 records for the external IPv6 ranges.
InstanceTemplateNetworkPerformanceConfig, InstanceTemplateNetworkPerformanceConfigArgs
- Total
Egress Bandwidth Tier This property is required. Changes to this property will trigger replacement.
- The egress bandwidth tier to enable. Possible values: TIER_1, DEFAULT
- Total
Egress Bandwidth Tier This property is required. Changes to this property will trigger replacement.
- The egress bandwidth tier to enable. Possible values: TIER_1, DEFAULT
- total
Egress Bandwidth Tier This property is required. Changes to this property will trigger replacement.
- The egress bandwidth tier to enable. Possible values: TIER_1, DEFAULT
- total
Egress Bandwidth Tier This property is required. Changes to this property will trigger replacement.
- The egress bandwidth tier to enable. Possible values: TIER_1, DEFAULT
- total_
egress_ bandwidth_ tier This property is required. Changes to this property will trigger replacement.
- The egress bandwidth tier to enable. Possible values: TIER_1, DEFAULT
- total
Egress Bandwidth Tier This property is required. Changes to this property will trigger replacement.
- The egress bandwidth tier to enable. Possible values: TIER_1, DEFAULT
InstanceTemplateReservationAffinity, InstanceTemplateReservationAffinityArgs
- Type
This property is required. Changes to this property will trigger replacement.
- The type of reservation from which this instance can consume resources.
- Specific
Reservation Changes to this property will trigger replacement.
Template Reservation Affinity Specific Reservation - Specifies the label selector for the reservation to use.. Structure is documented below.
- Type
This property is required. Changes to this property will trigger replacement.
- The type of reservation from which this instance can consume resources.
- Specific
Reservation Changes to this property will trigger replacement.
Template Reservation Affinity Specific Reservation - Specifies the label selector for the reservation to use.. Structure is documented below.
- type
This property is required. Changes to this property will trigger replacement.
- The type of reservation from which this instance can consume resources.
- specific
Reservation Changes to this property will trigger replacement.
Template Reservation Affinity Specific Reservation - Specifies the label selector for the reservation to use.. Structure is documented below.
- type
This property is required. Changes to this property will trigger replacement.
- The type of reservation from which this instance can consume resources.
- specific
Reservation Changes to this property will trigger replacement.
Template Reservation Affinity Specific Reservation - Specifies the label selector for the reservation to use.. Structure is documented below.
- type
This property is required. Changes to this property will trigger replacement.
- The type of reservation from which this instance can consume resources.
- specific_
reservation Changes to this property will trigger replacement.
Template Reservation Affinity Specific Reservation - Specifies the label selector for the reservation to use.. Structure is documented below.
- type
This property is required. Changes to this property will trigger replacement.
- The type of reservation from which this instance can consume resources.
- specific
Reservation Changes to this property will trigger replacement.
- Specifies the label selector for the reservation to use.. Structure is documented below.
InstanceTemplateReservationAffinitySpecificReservation, InstanceTemplateReservationAffinitySpecificReservationArgs
- Key
This property is required. Changes to this property will trigger replacement.
- Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, specify compute.googleapis.com/reservation-name as the key and specify the name of your reservation as the only value.
- Values
This property is required. Changes to this property will trigger replacement.
- Corresponds to the label values of a reservation resource.
- Key
This property is required. Changes to this property will trigger replacement.
- Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, specify compute.googleapis.com/reservation-name as the key and specify the name of your reservation as the only value.
- Values
This property is required. Changes to this property will trigger replacement.
- Corresponds to the label values of a reservation resource.
- key
This property is required. Changes to this property will trigger replacement.
- Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, specify compute.googleapis.com/reservation-name as the key and specify the name of your reservation as the only value.
- values
This property is required. Changes to this property will trigger replacement.
- Corresponds to the label values of a reservation resource.
- key
This property is required. Changes to this property will trigger replacement.
- Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, specify compute.googleapis.com/reservation-name as the key and specify the name of your reservation as the only value.
- values
This property is required. Changes to this property will trigger replacement.
- Corresponds to the label values of a reservation resource.
- key
This property is required. Changes to this property will trigger replacement.
- Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, specify compute.googleapis.com/reservation-name as the key and specify the name of your reservation as the only value.
- values
This property is required. Changes to this property will trigger replacement.
- Corresponds to the label values of a reservation resource.
- key
This property is required. Changes to this property will trigger replacement.
- Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, specify compute.googleapis.com/reservation-name as the key and specify the name of your reservation as the only value.
- values
This property is required. Changes to this property will trigger replacement.
- Corresponds to the label values of a reservation resource.
InstanceTemplateScheduling, InstanceTemplateSchedulingArgs
- Automatic
Restart Changes to this property will trigger replacement.
- Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). This defaults to true.
- Availability
Domain Changes to this property will trigger replacement.
- Specifies the availability domain to place the instance in. The value must be a number between 1 and the number of availability domains specified in the spread placement policy attached to the instance.
- Graceful
Shutdown Changes to this property will trigger replacement.
Template Scheduling Graceful Shutdown - Settings for the instance to perform a graceful shutdown. Structure is documented below.
- Host
Error Timeout Seconds Changes to this property will trigger replacement.
- Specifies the time in seconds for host error detection, the value must be within the range of [90, 330] with the increment of 30, if unset, the default behavior of host error recovery will be used.
- Instance
Termination Action Changes to this property will trigger replacement.
- Describe the type of termination action for
SPOT
VM. Can beSTOP
orDELETE
. Read more on here - Local
Ssd Recovery Timeouts Changes to this property will trigger replacement.
Template Scheduling Local Ssd Recovery Timeout> - Specifies the maximum amount of time a Local Ssd Vm should wait while recovery of the Local Ssd state is attempted. Its value should be in between 0 and 168 hours with hour granularity and the default value being 1 hour.
- Maintenance
Interval Changes to this property will trigger replacement.
- Specifies the frequency of planned maintenance events. The accepted values are:
PERIODIC
. - Max
Run Duration Changes to this property will trigger replacement.
Template Scheduling Max Run Duration - The duration of the instance. Instance will run and be terminated after then, the termination action could be defined in
instance_termination_action
. Structure is documented below. - Min
Node Cpus Changes to this property will trigger replacement.
- Minimum number of cpus for the instance.
- Node
Affinities Changes to this property will trigger replacement.
Template Scheduling Node Affinity> - 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.
- On
Host Maintenance Changes to this property will trigger replacement.
- Defines the maintenance behavior for this instance.
- On
Instance Stop Action Changes to this property will trigger replacement.
Template Scheduling On Instance Stop Action - Specifies the action to be performed when the instance is terminated using
max_run_duration
andSTOP
instance_termination_action
. Only supporttrue
discard_local_ssd
at this point. Structure is documented below. - Preemptible
Changes to this property will trigger replacement.
- Allows instance to be preempted. This defaults to false. Read more on this here.
- Provisioning
Model Changes to this property will trigger replacement.
- Describe the type of preemptible VM. This field accepts the value
STANDARD
orSPOT
. If the value isSTANDARD
, there will be no discount. If this is set toSPOT
,preemptible
should betrue
andautomatic_restart
should befalse
. For more info aboutSPOT
, read here - Termination
Time Changes to this property will trigger replacement.
- Specifies the timestamp, when the instance will be terminated, in RFC3339 text format. If specified, the instance termination action will be performed at the termination time.
- Automatic
Restart Changes to this property will trigger replacement.
- Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). This defaults to true.
- Availability
Domain Changes to this property will trigger replacement.
- Specifies the availability domain to place the instance in. The value must be a number between 1 and the number of availability domains specified in the spread placement policy attached to the instance.
- Graceful
Shutdown Changes to this property will trigger replacement.
Template Scheduling Graceful Shutdown - Settings for the instance to perform a graceful shutdown. Structure is documented below.
- Host
Error Timeout Seconds Changes to this property will trigger replacement.
- Specifies the time in seconds for host error detection, the value must be within the range of [90, 330] with the increment of 30, if unset, the default behavior of host error recovery will be used.
- Instance
Termination Action Changes to this property will trigger replacement.
- Describe the type of termination action for
SPOT
VM. Can beSTOP
orDELETE
. Read more on here - Local
Ssd Recovery Timeouts Changes to this property will trigger replacement.
Template Scheduling Local Ssd Recovery Timeout - Specifies the maximum amount of time a Local Ssd Vm should wait while recovery of the Local Ssd state is attempted. Its value should be in between 0 and 168 hours with hour granularity and the default value being 1 hour.
- Maintenance
Interval Changes to this property will trigger replacement.
- Specifies the frequency of planned maintenance events. The accepted values are:
PERIODIC
. - Max
Run Duration Changes to this property will trigger replacement.
Template Scheduling Max Run Duration - The duration of the instance. Instance will run and be terminated after then, the termination action could be defined in
instance_termination_action
. Structure is documented below. - Min
Node Cpus Changes to this property will trigger replacement.
- Minimum number of cpus for the instance.
- Node
Affinities Changes to this property will trigger replacement.
Template Scheduling Node Affinity - 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.
- On
Host Maintenance Changes to this property will trigger replacement.
- Defines the maintenance behavior for this instance.
- On
Instance Stop Action Changes to this property will trigger replacement.
Template Scheduling On Instance Stop Action - Specifies the action to be performed when the instance is terminated using
max_run_duration
andSTOP
instance_termination_action
. Only supporttrue
discard_local_ssd
at this point. Structure is documented below. - Preemptible
Changes to this property will trigger replacement.
- Allows instance to be preempted. This defaults to false. Read more on this here.
- Provisioning
Model Changes to this property will trigger replacement.
- Describe the type of preemptible VM. This field accepts the value
STANDARD
orSPOT
. If the value isSTANDARD
, there will be no discount. If this is set toSPOT
,preemptible
should betrue
andautomatic_restart
should befalse
. For more info aboutSPOT
, read here - Termination
Time Changes to this property will trigger replacement.
- Specifies the timestamp, when the instance will be terminated, in RFC3339 text format. If specified, the instance termination action will be performed at the termination time.
- automatic
Restart Changes to this property will trigger replacement.
- Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). This defaults to true.
- availability
Domain Changes to this property will trigger replacement.
- Specifies the availability domain to place the instance in. The value must be a number between 1 and the number of availability domains specified in the spread placement policy attached to the instance.
- graceful
Shutdown Changes to this property will trigger replacement.
Template Scheduling Graceful Shutdown - Settings for the instance to perform a graceful shutdown. Structure is documented below.
- host
Error Timeout Seconds Changes to this property will trigger replacement.
- Specifies the time in seconds for host error detection, the value must be within the range of [90, 330] with the increment of 30, if unset, the default behavior of host error recovery will be used.
- instance
Termination Action Changes to this property will trigger replacement.
- Describe the type of termination action for
SPOT
VM. Can beSTOP
orDELETE
. Read more on here - local
Ssd Recovery Timeouts Changes to this property will trigger replacement.
Template Scheduling Local Ssd Recovery Timeout> - Specifies the maximum amount of time a Local Ssd Vm should wait while recovery of the Local Ssd state is attempted. Its value should be in between 0 and 168 hours with hour granularity and the default value being 1 hour.
- maintenance
Interval Changes to this property will trigger replacement.
- Specifies the frequency of planned maintenance events. The accepted values are:
PERIODIC
. - max
Run Duration Changes to this property will trigger replacement.
Template Scheduling Max Run Duration - The duration of the instance. Instance will run and be terminated after then, the termination action could be defined in
instance_termination_action
. Structure is documented below. - min
Node Cpus Changes to this property will trigger replacement.
- Minimum number of cpus for the instance.
- node
Affinities Changes to this property will trigger replacement.
Template Scheduling Node Affinity> - 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.
- on
Host Maintenance Changes to this property will trigger replacement.
- Defines the maintenance behavior for this instance.
- on
Instance Stop Action Changes to this property will trigger replacement.
Template Scheduling On Instance Stop Action - Specifies the action to be performed when the instance is terminated using
max_run_duration
andSTOP
instance_termination_action
. Only supporttrue
discard_local_ssd
at this point. Structure is documented below. - preemptible
Changes to this property will trigger replacement.
- Allows instance to be preempted. This defaults to false. Read more on this here.
- provisioning
Model Changes to this property will trigger replacement.
- Describe the type of preemptible VM. This field accepts the value
STANDARD
orSPOT
. If the value isSTANDARD
, there will be no discount. If this is set toSPOT
,preemptible
should betrue
andautomatic_restart
should befalse
. For more info aboutSPOT
, read here - termination
Time Changes to this property will trigger replacement.
- Specifies the timestamp, when the instance will be terminated, in RFC3339 text format. If specified, the instance termination action will be performed at the termination time.
- automatic
Restart Changes to this property will trigger replacement.
- Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). This defaults to true.
- availability
Domain Changes to this property will trigger replacement.
- Specifies the availability domain to place the instance in. The value must be a number between 1 and the number of availability domains specified in the spread placement policy attached to the instance.
- graceful
Shutdown Changes to this property will trigger replacement.
Template Scheduling Graceful Shutdown - Settings for the instance to perform a graceful shutdown. Structure is documented below.
- host
Error Timeout Seconds Changes to this property will trigger replacement.
- Specifies the time in seconds for host error detection, the value must be within the range of [90, 330] with the increment of 30, if unset, the default behavior of host error recovery will be used.
- instance
Termination Action Changes to this property will trigger replacement.
- Describe the type of termination action for
SPOT
VM. Can beSTOP
orDELETE
. Read more on here - local
Ssd Recovery Timeouts Changes to this property will trigger replacement.
Template Scheduling Local Ssd Recovery Timeout[] - Specifies the maximum amount of time a Local Ssd Vm should wait while recovery of the Local Ssd state is attempted. Its value should be in between 0 and 168 hours with hour granularity and the default value being 1 hour.
- maintenance
Interval Changes to this property will trigger replacement.
- Specifies the frequency of planned maintenance events. The accepted values are:
PERIODIC
. - max
Run Duration Changes to this property will trigger replacement.
Template Scheduling Max Run Duration - The duration of the instance. Instance will run and be terminated after then, the termination action could be defined in
instance_termination_action
. Structure is documented below. - min
Node Cpus Changes to this property will trigger replacement.
- Minimum number of cpus for the instance.
- node
Affinities Changes to this property will trigger replacement.
Template Scheduling Node Affinity[] - 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.
- on
Host Maintenance Changes to this property will trigger replacement.
- Defines the maintenance behavior for this instance.
- on
Instance Stop Action Changes to this property will trigger replacement.
Template Scheduling On Instance Stop Action - Specifies the action to be performed when the instance is terminated using
max_run_duration
andSTOP
instance_termination_action
. Only supporttrue
discard_local_ssd
at this point. Structure is documented below. - preemptible
Changes to this property will trigger replacement.
- Allows instance to be preempted. This defaults to false. Read more on this here.
- provisioning
Model Changes to this property will trigger replacement.
- Describe the type of preemptible VM. This field accepts the value
STANDARD
orSPOT
. If the value isSTANDARD
, there will be no discount. If this is set toSPOT
,preemptible
should betrue
andautomatic_restart
should befalse
. For more info aboutSPOT
, read here - termination
Time Changes to this property will trigger replacement.
- Specifies the timestamp, when the instance will be terminated, in RFC3339 text format. If specified, the instance termination action will be performed at the termination time.
- automatic_
restart Changes to this property will trigger replacement.
- Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). This defaults to true.
- availability_
domain Changes to this property will trigger replacement.
- Specifies the availability domain to place the instance in. The value must be a number between 1 and the number of availability domains specified in the spread placement policy attached to the instance.
- graceful_
shutdown Changes to this property will trigger replacement.
Template Scheduling Graceful Shutdown - Settings for the instance to perform a graceful shutdown. Structure is documented below.
- host_
error_ timeout_ seconds Changes to this property will trigger replacement.
- Specifies the time in seconds for host error detection, the value must be within the range of [90, 330] with the increment of 30, if unset, the default behavior of host error recovery will be used.
- instance_
termination_ action Changes to this property will trigger replacement.
- Describe the type of termination action for
SPOT
VM. Can beSTOP
orDELETE
. Read more on here - local_
ssd_ recovery_ timeouts Changes to this property will trigger replacement.
Template Scheduling Local Ssd Recovery Timeout] - Specifies the maximum amount of time a Local Ssd Vm should wait while recovery of the Local Ssd state is attempted. Its value should be in between 0 and 168 hours with hour granularity and the default value being 1 hour.
- maintenance_
interval Changes to this property will trigger replacement.
- Specifies the frequency of planned maintenance events. The accepted values are:
PERIODIC
. - max_
run_ duration Changes to this property will trigger replacement.
Template Scheduling Max Run Duration - The duration of the instance. Instance will run and be terminated after then, the termination action could be defined in
instance_termination_action
. Structure is documented below. - min_
node_ cpus Changes to this property will trigger replacement.
- Minimum number of cpus for the instance.
- node_
affinities Changes to this property will trigger replacement.
Template Scheduling Node Affinity] - 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.
- on_
host_ maintenance Changes to this property will trigger replacement.
- Defines the maintenance behavior for this instance.
- on_
instance_ stop_ action Changes to this property will trigger replacement.
Template Scheduling On Instance Stop Action - Specifies the action to be performed when the instance is terminated using
max_run_duration
andSTOP
instance_termination_action
. Only supporttrue
discard_local_ssd
at this point. Structure is documented below. - preemptible
Changes to this property will trigger replacement.
- Allows instance to be preempted. This defaults to false. Read more on this here.
- provisioning_
model Changes to this property will trigger replacement.
- Describe the type of preemptible VM. This field accepts the value
STANDARD
orSPOT
. If the value isSTANDARD
, there will be no discount. If this is set toSPOT
,preemptible
should betrue
andautomatic_restart
should befalse
. For more info aboutSPOT
, read here - termination_
time Changes to this property will trigger replacement.
- Specifies the timestamp, when the instance will be terminated, in RFC3339 text format. If specified, the instance termination action will be performed at the termination time.
- automatic
Restart Changes to this property will trigger replacement.
- Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). This defaults to true.
- availability
Domain Changes to this property will trigger replacement.
- Specifies the availability domain to place the instance in. The value must be a number between 1 and the number of availability domains specified in the spread placement policy attached to the instance.
- graceful
Shutdown Changes to this property will trigger replacement.
- Settings for the instance to perform a graceful shutdown. Structure is documented below.
- host
Error Timeout Seconds Changes to this property will trigger replacement.
- Specifies the time in seconds for host error detection, the value must be within the range of [90, 330] with the increment of 30, if unset, the default behavior of host error recovery will be used.
- instance
Termination Action Changes to this property will trigger replacement.
- Describe the type of termination action for
SPOT
VM. Can beSTOP
orDELETE
. Read more on here - local
Ssd Recovery Timeouts Changes to this property will trigger replacement.
- Specifies the maximum amount of time a Local Ssd Vm should wait while recovery of the Local Ssd state is attempted. Its value should be in between 0 and 168 hours with hour granularity and the default value being 1 hour.
- maintenance
Interval Changes to this property will trigger replacement.
- Specifies the frequency of planned maintenance events. The accepted values are:
PERIODIC
. - max
Run Duration Changes to this property will trigger replacement.
- The duration of the instance. Instance will run and be terminated after then, the termination action could be defined in
instance_termination_action
. Structure is documented below. - min
Node Cpus Changes to this property will trigger replacement.
- Minimum number of cpus for the instance.
- node
Affinities Changes to this property will trigger replacement.
- 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.
- on
Host Maintenance Changes to this property will trigger replacement.
- Defines the maintenance behavior for this instance.
- on
Instance Stop Action Changes to this property will trigger replacement.
- Specifies the action to be performed when the instance is terminated using
max_run_duration
andSTOP
instance_termination_action
. Only supporttrue
discard_local_ssd
at this point. Structure is documented below. - preemptible
Changes to this property will trigger replacement.
- Allows instance to be preempted. This defaults to false. Read more on this here.
- provisioning
Model Changes to this property will trigger replacement.
- Describe the type of preemptible VM. This field accepts the value
STANDARD
orSPOT
. If the value isSTANDARD
, there will be no discount. If this is set toSPOT
,preemptible
should betrue
andautomatic_restart
should befalse
. For more info aboutSPOT
, read here - termination
Time Changes to this property will trigger replacement.
- Specifies the timestamp, when the instance will be terminated, in RFC3339 text format. If specified, the instance termination action will be performed at the termination time.
InstanceTemplateSchedulingGracefulShutdown, InstanceTemplateSchedulingGracefulShutdownArgs
- Enabled
This property is required. Changes to this property will trigger replacement.
- Opts-in for graceful shutdown.
- Max
Duration InstanceTemplate Scheduling Graceful Shutdown Max Duration - The time allotted for the instance to gracefully shut down. If the graceful shutdown isn't complete after this time, then the instance transitions to the STOPPING state. Structure is documented below:
- Enabled
This property is required. Changes to this property will trigger replacement.
- Opts-in for graceful shutdown.
- Max
Duration InstanceTemplate Scheduling Graceful Shutdown Max Duration - The time allotted for the instance to gracefully shut down. If the graceful shutdown isn't complete after this time, then the instance transitions to the STOPPING state. Structure is documented below:
- enabled
This property is required. Changes to this property will trigger replacement.
- Opts-in for graceful shutdown.
- max
Duration InstanceTemplate Scheduling Graceful Shutdown Max Duration - The time allotted for the instance to gracefully shut down. If the graceful shutdown isn't complete after this time, then the instance transitions to the STOPPING state. Structure is documented below:
- enabled
This property is required. Changes to this property will trigger replacement.
- Opts-in for graceful shutdown.
- max
Duration InstanceTemplate Scheduling Graceful Shutdown Max Duration - The time allotted for the instance to gracefully shut down. If the graceful shutdown isn't complete after this time, then the instance transitions to the STOPPING state. Structure is documented below:
- enabled
This property is required. Changes to this property will trigger replacement.
- Opts-in for graceful shutdown.
- max_
duration InstanceTemplate Scheduling Graceful Shutdown Max Duration - The time allotted for the instance to gracefully shut down. If the graceful shutdown isn't complete after this time, then the instance transitions to the STOPPING state. Structure is documented below:
- enabled
This property is required. Changes to this property will trigger replacement.
- Opts-in for graceful shutdown.
- max
Duration Property Map - The time allotted for the instance to gracefully shut down. If the graceful shutdown isn't complete after this time, then the instance transitions to the STOPPING state. Structure is documented below:
InstanceTemplateSchedulingGracefulShutdownMaxDuration, InstanceTemplateSchedulingGracefulShutdownMaxDurationArgs
- Seconds
This property is required. Changes to this property will trigger replacement.
- Span of time at a resolution of a second. The value must be between 1 and 3600, which is 3,600 seconds (one hour).`
- Nanos
Changes to this property will trigger replacement.
- Span of time that's a fraction of a second at nanosecond
resolution. Durations less than one second are represented with a 0
seconds
field and a positivenanos
field. Must be from 0 to 999,999,999 inclusive.
- Seconds
This property is required. Changes to this property will trigger replacement.
- Span of time at a resolution of a second. The value must be between 1 and 3600, which is 3,600 seconds (one hour).`
- Nanos
Changes to this property will trigger replacement.
- Span of time that's a fraction of a second at nanosecond
resolution. Durations less than one second are represented with a 0
seconds
field and a positivenanos
field. Must be from 0 to 999,999,999 inclusive.
- seconds
This property is required. Changes to this property will trigger replacement.
- Span of time at a resolution of a second. The value must be between 1 and 3600, which is 3,600 seconds (one hour).`
- nanos
Changes to this property will trigger replacement.
- Span of time that's a fraction of a second at nanosecond
resolution. Durations less than one second are represented with a 0
seconds
field and a positivenanos
field. Must be from 0 to 999,999,999 inclusive.
- seconds
This property is required. Changes to this property will trigger replacement.
- Span of time at a resolution of a second. The value must be between 1 and 3600, which is 3,600 seconds (one hour).`
- nanos
Changes to this property will trigger replacement.
- Span of time that's a fraction of a second at nanosecond
resolution. Durations less than one second are represented with a 0
seconds
field and a positivenanos
field. Must be from 0 to 999,999,999 inclusive.
- seconds
This property is required. Changes to this property will trigger replacement.
- Span of time at a resolution of a second. The value must be between 1 and 3600, which is 3,600 seconds (one hour).`
- nanos
Changes to this property will trigger replacement.
- Span of time that's a fraction of a second at nanosecond
resolution. Durations less than one second are represented with a 0
seconds
field and a positivenanos
field. Must be from 0 to 999,999,999 inclusive.
- seconds
This property is required. Changes to this property will trigger replacement.
- Span of time at a resolution of a second. The value must be between 1 and 3600, which is 3,600 seconds (one hour).`
- nanos
Changes to this property will trigger replacement.
- Span of time that's a fraction of a second at nanosecond
resolution. Durations less than one second are represented with a 0
seconds
field and a positivenanos
field. Must be from 0 to 999,999,999 inclusive.
InstanceTemplateSchedulingLocalSsdRecoveryTimeout, InstanceTemplateSchedulingLocalSsdRecoveryTimeoutArgs
- Seconds
This property is required. Changes to this property will trigger replacement.
- Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years.
- Nanos
Changes to this property will trigger replacement.
- Span of time that's a fraction of a second at nanosecond
resolution. Durations less than one second are represented with a 0
seconds
field and a positivenanos
field. Must be from 0 to 999,999,999 inclusive.
- Seconds
This property is required. Changes to this property will trigger replacement.
- Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years.
- Nanos
Changes to this property will trigger replacement.
- Span of time that's a fraction of a second at nanosecond
resolution. Durations less than one second are represented with a 0
seconds
field and a positivenanos
field. Must be from 0 to 999,999,999 inclusive.
- seconds
This property is required. Changes to this property will trigger replacement.
- Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years.
- nanos
Changes to this property will trigger replacement.
- Span of time that's a fraction of a second at nanosecond
resolution. Durations less than one second are represented with a 0
seconds
field and a positivenanos
field. Must be from 0 to 999,999,999 inclusive.
- seconds
This property is required. Changes to this property will trigger replacement.
- Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years.
- nanos
Changes to this property will trigger replacement.
- Span of time that's a fraction of a second at nanosecond
resolution. Durations less than one second are represented with a 0
seconds
field and a positivenanos
field. Must be from 0 to 999,999,999 inclusive.
- seconds
This property is required. Changes to this property will trigger replacement.
- Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years.
- nanos
Changes to this property will trigger replacement.
- Span of time that's a fraction of a second at nanosecond
resolution. Durations less than one second are represented with a 0
seconds
field and a positivenanos
field. Must be from 0 to 999,999,999 inclusive.
- seconds
This property is required. Changes to this property will trigger replacement.
- Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years.
- nanos
Changes to this property will trigger replacement.
- Span of time that's a fraction of a second at nanosecond
resolution. Durations less than one second are represented with a 0
seconds
field and a positivenanos
field. Must be from 0 to 999,999,999 inclusive.
InstanceTemplateSchedulingMaxRunDuration, InstanceTemplateSchedulingMaxRunDurationArgs
- Seconds
This property is required. Changes to this property will trigger replacement.
- Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years.
- Nanos
Changes to this property will trigger replacement.
- Span of time that's a fraction of a second at nanosecond
resolution. Durations less than one second are represented with a 0
seconds
field and a positivenanos
field. Must be from 0 to 999,999,999 inclusive.
- Seconds
This property is required. Changes to this property will trigger replacement.
- Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years.
- Nanos
Changes to this property will trigger replacement.
- Span of time that's a fraction of a second at nanosecond
resolution. Durations less than one second are represented with a 0
seconds
field and a positivenanos
field. Must be from 0 to 999,999,999 inclusive.
- seconds
This property is required. Changes to this property will trigger replacement.
- Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years.
- nanos
Changes to this property will trigger replacement.
- Span of time that's a fraction of a second at nanosecond
resolution. Durations less than one second are represented with a 0
seconds
field and a positivenanos
field. Must be from 0 to 999,999,999 inclusive.
- seconds
This property is required. Changes to this property will trigger replacement.
- Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years.
- nanos
Changes to this property will trigger replacement.
- Span of time that's a fraction of a second at nanosecond
resolution. Durations less than one second are represented with a 0
seconds
field and a positivenanos
field. Must be from 0 to 999,999,999 inclusive.
- seconds
This property is required. Changes to this property will trigger replacement.
- Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years.
- nanos
Changes to this property will trigger replacement.
- Span of time that's a fraction of a second at nanosecond
resolution. Durations less than one second are represented with a 0
seconds
field and a positivenanos
field. Must be from 0 to 999,999,999 inclusive.
- seconds
This property is required. Changes to this property will trigger replacement.
- Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years.
- nanos
Changes to this property will trigger replacement.
- Span of time that's a fraction of a second at nanosecond
resolution. Durations less than one second are represented with a 0
seconds
field and a positivenanos
field. Must be from 0 to 999,999,999 inclusive.
InstanceTemplateSchedulingNodeAffinity, InstanceTemplateSchedulingNodeAffinityArgs
InstanceTemplateSchedulingOnInstanceStopAction, InstanceTemplateSchedulingOnInstanceStopActionArgs
- Discard
Local Ssd Changes to this property will trigger replacement.
- Whether to discard local SSDs attached to the VM while terminating using
max_run_duration
. Only supportstrue
at this point.
- Discard
Local Ssd Changes to this property will trigger replacement.
- Whether to discard local SSDs attached to the VM while terminating using
max_run_duration
. Only supportstrue
at this point.
- discard
Local Ssd Changes to this property will trigger replacement.
- Whether to discard local SSDs attached to the VM while terminating using
max_run_duration
. Only supportstrue
at this point.
- discard
Local Ssd Changes to this property will trigger replacement.
- Whether to discard local SSDs attached to the VM while terminating using
max_run_duration
. Only supportstrue
at this point.
- discard_
local_ ssd Changes to this property will trigger replacement.
- Whether to discard local SSDs attached to the VM while terminating using
max_run_duration
. Only supportstrue
at this point.
- discard
Local Ssd Changes to this property will trigger replacement.
- Whether to discard local SSDs attached to the VM while terminating using
max_run_duration
. Only supportstrue
at this point.
InstanceTemplateServiceAccount, InstanceTemplateServiceAccountArgs
- Scopes
This property is required. Changes to this property will trigger replacement.
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.The service accounts documentation explains that access scopes are the legacy method of specifying permissions for your instance. To follow best practices you should create a dedicated service account with the minimum permissions the VM requires. To use a dedicated service account this field should be configured as a list containing the
cloud-platform
scope. See Authenticate workloads using service accounts best practices and Best practices for using service accounts.- Email
Changes to this property will trigger replacement.
- The service account e-mail address. If not given, the default Google Compute Engine service account is used.
- Scopes
This property is required. Changes to this property will trigger replacement.
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.The service accounts documentation explains that access scopes are the legacy method of specifying permissions for your instance. To follow best practices you should create a dedicated service account with the minimum permissions the VM requires. To use a dedicated service account this field should be configured as a list containing the
cloud-platform
scope. See Authenticate workloads using service accounts best practices and Best practices for using service accounts.- Email
Changes to this property will trigger replacement.
- The service account e-mail address. If not given, the default Google Compute Engine service account is used.
- scopes
This property is required. Changes to this property will trigger replacement.
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.The service accounts documentation explains that access scopes are the legacy method of specifying permissions for your instance. To follow best practices you should create a dedicated service account with the minimum permissions the VM requires. To use a dedicated service account this field should be configured as a list containing the
cloud-platform
scope. See Authenticate workloads using service accounts best practices and Best practices for using service accounts.- email
Changes to this property will trigger replacement.
- The service account e-mail address. If not given, the default Google Compute Engine service account is used.
- scopes
This property is required. Changes to this property will trigger replacement.
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.The service accounts documentation explains that access scopes are the legacy method of specifying permissions for your instance. To follow best practices you should create a dedicated service account with the minimum permissions the VM requires. To use a dedicated service account this field should be configured as a list containing the
cloud-platform
scope. See Authenticate workloads using service accounts best practices and Best practices for using service accounts.- email
Changes to this property will trigger replacement.
- The service account e-mail address. If not given, the default Google Compute Engine service account is used.
- scopes
This property is required. Changes to this property will trigger replacement.
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.The service accounts documentation explains that access scopes are the legacy method of specifying permissions for your instance. To follow best practices you should create a dedicated service account with the minimum permissions the VM requires. To use a dedicated service account this field should be configured as a list containing the
cloud-platform
scope. See Authenticate workloads using service accounts best practices and Best practices for using service accounts.- email
Changes to this property will trigger replacement.
- The service account e-mail address. If not given, the default Google Compute Engine service account is used.
- scopes
This property is required. Changes to this property will trigger replacement.
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.The service accounts documentation explains that access scopes are the legacy method of specifying permissions for your instance. To follow best practices you should create a dedicated service account with the minimum permissions the VM requires. To use a dedicated service account this field should be configured as a list containing the
cloud-platform
scope. See Authenticate workloads using service accounts best practices and Best practices for using service accounts.- email
Changes to this property will trigger replacement.
- The service account e-mail address. If not given, the default Google Compute Engine service account is used.
InstanceTemplateShieldedInstanceConfig, InstanceTemplateShieldedInstanceConfigArgs
- Enable
Integrity Monitoring Changes to this property will trigger replacement.
- 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.
- Enable
Secure Boot Changes to this property will trigger replacement.
- Verify the digital signature of all boot components, and halt the boot process if signature verification fails. Defaults to false.
- Enable
Vtpm Changes to this property will trigger replacement.
- 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.
- Enable
Integrity Monitoring Changes to this property will trigger replacement.
- 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.
- Enable
Secure Boot Changes to this property will trigger replacement.
- Verify the digital signature of all boot components, and halt the boot process if signature verification fails. Defaults to false.
- Enable
Vtpm Changes to this property will trigger replacement.
- 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.
- enable
Integrity Monitoring Changes to this property will trigger replacement.
- 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.
- enable
Secure Boot Changes to this property will trigger replacement.
- Verify the digital signature of all boot components, and halt the boot process if signature verification fails. Defaults to false.
- enable
Vtpm Changes to this property will trigger replacement.
- 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.
- enable
Integrity Monitoring Changes to this property will trigger replacement.
- 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.
- enable
Secure Boot Changes to this property will trigger replacement.
- Verify the digital signature of all boot components, and halt the boot process if signature verification fails. Defaults to false.
- enable
Vtpm Changes to this property will trigger replacement.
- 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.
- enable_
integrity_ monitoring Changes to this property will trigger replacement.
- 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.
- enable_
secure_ boot Changes to this property will trigger replacement.
- Verify the digital signature of all boot components, and halt the boot process if signature verification fails. Defaults to false.
- enable_
vtpm Changes to this property will trigger replacement.
- 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.
- enable
Integrity Monitoring Changes to this property will trigger replacement.
- 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.
- enable
Secure Boot Changes to this property will trigger replacement.
- Verify the digital signature of all boot components, and halt the boot process if signature verification fails. Defaults to false.
- enable
Vtpm Changes to this property will trigger replacement.
- 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.
Import
Instance templates can be imported using any of these accepted formats:
projects/{{project}}/global/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/instanceTemplate:InstanceTemplate default projects/{{project}}/global/instanceTemplates/{{name}}
$ pulumi import gcp:compute/instanceTemplate:InstanceTemplate default {{project}}/{{name}}
$ pulumi import gcp:compute/instanceTemplate:InstanceTemplate default {{name}}
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- Google Cloud (GCP) Classic pulumi/pulumi-gcp
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
google-beta
Terraform Provider.