gcp.compute.Instance
Explore with Pulumi AI
Manages a VM instance 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: "my-custom-sa",
displayName: "Custom SA for VM Instance",
});
const defaultInstance = new gcp.compute.Instance("default", {
networkInterfaces: [{
accessConfigs: [{}],
network: "default",
}],
name: "my-instance",
machineType: "n2-standard-2",
zone: "us-central1-a",
tags: [
"foo",
"bar",
],
bootDisk: {
initializeParams: {
image: "debian-cloud/debian-11",
labels: {
my_label: "value",
},
},
},
scratchDisks: [{
"interface": "NVME",
}],
metadata: {
foo: "bar",
},
metadataStartupScript: "echo hi > /test.txt",
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")
default_instance = gcp.compute.Instance("default",
network_interfaces=[{
"access_configs": [{}],
"network": "default",
}],
name="my-instance",
machine_type="n2-standard-2",
zone="us-central1-a",
tags=[
"foo",
"bar",
],
boot_disk={
"initialize_params": {
"image": "debian-cloud/debian-11",
"labels": {
"my_label": "value",
},
},
},
scratch_disks=[{
"interface": "NVME",
}],
metadata={
"foo": "bar",
},
metadata_startup_script="echo hi > /test.txt",
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 {
_, 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.NewInstance(ctx, "default", &compute.InstanceArgs{
NetworkInterfaces: compute.InstanceNetworkInterfaceArray{
&compute.InstanceNetworkInterfaceArgs{
AccessConfigs: compute.InstanceNetworkInterfaceAccessConfigArray{
&compute.InstanceNetworkInterfaceAccessConfigArgs{},
},
Network: pulumi.String("default"),
},
},
Name: pulumi.String("my-instance"),
MachineType: pulumi.String("n2-standard-2"),
Zone: pulumi.String("us-central1-a"),
Tags: pulumi.StringArray{
pulumi.String("foo"),
pulumi.String("bar"),
},
BootDisk: &compute.InstanceBootDiskArgs{
InitializeParams: &compute.InstanceBootDiskInitializeParamsArgs{
Image: pulumi.String("debian-cloud/debian-11"),
Labels: pulumi.StringMap{
"my_label": pulumi.String("value"),
},
},
},
ScratchDisks: compute.InstanceScratchDiskArray{
&compute.InstanceScratchDiskArgs{
Interface: pulumi.String("NVME"),
},
},
Metadata: pulumi.StringMap{
"foo": pulumi.String("bar"),
},
MetadataStartupScript: pulumi.String("echo hi > /test.txt"),
ServiceAccount: &compute.InstanceServiceAccountArgs{
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 defaultInstance = new Gcp.Compute.Instance("default", new()
{
NetworkInterfaces = new[]
{
new Gcp.Compute.Inputs.InstanceNetworkInterfaceArgs
{
AccessConfigs = new[]
{
null,
},
Network = "default",
},
},
Name = "my-instance",
MachineType = "n2-standard-2",
Zone = "us-central1-a",
Tags = new[]
{
"foo",
"bar",
},
BootDisk = new Gcp.Compute.Inputs.InstanceBootDiskArgs
{
InitializeParams = new Gcp.Compute.Inputs.InstanceBootDiskInitializeParamsArgs
{
Image = "debian-cloud/debian-11",
Labels =
{
{ "my_label", "value" },
},
},
},
ScratchDisks = new[]
{
new Gcp.Compute.Inputs.InstanceScratchDiskArgs
{
Interface = "NVME",
},
},
Metadata =
{
{ "foo", "bar" },
},
MetadataStartupScript = "echo hi > /test.txt",
ServiceAccount = new Gcp.Compute.Inputs.InstanceServiceAccountArgs
{
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.Instance;
import com.pulumi.gcp.compute.InstanceArgs;
import com.pulumi.gcp.compute.inputs.InstanceNetworkInterfaceArgs;
import com.pulumi.gcp.compute.inputs.InstanceBootDiskArgs;
import com.pulumi.gcp.compute.inputs.InstanceBootDiskInitializeParamsArgs;
import com.pulumi.gcp.compute.inputs.InstanceScratchDiskArgs;
import com.pulumi.gcp.compute.inputs.InstanceServiceAccountArgs;
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 defaultInstance = new Instance("defaultInstance", InstanceArgs.builder()
.networkInterfaces(InstanceNetworkInterfaceArgs.builder()
.accessConfigs()
.network("default")
.build())
.name("my-instance")
.machineType("n2-standard-2")
.zone("us-central1-a")
.tags(
"foo",
"bar")
.bootDisk(InstanceBootDiskArgs.builder()
.initializeParams(InstanceBootDiskInitializeParamsArgs.builder()
.image("debian-cloud/debian-11")
.labels(Map.of("my_label", "value"))
.build())
.build())
.scratchDisks(InstanceScratchDiskArgs.builder()
.interface_("NVME")
.build())
.metadata(Map.of("foo", "bar"))
.metadataStartupScript("echo hi > /test.txt")
.serviceAccount(InstanceServiceAccountArgs.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
defaultInstance:
type: gcp:compute:Instance
name: default
properties:
networkInterfaces:
- accessConfigs:
- {}
network: default
name: my-instance
machineType: n2-standard-2
zone: us-central1-a
tags:
- foo
- bar
bootDisk:
initializeParams:
image: debian-cloud/debian-11
labels:
my_label: value
scratchDisks:
- interface: NVME
metadata:
foo: bar
metadataStartupScript: echo hi > /test.txt
serviceAccount:
email: ${default.email}
scopes:
- cloud-platform
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 confidentialInstance = new gcp.compute.Instance("confidential_instance", {
networkInterfaces: [{
accessConfigs: [{}],
network: "default",
}],
name: "my-confidential-instance",
zone: "us-central1-a",
machineType: "n2d-standard-2",
minCpuPlatform: "AMD Milan",
confidentialInstanceConfig: {
enableConfidentialCompute: true,
confidentialInstanceType: "SEV",
},
bootDisk: {
initializeParams: {
image: "ubuntu-os-cloud/ubuntu-2004-lts",
labels: {
my_label: "value",
},
},
},
scratchDisks: [{
"interface": "NVME",
}],
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 = gcp.compute.Instance("confidential_instance",
network_interfaces=[{
"access_configs": [{}],
"network": "default",
}],
name="my-confidential-instance",
zone="us-central1-a",
machine_type="n2d-standard-2",
min_cpu_platform="AMD Milan",
confidential_instance_config={
"enable_confidential_compute": True,
"confidential_instance_type": "SEV",
},
boot_disk={
"initialize_params": {
"image": "ubuntu-os-cloud/ubuntu-2004-lts",
"labels": {
"my_label": "value",
},
},
},
scratch_disks=[{
"interface": "NVME",
}],
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 {
_, 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.NewInstance(ctx, "confidential_instance", &compute.InstanceArgs{
NetworkInterfaces: compute.InstanceNetworkInterfaceArray{
&compute.InstanceNetworkInterfaceArgs{
AccessConfigs: compute.InstanceNetworkInterfaceAccessConfigArray{
&compute.InstanceNetworkInterfaceAccessConfigArgs{},
},
Network: pulumi.String("default"),
},
},
Name: pulumi.String("my-confidential-instance"),
Zone: pulumi.String("us-central1-a"),
MachineType: pulumi.String("n2d-standard-2"),
MinCpuPlatform: pulumi.String("AMD Milan"),
ConfidentialInstanceConfig: &compute.InstanceConfidentialInstanceConfigArgs{
EnableConfidentialCompute: pulumi.Bool(true),
ConfidentialInstanceType: pulumi.String("SEV"),
},
BootDisk: &compute.InstanceBootDiskArgs{
InitializeParams: &compute.InstanceBootDiskInitializeParamsArgs{
Image: pulumi.String("ubuntu-os-cloud/ubuntu-2004-lts"),
Labels: pulumi.StringMap{
"my_label": pulumi.String("value"),
},
},
},
ScratchDisks: compute.InstanceScratchDiskArray{
&compute.InstanceScratchDiskArgs{
Interface: pulumi.String("NVME"),
},
},
ServiceAccount: &compute.InstanceServiceAccountArgs{
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 confidentialInstance = new Gcp.Compute.Instance("confidential_instance", new()
{
NetworkInterfaces = new[]
{
new Gcp.Compute.Inputs.InstanceNetworkInterfaceArgs
{
AccessConfigs = new[]
{
null,
},
Network = "default",
},
},
Name = "my-confidential-instance",
Zone = "us-central1-a",
MachineType = "n2d-standard-2",
MinCpuPlatform = "AMD Milan",
ConfidentialInstanceConfig = new Gcp.Compute.Inputs.InstanceConfidentialInstanceConfigArgs
{
EnableConfidentialCompute = true,
ConfidentialInstanceType = "SEV",
},
BootDisk = new Gcp.Compute.Inputs.InstanceBootDiskArgs
{
InitializeParams = new Gcp.Compute.Inputs.InstanceBootDiskInitializeParamsArgs
{
Image = "ubuntu-os-cloud/ubuntu-2004-lts",
Labels =
{
{ "my_label", "value" },
},
},
},
ScratchDisks = new[]
{
new Gcp.Compute.Inputs.InstanceScratchDiskArgs
{
Interface = "NVME",
},
},
ServiceAccount = new Gcp.Compute.Inputs.InstanceServiceAccountArgs
{
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.Instance;
import com.pulumi.gcp.compute.InstanceArgs;
import com.pulumi.gcp.compute.inputs.InstanceNetworkInterfaceArgs;
import com.pulumi.gcp.compute.inputs.InstanceConfidentialInstanceConfigArgs;
import com.pulumi.gcp.compute.inputs.InstanceBootDiskArgs;
import com.pulumi.gcp.compute.inputs.InstanceBootDiskInitializeParamsArgs;
import com.pulumi.gcp.compute.inputs.InstanceScratchDiskArgs;
import com.pulumi.gcp.compute.inputs.InstanceServiceAccountArgs;
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 confidentialInstance = new Instance("confidentialInstance", InstanceArgs.builder()
.networkInterfaces(InstanceNetworkInterfaceArgs.builder()
.accessConfigs()
.network("default")
.build())
.name("my-confidential-instance")
.zone("us-central1-a")
.machineType("n2d-standard-2")
.minCpuPlatform("AMD Milan")
.confidentialInstanceConfig(InstanceConfidentialInstanceConfigArgs.builder()
.enableConfidentialCompute(true)
.confidentialInstanceType("SEV")
.build())
.bootDisk(InstanceBootDiskArgs.builder()
.initializeParams(InstanceBootDiskInitializeParamsArgs.builder()
.image("ubuntu-os-cloud/ubuntu-2004-lts")
.labels(Map.of("my_label", "value"))
.build())
.build())
.scratchDisks(InstanceScratchDiskArgs.builder()
.interface_("NVME")
.build())
.serviceAccount(InstanceServiceAccountArgs.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
confidentialInstance:
type: gcp:compute:Instance
name: confidential_instance
properties:
networkInterfaces:
- accessConfigs:
- {}
network: default
name: my-confidential-instance
zone: us-central1-a
machineType: n2d-standard-2
minCpuPlatform: AMD Milan
confidentialInstanceConfig:
enableConfidentialCompute: true
confidentialInstanceType: SEV
bootDisk:
initializeParams:
image: ubuntu-os-cloud/ubuntu-2004-lts
labels:
my_label: value
scratchDisks:
- interface: NVME
serviceAccount:
email: ${default.email}
scopes:
- cloud-platform
Create Instance Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new Instance(name: string, args: InstanceArgs, opts?: CustomResourceOptions);
@overload
def Instance(resource_name: str,
args: InstanceArgs,
opts: Optional[ResourceOptions] = None)
@overload
def Instance(resource_name: str,
opts: Optional[ResourceOptions] = None,
boot_disk: Optional[InstanceBootDiskArgs] = None,
network_interfaces: Optional[Sequence[InstanceNetworkInterfaceArgs]] = None,
machine_type: Optional[str] = None,
metadata_startup_script: Optional[str] = None,
description: Optional[str] = None,
min_cpu_platform: Optional[str] = None,
deletion_protection: Optional[bool] = None,
name: Optional[str] = None,
desired_status: Optional[str] = None,
enable_display: Optional[bool] = None,
guest_accelerators: Optional[Sequence[InstanceGuestAcceleratorArgs]] = None,
hostname: Optional[str] = None,
key_revocation_action_type: Optional[str] = None,
labels: Optional[Mapping[str, str]] = None,
allow_stopping_for_update: Optional[bool] = None,
metadata: Optional[Mapping[str, str]] = None,
advanced_machine_features: Optional[InstanceAdvancedMachineFeaturesArgs] = None,
confidential_instance_config: Optional[InstanceConfidentialInstanceConfigArgs] = None,
can_ip_forward: Optional[bool] = None,
attached_disks: Optional[Sequence[InstanceAttachedDiskArgs]] = None,
network_performance_config: Optional[InstanceNetworkPerformanceConfigArgs] = None,
params: Optional[InstanceParamsArgs] = None,
partner_metadata: Optional[Mapping[str, str]] = None,
project: Optional[str] = None,
reservation_affinity: Optional[InstanceReservationAffinityArgs] = None,
resource_policies: Optional[str] = None,
scheduling: Optional[InstanceSchedulingArgs] = None,
scratch_disks: Optional[Sequence[InstanceScratchDiskArgs]] = None,
service_account: Optional[InstanceServiceAccountArgs] = None,
shielded_instance_config: Optional[InstanceShieldedInstanceConfigArgs] = None,
tags: Optional[Sequence[str]] = None,
zone: Optional[str] = None)
func NewInstance(ctx *Context, name string, args InstanceArgs, opts ...ResourceOption) (*Instance, error)
public Instance(string name, InstanceArgs args, CustomResourceOptions? opts = null)
public Instance(String name, InstanceArgs args)
public Instance(String name, InstanceArgs args, CustomResourceOptions options)
type: gcp:compute:Instance
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args InstanceArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args InstanceArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args InstanceArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args InstanceArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args InstanceArgs
- 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 exampleinstanceResourceResourceFromComputeinstance = new Gcp.Compute.Instance("exampleinstanceResourceResourceFromComputeinstance", new()
{
BootDisk = new Gcp.Compute.Inputs.InstanceBootDiskArgs
{
AutoDelete = false,
DeviceName = "string",
DiskEncryptionKeyRaw = "string",
DiskEncryptionKeySha256 = "string",
InitializeParams = new Gcp.Compute.Inputs.InstanceBootDiskInitializeParamsArgs
{
EnableConfidentialCompute = false,
Image = "string",
Labels =
{
{ "string", "string" },
},
ProvisionedIops = 0,
ProvisionedThroughput = 0,
ResourceManagerTags =
{
{ "string", "string" },
},
ResourcePolicies = "string",
Size = 0,
StoragePool = "string",
Type = "string",
},
Interface = "string",
KmsKeySelfLink = "string",
Mode = "string",
Source = "string",
},
NetworkInterfaces = new[]
{
new Gcp.Compute.Inputs.InstanceNetworkInterfaceArgs
{
AccessConfigs = new[]
{
new Gcp.Compute.Inputs.InstanceNetworkInterfaceAccessConfigArgs
{
NatIp = "string",
NetworkTier = "string",
PublicPtrDomainName = "string",
SecurityPolicy = "string",
},
},
AliasIpRanges = new[]
{
new Gcp.Compute.Inputs.InstanceNetworkInterfaceAliasIpRangeArgs
{
IpCidrRange = "string",
SubnetworkRangeName = "string",
},
},
InternalIpv6PrefixLength = 0,
Ipv6AccessConfigs = new[]
{
new Gcp.Compute.Inputs.InstanceNetworkInterfaceIpv6AccessConfigArgs
{
NetworkTier = "string",
ExternalIpv6 = "string",
ExternalIpv6PrefixLength = "string",
Name = "string",
PublicPtrDomainName = "string",
SecurityPolicy = "string",
},
},
Ipv6AccessType = "string",
Ipv6Address = "string",
Name = "string",
Network = "string",
NetworkAttachment = "string",
NetworkIp = "string",
NicType = "string",
QueueCount = 0,
SecurityPolicy = "string",
StackType = "string",
Subnetwork = "string",
SubnetworkProject = "string",
},
},
MachineType = "string",
MetadataStartupScript = "string",
Description = "string",
MinCpuPlatform = "string",
DeletionProtection = false,
Name = "string",
DesiredStatus = "string",
EnableDisplay = false,
GuestAccelerators = new[]
{
new Gcp.Compute.Inputs.InstanceGuestAcceleratorArgs
{
Count = 0,
Type = "string",
},
},
Hostname = "string",
KeyRevocationActionType = "string",
Labels =
{
{ "string", "string" },
},
AllowStoppingForUpdate = false,
Metadata =
{
{ "string", "string" },
},
AdvancedMachineFeatures = new Gcp.Compute.Inputs.InstanceAdvancedMachineFeaturesArgs
{
EnableNestedVirtualization = false,
ThreadsPerCore = 0,
TurboMode = "string",
VisibleCoreCount = 0,
},
ConfidentialInstanceConfig = new Gcp.Compute.Inputs.InstanceConfidentialInstanceConfigArgs
{
ConfidentialInstanceType = "string",
EnableConfidentialCompute = false,
},
CanIpForward = false,
AttachedDisks = new[]
{
new Gcp.Compute.Inputs.InstanceAttachedDiskArgs
{
Source = "string",
DeviceName = "string",
DiskEncryptionKeyRaw = "string",
DiskEncryptionKeySha256 = "string",
KmsKeySelfLink = "string",
Mode = "string",
},
},
NetworkPerformanceConfig = new Gcp.Compute.Inputs.InstanceNetworkPerformanceConfigArgs
{
TotalEgressBandwidthTier = "string",
},
Params = new Gcp.Compute.Inputs.InstanceParamsArgs
{
ResourceManagerTags =
{
{ "string", "string" },
},
},
PartnerMetadata =
{
{ "string", "string" },
},
Project = "string",
ReservationAffinity = new Gcp.Compute.Inputs.InstanceReservationAffinityArgs
{
Type = "string",
SpecificReservation = new Gcp.Compute.Inputs.InstanceReservationAffinitySpecificReservationArgs
{
Key = "string",
Values = new[]
{
"string",
},
},
},
ResourcePolicies = "string",
Scheduling = new Gcp.Compute.Inputs.InstanceSchedulingArgs
{
AutomaticRestart = false,
HostErrorTimeoutSeconds = 0,
InstanceTerminationAction = "string",
LocalSsdRecoveryTimeout = new Gcp.Compute.Inputs.InstanceSchedulingLocalSsdRecoveryTimeoutArgs
{
Seconds = 0,
Nanos = 0,
},
MaintenanceInterval = "string",
MaxRunDuration = new Gcp.Compute.Inputs.InstanceSchedulingMaxRunDurationArgs
{
Seconds = 0,
Nanos = 0,
},
MinNodeCpus = 0,
NodeAffinities = new[]
{
new Gcp.Compute.Inputs.InstanceSchedulingNodeAffinityArgs
{
Key = "string",
Operator = "string",
Values = new[]
{
"string",
},
},
},
OnHostMaintenance = "string",
OnInstanceStopAction = new Gcp.Compute.Inputs.InstanceSchedulingOnInstanceStopActionArgs
{
DiscardLocalSsd = false,
},
Preemptible = false,
ProvisioningModel = "string",
},
ScratchDisks = new[]
{
new Gcp.Compute.Inputs.InstanceScratchDiskArgs
{
Interface = "string",
DeviceName = "string",
Size = 0,
},
},
ServiceAccount = new Gcp.Compute.Inputs.InstanceServiceAccountArgs
{
Scopes = new[]
{
"string",
},
Email = "string",
},
ShieldedInstanceConfig = new Gcp.Compute.Inputs.InstanceShieldedInstanceConfigArgs
{
EnableIntegrityMonitoring = false,
EnableSecureBoot = false,
EnableVtpm = false,
},
Tags = new[]
{
"string",
},
Zone = "string",
});
example, err := compute.NewInstance(ctx, "exampleinstanceResourceResourceFromComputeinstance", &compute.InstanceArgs{
BootDisk: &compute.InstanceBootDiskArgs{
AutoDelete: pulumi.Bool(false),
DeviceName: pulumi.String("string"),
DiskEncryptionKeyRaw: pulumi.String("string"),
DiskEncryptionKeySha256: pulumi.String("string"),
InitializeParams: &compute.InstanceBootDiskInitializeParamsArgs{
EnableConfidentialCompute: pulumi.Bool(false),
Image: pulumi.String("string"),
Labels: pulumi.StringMap{
"string": pulumi.String("string"),
},
ProvisionedIops: pulumi.Int(0),
ProvisionedThroughput: pulumi.Int(0),
ResourceManagerTags: pulumi.StringMap{
"string": pulumi.String("string"),
},
ResourcePolicies: pulumi.String("string"),
Size: pulumi.Int(0),
StoragePool: pulumi.String("string"),
Type: pulumi.String("string"),
},
Interface: pulumi.String("string"),
KmsKeySelfLink: pulumi.String("string"),
Mode: pulumi.String("string"),
Source: pulumi.String("string"),
},
NetworkInterfaces: compute.InstanceNetworkInterfaceArray{
&compute.InstanceNetworkInterfaceArgs{
AccessConfigs: compute.InstanceNetworkInterfaceAccessConfigArray{
&compute.InstanceNetworkInterfaceAccessConfigArgs{
NatIp: pulumi.String("string"),
NetworkTier: pulumi.String("string"),
PublicPtrDomainName: pulumi.String("string"),
SecurityPolicy: pulumi.String("string"),
},
},
AliasIpRanges: compute.InstanceNetworkInterfaceAliasIpRangeArray{
&compute.InstanceNetworkInterfaceAliasIpRangeArgs{
IpCidrRange: pulumi.String("string"),
SubnetworkRangeName: pulumi.String("string"),
},
},
InternalIpv6PrefixLength: pulumi.Int(0),
Ipv6AccessConfigs: compute.InstanceNetworkInterfaceIpv6AccessConfigArray{
&compute.InstanceNetworkInterfaceIpv6AccessConfigArgs{
NetworkTier: pulumi.String("string"),
ExternalIpv6: pulumi.String("string"),
ExternalIpv6PrefixLength: pulumi.String("string"),
Name: pulumi.String("string"),
PublicPtrDomainName: pulumi.String("string"),
SecurityPolicy: 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),
SecurityPolicy: pulumi.String("string"),
StackType: pulumi.String("string"),
Subnetwork: pulumi.String("string"),
SubnetworkProject: pulumi.String("string"),
},
},
MachineType: pulumi.String("string"),
MetadataStartupScript: pulumi.String("string"),
Description: pulumi.String("string"),
MinCpuPlatform: pulumi.String("string"),
DeletionProtection: pulumi.Bool(false),
Name: pulumi.String("string"),
DesiredStatus: pulumi.String("string"),
EnableDisplay: pulumi.Bool(false),
GuestAccelerators: compute.InstanceGuestAcceleratorArray{
&compute.InstanceGuestAcceleratorArgs{
Count: pulumi.Int(0),
Type: pulumi.String("string"),
},
},
Hostname: pulumi.String("string"),
KeyRevocationActionType: pulumi.String("string"),
Labels: pulumi.StringMap{
"string": pulumi.String("string"),
},
AllowStoppingForUpdate: pulumi.Bool(false),
Metadata: pulumi.StringMap{
"string": pulumi.String("string"),
},
AdvancedMachineFeatures: &compute.InstanceAdvancedMachineFeaturesArgs{
EnableNestedVirtualization: pulumi.Bool(false),
ThreadsPerCore: pulumi.Int(0),
TurboMode: pulumi.String("string"),
VisibleCoreCount: pulumi.Int(0),
},
ConfidentialInstanceConfig: &compute.InstanceConfidentialInstanceConfigArgs{
ConfidentialInstanceType: pulumi.String("string"),
EnableConfidentialCompute: pulumi.Bool(false),
},
CanIpForward: pulumi.Bool(false),
AttachedDisks: compute.InstanceAttachedDiskArray{
&compute.InstanceAttachedDiskArgs{
Source: pulumi.String("string"),
DeviceName: pulumi.String("string"),
DiskEncryptionKeyRaw: pulumi.String("string"),
DiskEncryptionKeySha256: pulumi.String("string"),
KmsKeySelfLink: pulumi.String("string"),
Mode: pulumi.String("string"),
},
},
NetworkPerformanceConfig: &compute.InstanceNetworkPerformanceConfigArgs{
TotalEgressBandwidthTier: pulumi.String("string"),
},
Params: &compute.InstanceParamsArgs{
ResourceManagerTags: pulumi.StringMap{
"string": pulumi.String("string"),
},
},
PartnerMetadata: pulumi.StringMap{
"string": pulumi.String("string"),
},
Project: pulumi.String("string"),
ReservationAffinity: &compute.InstanceReservationAffinityArgs{
Type: pulumi.String("string"),
SpecificReservation: &compute.InstanceReservationAffinitySpecificReservationArgs{
Key: pulumi.String("string"),
Values: pulumi.StringArray{
pulumi.String("string"),
},
},
},
ResourcePolicies: pulumi.String("string"),
Scheduling: &compute.InstanceSchedulingArgs{
AutomaticRestart: pulumi.Bool(false),
HostErrorTimeoutSeconds: pulumi.Int(0),
InstanceTerminationAction: pulumi.String("string"),
LocalSsdRecoveryTimeout: &compute.InstanceSchedulingLocalSsdRecoveryTimeoutArgs{
Seconds: pulumi.Int(0),
Nanos: pulumi.Int(0),
},
MaintenanceInterval: pulumi.String("string"),
MaxRunDuration: &compute.InstanceSchedulingMaxRunDurationArgs{
Seconds: pulumi.Int(0),
Nanos: pulumi.Int(0),
},
MinNodeCpus: pulumi.Int(0),
NodeAffinities: compute.InstanceSchedulingNodeAffinityArray{
&compute.InstanceSchedulingNodeAffinityArgs{
Key: pulumi.String("string"),
Operator: pulumi.String("string"),
Values: pulumi.StringArray{
pulumi.String("string"),
},
},
},
OnHostMaintenance: pulumi.String("string"),
OnInstanceStopAction: &compute.InstanceSchedulingOnInstanceStopActionArgs{
DiscardLocalSsd: pulumi.Bool(false),
},
Preemptible: pulumi.Bool(false),
ProvisioningModel: pulumi.String("string"),
},
ScratchDisks: compute.InstanceScratchDiskArray{
&compute.InstanceScratchDiskArgs{
Interface: pulumi.String("string"),
DeviceName: pulumi.String("string"),
Size: pulumi.Int(0),
},
},
ServiceAccount: &compute.InstanceServiceAccountArgs{
Scopes: pulumi.StringArray{
pulumi.String("string"),
},
Email: pulumi.String("string"),
},
ShieldedInstanceConfig: &compute.InstanceShieldedInstanceConfigArgs{
EnableIntegrityMonitoring: pulumi.Bool(false),
EnableSecureBoot: pulumi.Bool(false),
EnableVtpm: pulumi.Bool(false),
},
Tags: pulumi.StringArray{
pulumi.String("string"),
},
Zone: pulumi.String("string"),
})
var exampleinstanceResourceResourceFromComputeinstance = new Instance("exampleinstanceResourceResourceFromComputeinstance", InstanceArgs.builder()
.bootDisk(InstanceBootDiskArgs.builder()
.autoDelete(false)
.deviceName("string")
.diskEncryptionKeyRaw("string")
.diskEncryptionKeySha256("string")
.initializeParams(InstanceBootDiskInitializeParamsArgs.builder()
.enableConfidentialCompute(false)
.image("string")
.labels(Map.of("string", "string"))
.provisionedIops(0)
.provisionedThroughput(0)
.resourceManagerTags(Map.of("string", "string"))
.resourcePolicies("string")
.size(0)
.storagePool("string")
.type("string")
.build())
.interface_("string")
.kmsKeySelfLink("string")
.mode("string")
.source("string")
.build())
.networkInterfaces(InstanceNetworkInterfaceArgs.builder()
.accessConfigs(InstanceNetworkInterfaceAccessConfigArgs.builder()
.natIp("string")
.networkTier("string")
.publicPtrDomainName("string")
.securityPolicy("string")
.build())
.aliasIpRanges(InstanceNetworkInterfaceAliasIpRangeArgs.builder()
.ipCidrRange("string")
.subnetworkRangeName("string")
.build())
.internalIpv6PrefixLength(0)
.ipv6AccessConfigs(InstanceNetworkInterfaceIpv6AccessConfigArgs.builder()
.networkTier("string")
.externalIpv6("string")
.externalIpv6PrefixLength("string")
.name("string")
.publicPtrDomainName("string")
.securityPolicy("string")
.build())
.ipv6AccessType("string")
.ipv6Address("string")
.name("string")
.network("string")
.networkAttachment("string")
.networkIp("string")
.nicType("string")
.queueCount(0)
.securityPolicy("string")
.stackType("string")
.subnetwork("string")
.subnetworkProject("string")
.build())
.machineType("string")
.metadataStartupScript("string")
.description("string")
.minCpuPlatform("string")
.deletionProtection(false)
.name("string")
.desiredStatus("string")
.enableDisplay(false)
.guestAccelerators(InstanceGuestAcceleratorArgs.builder()
.count(0)
.type("string")
.build())
.hostname("string")
.keyRevocationActionType("string")
.labels(Map.of("string", "string"))
.allowStoppingForUpdate(false)
.metadata(Map.of("string", "string"))
.advancedMachineFeatures(InstanceAdvancedMachineFeaturesArgs.builder()
.enableNestedVirtualization(false)
.threadsPerCore(0)
.turboMode("string")
.visibleCoreCount(0)
.build())
.confidentialInstanceConfig(InstanceConfidentialInstanceConfigArgs.builder()
.confidentialInstanceType("string")
.enableConfidentialCompute(false)
.build())
.canIpForward(false)
.attachedDisks(InstanceAttachedDiskArgs.builder()
.source("string")
.deviceName("string")
.diskEncryptionKeyRaw("string")
.diskEncryptionKeySha256("string")
.kmsKeySelfLink("string")
.mode("string")
.build())
.networkPerformanceConfig(InstanceNetworkPerformanceConfigArgs.builder()
.totalEgressBandwidthTier("string")
.build())
.params(InstanceParamsArgs.builder()
.resourceManagerTags(Map.of("string", "string"))
.build())
.partnerMetadata(Map.of("string", "string"))
.project("string")
.reservationAffinity(InstanceReservationAffinityArgs.builder()
.type("string")
.specificReservation(InstanceReservationAffinitySpecificReservationArgs.builder()
.key("string")
.values("string")
.build())
.build())
.resourcePolicies("string")
.scheduling(InstanceSchedulingArgs.builder()
.automaticRestart(false)
.hostErrorTimeoutSeconds(0)
.instanceTerminationAction("string")
.localSsdRecoveryTimeout(InstanceSchedulingLocalSsdRecoveryTimeoutArgs.builder()
.seconds(0)
.nanos(0)
.build())
.maintenanceInterval("string")
.maxRunDuration(InstanceSchedulingMaxRunDurationArgs.builder()
.seconds(0)
.nanos(0)
.build())
.minNodeCpus(0)
.nodeAffinities(InstanceSchedulingNodeAffinityArgs.builder()
.key("string")
.operator("string")
.values("string")
.build())
.onHostMaintenance("string")
.onInstanceStopAction(InstanceSchedulingOnInstanceStopActionArgs.builder()
.discardLocalSsd(false)
.build())
.preemptible(false)
.provisioningModel("string")
.build())
.scratchDisks(InstanceScratchDiskArgs.builder()
.interface_("string")
.deviceName("string")
.size(0)
.build())
.serviceAccount(InstanceServiceAccountArgs.builder()
.scopes("string")
.email("string")
.build())
.shieldedInstanceConfig(InstanceShieldedInstanceConfigArgs.builder()
.enableIntegrityMonitoring(false)
.enableSecureBoot(false)
.enableVtpm(false)
.build())
.tags("string")
.zone("string")
.build());
exampleinstance_resource_resource_from_computeinstance = gcp.compute.Instance("exampleinstanceResourceResourceFromComputeinstance",
boot_disk={
"auto_delete": False,
"device_name": "string",
"disk_encryption_key_raw": "string",
"disk_encryption_key_sha256": "string",
"initialize_params": {
"enable_confidential_compute": False,
"image": "string",
"labels": {
"string": "string",
},
"provisioned_iops": 0,
"provisioned_throughput": 0,
"resource_manager_tags": {
"string": "string",
},
"resource_policies": "string",
"size": 0,
"storage_pool": "string",
"type": "string",
},
"interface": "string",
"kms_key_self_link": "string",
"mode": "string",
"source": "string",
},
network_interfaces=[{
"access_configs": [{
"nat_ip": "string",
"network_tier": "string",
"public_ptr_domain_name": "string",
"security_policy": "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",
"security_policy": "string",
}],
"ipv6_access_type": "string",
"ipv6_address": "string",
"name": "string",
"network": "string",
"network_attachment": "string",
"network_ip": "string",
"nic_type": "string",
"queue_count": 0,
"security_policy": "string",
"stack_type": "string",
"subnetwork": "string",
"subnetwork_project": "string",
}],
machine_type="string",
metadata_startup_script="string",
description="string",
min_cpu_platform="string",
deletion_protection=False,
name="string",
desired_status="string",
enable_display=False,
guest_accelerators=[{
"count": 0,
"type": "string",
}],
hostname="string",
key_revocation_action_type="string",
labels={
"string": "string",
},
allow_stopping_for_update=False,
metadata={
"string": "string",
},
advanced_machine_features={
"enable_nested_virtualization": False,
"threads_per_core": 0,
"turbo_mode": "string",
"visible_core_count": 0,
},
confidential_instance_config={
"confidential_instance_type": "string",
"enable_confidential_compute": False,
},
can_ip_forward=False,
attached_disks=[{
"source": "string",
"device_name": "string",
"disk_encryption_key_raw": "string",
"disk_encryption_key_sha256": "string",
"kms_key_self_link": "string",
"mode": "string",
}],
network_performance_config={
"total_egress_bandwidth_tier": "string",
},
params={
"resource_manager_tags": {
"string": "string",
},
},
partner_metadata={
"string": "string",
},
project="string",
reservation_affinity={
"type": "string",
"specific_reservation": {
"key": "string",
"values": ["string"],
},
},
resource_policies="string",
scheduling={
"automatic_restart": False,
"host_error_timeout_seconds": 0,
"instance_termination_action": "string",
"local_ssd_recovery_timeout": {
"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",
},
scratch_disks=[{
"interface": "string",
"device_name": "string",
"size": 0,
}],
service_account={
"scopes": ["string"],
"email": "string",
},
shielded_instance_config={
"enable_integrity_monitoring": False,
"enable_secure_boot": False,
"enable_vtpm": False,
},
tags=["string"],
zone="string")
const exampleinstanceResourceResourceFromComputeinstance = new gcp.compute.Instance("exampleinstanceResourceResourceFromComputeinstance", {
bootDisk: {
autoDelete: false,
deviceName: "string",
diskEncryptionKeyRaw: "string",
diskEncryptionKeySha256: "string",
initializeParams: {
enableConfidentialCompute: false,
image: "string",
labels: {
string: "string",
},
provisionedIops: 0,
provisionedThroughput: 0,
resourceManagerTags: {
string: "string",
},
resourcePolicies: "string",
size: 0,
storagePool: "string",
type: "string",
},
"interface": "string",
kmsKeySelfLink: "string",
mode: "string",
source: "string",
},
networkInterfaces: [{
accessConfigs: [{
natIp: "string",
networkTier: "string",
publicPtrDomainName: "string",
securityPolicy: "string",
}],
aliasIpRanges: [{
ipCidrRange: "string",
subnetworkRangeName: "string",
}],
internalIpv6PrefixLength: 0,
ipv6AccessConfigs: [{
networkTier: "string",
externalIpv6: "string",
externalIpv6PrefixLength: "string",
name: "string",
publicPtrDomainName: "string",
securityPolicy: "string",
}],
ipv6AccessType: "string",
ipv6Address: "string",
name: "string",
network: "string",
networkAttachment: "string",
networkIp: "string",
nicType: "string",
queueCount: 0,
securityPolicy: "string",
stackType: "string",
subnetwork: "string",
subnetworkProject: "string",
}],
machineType: "string",
metadataStartupScript: "string",
description: "string",
minCpuPlatform: "string",
deletionProtection: false,
name: "string",
desiredStatus: "string",
enableDisplay: false,
guestAccelerators: [{
count: 0,
type: "string",
}],
hostname: "string",
keyRevocationActionType: "string",
labels: {
string: "string",
},
allowStoppingForUpdate: false,
metadata: {
string: "string",
},
advancedMachineFeatures: {
enableNestedVirtualization: false,
threadsPerCore: 0,
turboMode: "string",
visibleCoreCount: 0,
},
confidentialInstanceConfig: {
confidentialInstanceType: "string",
enableConfidentialCompute: false,
},
canIpForward: false,
attachedDisks: [{
source: "string",
deviceName: "string",
diskEncryptionKeyRaw: "string",
diskEncryptionKeySha256: "string",
kmsKeySelfLink: "string",
mode: "string",
}],
networkPerformanceConfig: {
totalEgressBandwidthTier: "string",
},
params: {
resourceManagerTags: {
string: "string",
},
},
partnerMetadata: {
string: "string",
},
project: "string",
reservationAffinity: {
type: "string",
specificReservation: {
key: "string",
values: ["string"],
},
},
resourcePolicies: "string",
scheduling: {
automaticRestart: false,
hostErrorTimeoutSeconds: 0,
instanceTerminationAction: "string",
localSsdRecoveryTimeout: {
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",
},
scratchDisks: [{
"interface": "string",
deviceName: "string",
size: 0,
}],
serviceAccount: {
scopes: ["string"],
email: "string",
},
shieldedInstanceConfig: {
enableIntegrityMonitoring: false,
enableSecureBoot: false,
enableVtpm: false,
},
tags: ["string"],
zone: "string",
});
type: gcp:compute:Instance
properties:
advancedMachineFeatures:
enableNestedVirtualization: false
threadsPerCore: 0
turboMode: string
visibleCoreCount: 0
allowStoppingForUpdate: false
attachedDisks:
- deviceName: string
diskEncryptionKeyRaw: string
diskEncryptionKeySha256: string
kmsKeySelfLink: string
mode: string
source: string
bootDisk:
autoDelete: false
deviceName: string
diskEncryptionKeyRaw: string
diskEncryptionKeySha256: string
initializeParams:
enableConfidentialCompute: false
image: string
labels:
string: string
provisionedIops: 0
provisionedThroughput: 0
resourceManagerTags:
string: string
resourcePolicies: string
size: 0
storagePool: string
type: string
interface: string
kmsKeySelfLink: string
mode: string
source: string
canIpForward: false
confidentialInstanceConfig:
confidentialInstanceType: string
enableConfidentialCompute: false
deletionProtection: false
description: string
desiredStatus: string
enableDisplay: false
guestAccelerators:
- count: 0
type: string
hostname: string
keyRevocationActionType: string
labels:
string: string
machineType: string
metadata:
string: string
metadataStartupScript: string
minCpuPlatform: string
name: string
networkInterfaces:
- accessConfigs:
- natIp: string
networkTier: string
publicPtrDomainName: string
securityPolicy: string
aliasIpRanges:
- ipCidrRange: string
subnetworkRangeName: string
internalIpv6PrefixLength: 0
ipv6AccessConfigs:
- externalIpv6: string
externalIpv6PrefixLength: string
name: string
networkTier: string
publicPtrDomainName: string
securityPolicy: string
ipv6AccessType: string
ipv6Address: string
name: string
network: string
networkAttachment: string
networkIp: string
nicType: string
queueCount: 0
securityPolicy: string
stackType: string
subnetwork: string
subnetworkProject: string
networkPerformanceConfig:
totalEgressBandwidthTier: string
params:
resourceManagerTags:
string: string
partnerMetadata:
string: string
project: string
reservationAffinity:
specificReservation:
key: string
values:
- string
type: string
resourcePolicies: string
scheduling:
automaticRestart: false
hostErrorTimeoutSeconds: 0
instanceTerminationAction: string
localSsdRecoveryTimeout:
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
scratchDisks:
- deviceName: string
interface: string
size: 0
serviceAccount:
email: string
scopes:
- string
shieldedInstanceConfig:
enableIntegrityMonitoring: false
enableSecureBoot: false
enableVtpm: false
tags:
- string
zone: string
Instance 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 Instance resource accepts the following input properties:
- Boot
Disk InstanceBoot Disk - The boot disk for the instance. Structure is documented below.
- Machine
Type string The machine type to create.
Note: If you want to update this value (resize the VM) after initial creation, you must set
allow_stopping_for_update
totrue
.Custom machine types can be formatted as
custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY_MB
, e.g.custom-6-20480
for 6 vCPU and 20GB of RAM. Because of current API limitations some custom machine types may get converted to different machine types (such as an equivalent standard type) and cause non-empty plans in your configuration. Uselifecycle.ignore_changes
onmachine_type
in these cases.There is a limit of 6.5 GB per CPU unless you add extended memory. You must do this explicitly by adding the suffix
-ext
, e.g.custom-2-15360-ext
for 2 vCPU and 15 GB of memory.- Network
Interfaces List<InstanceNetwork Interface> - Networks to attach to the instance. This can
be specified multiple times. Structure is documented below.
- Advanced
Machine InstanceFeatures Advanced Machine Features - Configure Nested Virtualisation and Simultaneous Hyper Threading on this VM. Structure is documented below
- Allow
Stopping boolFor Update - If true, allows this prvider to stop the instance to update its properties. If you try to update a property that requires stopping the instance without setting this field, the update will fail.
- Attached
Disks List<InstanceAttached Disk> - Additional disks to attach to the instance. Can be repeated multiple times for multiple disks. Structure is documented below.
- Can
Ip boolForward - Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false.
- Confidential
Instance InstanceConfig Confidential Instance Config - Enable Confidential Mode on this VM. Structure is documented below
- Deletion
Protection bool - Enable deletion protection on this instance. Defaults to false.
Note: you must disable deletion protection before removing the resource (e.g., via
pulumi destroy
), or the instance cannot be deleted and the provider run will not complete successfully. - Description string
- A brief description of this resource.
- Desired
Status string - Desired status of the instance. Either
"RUNNING"
,"SUSPENDED"
or"TERMINATED"
. - Enable
Display bool - Enable Virtual Displays on this instance.
Note:
allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field. - Guest
Accelerators List<InstanceGuest Accelerator> - List of the type and count of accelerator cards attached to the instance. Structure documented below.
Note: GPU accelerators can only be used with
on_host_maintenance
option set to TERMINATE. - Hostname string
- A custom hostname for the instance. Must be a fully qualified DNS name and RFC-1035-valid.
Valid format is a series of labels 1-63 characters long matching the regular expression
a-z
, concatenated with periods. The entire hostname must not exceed 253 characters. Changing this forces a new resource to be created. - Key
Revocation stringAction Type - Action to be taken when a customer's encryption key is revoked. Supports
STOP
andNONE
, withNONE
being the default. - Labels Dictionary<string, string>
- A map of key/value label pairs to assign to the instance. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
- Metadata Dictionary<string, string>
Metadata key/value pairs to make available from within the instance. Ssh keys attached in the Cloud Console will be removed. Add them to your config in order to keep them attached to your instance. A list of predefined metadata keys (e.g. ssh-keys) can be found here
Depending on the OS you choose for your instance, some metadata keys have special functionality. Most linux-based images will run the content of
metadata.startup-script
in a shell on every boot. At a minimum, Debian, CentOS, RHEL, SLES, Container-Optimized OS, and Ubuntu images support this key. Windows instances require other keys depending on the format of the script and the time you would like it to run - see this table. For the convenience of the users ofmetadata.startup-script
, we provide a special attribute,metadata_startup_script
, which is documented below.- Metadata
Startup stringScript - An alternative to using the
startup-script metadata key, except this one forces the instance to be recreated
(thus re-running the script) if it is changed. This replaces the startup-script
metadata key on the created instance and thus the two mechanisms are not
allowed to be used simultaneously. Users are free to use either mechanism - the
only distinction is that this separate attribute will cause a recreate on
modification. On import,
metadata_startup_script
will not be set - if you choose to specify it you will see a diff immediately after import causing a destroy/recreate operation. If importing an instance and specifying this value is desired, you will need to modify your state file. - Min
Cpu stringPlatform - Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as
Intel Haswell
orIntel Skylake
. See the complete list here. Note:allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field. - Name string
- A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
- Network
Performance InstanceConfig Network Performance Config - (Optional, Beta
Configures network performance settings for the instance. 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. - Params
Instance
Params - Additional instance parameters. .
- Partner
Metadata Dictionary<string, string> - Beta key/value pair represents partner metadata assigned to instance where key represent a defined namespace and value is a json string represent the entries associted with the namespace.
- Project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- Reservation
Affinity InstanceReservation Affinity - Specifies the reservations that this instance can consume from. Structure is documented below.
- Resource
Policies string - 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
Instance
Scheduling - The scheduling strategy to use. More details about this configuration option are detailed below.
- Scratch
Disks List<InstanceScratch Disk> - Scratch disks to attach to the instance. This can be specified multiple times for multiple scratch disks. Structure is documented below.
- Service
Account InstanceService Account - Service account to attach to the instance.
Structure is documented below.
Note:
allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field. - Shielded
Instance InstanceConfig 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. Note:allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field. - List<string>
- A list of network tags to attach to the instance.
- Zone string
- The zone that the machine should be created in. If it is not provided, the provider zone is used.
- Boot
Disk InstanceBoot Disk Args - The boot disk for the instance. Structure is documented below.
- Machine
Type string The machine type to create.
Note: If you want to update this value (resize the VM) after initial creation, you must set
allow_stopping_for_update
totrue
.Custom machine types can be formatted as
custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY_MB
, e.g.custom-6-20480
for 6 vCPU and 20GB of RAM. Because of current API limitations some custom machine types may get converted to different machine types (such as an equivalent standard type) and cause non-empty plans in your configuration. Uselifecycle.ignore_changes
onmachine_type
in these cases.There is a limit of 6.5 GB per CPU unless you add extended memory. You must do this explicitly by adding the suffix
-ext
, e.g.custom-2-15360-ext
for 2 vCPU and 15 GB of memory.- Network
Interfaces []InstanceNetwork Interface Args - Networks to attach to the instance. This can
be specified multiple times. Structure is documented below.
- Advanced
Machine InstanceFeatures Advanced Machine Features Args - Configure Nested Virtualisation and Simultaneous Hyper Threading on this VM. Structure is documented below
- Allow
Stopping boolFor Update - If true, allows this prvider to stop the instance to update its properties. If you try to update a property that requires stopping the instance without setting this field, the update will fail.
- Attached
Disks []InstanceAttached Disk Args - Additional disks to attach to the instance. Can be repeated multiple times for multiple disks. Structure is documented below.
- Can
Ip boolForward - Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false.
- Confidential
Instance InstanceConfig Confidential Instance Config Args - Enable Confidential Mode on this VM. Structure is documented below
- Deletion
Protection bool - Enable deletion protection on this instance. Defaults to false.
Note: you must disable deletion protection before removing the resource (e.g., via
pulumi destroy
), or the instance cannot be deleted and the provider run will not complete successfully. - Description string
- A brief description of this resource.
- Desired
Status string - Desired status of the instance. Either
"RUNNING"
,"SUSPENDED"
or"TERMINATED"
. - Enable
Display bool - Enable Virtual Displays on this instance.
Note:
allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field. - Guest
Accelerators []InstanceGuest Accelerator Args - List of the type and count of accelerator cards attached to the instance. Structure documented below.
Note: GPU accelerators can only be used with
on_host_maintenance
option set to TERMINATE. - Hostname string
- A custom hostname for the instance. Must be a fully qualified DNS name and RFC-1035-valid.
Valid format is a series of labels 1-63 characters long matching the regular expression
a-z
, concatenated with periods. The entire hostname must not exceed 253 characters. Changing this forces a new resource to be created. - Key
Revocation stringAction Type - Action to be taken when a customer's encryption key is revoked. Supports
STOP
andNONE
, withNONE
being the default. - Labels map[string]string
- A map of key/value label pairs to assign to the instance. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
- Metadata map[string]string
Metadata key/value pairs to make available from within the instance. Ssh keys attached in the Cloud Console will be removed. Add them to your config in order to keep them attached to your instance. A list of predefined metadata keys (e.g. ssh-keys) can be found here
Depending on the OS you choose for your instance, some metadata keys have special functionality. Most linux-based images will run the content of
metadata.startup-script
in a shell on every boot. At a minimum, Debian, CentOS, RHEL, SLES, Container-Optimized OS, and Ubuntu images support this key. Windows instances require other keys depending on the format of the script and the time you would like it to run - see this table. For the convenience of the users ofmetadata.startup-script
, we provide a special attribute,metadata_startup_script
, which is documented below.- Metadata
Startup stringScript - An alternative to using the
startup-script metadata key, except this one forces the instance to be recreated
(thus re-running the script) if it is changed. This replaces the startup-script
metadata key on the created instance and thus the two mechanisms are not
allowed to be used simultaneously. Users are free to use either mechanism - the
only distinction is that this separate attribute will cause a recreate on
modification. On import,
metadata_startup_script
will not be set - if you choose to specify it you will see a diff immediately after import causing a destroy/recreate operation. If importing an instance and specifying this value is desired, you will need to modify your state file. - Min
Cpu stringPlatform - Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as
Intel Haswell
orIntel Skylake
. See the complete list here. Note:allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field. - Name string
- A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
- Network
Performance InstanceConfig Network Performance Config Args - (Optional, Beta
Configures network performance settings for the instance. 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. - Params
Instance
Params Args - Additional instance parameters. .
- Partner
Metadata map[string]string - Beta key/value pair represents partner metadata assigned to instance where key represent a defined namespace and value is a json string represent the entries associted with the namespace.
- Project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- Reservation
Affinity InstanceReservation Affinity Args - Specifies the reservations that this instance can consume from. Structure is documented below.
- Resource
Policies string - 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
Instance
Scheduling Args - The scheduling strategy to use. More details about this configuration option are detailed below.
- Scratch
Disks []InstanceScratch Disk Args - Scratch disks to attach to the instance. This can be specified multiple times for multiple scratch disks. Structure is documented below.
- Service
Account InstanceService Account Args - Service account to attach to the instance.
Structure is documented below.
Note:
allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field. - Shielded
Instance InstanceConfig 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. Note:allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field. - []string
- A list of network tags to attach to the instance.
- Zone string
- The zone that the machine should be created in. If it is not provided, the provider zone is used.
- boot
Disk InstanceBoot Disk - The boot disk for the instance. Structure is documented below.
- machine
Type String The machine type to create.
Note: If you want to update this value (resize the VM) after initial creation, you must set
allow_stopping_for_update
totrue
.Custom machine types can be formatted as
custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY_MB
, e.g.custom-6-20480
for 6 vCPU and 20GB of RAM. Because of current API limitations some custom machine types may get converted to different machine types (such as an equivalent standard type) and cause non-empty plans in your configuration. Uselifecycle.ignore_changes
onmachine_type
in these cases.There is a limit of 6.5 GB per CPU unless you add extended memory. You must do this explicitly by adding the suffix
-ext
, e.g.custom-2-15360-ext
for 2 vCPU and 15 GB of memory.- network
Interfaces List<InstanceNetwork Interface> - Networks to attach to the instance. This can
be specified multiple times. Structure is documented below.
- advanced
Machine InstanceFeatures Advanced Machine Features - Configure Nested Virtualisation and Simultaneous Hyper Threading on this VM. Structure is documented below
- allow
Stopping BooleanFor Update - If true, allows this prvider to stop the instance to update its properties. If you try to update a property that requires stopping the instance without setting this field, the update will fail.
- attached
Disks List<InstanceAttached Disk> - Additional disks to attach to the instance. Can be repeated multiple times for multiple disks. Structure is documented below.
- can
Ip BooleanForward - Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false.
- confidential
Instance InstanceConfig Confidential Instance Config - Enable Confidential Mode on this VM. Structure is documented below
- deletion
Protection Boolean - Enable deletion protection on this instance. Defaults to false.
Note: you must disable deletion protection before removing the resource (e.g., via
pulumi destroy
), or the instance cannot be deleted and the provider run will not complete successfully. - description String
- A brief description of this resource.
- desired
Status String - Desired status of the instance. Either
"RUNNING"
,"SUSPENDED"
or"TERMINATED"
. - enable
Display Boolean - Enable Virtual Displays on this instance.
Note:
allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field. - guest
Accelerators List<InstanceGuest Accelerator> - List of the type and count of accelerator cards attached to the instance. Structure documented below.
Note: GPU accelerators can only be used with
on_host_maintenance
option set to TERMINATE. - hostname String
- A custom hostname for the instance. Must be a fully qualified DNS name and RFC-1035-valid.
Valid format is a series of labels 1-63 characters long matching the regular expression
a-z
, concatenated with periods. The entire hostname must not exceed 253 characters. Changing this forces a new resource to be created. - key
Revocation StringAction Type - Action to be taken when a customer's encryption key is revoked. Supports
STOP
andNONE
, withNONE
being the default. - labels Map<String,String>
- A map of key/value label pairs to assign to the instance. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
- metadata Map<String,String>
Metadata key/value pairs to make available from within the instance. Ssh keys attached in the Cloud Console will be removed. Add them to your config in order to keep them attached to your instance. A list of predefined metadata keys (e.g. ssh-keys) can be found here
Depending on the OS you choose for your instance, some metadata keys have special functionality. Most linux-based images will run the content of
metadata.startup-script
in a shell on every boot. At a minimum, Debian, CentOS, RHEL, SLES, Container-Optimized OS, and Ubuntu images support this key. Windows instances require other keys depending on the format of the script and the time you would like it to run - see this table. For the convenience of the users ofmetadata.startup-script
, we provide a special attribute,metadata_startup_script
, which is documented below.- metadata
Startup StringScript - An alternative to using the
startup-script metadata key, except this one forces the instance to be recreated
(thus re-running the script) if it is changed. This replaces the startup-script
metadata key on the created instance and thus the two mechanisms are not
allowed to be used simultaneously. Users are free to use either mechanism - the
only distinction is that this separate attribute will cause a recreate on
modification. On import,
metadata_startup_script
will not be set - if you choose to specify it you will see a diff immediately after import causing a destroy/recreate operation. If importing an instance and specifying this value is desired, you will need to modify your state file. - min
Cpu StringPlatform - Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as
Intel Haswell
orIntel Skylake
. See the complete list here. Note:allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field. - name String
- A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
- network
Performance InstanceConfig Network Performance Config - (Optional, Beta
Configures network performance settings for the instance. 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. - params
Instance
Params - Additional instance parameters. .
- partner
Metadata Map<String,String> - Beta key/value pair represents partner metadata assigned to instance where key represent a defined namespace and value is a json string represent the entries associted with the namespace.
- project String
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- reservation
Affinity InstanceReservation Affinity - Specifies the reservations that this instance can consume from. Structure is documented below.
- resource
Policies String - 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
Instance
Scheduling - The scheduling strategy to use. More details about this configuration option are detailed below.
- scratch
Disks List<InstanceScratch Disk> - Scratch disks to attach to the instance. This can be specified multiple times for multiple scratch disks. Structure is documented below.
- service
Account InstanceService Account - Service account to attach to the instance.
Structure is documented below.
Note:
allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field. - shielded
Instance InstanceConfig 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. Note:allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field. - List<String>
- A list of network tags to attach to the instance.
- zone String
- The zone that the machine should be created in. If it is not provided, the provider zone is used.
- boot
Disk InstanceBoot Disk - The boot disk for the instance. Structure is documented below.
- machine
Type string The machine type to create.
Note: If you want to update this value (resize the VM) after initial creation, you must set
allow_stopping_for_update
totrue
.Custom machine types can be formatted as
custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY_MB
, e.g.custom-6-20480
for 6 vCPU and 20GB of RAM. Because of current API limitations some custom machine types may get converted to different machine types (such as an equivalent standard type) and cause non-empty plans in your configuration. Uselifecycle.ignore_changes
onmachine_type
in these cases.There is a limit of 6.5 GB per CPU unless you add extended memory. You must do this explicitly by adding the suffix
-ext
, e.g.custom-2-15360-ext
for 2 vCPU and 15 GB of memory.- network
Interfaces InstanceNetwork Interface[] - Networks to attach to the instance. This can
be specified multiple times. Structure is documented below.
- advanced
Machine InstanceFeatures Advanced Machine Features - Configure Nested Virtualisation and Simultaneous Hyper Threading on this VM. Structure is documented below
- allow
Stopping booleanFor Update - If true, allows this prvider to stop the instance to update its properties. If you try to update a property that requires stopping the instance without setting this field, the update will fail.
- attached
Disks InstanceAttached Disk[] - Additional disks to attach to the instance. Can be repeated multiple times for multiple disks. Structure is documented below.
- can
Ip booleanForward - Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false.
- confidential
Instance InstanceConfig Confidential Instance Config - Enable Confidential Mode on this VM. Structure is documented below
- deletion
Protection boolean - Enable deletion protection on this instance. Defaults to false.
Note: you must disable deletion protection before removing the resource (e.g., via
pulumi destroy
), or the instance cannot be deleted and the provider run will not complete successfully. - description string
- A brief description of this resource.
- desired
Status string - Desired status of the instance. Either
"RUNNING"
,"SUSPENDED"
or"TERMINATED"
. - enable
Display boolean - Enable Virtual Displays on this instance.
Note:
allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field. - guest
Accelerators InstanceGuest Accelerator[] - List of the type and count of accelerator cards attached to the instance. Structure documented below.
Note: GPU accelerators can only be used with
on_host_maintenance
option set to TERMINATE. - hostname string
- A custom hostname for the instance. Must be a fully qualified DNS name and RFC-1035-valid.
Valid format is a series of labels 1-63 characters long matching the regular expression
a-z
, concatenated with periods. The entire hostname must not exceed 253 characters. Changing this forces a new resource to be created. - key
Revocation stringAction Type - Action to be taken when a customer's encryption key is revoked. Supports
STOP
andNONE
, withNONE
being the default. - labels {[key: string]: string}
- A map of key/value label pairs to assign to the instance. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
- metadata {[key: string]: string}
Metadata key/value pairs to make available from within the instance. Ssh keys attached in the Cloud Console will be removed. Add them to your config in order to keep them attached to your instance. A list of predefined metadata keys (e.g. ssh-keys) can be found here
Depending on the OS you choose for your instance, some metadata keys have special functionality. Most linux-based images will run the content of
metadata.startup-script
in a shell on every boot. At a minimum, Debian, CentOS, RHEL, SLES, Container-Optimized OS, and Ubuntu images support this key. Windows instances require other keys depending on the format of the script and the time you would like it to run - see this table. For the convenience of the users ofmetadata.startup-script
, we provide a special attribute,metadata_startup_script
, which is documented below.- metadata
Startup stringScript - An alternative to using the
startup-script metadata key, except this one forces the instance to be recreated
(thus re-running the script) if it is changed. This replaces the startup-script
metadata key on the created instance and thus the two mechanisms are not
allowed to be used simultaneously. Users are free to use either mechanism - the
only distinction is that this separate attribute will cause a recreate on
modification. On import,
metadata_startup_script
will not be set - if you choose to specify it you will see a diff immediately after import causing a destroy/recreate operation. If importing an instance and specifying this value is desired, you will need to modify your state file. - min
Cpu stringPlatform - Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as
Intel Haswell
orIntel Skylake
. See the complete list here. Note:allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field. - name string
- A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
- network
Performance InstanceConfig Network Performance Config - (Optional, Beta
Configures network performance settings for the instance. 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. - params
Instance
Params - Additional instance parameters. .
- partner
Metadata {[key: string]: string} - Beta key/value pair represents partner metadata assigned to instance where key represent a defined namespace and value is a json string represent the entries associted with the namespace.
- project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- reservation
Affinity InstanceReservation Affinity - Specifies the reservations that this instance can consume from. Structure is documented below.
- resource
Policies string - 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
Instance
Scheduling - The scheduling strategy to use. More details about this configuration option are detailed below.
- scratch
Disks InstanceScratch Disk[] - Scratch disks to attach to the instance. This can be specified multiple times for multiple scratch disks. Structure is documented below.
- service
Account InstanceService Account - Service account to attach to the instance.
Structure is documented below.
Note:
allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field. - shielded
Instance InstanceConfig 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. Note:allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field. - string[]
- A list of network tags to attach to the instance.
- zone string
- The zone that the machine should be created in. If it is not provided, the provider zone is used.
- boot_
disk InstanceBoot Disk Args - The boot disk for the instance. Structure is documented below.
- machine_
type str The machine type to create.
Note: If you want to update this value (resize the VM) after initial creation, you must set
allow_stopping_for_update
totrue
.Custom machine types can be formatted as
custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY_MB
, e.g.custom-6-20480
for 6 vCPU and 20GB of RAM. Because of current API limitations some custom machine types may get converted to different machine types (such as an equivalent standard type) and cause non-empty plans in your configuration. Uselifecycle.ignore_changes
onmachine_type
in these cases.There is a limit of 6.5 GB per CPU unless you add extended memory. You must do this explicitly by adding the suffix
-ext
, e.g.custom-2-15360-ext
for 2 vCPU and 15 GB of memory.- network_
interfaces Sequence[InstanceNetwork Interface Args] - Networks to attach to the instance. This can
be specified multiple times. Structure is documented below.
- advanced_
machine_ Instancefeatures Advanced Machine Features Args - Configure Nested Virtualisation and Simultaneous Hyper Threading on this VM. Structure is documented below
- allow_
stopping_ boolfor_ update - If true, allows this prvider to stop the instance to update its properties. If you try to update a property that requires stopping the instance without setting this field, the update will fail.
- attached_
disks Sequence[InstanceAttached Disk Args] - Additional disks to attach to the instance. Can be repeated multiple times for multiple disks. Structure is documented below.
- can_
ip_ boolforward - Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false.
- confidential_
instance_ Instanceconfig Confidential Instance Config Args - Enable Confidential Mode on this VM. Structure is documented below
- deletion_
protection bool - Enable deletion protection on this instance. Defaults to false.
Note: you must disable deletion protection before removing the resource (e.g., via
pulumi destroy
), or the instance cannot be deleted and the provider run will not complete successfully. - description str
- A brief description of this resource.
- desired_
status str - Desired status of the instance. Either
"RUNNING"
,"SUSPENDED"
or"TERMINATED"
. - enable_
display bool - Enable Virtual Displays on this instance.
Note:
allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field. - guest_
accelerators Sequence[InstanceGuest Accelerator Args] - List of the type and count of accelerator cards attached to the instance. Structure documented below.
Note: GPU accelerators can only be used with
on_host_maintenance
option set to TERMINATE. - hostname str
- A custom hostname for the instance. Must be a fully qualified DNS name and RFC-1035-valid.
Valid format is a series of labels 1-63 characters long matching the regular expression
a-z
, concatenated with periods. The entire hostname must not exceed 253 characters. Changing this forces a new resource to be created. - key_
revocation_ straction_ type - Action to be taken when a customer's encryption key is revoked. Supports
STOP
andNONE
, withNONE
being the default. - labels Mapping[str, str]
- A map of key/value label pairs to assign to the instance. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
- metadata Mapping[str, str]
Metadata key/value pairs to make available from within the instance. Ssh keys attached in the Cloud Console will be removed. Add them to your config in order to keep them attached to your instance. A list of predefined metadata keys (e.g. ssh-keys) can be found here
Depending on the OS you choose for your instance, some metadata keys have special functionality. Most linux-based images will run the content of
metadata.startup-script
in a shell on every boot. At a minimum, Debian, CentOS, RHEL, SLES, Container-Optimized OS, and Ubuntu images support this key. Windows instances require other keys depending on the format of the script and the time you would like it to run - see this table. For the convenience of the users ofmetadata.startup-script
, we provide a special attribute,metadata_startup_script
, which is documented below.- metadata_
startup_ strscript - An alternative to using the
startup-script metadata key, except this one forces the instance to be recreated
(thus re-running the script) if it is changed. This replaces the startup-script
metadata key on the created instance and thus the two mechanisms are not
allowed to be used simultaneously. Users are free to use either mechanism - the
only distinction is that this separate attribute will cause a recreate on
modification. On import,
metadata_startup_script
will not be set - if you choose to specify it you will see a diff immediately after import causing a destroy/recreate operation. If importing an instance and specifying this value is desired, you will need to modify your state file. - min_
cpu_ strplatform - Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as
Intel Haswell
orIntel Skylake
. See the complete list here. Note:allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field. - name str
- A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
- network_
performance_ Instanceconfig Network Performance Config Args - (Optional, Beta
Configures network performance settings for the instance. 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. - params
Instance
Params Args - Additional instance parameters. .
- partner_
metadata Mapping[str, str] - Beta key/value pair represents partner metadata assigned to instance where key represent a defined namespace and value is a json string represent the entries associted with the namespace.
- project str
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- reservation_
affinity InstanceReservation Affinity Args - Specifies the reservations that this instance can consume from. Structure is documented below.
- resource_
policies str - 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
Instance
Scheduling Args - The scheduling strategy to use. More details about this configuration option are detailed below.
- scratch_
disks Sequence[InstanceScratch Disk Args] - Scratch disks to attach to the instance. This can be specified multiple times for multiple scratch disks. Structure is documented below.
- service_
account InstanceService Account Args - Service account to attach to the instance.
Structure is documented below.
Note:
allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field. - shielded_
instance_ Instanceconfig 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. Note:allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field. - Sequence[str]
- A list of network tags to attach to the instance.
- zone str
- The zone that the machine should be created in. If it is not provided, the provider zone is used.
- boot
Disk Property Map - The boot disk for the instance. Structure is documented below.
- machine
Type String The machine type to create.
Note: If you want to update this value (resize the VM) after initial creation, you must set
allow_stopping_for_update
totrue
.Custom machine types can be formatted as
custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY_MB
, e.g.custom-6-20480
for 6 vCPU and 20GB of RAM. Because of current API limitations some custom machine types may get converted to different machine types (such as an equivalent standard type) and cause non-empty plans in your configuration. Uselifecycle.ignore_changes
onmachine_type
in these cases.There is a limit of 6.5 GB per CPU unless you add extended memory. You must do this explicitly by adding the suffix
-ext
, e.g.custom-2-15360-ext
for 2 vCPU and 15 GB of memory.- network
Interfaces List<Property Map> - Networks to attach to the instance. This can
be specified multiple times. Structure is documented below.
- advanced
Machine Property MapFeatures - Configure Nested Virtualisation and Simultaneous Hyper Threading on this VM. Structure is documented below
- allow
Stopping BooleanFor Update - If true, allows this prvider to stop the instance to update its properties. If you try to update a property that requires stopping the instance without setting this field, the update will fail.
- attached
Disks List<Property Map> - Additional disks to attach to the instance. Can be repeated multiple times for multiple disks. Structure is documented below.
- can
Ip BooleanForward - Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false.
- confidential
Instance Property MapConfig - Enable Confidential Mode on this VM. Structure is documented below
- deletion
Protection Boolean - Enable deletion protection on this instance. Defaults to false.
Note: you must disable deletion protection before removing the resource (e.g., via
pulumi destroy
), or the instance cannot be deleted and the provider run will not complete successfully. - description String
- A brief description of this resource.
- desired
Status String - Desired status of the instance. Either
"RUNNING"
,"SUSPENDED"
or"TERMINATED"
. - enable
Display Boolean - Enable Virtual Displays on this instance.
Note:
allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field. - guest
Accelerators List<Property Map> - List of the type and count of accelerator cards attached to the instance. Structure documented below.
Note: GPU accelerators can only be used with
on_host_maintenance
option set to TERMINATE. - hostname String
- A custom hostname for the instance. Must be a fully qualified DNS name and RFC-1035-valid.
Valid format is a series of labels 1-63 characters long matching the regular expression
a-z
, concatenated with periods. The entire hostname must not exceed 253 characters. Changing this forces a new resource to be created. - key
Revocation StringAction Type - Action to be taken when a customer's encryption key is revoked. Supports
STOP
andNONE
, withNONE
being the default. - labels Map<String>
- A map of key/value label pairs to assign to the instance. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
- metadata Map<String>
Metadata key/value pairs to make available from within the instance. Ssh keys attached in the Cloud Console will be removed. Add them to your config in order to keep them attached to your instance. A list of predefined metadata keys (e.g. ssh-keys) can be found here
Depending on the OS you choose for your instance, some metadata keys have special functionality. Most linux-based images will run the content of
metadata.startup-script
in a shell on every boot. At a minimum, Debian, CentOS, RHEL, SLES, Container-Optimized OS, and Ubuntu images support this key. Windows instances require other keys depending on the format of the script and the time you would like it to run - see this table. For the convenience of the users ofmetadata.startup-script
, we provide a special attribute,metadata_startup_script
, which is documented below.- metadata
Startup StringScript - An alternative to using the
startup-script metadata key, except this one forces the instance to be recreated
(thus re-running the script) if it is changed. This replaces the startup-script
metadata key on the created instance and thus the two mechanisms are not
allowed to be used simultaneously. Users are free to use either mechanism - the
only distinction is that this separate attribute will cause a recreate on
modification. On import,
metadata_startup_script
will not be set - if you choose to specify it you will see a diff immediately after import causing a destroy/recreate operation. If importing an instance and specifying this value is desired, you will need to modify your state file. - min
Cpu StringPlatform - Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as
Intel Haswell
orIntel Skylake
. See the complete list here. Note:allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field. - name String
- A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
- network
Performance Property MapConfig - (Optional, Beta
Configures network performance settings for the instance. 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. - params Property Map
- Additional instance parameters. .
- partner
Metadata Map<String> - Beta key/value pair represents partner metadata assigned to instance where key represent a defined namespace and value is a json string represent the entries associted with the namespace.
- project String
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- reservation
Affinity Property Map - Specifies the reservations that this instance can consume from. Structure is documented below.
- resource
Policies String - 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 Property Map
- The scheduling strategy to use. More details about this configuration option are detailed below.
- scratch
Disks List<Property Map> - Scratch disks to attach to the instance. This can be specified multiple times for multiple scratch disks. Structure is documented below.
- service
Account Property Map - Service account to attach to the instance.
Structure is documented below.
Note:
allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field. - shielded
Instance Property MapConfig - 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. Note:allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field. - List<String>
- A list of network tags to attach to the instance.
- zone String
- The zone that the machine should be created in. If it is not provided, the provider zone is used.
Outputs
All input properties are implicitly available as output properties. Additionally, the Instance resource produces the following output properties:
- Cpu
Platform string - The CPU platform used by this instance.
- Creation
Timestamp string - Creation timestamp in RFC3339 text format.
- Current
Status string - The current status of the instance. This could be one of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED. For more information about the status of the instance, see Instance life cycle.
- 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.
- Instance
Id string - The server-assigned unique identifier of this instance.
- Label
Fingerprint string - The unique fingerprint of the labels.
- 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.
- string
- The unique fingerprint of the tags.
- Cpu
Platform string - The CPU platform used by this instance.
- Creation
Timestamp string - Creation timestamp in RFC3339 text format.
- Current
Status string - The current status of the instance. This could be one of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED. For more information about the status of the instance, see Instance life cycle.
- 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.
- Instance
Id string - The server-assigned unique identifier of this instance.
- Label
Fingerprint string - The unique fingerprint of the labels.
- 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.
- string
- The unique fingerprint of the tags.
- cpu
Platform String - The CPU platform used by this instance.
- creation
Timestamp String - Creation timestamp in RFC3339 text format.
- current
Status String - The current status of the instance. This could be one of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED. For more information about the status of the instance, see Instance life cycle.
- 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.
- instance
Id String - The server-assigned unique identifier of this instance.
- label
Fingerprint String - The unique fingerprint of the labels.
- 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.
- String
- The unique fingerprint of the tags.
- cpu
Platform string - The CPU platform used by this instance.
- creation
Timestamp string - Creation timestamp in RFC3339 text format.
- current
Status string - The current status of the instance. This could be one of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED. For more information about the status of the instance, see Instance life cycle.
- 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.
- instance
Id string - The server-assigned unique identifier of this instance.
- label
Fingerprint string - The unique fingerprint of the labels.
- 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.
- string
- The unique fingerprint of the tags.
- cpu_
platform str - The CPU platform used by this instance.
- creation_
timestamp str - Creation timestamp in RFC3339 text format.
- current_
status str - The current status of the instance. This could be one of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED. For more information about the status of the instance, see Instance life cycle.
- 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.
- instance_
id str - The server-assigned unique identifier of this instance.
- label_
fingerprint str - The unique fingerprint of the labels.
- 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.
- str
- The unique fingerprint of the tags.
- cpu
Platform String - The CPU platform used by this instance.
- creation
Timestamp String - Creation timestamp in RFC3339 text format.
- current
Status String - The current status of the instance. This could be one of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED. For more information about the status of the instance, see Instance life cycle.
- 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.
- instance
Id String - The server-assigned unique identifier of this instance.
- label
Fingerprint String - The unique fingerprint of the labels.
- 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.
- String
- The unique fingerprint of the tags.
Look up Existing Instance Resource
Get an existing Instance 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?: InstanceState, opts?: CustomResourceOptions): Instance
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
advanced_machine_features: Optional[InstanceAdvancedMachineFeaturesArgs] = None,
allow_stopping_for_update: Optional[bool] = None,
attached_disks: Optional[Sequence[InstanceAttachedDiskArgs]] = None,
boot_disk: Optional[InstanceBootDiskArgs] = None,
can_ip_forward: Optional[bool] = None,
confidential_instance_config: Optional[InstanceConfidentialInstanceConfigArgs] = None,
cpu_platform: Optional[str] = None,
creation_timestamp: Optional[str] = None,
current_status: Optional[str] = None,
deletion_protection: Optional[bool] = None,
description: Optional[str] = None,
desired_status: Optional[str] = None,
effective_labels: Optional[Mapping[str, str]] = None,
enable_display: Optional[bool] = None,
guest_accelerators: Optional[Sequence[InstanceGuestAcceleratorArgs]] = None,
hostname: Optional[str] = None,
instance_id: Optional[str] = None,
key_revocation_action_type: Optional[str] = None,
label_fingerprint: 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,
network_interfaces: Optional[Sequence[InstanceNetworkInterfaceArgs]] = None,
network_performance_config: Optional[InstanceNetworkPerformanceConfigArgs] = None,
params: Optional[InstanceParamsArgs] = None,
partner_metadata: Optional[Mapping[str, str]] = None,
project: Optional[str] = None,
pulumi_labels: Optional[Mapping[str, str]] = None,
reservation_affinity: Optional[InstanceReservationAffinityArgs] = None,
resource_policies: Optional[str] = None,
scheduling: Optional[InstanceSchedulingArgs] = None,
scratch_disks: Optional[Sequence[InstanceScratchDiskArgs]] = None,
self_link: Optional[str] = None,
service_account: Optional[InstanceServiceAccountArgs] = None,
shielded_instance_config: Optional[InstanceShieldedInstanceConfigArgs] = None,
tags: Optional[Sequence[str]] = None,
tags_fingerprint: Optional[str] = None,
zone: Optional[str] = None) -> Instance
func GetInstance(ctx *Context, name string, id IDInput, state *InstanceState, opts ...ResourceOption) (*Instance, error)
public static Instance Get(string name, Input<string> id, InstanceState? state, CustomResourceOptions? opts = null)
public static Instance get(String name, Output<String> id, InstanceState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
- name
- The unique name of the resulting resource.
- id
- 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
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- 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
- The unique name of the resulting resource.
- id
- 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
- The unique name of the resulting resource.
- id
- 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 InstanceFeatures Advanced Machine Features - Configure Nested Virtualisation and Simultaneous Hyper Threading on this VM. Structure is documented below
- Allow
Stopping boolFor Update - If true, allows this prvider to stop the instance to update its properties. If you try to update a property that requires stopping the instance without setting this field, the update will fail.
- Attached
Disks List<InstanceAttached Disk> - Additional disks to attach to the instance. Can be repeated multiple times for multiple disks. Structure is documented below.
- Boot
Disk InstanceBoot Disk - The boot disk for the instance. Structure is documented below.
- Can
Ip boolForward - Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false.
- Confidential
Instance InstanceConfig Confidential Instance Config - Enable Confidential Mode on this VM. Structure is documented below
- Cpu
Platform string - The CPU platform used by this instance.
- Creation
Timestamp string - Creation timestamp in RFC3339 text format.
- Current
Status string - The current status of the instance. This could be one of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED. For more information about the status of the instance, see Instance life cycle.
- Deletion
Protection bool - Enable deletion protection on this instance. Defaults to false.
Note: you must disable deletion protection before removing the resource (e.g., via
pulumi destroy
), or the instance cannot be deleted and the provider run will not complete successfully. - Description string
- A brief description of this resource.
- Desired
Status string - Desired status of the instance. Either
"RUNNING"
,"SUSPENDED"
or"TERMINATED"
. - 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.
- Enable
Display bool - Enable Virtual Displays on this instance.
Note:
allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field. - Guest
Accelerators List<InstanceGuest Accelerator> - List of the type and count of accelerator cards attached to the instance. Structure documented below.
Note: GPU accelerators can only be used with
on_host_maintenance
option set to TERMINATE. - Hostname string
- A custom hostname for the instance. Must be a fully qualified DNS name and RFC-1035-valid.
Valid format is a series of labels 1-63 characters long matching the regular expression
a-z
, concatenated with periods. The entire hostname must not exceed 253 characters. Changing this forces a new resource to be created. - Instance
Id string - The server-assigned unique identifier of this instance.
- Key
Revocation stringAction Type - Action to be taken when a customer's encryption key is revoked. Supports
STOP
andNONE
, withNONE
being the default. - Label
Fingerprint string - The unique fingerprint of the labels.
- Labels Dictionary<string, string>
- A map of key/value label pairs to assign to the instance. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
- Machine
Type string The machine type to create.
Note: If you want to update this value (resize the VM) after initial creation, you must set
allow_stopping_for_update
totrue
.Custom machine types can be formatted as
custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY_MB
, e.g.custom-6-20480
for 6 vCPU and 20GB of RAM. Because of current API limitations some custom machine types may get converted to different machine types (such as an equivalent standard type) and cause non-empty plans in your configuration. Uselifecycle.ignore_changes
onmachine_type
in these cases.There is a limit of 6.5 GB per CPU unless you add extended memory. You must do this explicitly by adding the suffix
-ext
, e.g.custom-2-15360-ext
for 2 vCPU and 15 GB of memory.- Metadata Dictionary<string, string>
Metadata key/value pairs to make available from within the instance. Ssh keys attached in the Cloud Console will be removed. Add them to your config in order to keep them attached to your instance. A list of predefined metadata keys (e.g. ssh-keys) can be found here
Depending on the OS you choose for your instance, some metadata keys have special functionality. Most linux-based images will run the content of
metadata.startup-script
in a shell on every boot. At a minimum, Debian, CentOS, RHEL, SLES, Container-Optimized OS, and Ubuntu images support this key. Windows instances require other keys depending on the format of the script and the time you would like it to run - see this table. For the convenience of the users ofmetadata.startup-script
, we provide a special attribute,metadata_startup_script
, which is documented below.- Metadata
Fingerprint string - The unique fingerprint of the metadata.
- Metadata
Startup stringScript - An alternative to using the
startup-script metadata key, except this one forces the instance to be recreated
(thus re-running the script) if it is changed. This replaces the startup-script
metadata key on the created instance and thus the two mechanisms are not
allowed to be used simultaneously. Users are free to use either mechanism - the
only distinction is that this separate attribute will cause a recreate on
modification. On import,
metadata_startup_script
will not be set - if you choose to specify it you will see a diff immediately after import causing a destroy/recreate operation. If importing an instance and specifying this value is desired, you will need to modify your state file. - Min
Cpu stringPlatform - Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as
Intel Haswell
orIntel Skylake
. See the complete list here. Note:allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field. - Name string
- A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
- Network
Interfaces List<InstanceNetwork Interface> - Networks to attach to the instance. This can
be specified multiple times. Structure is documented below.
- Network
Performance InstanceConfig Network Performance Config - (Optional, Beta
Configures network performance settings for the instance. 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. - Params
Instance
Params - Additional instance parameters. .
- Partner
Metadata Dictionary<string, string> - Beta key/value pair represents partner metadata assigned to instance where key represent a defined namespace and value is a json string represent the entries associted with the namespace.
- Project string
- 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.
- Reservation
Affinity InstanceReservation Affinity - Specifies the reservations that this instance can consume from. Structure is documented below.
- Resource
Policies string - 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
Instance
Scheduling - The scheduling strategy to use. More details about this configuration option are detailed below.
- Scratch
Disks List<InstanceScratch Disk> - Scratch disks to attach to the instance. This can be specified multiple times for multiple scratch disks. Structure is documented below.
- Self
Link string - The URI of the created resource.
- Service
Account InstanceService Account - Service account to attach to the instance.
Structure is documented below.
Note:
allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field. - Shielded
Instance InstanceConfig 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. Note:allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field. - List<string>
- A list of network tags to attach to the instance.
- string
- The unique fingerprint of the tags.
- Zone string
- The zone that the machine should be created in. If it is not provided, the provider zone is used.
- Advanced
Machine InstanceFeatures Advanced Machine Features Args - Configure Nested Virtualisation and Simultaneous Hyper Threading on this VM. Structure is documented below
- Allow
Stopping boolFor Update - If true, allows this prvider to stop the instance to update its properties. If you try to update a property that requires stopping the instance without setting this field, the update will fail.
- Attached
Disks []InstanceAttached Disk Args - Additional disks to attach to the instance. Can be repeated multiple times for multiple disks. Structure is documented below.
- Boot
Disk InstanceBoot Disk Args - The boot disk for the instance. Structure is documented below.
- Can
Ip boolForward - Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false.
- Confidential
Instance InstanceConfig Confidential Instance Config Args - Enable Confidential Mode on this VM. Structure is documented below
- Cpu
Platform string - The CPU platform used by this instance.
- Creation
Timestamp string - Creation timestamp in RFC3339 text format.
- Current
Status string - The current status of the instance. This could be one of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED. For more information about the status of the instance, see Instance life cycle.
- Deletion
Protection bool - Enable deletion protection on this instance. Defaults to false.
Note: you must disable deletion protection before removing the resource (e.g., via
pulumi destroy
), or the instance cannot be deleted and the provider run will not complete successfully. - Description string
- A brief description of this resource.
- Desired
Status string - Desired status of the instance. Either
"RUNNING"
,"SUSPENDED"
or"TERMINATED"
. - 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.
- Enable
Display bool - Enable Virtual Displays on this instance.
Note:
allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field. - Guest
Accelerators []InstanceGuest Accelerator Args - List of the type and count of accelerator cards attached to the instance. Structure documented below.
Note: GPU accelerators can only be used with
on_host_maintenance
option set to TERMINATE. - Hostname string
- A custom hostname for the instance. Must be a fully qualified DNS name and RFC-1035-valid.
Valid format is a series of labels 1-63 characters long matching the regular expression
a-z
, concatenated with periods. The entire hostname must not exceed 253 characters. Changing this forces a new resource to be created. - Instance
Id string - The server-assigned unique identifier of this instance.
- Key
Revocation stringAction Type - Action to be taken when a customer's encryption key is revoked. Supports
STOP
andNONE
, withNONE
being the default. - Label
Fingerprint string - The unique fingerprint of the labels.
- Labels map[string]string
- A map of key/value label pairs to assign to the instance. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
- Machine
Type string The machine type to create.
Note: If you want to update this value (resize the VM) after initial creation, you must set
allow_stopping_for_update
totrue
.Custom machine types can be formatted as
custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY_MB
, e.g.custom-6-20480
for 6 vCPU and 20GB of RAM. Because of current API limitations some custom machine types may get converted to different machine types (such as an equivalent standard type) and cause non-empty plans in your configuration. Uselifecycle.ignore_changes
onmachine_type
in these cases.There is a limit of 6.5 GB per CPU unless you add extended memory. You must do this explicitly by adding the suffix
-ext
, e.g.custom-2-15360-ext
for 2 vCPU and 15 GB of memory.- Metadata map[string]string
Metadata key/value pairs to make available from within the instance. Ssh keys attached in the Cloud Console will be removed. Add them to your config in order to keep them attached to your instance. A list of predefined metadata keys (e.g. ssh-keys) can be found here
Depending on the OS you choose for your instance, some metadata keys have special functionality. Most linux-based images will run the content of
metadata.startup-script
in a shell on every boot. At a minimum, Debian, CentOS, RHEL, SLES, Container-Optimized OS, and Ubuntu images support this key. Windows instances require other keys depending on the format of the script and the time you would like it to run - see this table. For the convenience of the users ofmetadata.startup-script
, we provide a special attribute,metadata_startup_script
, which is documented below.- Metadata
Fingerprint string - The unique fingerprint of the metadata.
- Metadata
Startup stringScript - An alternative to using the
startup-script metadata key, except this one forces the instance to be recreated
(thus re-running the script) if it is changed. This replaces the startup-script
metadata key on the created instance and thus the two mechanisms are not
allowed to be used simultaneously. Users are free to use either mechanism - the
only distinction is that this separate attribute will cause a recreate on
modification. On import,
metadata_startup_script
will not be set - if you choose to specify it you will see a diff immediately after import causing a destroy/recreate operation. If importing an instance and specifying this value is desired, you will need to modify your state file. - Min
Cpu stringPlatform - Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as
Intel Haswell
orIntel Skylake
. See the complete list here. Note:allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field. - Name string
- A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
- Network
Interfaces []InstanceNetwork Interface Args - Networks to attach to the instance. This can
be specified multiple times. Structure is documented below.
- Network
Performance InstanceConfig Network Performance Config Args - (Optional, Beta
Configures network performance settings for the instance. 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. - Params
Instance
Params Args - Additional instance parameters. .
- Partner
Metadata map[string]string - Beta key/value pair represents partner metadata assigned to instance where key represent a defined namespace and value is a json string represent the entries associted with the namespace.
- Project string
- 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.
- Reservation
Affinity InstanceReservation Affinity Args - Specifies the reservations that this instance can consume from. Structure is documented below.
- Resource
Policies string - 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
Instance
Scheduling Args - The scheduling strategy to use. More details about this configuration option are detailed below.
- Scratch
Disks []InstanceScratch Disk Args - Scratch disks to attach to the instance. This can be specified multiple times for multiple scratch disks. Structure is documented below.
- Self
Link string - The URI of the created resource.
- Service
Account InstanceService Account Args - Service account to attach to the instance.
Structure is documented below.
Note:
allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field. - Shielded
Instance InstanceConfig 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. Note:allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field. - []string
- A list of network tags to attach to the instance.
- string
- The unique fingerprint of the tags.
- Zone string
- The zone that the machine should be created in. If it is not provided, the provider zone is used.
- advanced
Machine InstanceFeatures Advanced Machine Features - Configure Nested Virtualisation and Simultaneous Hyper Threading on this VM. Structure is documented below
- allow
Stopping BooleanFor Update - If true, allows this prvider to stop the instance to update its properties. If you try to update a property that requires stopping the instance without setting this field, the update will fail.
- attached
Disks List<InstanceAttached Disk> - Additional disks to attach to the instance. Can be repeated multiple times for multiple disks. Structure is documented below.
- boot
Disk InstanceBoot Disk - The boot disk for the instance. Structure is documented below.
- can
Ip BooleanForward - Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false.
- confidential
Instance InstanceConfig Confidential Instance Config - Enable Confidential Mode on this VM. Structure is documented below
- cpu
Platform String - The CPU platform used by this instance.
- creation
Timestamp String - Creation timestamp in RFC3339 text format.
- current
Status String - The current status of the instance. This could be one of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED. For more information about the status of the instance, see Instance life cycle.
- deletion
Protection Boolean - Enable deletion protection on this instance. Defaults to false.
Note: you must disable deletion protection before removing the resource (e.g., via
pulumi destroy
), or the instance cannot be deleted and the provider run will not complete successfully. - description String
- A brief description of this resource.
- desired
Status String - Desired status of the instance. Either
"RUNNING"
,"SUSPENDED"
or"TERMINATED"
. - 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.
- enable
Display Boolean - Enable Virtual Displays on this instance.
Note:
allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field. - guest
Accelerators List<InstanceGuest Accelerator> - List of the type and count of accelerator cards attached to the instance. Structure documented below.
Note: GPU accelerators can only be used with
on_host_maintenance
option set to TERMINATE. - hostname String
- A custom hostname for the instance. Must be a fully qualified DNS name and RFC-1035-valid.
Valid format is a series of labels 1-63 characters long matching the regular expression
a-z
, concatenated with periods. The entire hostname must not exceed 253 characters. Changing this forces a new resource to be created. - instance
Id String - The server-assigned unique identifier of this instance.
- key
Revocation StringAction Type - Action to be taken when a customer's encryption key is revoked. Supports
STOP
andNONE
, withNONE
being the default. - label
Fingerprint String - The unique fingerprint of the labels.
- labels Map<String,String>
- A map of key/value label pairs to assign to the instance. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
- machine
Type String The machine type to create.
Note: If you want to update this value (resize the VM) after initial creation, you must set
allow_stopping_for_update
totrue
.Custom machine types can be formatted as
custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY_MB
, e.g.custom-6-20480
for 6 vCPU and 20GB of RAM. Because of current API limitations some custom machine types may get converted to different machine types (such as an equivalent standard type) and cause non-empty plans in your configuration. Uselifecycle.ignore_changes
onmachine_type
in these cases.There is a limit of 6.5 GB per CPU unless you add extended memory. You must do this explicitly by adding the suffix
-ext
, e.g.custom-2-15360-ext
for 2 vCPU and 15 GB of memory.- metadata Map<String,String>
Metadata key/value pairs to make available from within the instance. Ssh keys attached in the Cloud Console will be removed. Add them to your config in order to keep them attached to your instance. A list of predefined metadata keys (e.g. ssh-keys) can be found here
Depending on the OS you choose for your instance, some metadata keys have special functionality. Most linux-based images will run the content of
metadata.startup-script
in a shell on every boot. At a minimum, Debian, CentOS, RHEL, SLES, Container-Optimized OS, and Ubuntu images support this key. Windows instances require other keys depending on the format of the script and the time you would like it to run - see this table. For the convenience of the users ofmetadata.startup-script
, we provide a special attribute,metadata_startup_script
, which is documented below.- metadata
Fingerprint String - The unique fingerprint of the metadata.
- metadata
Startup StringScript - An alternative to using the
startup-script metadata key, except this one forces the instance to be recreated
(thus re-running the script) if it is changed. This replaces the startup-script
metadata key on the created instance and thus the two mechanisms are not
allowed to be used simultaneously. Users are free to use either mechanism - the
only distinction is that this separate attribute will cause a recreate on
modification. On import,
metadata_startup_script
will not be set - if you choose to specify it you will see a diff immediately after import causing a destroy/recreate operation. If importing an instance and specifying this value is desired, you will need to modify your state file. - min
Cpu StringPlatform - Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as
Intel Haswell
orIntel Skylake
. See the complete list here. Note:allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field. - name String
- A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
- network
Interfaces List<InstanceNetwork Interface> - Networks to attach to the instance. This can
be specified multiple times. Structure is documented below.
- network
Performance InstanceConfig Network Performance Config - (Optional, Beta
Configures network performance settings for the instance. 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. - params
Instance
Params - Additional instance parameters. .
- partner
Metadata Map<String,String> - Beta key/value pair represents partner metadata assigned to instance where key represent a defined namespace and value is a json string represent the entries associted with the namespace.
- project String
- 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.
- reservation
Affinity InstanceReservation Affinity - Specifies the reservations that this instance can consume from. Structure is documented below.
- resource
Policies String - 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
Instance
Scheduling - The scheduling strategy to use. More details about this configuration option are detailed below.
- scratch
Disks List<InstanceScratch Disk> - Scratch disks to attach to the instance. This can be specified multiple times for multiple scratch disks. Structure is documented below.
- self
Link String - The URI of the created resource.
- service
Account InstanceService Account - Service account to attach to the instance.
Structure is documented below.
Note:
allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field. - shielded
Instance InstanceConfig 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. Note:allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field. - List<String>
- A list of network tags to attach to the instance.
- String
- The unique fingerprint of the tags.
- zone String
- The zone that the machine should be created in. If it is not provided, the provider zone is used.
- advanced
Machine InstanceFeatures Advanced Machine Features - Configure Nested Virtualisation and Simultaneous Hyper Threading on this VM. Structure is documented below
- allow
Stopping booleanFor Update - If true, allows this prvider to stop the instance to update its properties. If you try to update a property that requires stopping the instance without setting this field, the update will fail.
- attached
Disks InstanceAttached Disk[] - Additional disks to attach to the instance. Can be repeated multiple times for multiple disks. Structure is documented below.
- boot
Disk InstanceBoot Disk - The boot disk for the instance. Structure is documented below.
- can
Ip booleanForward - Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false.
- confidential
Instance InstanceConfig Confidential Instance Config - Enable Confidential Mode on this VM. Structure is documented below
- cpu
Platform string - The CPU platform used by this instance.
- creation
Timestamp string - Creation timestamp in RFC3339 text format.
- current
Status string - The current status of the instance. This could be one of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED. For more information about the status of the instance, see Instance life cycle.
- deletion
Protection boolean - Enable deletion protection on this instance. Defaults to false.
Note: you must disable deletion protection before removing the resource (e.g., via
pulumi destroy
), or the instance cannot be deleted and the provider run will not complete successfully. - description string
- A brief description of this resource.
- desired
Status string - Desired status of the instance. Either
"RUNNING"
,"SUSPENDED"
or"TERMINATED"
. - 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.
- enable
Display boolean - Enable Virtual Displays on this instance.
Note:
allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field. - guest
Accelerators InstanceGuest Accelerator[] - List of the type and count of accelerator cards attached to the instance. Structure documented below.
Note: GPU accelerators can only be used with
on_host_maintenance
option set to TERMINATE. - hostname string
- A custom hostname for the instance. Must be a fully qualified DNS name and RFC-1035-valid.
Valid format is a series of labels 1-63 characters long matching the regular expression
a-z
, concatenated with periods. The entire hostname must not exceed 253 characters. Changing this forces a new resource to be created. - instance
Id string - The server-assigned unique identifier of this instance.
- key
Revocation stringAction Type - Action to be taken when a customer's encryption key is revoked. Supports
STOP
andNONE
, withNONE
being the default. - label
Fingerprint string - The unique fingerprint of the labels.
- labels {[key: string]: string}
- A map of key/value label pairs to assign to the instance. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
- machine
Type string The machine type to create.
Note: If you want to update this value (resize the VM) after initial creation, you must set
allow_stopping_for_update
totrue
.Custom machine types can be formatted as
custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY_MB
, e.g.custom-6-20480
for 6 vCPU and 20GB of RAM. Because of current API limitations some custom machine types may get converted to different machine types (such as an equivalent standard type) and cause non-empty plans in your configuration. Uselifecycle.ignore_changes
onmachine_type
in these cases.There is a limit of 6.5 GB per CPU unless you add extended memory. You must do this explicitly by adding the suffix
-ext
, e.g.custom-2-15360-ext
for 2 vCPU and 15 GB of memory.- metadata {[key: string]: string}
Metadata key/value pairs to make available from within the instance. Ssh keys attached in the Cloud Console will be removed. Add them to your config in order to keep them attached to your instance. A list of predefined metadata keys (e.g. ssh-keys) can be found here
Depending on the OS you choose for your instance, some metadata keys have special functionality. Most linux-based images will run the content of
metadata.startup-script
in a shell on every boot. At a minimum, Debian, CentOS, RHEL, SLES, Container-Optimized OS, and Ubuntu images support this key. Windows instances require other keys depending on the format of the script and the time you would like it to run - see this table. For the convenience of the users ofmetadata.startup-script
, we provide a special attribute,metadata_startup_script
, which is documented below.- metadata
Fingerprint string - The unique fingerprint of the metadata.
- metadata
Startup stringScript - An alternative to using the
startup-script metadata key, except this one forces the instance to be recreated
(thus re-running the script) if it is changed. This replaces the startup-script
metadata key on the created instance and thus the two mechanisms are not
allowed to be used simultaneously. Users are free to use either mechanism - the
only distinction is that this separate attribute will cause a recreate on
modification. On import,
metadata_startup_script
will not be set - if you choose to specify it you will see a diff immediately after import causing a destroy/recreate operation. If importing an instance and specifying this value is desired, you will need to modify your state file. - min
Cpu stringPlatform - Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as
Intel Haswell
orIntel Skylake
. See the complete list here. Note:allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field. - name string
- A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
- network
Interfaces InstanceNetwork Interface[] - Networks to attach to the instance. This can
be specified multiple times. Structure is documented below.
- network
Performance InstanceConfig Network Performance Config - (Optional, Beta
Configures network performance settings for the instance. 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. - params
Instance
Params - Additional instance parameters. .
- partner
Metadata {[key: string]: string} - Beta key/value pair represents partner metadata assigned to instance where key represent a defined namespace and value is a json string represent the entries associted with the namespace.
- project string
- 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.
- reservation
Affinity InstanceReservation Affinity - Specifies the reservations that this instance can consume from. Structure is documented below.
- resource
Policies string - 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
Instance
Scheduling - The scheduling strategy to use. More details about this configuration option are detailed below.
- scratch
Disks InstanceScratch Disk[] - Scratch disks to attach to the instance. This can be specified multiple times for multiple scratch disks. Structure is documented below.
- self
Link string - The URI of the created resource.
- service
Account InstanceService Account - Service account to attach to the instance.
Structure is documented below.
Note:
allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field. - shielded
Instance InstanceConfig 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. Note:allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field. - string[]
- A list of network tags to attach to the instance.
- string
- The unique fingerprint of the tags.
- zone string
- The zone that the machine should be created in. If it is not provided, the provider zone is used.
- advanced_
machine_ Instancefeatures Advanced Machine Features Args - Configure Nested Virtualisation and Simultaneous Hyper Threading on this VM. Structure is documented below
- allow_
stopping_ boolfor_ update - If true, allows this prvider to stop the instance to update its properties. If you try to update a property that requires stopping the instance without setting this field, the update will fail.
- attached_
disks Sequence[InstanceAttached Disk Args] - Additional disks to attach to the instance. Can be repeated multiple times for multiple disks. Structure is documented below.
- boot_
disk InstanceBoot Disk Args - The boot disk for the instance. Structure is documented below.
- can_
ip_ boolforward - Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false.
- confidential_
instance_ Instanceconfig Confidential Instance Config Args - Enable Confidential Mode on this VM. Structure is documented below
- cpu_
platform str - The CPU platform used by this instance.
- creation_
timestamp str - Creation timestamp in RFC3339 text format.
- current_
status str - The current status of the instance. This could be one of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED. For more information about the status of the instance, see Instance life cycle.
- deletion_
protection bool - Enable deletion protection on this instance. Defaults to false.
Note: you must disable deletion protection before removing the resource (e.g., via
pulumi destroy
), or the instance cannot be deleted and the provider run will not complete successfully. - description str
- A brief description of this resource.
- desired_
status str - Desired status of the instance. Either
"RUNNING"
,"SUSPENDED"
or"TERMINATED"
. - 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.
- enable_
display bool - Enable Virtual Displays on this instance.
Note:
allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field. - guest_
accelerators Sequence[InstanceGuest Accelerator Args] - List of the type and count of accelerator cards attached to the instance. Structure documented below.
Note: GPU accelerators can only be used with
on_host_maintenance
option set to TERMINATE. - hostname str
- A custom hostname for the instance. Must be a fully qualified DNS name and RFC-1035-valid.
Valid format is a series of labels 1-63 characters long matching the regular expression
a-z
, concatenated with periods. The entire hostname must not exceed 253 characters. Changing this forces a new resource to be created. - instance_
id str - The server-assigned unique identifier of this instance.
- key_
revocation_ straction_ type - Action to be taken when a customer's encryption key is revoked. Supports
STOP
andNONE
, withNONE
being the default. - label_
fingerprint str - The unique fingerprint of the labels.
- labels Mapping[str, str]
- A map of key/value label pairs to assign to the instance. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
- machine_
type str The machine type to create.
Note: If you want to update this value (resize the VM) after initial creation, you must set
allow_stopping_for_update
totrue
.Custom machine types can be formatted as
custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY_MB
, e.g.custom-6-20480
for 6 vCPU and 20GB of RAM. Because of current API limitations some custom machine types may get converted to different machine types (such as an equivalent standard type) and cause non-empty plans in your configuration. Uselifecycle.ignore_changes
onmachine_type
in these cases.There is a limit of 6.5 GB per CPU unless you add extended memory. You must do this explicitly by adding the suffix
-ext
, e.g.custom-2-15360-ext
for 2 vCPU and 15 GB of memory.- metadata Mapping[str, str]
Metadata key/value pairs to make available from within the instance. Ssh keys attached in the Cloud Console will be removed. Add them to your config in order to keep them attached to your instance. A list of predefined metadata keys (e.g. ssh-keys) can be found here
Depending on the OS you choose for your instance, some metadata keys have special functionality. Most linux-based images will run the content of
metadata.startup-script
in a shell on every boot. At a minimum, Debian, CentOS, RHEL, SLES, Container-Optimized OS, and Ubuntu images support this key. Windows instances require other keys depending on the format of the script and the time you would like it to run - see this table. For the convenience of the users ofmetadata.startup-script
, we provide a special attribute,metadata_startup_script
, which is documented below.- metadata_
fingerprint str - The unique fingerprint of the metadata.
- metadata_
startup_ strscript - An alternative to using the
startup-script metadata key, except this one forces the instance to be recreated
(thus re-running the script) if it is changed. This replaces the startup-script
metadata key on the created instance and thus the two mechanisms are not
allowed to be used simultaneously. Users are free to use either mechanism - the
only distinction is that this separate attribute will cause a recreate on
modification. On import,
metadata_startup_script
will not be set - if you choose to specify it you will see a diff immediately after import causing a destroy/recreate operation. If importing an instance and specifying this value is desired, you will need to modify your state file. - min_
cpu_ strplatform - Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as
Intel Haswell
orIntel Skylake
. See the complete list here. Note:allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field. - name str
- A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
- network_
interfaces Sequence[InstanceNetwork Interface Args] - Networks to attach to the instance. This can
be specified multiple times. Structure is documented below.
- network_
performance_ Instanceconfig Network Performance Config Args - (Optional, Beta
Configures network performance settings for the instance. 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. - params
Instance
Params Args - Additional instance parameters. .
- partner_
metadata Mapping[str, str] - Beta key/value pair represents partner metadata assigned to instance where key represent a defined namespace and value is a json string represent the entries associted with the namespace.
- project str
- 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.
- reservation_
affinity InstanceReservation Affinity Args - Specifies the reservations that this instance can consume from. Structure is documented below.
- resource_
policies str - 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
Instance
Scheduling Args - The scheduling strategy to use. More details about this configuration option are detailed below.
- scratch_
disks Sequence[InstanceScratch Disk Args] - Scratch disks to attach to the instance. This can be specified multiple times for multiple scratch disks. Structure is documented below.
- self_
link str - The URI of the created resource.
- service_
account InstanceService Account Args - Service account to attach to the instance.
Structure is documented below.
Note:
allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field. - shielded_
instance_ Instanceconfig 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. Note:allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field. - Sequence[str]
- A list of network tags to attach to the instance.
- str
- The unique fingerprint of the tags.
- zone str
- The zone that the machine should be created in. If it is not provided, the provider zone is used.
- advanced
Machine Property MapFeatures - Configure Nested Virtualisation and Simultaneous Hyper Threading on this VM. Structure is documented below
- allow
Stopping BooleanFor Update - If true, allows this prvider to stop the instance to update its properties. If you try to update a property that requires stopping the instance without setting this field, the update will fail.
- attached
Disks List<Property Map> - Additional disks to attach to the instance. Can be repeated multiple times for multiple disks. Structure is documented below.
- boot
Disk Property Map - The boot disk for the instance. Structure is documented below.
- can
Ip BooleanForward - Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false.
- confidential
Instance Property MapConfig - Enable Confidential Mode on this VM. Structure is documented below
- cpu
Platform String - The CPU platform used by this instance.
- creation
Timestamp String - Creation timestamp in RFC3339 text format.
- current
Status String - The current status of the instance. This could be one of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED. For more information about the status of the instance, see Instance life cycle.
- deletion
Protection Boolean - Enable deletion protection on this instance. Defaults to false.
Note: you must disable deletion protection before removing the resource (e.g., via
pulumi destroy
), or the instance cannot be deleted and the provider run will not complete successfully. - description String
- A brief description of this resource.
- desired
Status String - Desired status of the instance. Either
"RUNNING"
,"SUSPENDED"
or"TERMINATED"
. - 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.
- enable
Display Boolean - Enable Virtual Displays on this instance.
Note:
allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field. - guest
Accelerators List<Property Map> - List of the type and count of accelerator cards attached to the instance. Structure documented below.
Note: GPU accelerators can only be used with
on_host_maintenance
option set to TERMINATE. - hostname String
- A custom hostname for the instance. Must be a fully qualified DNS name and RFC-1035-valid.
Valid format is a series of labels 1-63 characters long matching the regular expression
a-z
, concatenated with periods. The entire hostname must not exceed 253 characters. Changing this forces a new resource to be created. - instance
Id String - The server-assigned unique identifier of this instance.
- key
Revocation StringAction Type - Action to be taken when a customer's encryption key is revoked. Supports
STOP
andNONE
, withNONE
being the default. - label
Fingerprint String - The unique fingerprint of the labels.
- labels Map<String>
- A map of key/value label pairs to assign to the instance. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
- machine
Type String The machine type to create.
Note: If you want to update this value (resize the VM) after initial creation, you must set
allow_stopping_for_update
totrue
.Custom machine types can be formatted as
custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY_MB
, e.g.custom-6-20480
for 6 vCPU and 20GB of RAM. Because of current API limitations some custom machine types may get converted to different machine types (such as an equivalent standard type) and cause non-empty plans in your configuration. Uselifecycle.ignore_changes
onmachine_type
in these cases.There is a limit of 6.5 GB per CPU unless you add extended memory. You must do this explicitly by adding the suffix
-ext
, e.g.custom-2-15360-ext
for 2 vCPU and 15 GB of memory.- metadata Map<String>
Metadata key/value pairs to make available from within the instance. Ssh keys attached in the Cloud Console will be removed. Add them to your config in order to keep them attached to your instance. A list of predefined metadata keys (e.g. ssh-keys) can be found here
Depending on the OS you choose for your instance, some metadata keys have special functionality. Most linux-based images will run the content of
metadata.startup-script
in a shell on every boot. At a minimum, Debian, CentOS, RHEL, SLES, Container-Optimized OS, and Ubuntu images support this key. Windows instances require other keys depending on the format of the script and the time you would like it to run - see this table. For the convenience of the users ofmetadata.startup-script
, we provide a special attribute,metadata_startup_script
, which is documented below.- metadata
Fingerprint String - The unique fingerprint of the metadata.
- metadata
Startup StringScript - An alternative to using the
startup-script metadata key, except this one forces the instance to be recreated
(thus re-running the script) if it is changed. This replaces the startup-script
metadata key on the created instance and thus the two mechanisms are not
allowed to be used simultaneously. Users are free to use either mechanism - the
only distinction is that this separate attribute will cause a recreate on
modification. On import,
metadata_startup_script
will not be set - if you choose to specify it you will see a diff immediately after import causing a destroy/recreate operation. If importing an instance and specifying this value is desired, you will need to modify your state file. - min
Cpu StringPlatform - Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as
Intel Haswell
orIntel Skylake
. See the complete list here. Note:allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field. - name String
- A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
- network
Interfaces List<Property Map> - Networks to attach to the instance. This can
be specified multiple times. Structure is documented below.
- network
Performance Property MapConfig - (Optional, Beta
Configures network performance settings for the instance. 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. - params Property Map
- Additional instance parameters. .
- partner
Metadata Map<String> - Beta key/value pair represents partner metadata assigned to instance where key represent a defined namespace and value is a json string represent the entries associted with the namespace.
- project String
- 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.
- reservation
Affinity Property Map - Specifies the reservations that this instance can consume from. Structure is documented below.
- resource
Policies String - 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 Property Map
- The scheduling strategy to use. More details about this configuration option are detailed below.
- scratch
Disks List<Property Map> - Scratch disks to attach to the instance. This can be specified multiple times for multiple scratch disks. Structure is documented below.
- self
Link String - The URI of the created resource.
- service
Account Property Map - Service account to attach to the instance.
Structure is documented below.
Note:
allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field. - shielded
Instance Property MapConfig - 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. Note:allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field. - List<String>
- A list of network tags to attach to the instance.
- String
- The unique fingerprint of the tags.
- zone String
- The zone that the machine should be created in. If it is not provided, the provider zone is used.
Supporting Types
InstanceAdvancedMachineFeatures, InstanceAdvancedMachineFeaturesArgs
- Enable
Nested boolVirtualization - Defines whether the instance should have nested virtualization enabled. Defaults to false.
- Threads
Per intCore - 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 intCount - The number of physical cores to expose to an instance. visible cores info (VC).
- Enable
Nested boolVirtualization - Defines whether the instance should have nested virtualization enabled. Defaults to false.
- Threads
Per intCore - 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 intCount - The number of physical cores to expose to an instance. visible cores info (VC).
- enable
Nested BooleanVirtualization - Defines whether the instance should have nested virtualization enabled. Defaults to false.
- threads
Per IntegerCore - 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 IntegerCount - The number of physical cores to expose to an instance. visible cores info (VC).
- enable
Nested booleanVirtualization - Defines whether the instance should have nested virtualization enabled. Defaults to false.
- threads
Per numberCore - 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 numberCount - The number of physical cores to expose to an instance. visible cores info (VC).
- enable_
nested_ boolvirtualization - Defines whether the instance should have nested virtualization enabled. Defaults to false.
- threads_
per_ intcore - 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_ intcount - The number of physical cores to expose to an instance. visible cores info (VC).
- enable
Nested BooleanVirtualization - Defines whether the instance should have nested virtualization enabled. Defaults to false.
- threads
Per NumberCore - 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 NumberCount - The number of physical cores to expose to an instance. visible cores info (VC).
InstanceAttachedDisk, InstanceAttachedDiskArgs
- Source string
- The name or self_link of the disk to attach to this instance.
- Device
Name string - Name with which the attached disk will be accessible
under
/dev/disk/by-id/google-*
- Disk
Encryption stringKey Raw - A 256-bit [customer-supplied encryption key]
(https://cloud.google.com/compute/docs/disks/customer-supplied-encryption),
encoded in RFC 4648 base64
to encrypt this disk. Only one of
kms_key_self_link
anddisk_encryption_key_raw
may be set. - Disk
Encryption stringKey Sha256 - The RFC 4648 base64 encoded SHA-256 hash of the [customer-supplied encryption key] (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) that protects this resource.
- Kms
Key stringSelf Link - The self_link of the encryption key that is
stored in Google Cloud KMS to encrypt this disk. Only one of
kms_key_self_link
anddisk_encryption_key_raw
may be set. - Mode string
- Either "READ_ONLY" or "READ_WRITE", defaults to "READ_WRITE" If you have a persistent disk with data that you want to share between multiple instances, detach it from any read-write instances and attach it to one or more instances in read-only mode.
- Source string
- The name or self_link of the disk to attach to this instance.
- Device
Name string - Name with which the attached disk will be accessible
under
/dev/disk/by-id/google-*
- Disk
Encryption stringKey Raw - A 256-bit [customer-supplied encryption key]
(https://cloud.google.com/compute/docs/disks/customer-supplied-encryption),
encoded in RFC 4648 base64
to encrypt this disk. Only one of
kms_key_self_link
anddisk_encryption_key_raw
may be set. - Disk
Encryption stringKey Sha256 - The RFC 4648 base64 encoded SHA-256 hash of the [customer-supplied encryption key] (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) that protects this resource.
- Kms
Key stringSelf Link - The self_link of the encryption key that is
stored in Google Cloud KMS to encrypt this disk. Only one of
kms_key_self_link
anddisk_encryption_key_raw
may be set. - Mode string
- Either "READ_ONLY" or "READ_WRITE", defaults to "READ_WRITE" If you have a persistent disk with data that you want to share between multiple instances, detach it from any read-write instances and attach it to one or more instances in read-only mode.
- source String
- The name or self_link of the disk to attach to this instance.
- device
Name String - Name with which the attached disk will be accessible
under
/dev/disk/by-id/google-*
- disk
Encryption StringKey Raw - A 256-bit [customer-supplied encryption key]
(https://cloud.google.com/compute/docs/disks/customer-supplied-encryption),
encoded in RFC 4648 base64
to encrypt this disk. Only one of
kms_key_self_link
anddisk_encryption_key_raw
may be set. - disk
Encryption StringKey Sha256 - The RFC 4648 base64 encoded SHA-256 hash of the [customer-supplied encryption key] (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) that protects this resource.
- kms
Key StringSelf Link - The self_link of the encryption key that is
stored in Google Cloud KMS to encrypt this disk. Only one of
kms_key_self_link
anddisk_encryption_key_raw
may be set. - mode String
- Either "READ_ONLY" or "READ_WRITE", defaults to "READ_WRITE" If you have a persistent disk with data that you want to share between multiple instances, detach it from any read-write instances and attach it to one or more instances in read-only mode.
- source string
- The name or self_link of the disk to attach to this instance.
- device
Name string - Name with which the attached disk will be accessible
under
/dev/disk/by-id/google-*
- disk
Encryption stringKey Raw - A 256-bit [customer-supplied encryption key]
(https://cloud.google.com/compute/docs/disks/customer-supplied-encryption),
encoded in RFC 4648 base64
to encrypt this disk. Only one of
kms_key_self_link
anddisk_encryption_key_raw
may be set. - disk
Encryption stringKey Sha256 - The RFC 4648 base64 encoded SHA-256 hash of the [customer-supplied encryption key] (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) that protects this resource.
- kms
Key stringSelf Link - The self_link of the encryption key that is
stored in Google Cloud KMS to encrypt this disk. Only one of
kms_key_self_link
anddisk_encryption_key_raw
may be set. - mode string
- Either "READ_ONLY" or "READ_WRITE", defaults to "READ_WRITE" If you have a persistent disk with data that you want to share between multiple instances, detach it from any read-write instances and attach it to one or more instances in read-only mode.
- source str
- The name or self_link of the disk to attach to this instance.
- device_
name str - Name with which the attached disk will be accessible
under
/dev/disk/by-id/google-*
- disk_
encryption_ strkey_ raw - A 256-bit [customer-supplied encryption key]
(https://cloud.google.com/compute/docs/disks/customer-supplied-encryption),
encoded in RFC 4648 base64
to encrypt this disk. Only one of
kms_key_self_link
anddisk_encryption_key_raw
may be set. - disk_
encryption_ strkey_ sha256 - The RFC 4648 base64 encoded SHA-256 hash of the [customer-supplied encryption key] (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) that protects this resource.
- kms_
key_ strself_ link - The self_link of the encryption key that is
stored in Google Cloud KMS to encrypt this disk. Only one of
kms_key_self_link
anddisk_encryption_key_raw
may be set. - mode str
- Either "READ_ONLY" or "READ_WRITE", defaults to "READ_WRITE" If you have a persistent disk with data that you want to share between multiple instances, detach it from any read-write instances and attach it to one or more instances in read-only mode.
- source String
- The name or self_link of the disk to attach to this instance.
- device
Name String - Name with which the attached disk will be accessible
under
/dev/disk/by-id/google-*
- disk
Encryption StringKey Raw - A 256-bit [customer-supplied encryption key]
(https://cloud.google.com/compute/docs/disks/customer-supplied-encryption),
encoded in RFC 4648 base64
to encrypt this disk. Only one of
kms_key_self_link
anddisk_encryption_key_raw
may be set. - disk
Encryption StringKey Sha256 - The RFC 4648 base64 encoded SHA-256 hash of the [customer-supplied encryption key] (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) that protects this resource.
- kms
Key StringSelf Link - The self_link of the encryption key that is
stored in Google Cloud KMS to encrypt this disk. Only one of
kms_key_self_link
anddisk_encryption_key_raw
may be set. - mode String
- Either "READ_ONLY" or "READ_WRITE", defaults to "READ_WRITE" If you have a persistent disk with data that you want to share between multiple instances, detach it from any read-write instances and attach it to one or more instances in read-only mode.
InstanceBootDisk, InstanceBootDiskArgs
- Auto
Delete bool - Whether the disk will be auto-deleted when the instance is deleted. Defaults to true.
- Device
Name string - Name with which attached disk will be accessible.
On the instance, this device will be
/dev/disk/by-id/google-{{device_name}}
. - Disk
Encryption stringKey Raw - A 256-bit [customer-supplied encryption key]
(https://cloud.google.com/compute/docs/disks/customer-supplied-encryption),
encoded in RFC 4648 base64
to encrypt this disk. Only one of
kms_key_self_link
anddisk_encryption_key_raw
may be set. - Disk
Encryption stringKey Sha256 - The RFC 4648 base64 encoded SHA-256 hash of the [customer-supplied encryption key] (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) that protects this resource.
- Initialize
Params InstanceBoot Disk Initialize Params - Parameters for a new disk that will be created
alongside the new instance. Either
initialize_params
orsource
must be set. Structure is documented below. - Interface string
- The disk interface used for attaching this disk. One of SCSI or NVME. (This field is shared with attached_disk and only used for specific cases, please don't specify this field without advice from Google.)
- Kms
Key stringSelf Link - The self_link of the encryption key that is
stored in Google Cloud KMS to encrypt this disk. Only one of
kms_key_self_link
anddisk_encryption_key_raw
may be set. - Mode string
- The mode in which to attach this disk, either
READ_WRITE
orREAD_ONLY
. If not specified, the default is to attach the disk inREAD_WRITE
mode. - Source string
- The name or self_link of the existing disk (such as those managed by
gcp.compute.Disk
) or disk image. To create an instance from a snapshot, first create agcp.compute.Disk
from a snapshot and reference it here.
- Auto
Delete bool - Whether the disk will be auto-deleted when the instance is deleted. Defaults to true.
- Device
Name string - Name with which attached disk will be accessible.
On the instance, this device will be
/dev/disk/by-id/google-{{device_name}}
. - Disk
Encryption stringKey Raw - A 256-bit [customer-supplied encryption key]
(https://cloud.google.com/compute/docs/disks/customer-supplied-encryption),
encoded in RFC 4648 base64
to encrypt this disk. Only one of
kms_key_self_link
anddisk_encryption_key_raw
may be set. - Disk
Encryption stringKey Sha256 - The RFC 4648 base64 encoded SHA-256 hash of the [customer-supplied encryption key] (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) that protects this resource.
- Initialize
Params InstanceBoot Disk Initialize Params - Parameters for a new disk that will be created
alongside the new instance. Either
initialize_params
orsource
must be set. Structure is documented below. - Interface string
- The disk interface used for attaching this disk. One of SCSI or NVME. (This field is shared with attached_disk and only used for specific cases, please don't specify this field without advice from Google.)
- Kms
Key stringSelf Link - The self_link of the encryption key that is
stored in Google Cloud KMS to encrypt this disk. Only one of
kms_key_self_link
anddisk_encryption_key_raw
may be set. - Mode string
- The mode in which to attach this disk, either
READ_WRITE
orREAD_ONLY
. If not specified, the default is to attach the disk inREAD_WRITE
mode. - Source string
- The name or self_link of the existing disk (such as those managed by
gcp.compute.Disk
) or disk image. To create an instance from a snapshot, first create agcp.compute.Disk
from a snapshot and reference it here.
- auto
Delete Boolean - Whether the disk will be auto-deleted when the instance is deleted. Defaults to true.
- device
Name String - Name with which attached disk will be accessible.
On the instance, this device will be
/dev/disk/by-id/google-{{device_name}}
. - disk
Encryption StringKey Raw - A 256-bit [customer-supplied encryption key]
(https://cloud.google.com/compute/docs/disks/customer-supplied-encryption),
encoded in RFC 4648 base64
to encrypt this disk. Only one of
kms_key_self_link
anddisk_encryption_key_raw
may be set. - disk
Encryption StringKey Sha256 - The RFC 4648 base64 encoded SHA-256 hash of the [customer-supplied encryption key] (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) that protects this resource.
- initialize
Params InstanceBoot Disk Initialize Params - Parameters for a new disk that will be created
alongside the new instance. Either
initialize_params
orsource
must be set. Structure is documented below. - interface_ String
- The disk interface used for attaching this disk. One of SCSI or NVME. (This field is shared with attached_disk and only used for specific cases, please don't specify this field without advice from Google.)
- kms
Key StringSelf Link - The self_link of the encryption key that is
stored in Google Cloud KMS to encrypt this disk. Only one of
kms_key_self_link
anddisk_encryption_key_raw
may be set. - mode String
- The mode in which to attach this disk, either
READ_WRITE
orREAD_ONLY
. If not specified, the default is to attach the disk inREAD_WRITE
mode. - source String
- The name or self_link of the existing disk (such as those managed by
gcp.compute.Disk
) or disk image. To create an instance from a snapshot, first create agcp.compute.Disk
from a snapshot and reference it here.
- auto
Delete boolean - Whether the disk will be auto-deleted when the instance is deleted. Defaults to true.
- device
Name string - Name with which attached disk will be accessible.
On the instance, this device will be
/dev/disk/by-id/google-{{device_name}}
. - disk
Encryption stringKey Raw - A 256-bit [customer-supplied encryption key]
(https://cloud.google.com/compute/docs/disks/customer-supplied-encryption),
encoded in RFC 4648 base64
to encrypt this disk. Only one of
kms_key_self_link
anddisk_encryption_key_raw
may be set. - disk
Encryption stringKey Sha256 - The RFC 4648 base64 encoded SHA-256 hash of the [customer-supplied encryption key] (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) that protects this resource.
- initialize
Params InstanceBoot Disk Initialize Params - Parameters for a new disk that will be created
alongside the new instance. Either
initialize_params
orsource
must be set. Structure is documented below. - interface string
- The disk interface used for attaching this disk. One of SCSI or NVME. (This field is shared with attached_disk and only used for specific cases, please don't specify this field without advice from Google.)
- kms
Key stringSelf Link - The self_link of the encryption key that is
stored in Google Cloud KMS to encrypt this disk. Only one of
kms_key_self_link
anddisk_encryption_key_raw
may be set. - mode string
- The mode in which to attach this disk, either
READ_WRITE
orREAD_ONLY
. If not specified, the default is to attach the disk inREAD_WRITE
mode. - source string
- The name or self_link of the existing disk (such as those managed by
gcp.compute.Disk
) or disk image. To create an instance from a snapshot, first create agcp.compute.Disk
from a snapshot and reference it here.
- auto_
delete bool - Whether the disk will be auto-deleted when the instance is deleted. Defaults to true.
- device_
name str - Name with which attached disk will be accessible.
On the instance, this device will be
/dev/disk/by-id/google-{{device_name}}
. - disk_
encryption_ strkey_ raw - A 256-bit [customer-supplied encryption key]
(https://cloud.google.com/compute/docs/disks/customer-supplied-encryption),
encoded in RFC 4648 base64
to encrypt this disk. Only one of
kms_key_self_link
anddisk_encryption_key_raw
may be set. - disk_
encryption_ strkey_ sha256 - The RFC 4648 base64 encoded SHA-256 hash of the [customer-supplied encryption key] (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) that protects this resource.
- initialize_
params InstanceBoot Disk Initialize Params - Parameters for a new disk that will be created
alongside the new instance. Either
initialize_params
orsource
must be set. Structure is documented below. - interface str
- The disk interface used for attaching this disk. One of SCSI or NVME. (This field is shared with attached_disk and only used for specific cases, please don't specify this field without advice from Google.)
- kms_
key_ strself_ link - The self_link of the encryption key that is
stored in Google Cloud KMS to encrypt this disk. Only one of
kms_key_self_link
anddisk_encryption_key_raw
may be set. - mode str
- The mode in which to attach this disk, either
READ_WRITE
orREAD_ONLY
. If not specified, the default is to attach the disk inREAD_WRITE
mode. - source str
- The name or self_link of the existing disk (such as those managed by
gcp.compute.Disk
) or disk image. To create an instance from a snapshot, first create agcp.compute.Disk
from a snapshot and reference it here.
- auto
Delete Boolean - Whether the disk will be auto-deleted when the instance is deleted. Defaults to true.
- device
Name String - Name with which attached disk will be accessible.
On the instance, this device will be
/dev/disk/by-id/google-{{device_name}}
. - disk
Encryption StringKey Raw - A 256-bit [customer-supplied encryption key]
(https://cloud.google.com/compute/docs/disks/customer-supplied-encryption),
encoded in RFC 4648 base64
to encrypt this disk. Only one of
kms_key_self_link
anddisk_encryption_key_raw
may be set. - disk
Encryption StringKey Sha256 - The RFC 4648 base64 encoded SHA-256 hash of the [customer-supplied encryption key] (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) that protects this resource.
- initialize
Params Property Map - Parameters for a new disk that will be created
alongside the new instance. Either
initialize_params
orsource
must be set. Structure is documented below. - interface String
- The disk interface used for attaching this disk. One of SCSI or NVME. (This field is shared with attached_disk and only used for specific cases, please don't specify this field without advice from Google.)
- kms
Key StringSelf Link - The self_link of the encryption key that is
stored in Google Cloud KMS to encrypt this disk. Only one of
kms_key_self_link
anddisk_encryption_key_raw
may be set. - mode String
- The mode in which to attach this disk, either
READ_WRITE
orREAD_ONLY
. If not specified, the default is to attach the disk inREAD_WRITE
mode. - source String
- The name or self_link of the existing disk (such as those managed by
gcp.compute.Disk
) or disk image. To create an instance from a snapshot, first create agcp.compute.Disk
from a snapshot and reference it here.
InstanceBootDiskInitializeParams, InstanceBootDiskInitializeParamsArgs
- Enable
Confidential boolCompute - Whether this disk is using confidential compute mode. Note: Only supported on hyperdisk skus, disk_encryption_key is required when setting to true.
- Image string
- 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}
. If referred by family, the images names must include the family name. If they don't, use the gcp.compute.Image data source. For instance, the imagecentos-6-v20180104
includes its family namecentos-6
. These images can be referred by family name here. - Labels Dictionary<string, string>
- A set of key/value label pairs assigned to the disk. This field is only applicable for persistent disks.
- Provisioned
Iops int - Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. For more details,see the Hyperdisk documentation. Note: Updating currently is only supported for hyperdisk skus via disk update api/gcloud without the need to delete and recreate the disk, hyperdisk allows for an update of IOPS every 4 hours. To update your hyperdisk more frequently, you'll need to manually delete and recreate it.
- Provisioned
Throughput int - Indicates how much throughput to provision for the disk. This sets the number of throughput mb per second that the disk can handle. For more details,see the Hyperdisk documentation. Note: Updating currently is only supported for hyperdisk skus via disk update api/gcloud without the need to delete and recreate the disk, hyperdisk allows for an update of throughput every 4 hours. To update your hyperdisk more frequently, you'll need to manually delete and recreate it.
- Dictionary<string, string>
- A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored (both PUT & PATCH) when empty.
- Resource
Policies string - A list of self_links of resource policies to attach to the instance's boot disk. Modifying this list will cause the instance to recreate. Currently a max of 1 resource policy is supported.
- Size int
- The size of the image in gigabytes. If not specified, it will inherit the size of its base image.
- Storage
Pool string - The URL of the storage pool in which the new disk is created.
For example:
- https://www.googleapis.com/compute/v1/projects/{project}/zones/{zone}/storagePools/{storagePool}
- /projects/{project}/zones/{zone}/storagePools/{storagePool}
- Type string
- The GCE disk type. Such as pd-standard, pd-balanced or pd-ssd.
- Enable
Confidential boolCompute - Whether this disk is using confidential compute mode. Note: Only supported on hyperdisk skus, disk_encryption_key is required when setting to true.
- Image string
- 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}
. If referred by family, the images names must include the family name. If they don't, use the gcp.compute.Image data source. For instance, the imagecentos-6-v20180104
includes its family namecentos-6
. These images can be referred by family name here. - Labels map[string]string
- A set of key/value label pairs assigned to the disk. This field is only applicable for persistent disks.
- Provisioned
Iops int - Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. For more details,see the Hyperdisk documentation. Note: Updating currently is only supported for hyperdisk skus via disk update api/gcloud without the need to delete and recreate the disk, hyperdisk allows for an update of IOPS every 4 hours. To update your hyperdisk more frequently, you'll need to manually delete and recreate it.
- Provisioned
Throughput int - Indicates how much throughput to provision for the disk. This sets the number of throughput mb per second that the disk can handle. For more details,see the Hyperdisk documentation. Note: Updating currently is only supported for hyperdisk skus via disk update api/gcloud without the need to delete and recreate the disk, hyperdisk allows for an update of throughput every 4 hours. To update your hyperdisk more frequently, you'll need to manually delete and recreate it.
- map[string]string
- A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored (both PUT & PATCH) when empty.
- Resource
Policies string - A list of self_links of resource policies to attach to the instance's boot disk. Modifying this list will cause the instance to recreate. Currently a max of 1 resource policy is supported.
- Size int
- The size of the image in gigabytes. If not specified, it will inherit the size of its base image.
- Storage
Pool string - The URL of the storage pool in which the new disk is created.
For example:
- https://www.googleapis.com/compute/v1/projects/{project}/zones/{zone}/storagePools/{storagePool}
- /projects/{project}/zones/{zone}/storagePools/{storagePool}
- Type string
- The GCE disk type. Such as pd-standard, pd-balanced or pd-ssd.
- enable
Confidential BooleanCompute - Whether this disk is using confidential compute mode. Note: Only supported on hyperdisk skus, disk_encryption_key is required when setting to true.
- image String
- 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}
. If referred by family, the images names must include the family name. If they don't, use the gcp.compute.Image data source. For instance, the imagecentos-6-v20180104
includes its family namecentos-6
. These images can be referred by family name here. - labels Map<String,String>
- A set of key/value label pairs assigned to the disk. This field is only applicable for persistent disks.
- provisioned
Iops Integer - Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. For more details,see the Hyperdisk documentation. Note: Updating currently is only supported for hyperdisk skus via disk update api/gcloud without the need to delete and recreate the disk, hyperdisk allows for an update of IOPS every 4 hours. To update your hyperdisk more frequently, you'll need to manually delete and recreate it.
- provisioned
Throughput Integer - Indicates how much throughput to provision for the disk. This sets the number of throughput mb per second that the disk can handle. For more details,see the Hyperdisk documentation. Note: Updating currently is only supported for hyperdisk skus via disk update api/gcloud without the need to delete and recreate the disk, hyperdisk allows for an update of throughput every 4 hours. To update your hyperdisk more frequently, you'll need to manually delete and recreate it.
- Map<String,String>
- A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored (both PUT & PATCH) when empty.
- resource
Policies String - A list of self_links of resource policies to attach to the instance's boot disk. Modifying this list will cause the instance to recreate. Currently a max of 1 resource policy is supported.
- size Integer
- The size of the image in gigabytes. If not specified, it will inherit the size of its base image.
- storage
Pool String - The URL of the storage pool in which the new disk is created.
For example:
- https://www.googleapis.com/compute/v1/projects/{project}/zones/{zone}/storagePools/{storagePool}
- /projects/{project}/zones/{zone}/storagePools/{storagePool}
- type String
- The GCE disk type. Such as pd-standard, pd-balanced or pd-ssd.
- enable
Confidential booleanCompute - Whether this disk is using confidential compute mode. Note: Only supported on hyperdisk skus, disk_encryption_key is required when setting to true.
- image string
- 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}
. If referred by family, the images names must include the family name. If they don't, use the gcp.compute.Image data source. For instance, the imagecentos-6-v20180104
includes its family namecentos-6
. These images can be referred by family name here. - labels {[key: string]: string}
- A set of key/value label pairs assigned to the disk. This field is only applicable for persistent disks.
- provisioned
Iops number - Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. For more details,see the Hyperdisk documentation. Note: Updating currently is only supported for hyperdisk skus via disk update api/gcloud without the need to delete and recreate the disk, hyperdisk allows for an update of IOPS every 4 hours. To update your hyperdisk more frequently, you'll need to manually delete and recreate it.
- provisioned
Throughput number - Indicates how much throughput to provision for the disk. This sets the number of throughput mb per second that the disk can handle. For more details,see the Hyperdisk documentation. Note: Updating currently is only supported for hyperdisk skus via disk update api/gcloud without the need to delete and recreate the disk, hyperdisk allows for an update of throughput every 4 hours. To update your hyperdisk more frequently, you'll need to manually delete and recreate it.
- {[key: string]: string}
- A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored (both PUT & PATCH) when empty.
- resource
Policies string - A list of self_links of resource policies to attach to the instance's boot disk. Modifying this list will cause the instance to recreate. Currently a max of 1 resource policy is supported.
- size number
- The size of the image in gigabytes. If not specified, it will inherit the size of its base image.
- storage
Pool string - The URL of the storage pool in which the new disk is created.
For example:
- https://www.googleapis.com/compute/v1/projects/{project}/zones/{zone}/storagePools/{storagePool}
- /projects/{project}/zones/{zone}/storagePools/{storagePool}
- type string
- The GCE disk type. Such as pd-standard, pd-balanced or pd-ssd.
- enable_
confidential_ boolcompute - Whether this disk is using confidential compute mode. Note: Only supported on hyperdisk skus, disk_encryption_key is required when setting to true.
- image str
- 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}
. If referred by family, the images names must include the family name. If they don't, use the gcp.compute.Image data source. For instance, the imagecentos-6-v20180104
includes its family namecentos-6
. These images can be referred by family name here. - labels Mapping[str, str]
- A set of key/value label pairs assigned to the disk. This field is only applicable for persistent disks.
- provisioned_
iops int - Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. For more details,see the Hyperdisk documentation. Note: Updating currently is only supported for hyperdisk skus via disk update api/gcloud without the need to delete and recreate the disk, hyperdisk allows for an update of IOPS every 4 hours. To update your hyperdisk more frequently, you'll need to manually delete and recreate it.
- provisioned_
throughput int - Indicates how much throughput to provision for the disk. This sets the number of throughput mb per second that the disk can handle. For more details,see the Hyperdisk documentation. Note: Updating currently is only supported for hyperdisk skus via disk update api/gcloud without the need to delete and recreate the disk, hyperdisk allows for an update of throughput every 4 hours. To update your hyperdisk more frequently, you'll need to manually delete and recreate it.
- Mapping[str, str]
- A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored (both PUT & PATCH) when empty.
- resource_
policies str - A list of self_links of resource policies to attach to the instance's boot disk. Modifying this list will cause the instance to recreate. Currently a max of 1 resource policy is supported.
- size int
- The size of the image in gigabytes. If not specified, it will inherit the size of its base image.
- storage_
pool str - The URL of the storage pool in which the new disk is created.
For example:
- https://www.googleapis.com/compute/v1/projects/{project}/zones/{zone}/storagePools/{storagePool}
- /projects/{project}/zones/{zone}/storagePools/{storagePool}
- type str
- The GCE disk type. Such as pd-standard, pd-balanced or pd-ssd.
- enable
Confidential BooleanCompute - Whether this disk is using confidential compute mode. Note: Only supported on hyperdisk skus, disk_encryption_key is required when setting to true.
- image String
- 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}
. If referred by family, the images names must include the family name. If they don't, use the gcp.compute.Image data source. For instance, the imagecentos-6-v20180104
includes its family namecentos-6
. These images can be referred by family name here. - labels Map<String>
- A set of key/value label pairs assigned to the disk. This field is only applicable for persistent disks.
- provisioned
Iops Number - Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. For more details,see the Hyperdisk documentation. Note: Updating currently is only supported for hyperdisk skus via disk update api/gcloud without the need to delete and recreate the disk, hyperdisk allows for an update of IOPS every 4 hours. To update your hyperdisk more frequently, you'll need to manually delete and recreate it.
- provisioned
Throughput Number - Indicates how much throughput to provision for the disk. This sets the number of throughput mb per second that the disk can handle. For more details,see the Hyperdisk documentation. Note: Updating currently is only supported for hyperdisk skus via disk update api/gcloud without the need to delete and recreate the disk, hyperdisk allows for an update of throughput every 4 hours. To update your hyperdisk more frequently, you'll need to manually delete and recreate it.
- Map<String>
- A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored (both PUT & PATCH) when empty.
- resource
Policies String - A list of self_links of resource policies to attach to the instance's boot disk. Modifying this list will cause the instance to recreate. Currently a max of 1 resource policy is supported.
- size Number
- The size of the image in gigabytes. If not specified, it will inherit the size of its base image.
- storage
Pool String - The URL of the storage pool in which the new disk is created.
For example:
- https://www.googleapis.com/compute/v1/projects/{project}/zones/{zone}/storagePools/{storagePool}
- /projects/{project}/zones/{zone}/storagePools/{storagePool}
- type String
- The GCE disk type. Such as pd-standard, pd-balanced or pd-ssd.
InstanceConfidentialInstanceConfig, InstanceConfidentialInstanceConfigArgs
- Confidential
Instance stringType - 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 boolCompute - 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 stringType - 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 boolCompute - 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 StringType - 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 BooleanCompute - 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 stringType - 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 booleanCompute - 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_ strtype - 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_ boolcompute - 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 StringType - 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 BooleanCompute - 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.
InstanceGuestAccelerator, InstanceGuestAcceleratorArgs
InstanceNetworkInterface, InstanceNetworkInterfaceArgs
- Access
Configs List<InstanceNetwork Interface Access Config> - Access configurations, i.e. IPs via which this instance can be accessed via the Internet.
- Alias
Ip List<InstanceRanges 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 intLength - The prefix length of the primary internal IPv6 range.
- Ipv6Access
Configs List<InstanceNetwork 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 string - One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork.
- Ipv6Address string
- 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 string
- A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
- Network string
- The name or self_link of the network to attach this interface to.
Either
network
orsubnetwork
must be provided. If network isn't provided it will be inferred from the subnetwork. - Network
Attachment string - 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 string - The private IP address to assign to the instance. If empty, the address will be automatically assigned.
- Nic
Type string - The type of vNIC to be used on this interface. Possible values: GVNIC, VIRTIO_NET.
- Queue
Count int - 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.
- Security
Policy string - A full or partial URL to a security policy to add to this instance. If this field is set to an empty string it will remove the associated security policy.
- Stack
Type string - The stack type for this network interface to identify whether the IPv6 feature is enabled or not. Values are IPV4_IPV6 or IPV4_ONLY. If not specified, IPV4_ONLY will be used.
- Subnetwork string
- The name or self_link of the subnetwork to attach this
interface to. Either
network
orsubnetwork
must be provided. If network isn't provided it will be inferred from the subnetwork. The subnetwork must exist in the same region this instance will be created in. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required. - Subnetwork
Project string - The project in which the subnetwork belongs.
If the
subnetwork
is a self_link, this field is set to the project defined in the subnetwork self_link. If thesubnetwork
is a name and this field is not provided, the provider project is used.
- Access
Configs []InstanceNetwork Interface Access Config - Access configurations, i.e. IPs via which this instance can be accessed via the Internet.
- Alias
Ip []InstanceRanges 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 intLength - The prefix length of the primary internal IPv6 range.
- Ipv6Access
Configs []InstanceNetwork 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 string - One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork.
- Ipv6Address string
- 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 string
- A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
- Network string
- The name or self_link of the network to attach this interface to.
Either
network
orsubnetwork
must be provided. If network isn't provided it will be inferred from the subnetwork. - Network
Attachment string - 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 string - The private IP address to assign to the instance. If empty, the address will be automatically assigned.
- Nic
Type string - The type of vNIC to be used on this interface. Possible values: GVNIC, VIRTIO_NET.
- Queue
Count int - 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.
- Security
Policy string - A full or partial URL to a security policy to add to this instance. If this field is set to an empty string it will remove the associated security policy.
- Stack
Type string - The stack type for this network interface to identify whether the IPv6 feature is enabled or not. Values are IPV4_IPV6 or IPV4_ONLY. If not specified, IPV4_ONLY will be used.
- Subnetwork string
- The name or self_link of the subnetwork to attach this
interface to. Either
network
orsubnetwork
must be provided. If network isn't provided it will be inferred from the subnetwork. The subnetwork must exist in the same region this instance will be created in. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required. - Subnetwork
Project string - The project in which the subnetwork belongs.
If the
subnetwork
is a self_link, this field is set to the project defined in the subnetwork self_link. If thesubnetwork
is a name and this field is not provided, the provider project is used.
- access
Configs List<InstanceNetwork Interface Access Config> - Access configurations, i.e. IPs via which this instance can be accessed via the Internet.
- alias
Ip List<InstanceRanges 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 IntegerLength - The prefix length of the primary internal IPv6 range.
- ipv6Access
Configs List<InstanceNetwork 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 String - One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork.
- ipv6Address String
- 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 String
- A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
- network String
- The name or self_link of the network to attach this interface to.
Either
network
orsubnetwork
must be provided. If network isn't provided it will be inferred from the subnetwork. - network
Attachment String - 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 String - The private IP address to assign to the instance. If empty, the address will be automatically assigned.
- nic
Type String - The type of vNIC to be used on this interface. Possible values: GVNIC, VIRTIO_NET.
- queue
Count Integer - 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.
- security
Policy String - A full or partial URL to a security policy to add to this instance. If this field is set to an empty string it will remove the associated security policy.
- stack
Type String - The stack type for this network interface to identify whether the IPv6 feature is enabled or not. Values are IPV4_IPV6 or IPV4_ONLY. If not specified, IPV4_ONLY will be used.
- subnetwork String
- The name or self_link of the subnetwork to attach this
interface to. Either
network
orsubnetwork
must be provided. If network isn't provided it will be inferred from the subnetwork. The subnetwork must exist in the same region this instance will be created in. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required. - subnetwork
Project String - The project in which the subnetwork belongs.
If the
subnetwork
is a self_link, this field is set to the project defined in the subnetwork self_link. If thesubnetwork
is a name and this field is not provided, the provider project is used.
- access
Configs InstanceNetwork Interface Access Config[] - Access configurations, i.e. IPs via which this instance can be accessed via the Internet.
- alias
Ip InstanceRanges 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 numberLength - The prefix length of the primary internal IPv6 range.
- ipv6Access
Configs InstanceNetwork 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 string - One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork.
- ipv6Address string
- 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 string
- A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
- network string
- The name or self_link of the network to attach this interface to.
Either
network
orsubnetwork
must be provided. If network isn't provided it will be inferred from the subnetwork. - network
Attachment string - 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 string - The private IP address to assign to the instance. If empty, the address will be automatically assigned.
- nic
Type string - The type of vNIC to be used on this interface. Possible values: GVNIC, VIRTIO_NET.
- queue
Count number - 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.
- security
Policy string - A full or partial URL to a security policy to add to this instance. If this field is set to an empty string it will remove the associated security policy.
- stack
Type string - The stack type for this network interface to identify whether the IPv6 feature is enabled or not. Values are IPV4_IPV6 or IPV4_ONLY. If not specified, IPV4_ONLY will be used.
- subnetwork string
- The name or self_link of the subnetwork to attach this
interface to. Either
network
orsubnetwork
must be provided. If network isn't provided it will be inferred from the subnetwork. The subnetwork must exist in the same region this instance will be created in. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required. - subnetwork
Project string - The project in which the subnetwork belongs.
If the
subnetwork
is a self_link, this field is set to the project defined in the subnetwork self_link. If thesubnetwork
is a name and this field is not provided, the provider project is used.
- access_
configs Sequence[InstanceNetwork Interface Access Config] - Access configurations, i.e. IPs via which this instance can be accessed via the Internet.
- alias_
ip_ Sequence[Instanceranges 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_ intprefix_ length - The prefix length of the primary internal IPv6 range.
- ipv6_
access_ Sequence[Instanceconfigs 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_ strtype - 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 str - 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 str
- A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
- network str
- The name or self_link of the network to attach this interface to.
Either
network
orsubnetwork
must be provided. If network isn't provided it will be inferred from the subnetwork. - network_
attachment str - 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 str - The private IP address to assign to the instance. If empty, the address will be automatically assigned.
- nic_
type str - The type of vNIC to be used on this interface. Possible values: GVNIC, VIRTIO_NET.
- queue_
count int - 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.
- security_
policy str - A full or partial URL to a security policy to add to this instance. If this field is set to an empty string it will remove the associated security policy.
- stack_
type str - The stack type for this network interface to identify whether the IPv6 feature is enabled or not. Values are IPV4_IPV6 or IPV4_ONLY. If not specified, IPV4_ONLY will be used.
- subnetwork str
- The name or self_link of the subnetwork to attach this
interface to. Either
network
orsubnetwork
must be provided. If network isn't provided it will be inferred from the subnetwork. The subnetwork must exist in the same region this instance will be created in. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required. - subnetwork_
project str - The project in which the subnetwork belongs.
If the
subnetwork
is a self_link, this field is set to the project defined in the subnetwork self_link. If thesubnetwork
is a name and this field is not provided, the provider project is used.
- access
Configs List<Property Map> - Access configurations, i.e. IPs via which this instance can be accessed via the Internet.
- alias
Ip List<Property Map>Ranges - 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 NumberLength - The prefix length of the primary internal IPv6 range.
- ipv6Access
Configs List<Property Map> - 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 String - One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork.
- ipv6Address String
- 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 String
- A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
- network String
- The name or self_link of the network to attach this interface to.
Either
network
orsubnetwork
must be provided. If network isn't provided it will be inferred from the subnetwork. - network
Attachment String - 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 String - The private IP address to assign to the instance. If empty, the address will be automatically assigned.
- nic
Type String - The type of vNIC to be used on this interface. Possible values: GVNIC, VIRTIO_NET.
- queue
Count Number - 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.
- security
Policy String - A full or partial URL to a security policy to add to this instance. If this field is set to an empty string it will remove the associated security policy.
- stack
Type String - The stack type for this network interface to identify whether the IPv6 feature is enabled or not. Values are IPV4_IPV6 or IPV4_ONLY. If not specified, IPV4_ONLY will be used.
- subnetwork String
- The name or self_link of the subnetwork to attach this
interface to. Either
network
orsubnetwork
must be provided. If network isn't provided it will be inferred from the subnetwork. The subnetwork must exist in the same region this instance will be created in. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required. - subnetwork
Project String - The project in which the subnetwork belongs.
If the
subnetwork
is a self_link, this field is set to the project defined in the subnetwork self_link. If thesubnetwork
is a name and this field is not provided, the provider project is used.
InstanceNetworkInterfaceAccessConfig, InstanceNetworkInterfaceAccessConfigArgs
- Nat
Ip string - The IP address that will be 1:1 mapped to the instance's network ip. If not given, one will be generated.
- Network
Tier string - The service-level to be provided for IPv6 traffic when the subnet has an external subnet. Only PREMIUM or STANDARD tier is valid for IPv6.
- Public
Ptr stringDomain Name - The domain name to be used when creating DNSv6 records for the external IPv6 ranges..
- Security
Policy string - A full or partial URL to a security policy to add to this instance. If this field is set to an empty string it will remove the associated security policy.
- Nat
Ip string - The IP address that will be 1:1 mapped to the instance's network ip. If not given, one will be generated.
- Network
Tier string - The service-level to be provided for IPv6 traffic when the subnet has an external subnet. Only PREMIUM or STANDARD tier is valid for IPv6.
- Public
Ptr stringDomain Name - The domain name to be used when creating DNSv6 records for the external IPv6 ranges..
- Security
Policy string - A full or partial URL to a security policy to add to this instance. If this field is set to an empty string it will remove the associated security policy.
- nat
Ip String - The IP address that will be 1:1 mapped to the instance's network ip. If not given, one will be generated.
- network
Tier String - The service-level to be provided for IPv6 traffic when the subnet has an external subnet. Only PREMIUM or STANDARD tier is valid for IPv6.
- public
Ptr StringDomain Name - The domain name to be used when creating DNSv6 records for the external IPv6 ranges..
- security
Policy String - A full or partial URL to a security policy to add to this instance. If this field is set to an empty string it will remove the associated security policy.
- nat
Ip string - The IP address that will be 1:1 mapped to the instance's network ip. If not given, one will be generated.
- network
Tier string - The service-level to be provided for IPv6 traffic when the subnet has an external subnet. Only PREMIUM or STANDARD tier is valid for IPv6.
- public
Ptr stringDomain Name - The domain name to be used when creating DNSv6 records for the external IPv6 ranges..
- security
Policy string - A full or partial URL to a security policy to add to this instance. If this field is set to an empty string it will remove the associated security policy.
- nat_
ip str - The IP address that will be 1:1 mapped to the instance's network ip. If not given, one will be generated.
- network_
tier str - The service-level to be provided for IPv6 traffic when the subnet has an external subnet. Only PREMIUM or STANDARD tier is valid for IPv6.
- public_
ptr_ strdomain_ name - The domain name to be used when creating DNSv6 records for the external IPv6 ranges..
- security_
policy str - A full or partial URL to a security policy to add to this instance. If this field is set to an empty string it will remove the associated security policy.
- nat
Ip String - The IP address that will be 1:1 mapped to the instance's network ip. If not given, one will be generated.
- network
Tier String - The service-level to be provided for IPv6 traffic when the subnet has an external subnet. Only PREMIUM or STANDARD tier is valid for IPv6.
- public
Ptr StringDomain Name - The domain name to be used when creating DNSv6 records for the external IPv6 ranges..
- security
Policy String - A full or partial URL to a security policy to add to this instance. If this field is set to an empty string it will remove the associated security policy.
InstanceNetworkInterfaceAliasIpRange, InstanceNetworkInterfaceAliasIpRangeArgs
- Ip
Cidr stringRange - 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. This range may be a single IP address (e.g. 10.2.3.4), a netmask (e.g. /24) or a CIDR format string (e.g. 10.1.2.0/24).
- Subnetwork
Range stringName - 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 stringRange - 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. This range may be a single IP address (e.g. 10.2.3.4), a netmask (e.g. /24) or a CIDR format string (e.g. 10.1.2.0/24).
- Subnetwork
Range stringName - 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 StringRange - 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. This range may be a single IP address (e.g. 10.2.3.4), a netmask (e.g. /24) or a CIDR format string (e.g. 10.1.2.0/24).
- subnetwork
Range StringName - 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 stringRange - 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. This range may be a single IP address (e.g. 10.2.3.4), a netmask (e.g. /24) or a CIDR format string (e.g. 10.1.2.0/24).
- subnetwork
Range stringName - 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_ strrange - 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. This range may be a single IP address (e.g. 10.2.3.4), a netmask (e.g. /24) or a CIDR format string (e.g. 10.1.2.0/24).
- subnetwork_
range_ strname - 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 StringRange - 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. This range may be a single IP address (e.g. 10.2.3.4), a netmask (e.g. /24) or a CIDR format string (e.g. 10.1.2.0/24).
- subnetwork
Range StringName - 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.
InstanceNetworkInterfaceIpv6AccessConfig, InstanceNetworkInterfaceIpv6AccessConfigArgs
- Network
Tier string - 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 string - The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. To use a static external IP address, it must be unused and in the same region as the instance's zone. If not specified, Google Cloud will automatically assign an external IPv6 address from the instance's subnetwork.
- External
Ipv6Prefix stringLength - The prefix length of the external IPv6 range.
- Name string
- A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
- Public
Ptr stringDomain Name - The domain name to be used when creating DNSv6 records for the external IPv6 ranges.
- Security
Policy string - A full or partial URL to a security policy to add to this instance. If this field is set to an empty string it will remove the associated security policy.
- Network
Tier string - 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 string - The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. To use a static external IP address, it must be unused and in the same region as the instance's zone. If not specified, Google Cloud will automatically assign an external IPv6 address from the instance's subnetwork.
- External
Ipv6Prefix stringLength - The prefix length of the external IPv6 range.
- Name string
- A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
- Public
Ptr stringDomain Name - The domain name to be used when creating DNSv6 records for the external IPv6 ranges.
- Security
Policy string - A full or partial URL to a security policy to add to this instance. If this field is set to an empty string it will remove the associated security policy.
- network
Tier String - 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 String - The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. To use a static external IP address, it must be unused and in the same region as the instance's zone. If not specified, Google Cloud will automatically assign an external IPv6 address from the instance's subnetwork.
- external
Ipv6Prefix StringLength - The prefix length of the external IPv6 range.
- name String
- A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
- public
Ptr StringDomain Name - The domain name to be used when creating DNSv6 records for the external IPv6 ranges.
- security
Policy String - A full or partial URL to a security policy to add to this instance. If this field is set to an empty string it will remove the associated security policy.
- network
Tier string - 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 string - The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. To use a static external IP address, it must be unused and in the same region as the instance's zone. If not specified, Google Cloud will automatically assign an external IPv6 address from the instance's subnetwork.
- external
Ipv6Prefix stringLength - The prefix length of the external IPv6 range.
- name string
- A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
- public
Ptr stringDomain Name - The domain name to be used when creating DNSv6 records for the external IPv6 ranges.
- security
Policy string - A full or partial URL to a security policy to add to this instance. If this field is set to an empty string it will remove the associated security policy.
- network_
tier str - 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 str - The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. To use a static external IP address, it must be unused and in the same region as the instance's zone. If not specified, Google Cloud will automatically assign an external IPv6 address from the instance's subnetwork.
- external_
ipv6_ strprefix_ length - The prefix length of the external IPv6 range.
- name str
- A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
- public_
ptr_ strdomain_ name - The domain name to be used when creating DNSv6 records for the external IPv6 ranges.
- security_
policy str - A full or partial URL to a security policy to add to this instance. If this field is set to an empty string it will remove the associated security policy.
- network
Tier String - 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 String - The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. To use a static external IP address, it must be unused and in the same region as the instance's zone. If not specified, Google Cloud will automatically assign an external IPv6 address from the instance's subnetwork.
- external
Ipv6Prefix StringLength - The prefix length of the external IPv6 range.
- name String
- A unique name for the resource, required by GCE. Changing this forces a new resource to be created.
- public
Ptr StringDomain Name - The domain name to be used when creating DNSv6 records for the external IPv6 ranges.
- security
Policy String - A full or partial URL to a security policy to add to this instance. If this field is set to an empty string it will remove the associated security policy.
InstanceNetworkPerformanceConfig, InstanceNetworkPerformanceConfigArgs
- Total
Egress stringBandwidth Tier - The egress bandwidth tier to enable. Possible values: TIER_1, DEFAULT
- Total
Egress stringBandwidth Tier - The egress bandwidth tier to enable. Possible values: TIER_1, DEFAULT
- total
Egress StringBandwidth Tier - The egress bandwidth tier to enable. Possible values: TIER_1, DEFAULT
- total
Egress stringBandwidth Tier - The egress bandwidth tier to enable. Possible values: TIER_1, DEFAULT
- total_
egress_ strbandwidth_ tier - The egress bandwidth tier to enable. Possible values: TIER_1, DEFAULT
- total
Egress StringBandwidth Tier - The egress bandwidth tier to enable. Possible values: TIER_1, DEFAULT
InstanceParams, InstanceParamsArgs
- Dictionary<string, string>
- A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored (both PUT & PATCH) when empty.
- map[string]string
- A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored (both PUT & PATCH) when empty.
- Map<String,String>
- A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored (both PUT & PATCH) when empty.
- {[key: string]: string}
- A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored (both PUT & PATCH) when empty.
- Mapping[str, str]
- A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored (both PUT & PATCH) when empty.
- Map<String>
- A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored (both PUT & PATCH) when empty.
InstanceReservationAffinity, InstanceReservationAffinityArgs
- Type string
- The type of reservation from which this instance can consume resources.
- Specific
Reservation InstanceReservation Affinity Specific Reservation - Specifies the label selector for the reservation to use.. Structure is documented below.
- Type string
- The type of reservation from which this instance can consume resources.
- Specific
Reservation InstanceReservation Affinity Specific Reservation - Specifies the label selector for the reservation to use.. Structure is documented below.
- type String
- The type of reservation from which this instance can consume resources.
- specific
Reservation InstanceReservation Affinity Specific Reservation - Specifies the label selector for the reservation to use.. Structure is documented below.
- type string
- The type of reservation from which this instance can consume resources.
- specific
Reservation InstanceReservation Affinity Specific Reservation - Specifies the label selector for the reservation to use.. Structure is documented below.
- type str
- The type of reservation from which this instance can consume resources.
- specific_
reservation InstanceReservation Affinity Specific Reservation - Specifies the label selector for the reservation to use.. Structure is documented below.
- type String
- The type of reservation from which this instance can consume resources.
- specific
Reservation Property Map - Specifies the label selector for the reservation to use.. Structure is documented below.
InstanceReservationAffinitySpecificReservation, InstanceReservationAffinitySpecificReservationArgs
- Key string
- 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 List<string>
- Corresponds to the label values of a reservation resource.
- key String
- 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 List<String>
- Corresponds to the label values of a reservation resource.
- key str
- 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 Sequence[str]
- Corresponds to the label values of a reservation resource.
- key String
- 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 List<String>
- Corresponds to the label values of a reservation resource.
InstanceScheduling, InstanceSchedulingArgs
- Automatic
Restart bool - Specifies if the instance should be restarted if it was terminated by Compute Engine (not a user). Defaults to true.
- Host
Error intTimeout Seconds - 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 stringAction - Describe the type of termination action for VM. Can be
STOP
orDELETE
. Read more on here - Local
Ssd InstanceRecovery Timeout 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 string - Specifies the frequency of planned maintenance events. The accepted values are:
PERIODIC
. - Max
Run InstanceDuration 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 intCpus - The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node.
- Node
Affinities List<InstanceScheduling 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 stringMaintenance - Describes maintenance behavior for the instance. Can be MIGRATE or TERMINATE, for more info, read here.
- On
Instance InstanceStop Action 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 bool
- Specifies if the instance is preemptible.
If this field is set to true, then
automatic_restart
must be set to false. Defaults to false. - Provisioning
Model string - 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
- Automatic
Restart bool - Specifies if the instance should be restarted if it was terminated by Compute Engine (not a user). Defaults to true.
- Host
Error intTimeout Seconds - 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 stringAction - Describe the type of termination action for VM. Can be
STOP
orDELETE
. Read more on here - Local
Ssd InstanceRecovery Timeout 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 string - Specifies the frequency of planned maintenance events. The accepted values are:
PERIODIC
. - Max
Run InstanceDuration 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 intCpus - The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node.
- Node
Affinities []InstanceScheduling 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 stringMaintenance - Describes maintenance behavior for the instance. Can be MIGRATE or TERMINATE, for more info, read here.
- On
Instance InstanceStop Action 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 bool
- Specifies if the instance is preemptible.
If this field is set to true, then
automatic_restart
must be set to false. Defaults to false. - Provisioning
Model string - 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
- automatic
Restart Boolean - Specifies if the instance should be restarted if it was terminated by Compute Engine (not a user). Defaults to true.
- host
Error IntegerTimeout Seconds - 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 StringAction - Describe the type of termination action for VM. Can be
STOP
orDELETE
. Read more on here - local
Ssd InstanceRecovery Timeout 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 String - Specifies the frequency of planned maintenance events. The accepted values are:
PERIODIC
. - max
Run InstanceDuration 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 IntegerCpus - The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node.
- node
Affinities List<InstanceScheduling 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 StringMaintenance - Describes maintenance behavior for the instance. Can be MIGRATE or TERMINATE, for more info, read here.
- on
Instance InstanceStop Action 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 Boolean
- Specifies if the instance is preemptible.
If this field is set to true, then
automatic_restart
must be set to false. Defaults to false. - provisioning
Model String - 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
- automatic
Restart boolean - Specifies if the instance should be restarted if it was terminated by Compute Engine (not a user). Defaults to true.
- host
Error numberTimeout Seconds - 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 stringAction - Describe the type of termination action for VM. Can be
STOP
orDELETE
. Read more on here - local
Ssd InstanceRecovery Timeout 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 string - Specifies the frequency of planned maintenance events. The accepted values are:
PERIODIC
. - max
Run InstanceDuration 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 numberCpus - The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node.
- node
Affinities InstanceScheduling 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 stringMaintenance - Describes maintenance behavior for the instance. Can be MIGRATE or TERMINATE, for more info, read here.
- on
Instance InstanceStop Action 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 boolean
- Specifies if the instance is preemptible.
If this field is set to true, then
automatic_restart
must be set to false. Defaults to false. - provisioning
Model string - 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
- automatic_
restart bool - Specifies if the instance should be restarted if it was terminated by Compute Engine (not a user). Defaults to true.
- host_
error_ inttimeout_ seconds - 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_ straction - Describe the type of termination action for VM. Can be
STOP
orDELETE
. Read more on here - local_
ssd_ Instancerecovery_ timeout 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 str - Specifies the frequency of planned maintenance events. The accepted values are:
PERIODIC
. - max_
run_ Instanceduration 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_ intcpus - The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node.
- node_
affinities Sequence[InstanceScheduling 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_ strmaintenance - Describes maintenance behavior for the instance. Can be MIGRATE or TERMINATE, for more info, read here.
- on_
instance_ Instancestop_ action 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 bool
- Specifies if the instance is preemptible.
If this field is set to true, then
automatic_restart
must be set to false. Defaults to false. - provisioning_
model str - 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
- automatic
Restart Boolean - Specifies if the instance should be restarted if it was terminated by Compute Engine (not a user). Defaults to true.
- host
Error NumberTimeout Seconds - 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 StringAction - Describe the type of termination action for VM. Can be
STOP
orDELETE
. Read more on here - local
Ssd Property MapRecovery 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 String - Specifies the frequency of planned maintenance events. The accepted values are:
PERIODIC
. - max
Run Property MapDuration - 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 NumberCpus - The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node.
- node
Affinities List<Property Map> - 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 StringMaintenance - Describes maintenance behavior for the instance. Can be MIGRATE or TERMINATE, for more info, read here.
- on
Instance Property MapStop 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 Boolean
- Specifies if the instance is preemptible.
If this field is set to true, then
automatic_restart
must be set to false. Defaults to false. - provisioning
Model String - 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
InstanceSchedulingLocalSsdRecoveryTimeout, InstanceSchedulingLocalSsdRecoveryTimeoutArgs
- Seconds int
- Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.
- Nanos int
- 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 positive nanos field. Must be from 0 to 999,999,999 inclusive.
- Seconds int
- Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.
- Nanos int
- 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 positive nanos field. Must be from 0 to 999,999,999 inclusive.
- seconds Integer
- Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.
- nanos Integer
- 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 positive nanos field. Must be from 0 to 999,999,999 inclusive.
- seconds number
- Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.
- nanos number
- 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 positive nanos field. Must be from 0 to 999,999,999 inclusive.
- seconds int
- Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.
- nanos int
- 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 positive nanos field. Must be from 0 to 999,999,999 inclusive.
- seconds Number
- Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.
- nanos Number
- 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 positive nanos field. Must be from 0 to 999,999,999 inclusive.
InstanceSchedulingMaxRunDuration, InstanceSchedulingMaxRunDurationArgs
- Seconds int
- 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 int
- 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 int
- 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 int
- 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 Integer
- 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 Integer
- 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 number
- 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 number
- 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 int
- 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 int
- 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 Number
- 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 Number
- 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.
InstanceSchedulingNodeAffinity, InstanceSchedulingNodeAffinityArgs
InstanceSchedulingOnInstanceStopAction, InstanceSchedulingOnInstanceStopActionArgs
- Discard
Local boolSsd - Whether to discard local SSDs attached to the VM while terminating using
max_run_duration
. Only supportstrue
at this point.
- Discard
Local boolSsd - Whether to discard local SSDs attached to the VM while terminating using
max_run_duration
. Only supportstrue
at this point.
- discard
Local BooleanSsd - Whether to discard local SSDs attached to the VM while terminating using
max_run_duration
. Only supportstrue
at this point.
- discard
Local booleanSsd - Whether to discard local SSDs attached to the VM while terminating using
max_run_duration
. Only supportstrue
at this point.
- discard_
local_ boolssd - Whether to discard local SSDs attached to the VM while terminating using
max_run_duration
. Only supportstrue
at this point.
- discard
Local BooleanSsd - Whether to discard local SSDs attached to the VM while terminating using
max_run_duration
. Only supportstrue
at this point.
InstanceScratchDisk, InstanceScratchDiskArgs
- Interface string
- The disk interface to use for attaching this disk; either SCSI or NVME.
- Device
Name string - Name with which the attached disk is accessible under /dev/disk/by-id/
- Size int
- The size of the disk in gigabytes. One of 375 or 3000.
- Interface string
- The disk interface to use for attaching this disk; either SCSI or NVME.
- Device
Name string - Name with which the attached disk is accessible under /dev/disk/by-id/
- Size int
- The size of the disk in gigabytes. One of 375 or 3000.
- interface_ String
- The disk interface to use for attaching this disk; either SCSI or NVME.
- device
Name String - Name with which the attached disk is accessible under /dev/disk/by-id/
- size Integer
- The size of the disk in gigabytes. One of 375 or 3000.
- interface string
- The disk interface to use for attaching this disk; either SCSI or NVME.
- device
Name string - Name with which the attached disk is accessible under /dev/disk/by-id/
- size number
- The size of the disk in gigabytes. One of 375 or 3000.
- interface str
- The disk interface to use for attaching this disk; either SCSI or NVME.
- device_
name str - Name with which the attached disk is accessible under /dev/disk/by-id/
- size int
- The size of the disk in gigabytes. One of 375 or 3000.
- interface String
- The disk interface to use for attaching this disk; either SCSI or NVME.
- device
Name String - Name with which the attached disk is accessible under /dev/disk/by-id/
- size Number
- The size of the disk in gigabytes. One of 375 or 3000.
InstanceServiceAccount, InstanceServiceAccountArgs
- Scopes List<string>
- 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. Note:allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field. - Email string
- The service account e-mail address.
Note:
allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field.
- Scopes []string
- 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. Note:allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field. - Email string
- The service account e-mail address.
Note:
allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field.
- scopes List<String>
- 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. Note:allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field. - email String
- The service account e-mail address.
Note:
allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field.
- scopes string[]
- 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. Note:allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field. - email string
- The service account e-mail address.
Note:
allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field.
- scopes Sequence[str]
- 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. Note:allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field. - email str
- The service account e-mail address.
Note:
allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field.
- scopes List<String>
- 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. Note:allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field. - email String
- The service account e-mail address.
Note:
allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field.
InstanceShieldedInstanceConfig, InstanceShieldedInstanceConfigArgs
- Enable
Integrity boolMonitoring - 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.
Note:
allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field.
- 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.
Note:
- Enable
Secure boolBoot - Verify the digital signature of all boot components, and halt the boot process if signature verification fails. Defaults to false.
Note:
allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field.
- Verify the digital signature of all boot components, and halt the boot process if signature verification fails. Defaults to false.
Note:
- Enable
Vtpm bool - 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.
Note:
allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field.
- 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.
Note:
- Enable
Integrity boolMonitoring - 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.
Note:
allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field.
- 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.
Note:
- Enable
Secure boolBoot - Verify the digital signature of all boot components, and halt the boot process if signature verification fails. Defaults to false.
Note:
allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field.
- Verify the digital signature of all boot components, and halt the boot process if signature verification fails. Defaults to false.
Note:
- Enable
Vtpm bool - 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.
Note:
allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field.
- 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.
Note:
- enable
Integrity BooleanMonitoring - 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.
Note:
allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field.
- 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.
Note:
- enable
Secure BooleanBoot - Verify the digital signature of all boot components, and halt the boot process if signature verification fails. Defaults to false.
Note:
allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field.
- Verify the digital signature of all boot components, and halt the boot process if signature verification fails. Defaults to false.
Note:
- enable
Vtpm Boolean - 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.
Note:
allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field.
- 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.
Note:
- enable
Integrity booleanMonitoring - 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.
Note:
allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field.
- 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.
Note:
- enable
Secure booleanBoot - Verify the digital signature of all boot components, and halt the boot process if signature verification fails. Defaults to false.
Note:
allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field.
- Verify the digital signature of all boot components, and halt the boot process if signature verification fails. Defaults to false.
Note:
- enable
Vtpm boolean - 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.
Note:
allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field.
- 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.
Note:
- enable_
integrity_ boolmonitoring - 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.
Note:
allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field.
- 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.
Note:
- enable_
secure_ boolboot - Verify the digital signature of all boot components, and halt the boot process if signature verification fails. Defaults to false.
Note:
allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field.
- Verify the digital signature of all boot components, and halt the boot process if signature verification fails. Defaults to false.
Note:
- enable_
vtpm bool - 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.
Note:
allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field.
- 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.
Note:
- enable
Integrity BooleanMonitoring - 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.
Note:
allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field.
- 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.
Note:
- enable
Secure BooleanBoot - Verify the digital signature of all boot components, and halt the boot process if signature verification fails. Defaults to false.
Note:
allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field.
- Verify the digital signature of all boot components, and halt the boot process if signature verification fails. Defaults to false.
Note:
- enable
Vtpm Boolean - 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.
Note:
allow_stopping_for_update
must be set to true or your instance must have adesired_status
ofTERMINATED
in order to update this field.
- 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.
Note:
Import
Instances can be imported using any of these accepted formats:
projects/{{project}}/zones/{{zone}}/instances/{{name}}
{{project}}/{{zone}}/{{name}}
{{name}}
When using the pulumi import
command, instances can be imported using one of the formats above. For example:
$ pulumi import gcp:compute/instance:Instance default projects/{{project}}/zones/{{zone}}/instances/{{name}}
$ pulumi import gcp:compute/instance:Instance default {{project}}/{{zone}}/{{name}}
$ pulumi import gcp:compute/instance:Instance 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.