Welcome to Pulumi Registry, your window into the cloud. Read the announcement.

Yandex

v0.10.0 published on Thursday, Nov 18, 2021 by Pulumi

ComputeInstance

A VM instance resource. For more information, see the official documentation.

Example Usage

using System.IO;
using Pulumi;
using Yandex = Pulumi.Yandex;

class MyStack : Stack
{
    public MyStack()
    {
        var fooVpcNetwork = new Yandex.VpcNetwork("fooVpcNetwork", new Yandex.VpcNetworkArgs
        {
        });
        var fooVpcSubnet = new Yandex.VpcSubnet("fooVpcSubnet", new Yandex.VpcSubnetArgs
        {
            NetworkId = fooVpcNetwork.Id,
            Zone = "ru-central1-a",
        });
        var @default = new Yandex.ComputeInstance("default", new Yandex.ComputeInstanceArgs
        {
            BootDisk = new Yandex.Inputs.ComputeInstanceBootDiskArgs
            {
                InitializeParams = new Yandex.Inputs.ComputeInstanceBootDiskInitializeParamsArgs
                {
                    ImageId = "image_id",
                },
            },
            Metadata = 
            {
                { "foo", "bar" },
                { "ssh-keys", $"ubuntu:{File.ReadAllText("~/.ssh/id_rsa.pub")}" },
            },
            NetworkInterfaces = 
            {
                new Yandex.Inputs.ComputeInstanceNetworkInterfaceArgs
                {
                    SubnetId = fooVpcSubnet.Id,
                },
            },
            PlatformId = "standard-v1",
            Resources = new Yandex.Inputs.ComputeInstanceResourcesArgs
            {
                Cores = 2,
                Memory = 4,
            },
            Zone = "ru-central1-a",
        });
    }

}
package main

import (
	"fmt"
	"io/ioutil"

	"github.com/pulumi/pulumi-yandex/sdk/go/yandex"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func readFileOrPanic(path string) pulumi.StringPtrInput {
	data, err := ioutil.ReadFile(path)
	if err != nil {
		panic(err.Error())
	}
	return pulumi.String(string(data))
}

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		fooVpcNetwork, err := yandex.NewVpcNetwork(ctx, "fooVpcNetwork", nil)
		if err != nil {
			return err
		}
		fooVpcSubnet, err := yandex.NewVpcSubnet(ctx, "fooVpcSubnet", &yandex.VpcSubnetArgs{
			NetworkId: fooVpcNetwork.ID(),
			Zone:      pulumi.String("ru-central1-a"),
		})
		if err != nil {
			return err
		}
		_, err = yandex.NewComputeInstance(ctx, "_default", &yandex.ComputeInstanceArgs{
			BootDisk: &ComputeInstanceBootDiskArgs{
				InitializeParams: &ComputeInstanceBootDiskInitializeParamsArgs{
					ImageId: pulumi.String("image_id"),
				},
			},
			Metadata: pulumi.StringMap{
				"foo":      pulumi.String("bar"),
				"ssh-keys": pulumi.String(fmt.Sprintf("%v%v", "ubuntu:", readFileOrPanic("~/.ssh/id_rsa.pub"))),
			},
			NetworkInterfaces: ComputeInstanceNetworkInterfaceArray{
				&ComputeInstanceNetworkInterfaceArgs{
					SubnetId: fooVpcSubnet.ID(),
				},
			},
			PlatformId: pulumi.String("standard-v1"),
			Resources: &ComputeInstanceResourcesArgs{
				Cores:  pulumi.Int(2),
				Memory: pulumi.Float64(4),
			},
			Zone: pulumi.String("ru-central1-a"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
import pulumi
import pulumi_yandex as yandex

foo_vpc_network = yandex.VpcNetwork("fooVpcNetwork")
foo_vpc_subnet = yandex.VpcSubnet("fooVpcSubnet",
    network_id=foo_vpc_network.id,
    zone="ru-central1-a")
default = yandex.ComputeInstance("default",
    boot_disk=yandex.ComputeInstanceBootDiskArgs(
        initialize_params=yandex.ComputeInstanceBootDiskInitializeParamsArgs(
            image_id="image_id",
        ),
    ),
    metadata={
        "foo": "bar",
        "ssh-keys": f"ubuntu:{(lambda path: open(path).read())('~/.ssh/id_rsa.pub')}",
    },
    network_interfaces=[yandex.ComputeInstanceNetworkInterfaceArgs(
        subnet_id=foo_vpc_subnet.id,
    )],
    platform_id="standard-v1",
    resources=yandex.ComputeInstanceResourcesArgs(
        cores=2,
        memory=4,
    ),
    zone="ru-central1-a")
import * as pulumi from "@pulumi/pulumi";
import * as fs from "fs";
import * as yandex from "@pulumi/yandex";

const fooVpcNetwork = new yandex.VpcNetwork("foo", {});
const fooVpcSubnet = new yandex.VpcSubnet("foo", {
    networkId: fooVpcNetwork.id,
    zone: "ru-central1-a",
});
const defaultComputeInstance = new yandex.ComputeInstance("default", {
    bootDisk: {
        initializeParams: {
            imageId: "image_id",
        },
    },
    metadata: {
        foo: "bar",
        "ssh-keys": `ubuntu:${fs.readFileSync("~/.ssh/id_rsa.pub", "utf-8")}`,
    },
    networkInterfaces: [{
        subnetId: fooVpcSubnet.id,
    }],
    platformId: "standard-v1",
    resources: {
        cores: 2,
        memory: 4,
    },
    zone: "ru-central1-a",
});

Create a ComputeInstance Resource

new ComputeInstance(name: string, args: ComputeInstanceArgs, opts?: CustomResourceOptions);
@overload
def ComputeInstance(resource_name: str,
                    opts: Optional[ResourceOptions] = None,
                    allow_stopping_for_update: Optional[bool] = None,
                    boot_disk: Optional[ComputeInstanceBootDiskArgs] = None,
                    description: Optional[str] = None,
                    folder_id: Optional[str] = None,
                    hostname: Optional[str] = None,
                    labels: Optional[Mapping[str, str]] = None,
                    metadata: Optional[Mapping[str, str]] = None,
                    name: Optional[str] = None,
                    network_acceleration_type: Optional[str] = None,
                    network_interfaces: Optional[Sequence[ComputeInstanceNetworkInterfaceArgs]] = None,
                    placement_policy: Optional[ComputeInstancePlacementPolicyArgs] = None,
                    platform_id: Optional[str] = None,
                    resources: Optional[ComputeInstanceResourcesArgs] = None,
                    scheduling_policy: Optional[ComputeInstanceSchedulingPolicyArgs] = None,
                    secondary_disks: Optional[Sequence[ComputeInstanceSecondaryDiskArgs]] = None,
                    service_account_id: Optional[str] = None,
                    zone: Optional[str] = None)
@overload
def ComputeInstance(resource_name: str,
                    args: ComputeInstanceArgs,
                    opts: Optional[ResourceOptions] = None)
func NewComputeInstance(ctx *Context, name string, args ComputeInstanceArgs, opts ...ResourceOption) (*ComputeInstance, error)
public ComputeInstance(string name, ComputeInstanceArgs args, CustomResourceOptions? opts = null)
name string
The unique name of the resource.
args ComputeInstanceArgs
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 ComputeInstanceArgs
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 ComputeInstanceArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args ComputeInstanceArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.

ComputeInstance Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

The ComputeInstance resource accepts the following input properties:

BootDisk ComputeInstanceBootDiskArgs
The boot disk for the instance. The structure is documented below.
NetworkInterfaces List<ComputeInstanceNetworkInterfaceArgs>
Networks to attach to the instance. This can be specified multiple times. The structure is documented below.
Resources ComputeInstanceResourcesArgs
Compute resources that are allocated for the instance. The structure is documented below.
AllowStoppingForUpdate bool
Description string
Description of the boot disk.
FolderId string
The ID of the folder that the resource belongs to. If it is not provided, the default provider folder is used.
Hostname string
Host name for the instance. This field is used to generate the instance fqdn value. The host name must be unique within the network and region. If not specified, the host name will be equal to id of the instance and fqdn will be <id>.auto.internal. Otherwise FQDN will be <hostname>.<region_id>.internal.
Labels Dictionary<string, string>
A set of key/value label pairs to assign to the instance.
Metadata Dictionary<string, string>
Metadata key/value pairs to make available from within the instance.
Name string
Name of the boot disk.
NetworkAccelerationType string
Type of network acceleration. The default is standard. Values: standard, software_accelerated
PlacementPolicy ComputeInstancePlacementPolicyArgs
The placement policy configuration. The structure is documented below.
PlatformId string
The type of virtual machine to create. The default is ‘standard-v1’.
SchedulingPolicy ComputeInstanceSchedulingPolicyArgs
Scheduling policy configuration. The structure is documented below.
SecondaryDisks List<ComputeInstanceSecondaryDiskArgs>
A list of disks to attach to the instance. The structure is documented below. Note: The allow_stopping_for_update property must be set to true in order to update this structure.
ServiceAccountId string
ID of the service account authorized for this instance.
Zone string
The availability zone where the virtual machine will be created. If it is not provided, the default provider folder is used.
BootDisk ComputeInstanceBootDiskArgs
The boot disk for the instance. The structure is documented below.
NetworkInterfaces []ComputeInstanceNetworkInterfaceArgs
Networks to attach to the instance. This can be specified multiple times. The structure is documented below.
Resources ComputeInstanceResourcesArgs
Compute resources that are allocated for the instance. The structure is documented below.
AllowStoppingForUpdate bool
Description string
Description of the boot disk.
FolderId string
The ID of the folder that the resource belongs to. If it is not provided, the default provider folder is used.
Hostname string
Host name for the instance. This field is used to generate the instance fqdn value. The host name must be unique within the network and region. If not specified, the host name will be equal to id of the instance and fqdn will be <id>.auto.internal. Otherwise FQDN will be <hostname>.<region_id>.internal.
Labels map[string]string
A set of key/value label pairs to assign to the instance.
Metadata map[string]string
Metadata key/value pairs to make available from within the instance.
Name string
Name of the boot disk.
NetworkAccelerationType string
Type of network acceleration. The default is standard. Values: standard, software_accelerated
PlacementPolicy ComputeInstancePlacementPolicyArgs
The placement policy configuration. The structure is documented below.
PlatformId string
The type of virtual machine to create. The default is ‘standard-v1’.
SchedulingPolicy ComputeInstanceSchedulingPolicyArgs
Scheduling policy configuration. The structure is documented below.
SecondaryDisks []ComputeInstanceSecondaryDiskArgs
A list of disks to attach to the instance. The structure is documented below. Note: The allow_stopping_for_update property must be set to true in order to update this structure.
ServiceAccountId string
ID of the service account authorized for this instance.
Zone string
The availability zone where the virtual machine will be created. If it is not provided, the default provider folder is used.
bootDisk ComputeInstanceBootDiskArgs
The boot disk for the instance. The structure is documented below.
networkInterfaces ComputeInstanceNetworkInterfaceArgs[]
Networks to attach to the instance. This can be specified multiple times. The structure is documented below.
resources ComputeInstanceResourcesArgs
Compute resources that are allocated for the instance. The structure is documented below.
allowStoppingForUpdate boolean
description string
Description of the boot disk.
folderId string
The ID of the folder that the resource belongs to. If it is not provided, the default provider folder is used.
hostname string
Host name for the instance. This field is used to generate the instance fqdn value. The host name must be unique within the network and region. If not specified, the host name will be equal to id of the instance and fqdn will be <id>.auto.internal. Otherwise FQDN will be <hostname>.<region_id>.internal.
labels {[key: string]: string}
A set of key/value label pairs to assign to the instance.
metadata {[key: string]: string}
Metadata key/value pairs to make available from within the instance.
name string
Name of the boot disk.
networkAccelerationType string
Type of network acceleration. The default is standard. Values: standard, software_accelerated
placementPolicy ComputeInstancePlacementPolicyArgs
The placement policy configuration. The structure is documented below.
platformId string
The type of virtual machine to create. The default is ‘standard-v1’.
schedulingPolicy ComputeInstanceSchedulingPolicyArgs
Scheduling policy configuration. The structure is documented below.
secondaryDisks ComputeInstanceSecondaryDiskArgs[]
A list of disks to attach to the instance. The structure is documented below. Note: The allow_stopping_for_update property must be set to true in order to update this structure.
serviceAccountId string
ID of the service account authorized for this instance.
zone string
The availability zone where the virtual machine will be created. If it is not provided, the default provider folder is used.
boot_disk ComputeInstanceBootDiskArgs
The boot disk for the instance. The structure is documented below.
network_interfaces Sequence[ComputeInstanceNetworkInterfaceArgs]
Networks to attach to the instance. This can be specified multiple times. The structure is documented below.
resources ComputeInstanceResourcesArgs
Compute resources that are allocated for the instance. The structure is documented below.
allow_stopping_for_update bool
description str
Description of the boot disk.
folder_id str
The ID of the folder that the resource belongs to. If it is not provided, the default provider folder is used.
hostname str
Host name for the instance. This field is used to generate the instance fqdn value. The host name must be unique within the network and region. If not specified, the host name will be equal to id of the instance and fqdn will be <id>.auto.internal. Otherwise FQDN will be <hostname>.<region_id>.internal.
labels Mapping[str, str]
A set of key/value label pairs to assign to the instance.
metadata Mapping[str, str]
Metadata key/value pairs to make available from within the instance.
name str
Name of the boot disk.
network_acceleration_type str
Type of network acceleration. The default is standard. Values: standard, software_accelerated
placement_policy ComputeInstancePlacementPolicyArgs
The placement policy configuration. The structure is documented below.
platform_id str
The type of virtual machine to create. The default is ‘standard-v1’.
scheduling_policy ComputeInstanceSchedulingPolicyArgs
Scheduling policy configuration. The structure is documented below.
secondary_disks Sequence[ComputeInstanceSecondaryDiskArgs]
A list of disks to attach to the instance. The structure is documented below. Note: The allow_stopping_for_update property must be set to true in order to update this structure.
service_account_id str
ID of the service account authorized for this instance.
zone str
The availability zone where the virtual machine will be created. If it is not provided, the default provider folder is used.

Outputs

All input properties are implicitly available as output properties. Additionally, the ComputeInstance resource produces the following output properties:

CreatedAt string
Creation timestamp of the instance.
Fqdn string
DNS record FQDN (must have a dot at the end).
Id string
The provider-assigned unique ID for this managed resource.
Status string
The status of this instance.
CreatedAt string
Creation timestamp of the instance.
Fqdn string
DNS record FQDN (must have a dot at the end).
Id string
The provider-assigned unique ID for this managed resource.
Status string
The status of this instance.
createdAt string
Creation timestamp of the instance.
fqdn string
DNS record FQDN (must have a dot at the end).
id string
The provider-assigned unique ID for this managed resource.
status string
The status of this instance.
created_at str
Creation timestamp of the instance.
fqdn str
DNS record FQDN (must have a dot at the end).
id str
The provider-assigned unique ID for this managed resource.
status str
The status of this instance.

Look up an Existing ComputeInstance Resource

Get an existing ComputeInstance 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?: ComputeInstanceState, opts?: CustomResourceOptions): ComputeInstance
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        allow_stopping_for_update: Optional[bool] = None,
        boot_disk: Optional[ComputeInstanceBootDiskArgs] = None,
        created_at: Optional[str] = None,
        description: Optional[str] = None,
        folder_id: Optional[str] = None,
        fqdn: Optional[str] = None,
        hostname: Optional[str] = None,
        labels: Optional[Mapping[str, str]] = None,
        metadata: Optional[Mapping[str, str]] = None,
        name: Optional[str] = None,
        network_acceleration_type: Optional[str] = None,
        network_interfaces: Optional[Sequence[ComputeInstanceNetworkInterfaceArgs]] = None,
        placement_policy: Optional[ComputeInstancePlacementPolicyArgs] = None,
        platform_id: Optional[str] = None,
        resources: Optional[ComputeInstanceResourcesArgs] = None,
        scheduling_policy: Optional[ComputeInstanceSchedulingPolicyArgs] = None,
        secondary_disks: Optional[Sequence[ComputeInstanceSecondaryDiskArgs]] = None,
        service_account_id: Optional[str] = None,
        status: Optional[str] = None,
        zone: Optional[str] = None) -> ComputeInstance
func GetComputeInstance(ctx *Context, name string, id IDInput, state *ComputeInstanceState, opts ...ResourceOption) (*ComputeInstance, error)
public static ComputeInstance Get(string name, Input<string> id, ComputeInstanceState? state, CustomResourceOptions? opts = null)
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.

The following state arguments are supported:

AllowStoppingForUpdate bool
BootDisk ComputeInstanceBootDiskArgs
The boot disk for the instance. The structure is documented below.
CreatedAt string
Creation timestamp of the instance.
Description string
Description of the boot disk.
FolderId string
The ID of the folder that the resource belongs to. If it is not provided, the default provider folder is used.
Fqdn string
DNS record FQDN (must have a dot at the end).
Hostname string
Host name for the instance. This field is used to generate the instance fqdn value. The host name must be unique within the network and region. If not specified, the host name will be equal to id of the instance and fqdn will be <id>.auto.internal. Otherwise FQDN will be <hostname>.<region_id>.internal.
Labels Dictionary<string, string>
A set of key/value label pairs to assign to the instance.
Metadata Dictionary<string, string>
Metadata key/value pairs to make available from within the instance.
Name string
Name of the boot disk.
NetworkAccelerationType string
Type of network acceleration. The default is standard. Values: standard, software_accelerated
NetworkInterfaces List<ComputeInstanceNetworkInterfaceArgs>
Networks to attach to the instance. This can be specified multiple times. The structure is documented below.
PlacementPolicy ComputeInstancePlacementPolicyArgs
The placement policy configuration. The structure is documented below.
PlatformId string
The type of virtual machine to create. The default is ‘standard-v1’.
Resources ComputeInstanceResourcesArgs
Compute resources that are allocated for the instance. The structure is documented below.
SchedulingPolicy ComputeInstanceSchedulingPolicyArgs
Scheduling policy configuration. The structure is documented below.
SecondaryDisks List<ComputeInstanceSecondaryDiskArgs>
A list of disks to attach to the instance. The structure is documented below. Note: The allow_stopping_for_update property must be set to true in order to update this structure.
ServiceAccountId string
ID of the service account authorized for this instance.
Status string
The status of this instance.
Zone string
The availability zone where the virtual machine will be created. If it is not provided, the default provider folder is used.
AllowStoppingForUpdate bool
BootDisk ComputeInstanceBootDiskArgs
The boot disk for the instance. The structure is documented below.
CreatedAt string
Creation timestamp of the instance.
Description string
Description of the boot disk.
FolderId string
The ID of the folder that the resource belongs to. If it is not provided, the default provider folder is used.
Fqdn string
DNS record FQDN (must have a dot at the end).
Hostname string
Host name for the instance. This field is used to generate the instance fqdn value. The host name must be unique within the network and region. If not specified, the host name will be equal to id of the instance and fqdn will be <id>.auto.internal. Otherwise FQDN will be <hostname>.<region_id>.internal.
Labels map[string]string
A set of key/value label pairs to assign to the instance.
Metadata map[string]string
Metadata key/value pairs to make available from within the instance.
Name string
Name of the boot disk.
NetworkAccelerationType string
Type of network acceleration. The default is standard. Values: standard, software_accelerated
NetworkInterfaces []ComputeInstanceNetworkInterfaceArgs
Networks to attach to the instance. This can be specified multiple times. The structure is documented below.
PlacementPolicy ComputeInstancePlacementPolicyArgs
The placement policy configuration. The structure is documented below.
PlatformId string
The type of virtual machine to create. The default is ‘standard-v1’.
Resources ComputeInstanceResourcesArgs
Compute resources that are allocated for the instance. The structure is documented below.
SchedulingPolicy ComputeInstanceSchedulingPolicyArgs
Scheduling policy configuration. The structure is documented below.
SecondaryDisks []ComputeInstanceSecondaryDiskArgs
A list of disks to attach to the instance. The structure is documented below. Note: The allow_stopping_for_update property must be set to true in order to update this structure.
ServiceAccountId string
ID of the service account authorized for this instance.
Status string
The status of this instance.
Zone string
The availability zone where the virtual machine will be created. If it is not provided, the default provider folder is used.
allowStoppingForUpdate boolean
bootDisk ComputeInstanceBootDiskArgs
The boot disk for the instance. The structure is documented below.
createdAt string
Creation timestamp of the instance.
description string
Description of the boot disk.
folderId string
The ID of the folder that the resource belongs to. If it is not provided, the default provider folder is used.
fqdn string
DNS record FQDN (must have a dot at the end).
hostname string
Host name for the instance. This field is used to generate the instance fqdn value. The host name must be unique within the network and region. If not specified, the host name will be equal to id of the instance and fqdn will be <id>.auto.internal. Otherwise FQDN will be <hostname>.<region_id>.internal.
labels {[key: string]: string}
A set of key/value label pairs to assign to the instance.
metadata {[key: string]: string}
Metadata key/value pairs to make available from within the instance.
name string
Name of the boot disk.
networkAccelerationType string
Type of network acceleration. The default is standard. Values: standard, software_accelerated
networkInterfaces ComputeInstanceNetworkInterfaceArgs[]
Networks to attach to the instance. This can be specified multiple times. The structure is documented below.
placementPolicy ComputeInstancePlacementPolicyArgs
The placement policy configuration. The structure is documented below.
platformId string
The type of virtual machine to create. The default is ‘standard-v1’.
resources ComputeInstanceResourcesArgs
Compute resources that are allocated for the instance. The structure is documented below.
schedulingPolicy ComputeInstanceSchedulingPolicyArgs
Scheduling policy configuration. The structure is documented below.
secondaryDisks ComputeInstanceSecondaryDiskArgs[]
A list of disks to attach to the instance. The structure is documented below. Note: The allow_stopping_for_update property must be set to true in order to update this structure.
serviceAccountId string
ID of the service account authorized for this instance.
status string
The status of this instance.
zone string
The availability zone where the virtual machine will be created. If it is not provided, the default provider folder is used.
allow_stopping_for_update bool
boot_disk ComputeInstanceBootDiskArgs
The boot disk for the instance. The structure is documented below.
created_at str
Creation timestamp of the instance.
description str
Description of the boot disk.
folder_id str
The ID of the folder that the resource belongs to. If it is not provided, the default provider folder is used.
fqdn str
DNS record FQDN (must have a dot at the end).
hostname str
Host name for the instance. This field is used to generate the instance fqdn value. The host name must be unique within the network and region. If not specified, the host name will be equal to id of the instance and fqdn will be <id>.auto.internal. Otherwise FQDN will be <hostname>.<region_id>.internal.
labels Mapping[str, str]
A set of key/value label pairs to assign to the instance.
metadata Mapping[str, str]
Metadata key/value pairs to make available from within the instance.
name str
Name of the boot disk.
network_acceleration_type str
Type of network acceleration. The default is standard. Values: standard, software_accelerated
network_interfaces Sequence[ComputeInstanceNetworkInterfaceArgs]
Networks to attach to the instance. This can be specified multiple times. The structure is documented below.
placement_policy ComputeInstancePlacementPolicyArgs
The placement policy configuration. The structure is documented below.
platform_id str
The type of virtual machine to create. The default is ‘standard-v1’.
resources ComputeInstanceResourcesArgs
Compute resources that are allocated for the instance. The structure is documented below.
scheduling_policy ComputeInstanceSchedulingPolicyArgs
Scheduling policy configuration. The structure is documented below.
secondary_disks Sequence[ComputeInstanceSecondaryDiskArgs]
A list of disks to attach to the instance. The structure is documented below. Note: The allow_stopping_for_update property must be set to true in order to update this structure.
service_account_id str
ID of the service account authorized for this instance.
status str
The status of this instance.
zone str
The availability zone where the virtual machine will be created. If it is not provided, the default provider folder is used.

Supporting Types

ComputeInstanceBootDisk

AutoDelete bool
Whether the disk is auto-deleted when the instance is deleted. The default value is false.
DeviceName string
Name that can be used to access an attached disk under /dev/disk/by-id/.
DiskId string
ID of the disk that is attached to the instance.
InitializeParams ComputeInstanceBootDiskInitializeParams
Parameters for a new disk that will be created alongside the new instance. Either initialize_params or disk_id must be set. The structure is documented below.
Mode string
Type of access to the disk resource. By default, a disk is attached in READ_WRITE mode.
AutoDelete bool
Whether the disk is auto-deleted when the instance is deleted. The default value is false.
DeviceName string
Name that can be used to access an attached disk under /dev/disk/by-id/.
DiskId string
ID of the disk that is attached to the instance.
InitializeParams ComputeInstanceBootDiskInitializeParams
Parameters for a new disk that will be created alongside the new instance. Either initialize_params or disk_id must be set. The structure is documented below.
Mode string
Type of access to the disk resource. By default, a disk is attached in READ_WRITE mode.
autoDelete boolean
Whether the disk is auto-deleted when the instance is deleted. The default value is false.
deviceName string
Name that can be used to access an attached disk under /dev/disk/by-id/.
diskId string
ID of the disk that is attached to the instance.
initializeParams ComputeInstanceBootDiskInitializeParams
Parameters for a new disk that will be created alongside the new instance. Either initialize_params or disk_id must be set. The structure is documented below.
mode string
Type of access to the disk resource. By default, a disk is attached in READ_WRITE mode.
auto_delete bool
Whether the disk is auto-deleted when the instance is deleted. The default value is false.
device_name str
Name that can be used to access an attached disk under /dev/disk/by-id/.
disk_id str
ID of the disk that is attached to the instance.
initialize_params ComputeInstanceBootDiskInitializeParams
Parameters for a new disk that will be created alongside the new instance. Either initialize_params or disk_id must be set. The structure is documented below.
mode str
Type of access to the disk resource. By default, a disk is attached in READ_WRITE mode.

ComputeInstanceBootDiskInitializeParams

Description string
Description of the boot disk.
ImageId string
A disk image to initialize this disk from.
Name string
Name of the boot disk.
Size int
Size of the disk in GB.
SnapshotId string
A snapshot to initialize this disk from.
Type string
Disk type.
Description string
Description of the boot disk.
ImageId string
A disk image to initialize this disk from.
Name string
Name of the boot disk.
Size int
Size of the disk in GB.
SnapshotId string
A snapshot to initialize this disk from.
Type string
Disk type.
description string
Description of the boot disk.
imageId string
A disk image to initialize this disk from.
name string
Name of the boot disk.
size number
Size of the disk in GB.
snapshotId string
A snapshot to initialize this disk from.
type string
Disk type.
description str
Description of the boot disk.
image_id str
A disk image to initialize this disk from.
name str
Name of the boot disk.
size int
Size of the disk in GB.
snapshot_id str
A snapshot to initialize this disk from.
type str
Disk type.

ComputeInstanceNetworkInterface

SubnetId string
ID of the subnet to attach this interface to. The subnet must exist in the same zone where this instance will be created.
DnsRecords List<ComputeInstanceNetworkInterfaceDnsRecord>
List of configurations for creating ipv4 DNS records. The structure is documented below.
Index int
IpAddress string
The private IP address to assign to the instance. If empty, the address will be automatically assigned from the specified subnet.
Ipv4 bool
Allocate an IPv4 address for the interface. The default value is true.
Ipv6 bool
If true, allocate an IPv6 address for the interface. The address will be automatically assigned from the specified subnet.
Ipv6Address string
The private IPv6 address to assign to the instance.
Ipv6DnsRecords List<ComputeInstanceNetworkInterfaceIpv6DnsRecord>
List of configurations for creating ipv6 DNS records. The structure is documented below.
MacAddress string
Nat bool
Provide a public address, for instance, to access the internet over NAT.
NatDnsRecords List<ComputeInstanceNetworkInterfaceNatDnsRecord>
List of configurations for creating ipv4 NAT DNS records. The structure is documented below.
NatIpAddress string
Provide a public address, for instance, to access the internet over NAT. Address should be already reserved in web UI.
NatIpVersion string
SecurityGroupIds List<string>
Security group ids for network interface.
SubnetId string
ID of the subnet to attach this interface to. The subnet must exist in the same zone where this instance will be created.
DnsRecords []ComputeInstanceNetworkInterfaceDnsRecord
List of configurations for creating ipv4 DNS records. The structure is documented below.
Index int
IpAddress string
The private IP address to assign to the instance. If empty, the address will be automatically assigned from the specified subnet.
Ipv4 bool
Allocate an IPv4 address for the interface. The default value is true.
Ipv6 bool
If true, allocate an IPv6 address for the interface. The address will be automatically assigned from the specified subnet.
Ipv6Address string
The private IPv6 address to assign to the instance.
Ipv6DnsRecords []ComputeInstanceNetworkInterfaceIpv6DnsRecord
List of configurations for creating ipv6 DNS records. The structure is documented below.
MacAddress string
Nat bool
Provide a public address, for instance, to access the internet over NAT.
NatDnsRecords []ComputeInstanceNetworkInterfaceNatDnsRecord
List of configurations for creating ipv4 NAT DNS records. The structure is documented below.
NatIpAddress string
Provide a public address, for instance, to access the internet over NAT. Address should be already reserved in web UI.
NatIpVersion string
SecurityGroupIds []string
Security group ids for network interface.
subnetId string
ID of the subnet to attach this interface to. The subnet must exist in the same zone where this instance will be created.
dnsRecords ComputeInstanceNetworkInterfaceDnsRecord[]
List of configurations for creating ipv4 DNS records. The structure is documented below.
index number
ipAddress string
The private IP address to assign to the instance. If empty, the address will be automatically assigned from the specified subnet.
ipv4 boolean
Allocate an IPv4 address for the interface. The default value is true.
ipv6 boolean
If true, allocate an IPv6 address for the interface. The address will be automatically assigned from the specified subnet.
ipv6Address string
The private IPv6 address to assign to the instance.
ipv6DnsRecords ComputeInstanceNetworkInterfaceIpv6DnsRecord[]
List of configurations for creating ipv6 DNS records. The structure is documented below.
macAddress string
nat boolean
Provide a public address, for instance, to access the internet over NAT.
natDnsRecords ComputeInstanceNetworkInterfaceNatDnsRecord[]
List of configurations for creating ipv4 NAT DNS records. The structure is documented below.
natIpAddress string
Provide a public address, for instance, to access the internet over NAT. Address should be already reserved in web UI.
natIpVersion string
securityGroupIds string[]
Security group ids for network interface.
subnet_id str
ID of the subnet to attach this interface to. The subnet must exist in the same zone where this instance will be created.
dns_records Sequence[ComputeInstanceNetworkInterfaceDnsRecord]
List of configurations for creating ipv4 DNS records. The structure is documented below.
index int
ip_address str
The private IP address to assign to the instance. If empty, the address will be automatically assigned from the specified subnet.
ipv4 bool
Allocate an IPv4 address for the interface. The default value is true.
ipv6 bool
If true, allocate an IPv6 address for the interface. The address will be automatically assigned from the specified subnet.
ipv6_address str
The private IPv6 address to assign to the instance.
ipv6_dns_records Sequence[ComputeInstanceNetworkInterfaceIpv6DnsRecord]
List of configurations for creating ipv6 DNS records. The structure is documented below.
mac_address str
nat bool
Provide a public address, for instance, to access the internet over NAT.
nat_dns_records Sequence[ComputeInstanceNetworkInterfaceNatDnsRecord]
List of configurations for creating ipv4 NAT DNS records. The structure is documented below.
nat_ip_address str
Provide a public address, for instance, to access the internet over NAT. Address should be already reserved in web UI.
nat_ip_version str
security_group_ids Sequence[str]
Security group ids for network interface.

ComputeInstanceNetworkInterfaceDnsRecord

Fqdn string
DNS record FQDN (must have a dot at the end).
DnsZoneId string
DNS zone ID (if not set, private zone used).
Ptr bool
When set to true, also create a PTR DNS record.
Ttl int
DNS record TTL. in seconds
Fqdn string
DNS record FQDN (must have a dot at the end).
DnsZoneId string
DNS zone ID (if not set, private zone used).
Ptr bool
When set to true, also create a PTR DNS record.
Ttl int
DNS record TTL. in seconds
fqdn string
DNS record FQDN (must have a dot at the end).
dnsZoneId string
DNS zone ID (if not set, private zone used).
ptr boolean
When set to true, also create a PTR DNS record.
ttl number
DNS record TTL. in seconds
fqdn str
DNS record FQDN (must have a dot at the end).
dns_zone_id str
DNS zone ID (if not set, private zone used).
ptr bool
When set to true, also create a PTR DNS record.
ttl int
DNS record TTL. in seconds

ComputeInstanceNetworkInterfaceIpv6DnsRecord

Fqdn string
DNS record FQDN (must have a dot at the end).
DnsZoneId string
DNS zone ID (if not set, private zone used).
Ptr bool
When set to true, also create a PTR DNS record.
Ttl int
DNS record TTL. in seconds
Fqdn string
DNS record FQDN (must have a dot at the end).
DnsZoneId string
DNS zone ID (if not set, private zone used).
Ptr bool
When set to true, also create a PTR DNS record.
Ttl int
DNS record TTL. in seconds
fqdn string
DNS record FQDN (must have a dot at the end).
dnsZoneId string
DNS zone ID (if not set, private zone used).
ptr boolean
When set to true, also create a PTR DNS record.
ttl number
DNS record TTL. in seconds
fqdn str
DNS record FQDN (must have a dot at the end).
dns_zone_id str
DNS zone ID (if not set, private zone used).
ptr bool
When set to true, also create a PTR DNS record.
ttl int
DNS record TTL. in seconds

ComputeInstanceNetworkInterfaceNatDnsRecord

Fqdn string
DNS record FQDN (must have a dot at the end).
DnsZoneId string
DNS zone ID (if not set, private zone used).
Ptr bool
When set to true, also create a PTR DNS record.
Ttl int
DNS record TTL. in seconds
Fqdn string
DNS record FQDN (must have a dot at the end).
DnsZoneId string
DNS zone ID (if not set, private zone used).
Ptr bool
When set to true, also create a PTR DNS record.
Ttl int
DNS record TTL. in seconds
fqdn string
DNS record FQDN (must have a dot at the end).
dnsZoneId string
DNS zone ID (if not set, private zone used).
ptr boolean
When set to true, also create a PTR DNS record.
ttl number
DNS record TTL. in seconds
fqdn str
DNS record FQDN (must have a dot at the end).
dns_zone_id str
DNS zone ID (if not set, private zone used).
ptr bool
When set to true, also create a PTR DNS record.
ttl int
DNS record TTL. in seconds

ComputeInstancePlacementPolicy

PlacementGroupId string
Specifies the id of the Placement Group to assign to the instance.
PlacementGroupId string
Specifies the id of the Placement Group to assign to the instance.
placementGroupId string
Specifies the id of the Placement Group to assign to the instance.
placement_group_id str
Specifies the id of the Placement Group to assign to the instance.

ComputeInstanceResources

Cores int
CPU cores for the instance.
Memory double
Memory size in GB.
CoreFraction int
If provided, specifies baseline performance for a core as a percent.
Gpus int
Cores int
CPU cores for the instance.
Memory float64
Memory size in GB.
CoreFraction int
If provided, specifies baseline performance for a core as a percent.
Gpus int
cores number
CPU cores for the instance.
memory number
Memory size in GB.
coreFraction number
If provided, specifies baseline performance for a core as a percent.
gpus number
cores int
CPU cores for the instance.
memory float
Memory size in GB.
core_fraction int
If provided, specifies baseline performance for a core as a percent.
gpus int

ComputeInstanceSchedulingPolicy

Preemptible bool
Specifies if the instance is preemptible. Defaults to false.
Preemptible bool
Specifies if the instance is preemptible. Defaults to false.
preemptible boolean
Specifies if the instance is preemptible. Defaults to false.
preemptible bool
Specifies if the instance is preemptible. Defaults to false.

ComputeInstanceSecondaryDisk

DiskId string
ID of the disk that is attached to the instance.
AutoDelete bool
Whether the disk is auto-deleted when the instance is deleted. The default value is false.
DeviceName string
Name that can be used to access an attached disk under /dev/disk/by-id/.
Mode string
Type of access to the disk resource. By default, a disk is attached in READ_WRITE mode.
DiskId string
ID of the disk that is attached to the instance.
AutoDelete bool
Whether the disk is auto-deleted when the instance is deleted. The default value is false.
DeviceName string
Name that can be used to access an attached disk under /dev/disk/by-id/.
Mode string
Type of access to the disk resource. By default, a disk is attached in READ_WRITE mode.
diskId string
ID of the disk that is attached to the instance.
autoDelete boolean
Whether the disk is auto-deleted when the instance is deleted. The default value is false.
deviceName string
Name that can be used to access an attached disk under /dev/disk/by-id/.
mode string
Type of access to the disk resource. By default, a disk is attached in READ_WRITE mode.
disk_id str
ID of the disk that is attached to the instance.
auto_delete bool
Whether the disk is auto-deleted when the instance is deleted. The default value is false.
device_name str
Name that can be used to access an attached disk under /dev/disk/by-id/.
mode str
Type of access to the disk resource. By default, a disk is attached in READ_WRITE mode.

Import

Instances can be imported using the ID of an instance, e.g.

 $ pulumi import yandex:index/computeInstance:ComputeInstance default instance_id

Package Details

Repository
https://github.com/pulumi/pulumi-yandex
License
Apache-2.0
Notes
This Pulumi package is based on the yandex Terraform Provider.