1. Packages
  2. Spectrocloud Provider
  3. API Docs
  4. VirtualMachine
spectrocloud 0.23.4 published on Monday, Apr 14, 2025 by spectrocloud

spectrocloud.VirtualMachine

Explore with Pulumi AI

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as spectrocloud from "@pulumi/spectrocloud";

const vmEnabledBaseCluster = spectrocloud.getCluster({
    name: "tenant-cluster-002",
    context: "project",
});
const storageClassName = "spectro-storage-class";
// Create a VM with default cloud init disk, container disk , interface and network
///*
const tf_test_vm_basic_type = new spectrocloud.VirtualMachine("tf-test-vm-basic-type", {
    clusterUid: vmEnabledBaseCluster.then(vmEnabledBaseCluster => vmEnabledBaseCluster.id),
    clusterContext: vmEnabledBaseCluster.then(vmEnabledBaseCluster => vmEnabledBaseCluster.context),
    runOnLaunch: true,
    namespace: "default",
    labels: {
        tf: "test",
    },
    volumes: [
        {
            name: "containerdisk",
            volumeSource: {
                containerDisks: [{
                    imageUrl: "gcr.io/spectro-images-public/release/vm-dashboard/os/ubuntu-container-disk:20.04",
                }],
            },
        },
        {
            name: "cloudintdisk",
            volumeSource: {
                cloudInitConfigDrive: {
                    userData: `
#cloud-config
ssh_pwauth: True
chpasswd: { expire: False }
password: spectro
disable_root: false
`,
                },
            },
        },
    ],
    disks: [
        {
            name: "containerdisk",
            diskDevices: [{
                disks: [{
                    bus: "virtio",
                }],
            }],
        },
        {
            name: "cloudintdisk",
            diskDevices: [{
                disks: [{
                    bus: "virtio",
                }],
            }],
        },
    ],
    cpu: {
        cores: 2,
        sockets: 1,
        threads: 10,
    },
    memory: {
        guest: "1Gi",
    },
    resources: {
        requests: {
            memory: "1Gi",
            cpu: "1",
        },
        limits: {
            cpu: "2",
            memory: "1Gi",
        },
    },
    interfaces: [{
        name: "default",
        interfaceBindingMethod: "InterfaceMasquerade",
    }],
    networks: [{
        name: "default",
        networkSource: {
            pod: {},
        },
    }],
});
// Create a VM with default with all available day2 attributes
//resource "spectrocloud_virtual_machine" "tf-test-vm-all-option-template-spec" {
//  cluster_uid     = data.spectrocloud_cluster.vm_enabled_base_cluster.id
//  cluster_context = data.spectrocloud_cluster.vm_enabled_base_cluster.context
//  name            = "tf-test-vm-all-option-spec-day2"
//  namespace       = "default"
//  run_on_launch = true
//  labels = {
//    "key1" = "value1"
//  }
//  #  Sample Day 2 Operation attributes
//  #  priority_class_name = "high"
//  #  scheduler_name = "test"
//  #  node_selector = {
//  #    "test_vmi" = "node_labels"
//  #  }
//  #  eviction_strategy = "LiveMigrate"
//  #  termination_grace_period_seconds = 60
//  #  hostname = "spectro-com"
//  #  subdomain = "test-spectro-com"
//  #  dns_policy = "Default" //["ClusterFirstWithHostNet", "ClusterFirst", "Default", "None"]
//  #  tolerations {
//  #    effect = "NoExecute" // ["NoSchedule", "PreferNoSchedule", "NoExecute"]
//  #    key = "tolerationKey"
//  #    operator = "Equal" // ["Exists", "Equal"]
//  #    toleration_seconds = "60"
//  #    value = "taintValue"
//  #  }
//  #  pod_dns_config {
//  #    nameservers = ["10.0.0.10", "10.0.0.11"]
//  #    option {
//  #      name = "test_dns_name"
//  #      value = "dns_value"
//  #    }
//  #    searches = ["policy1", "policy2"]
//  #  }
//  #  affinity {
//  #    pod_anti_affinity {
//  #      preferred_during_scheduling_ignored_during_execution {
//  #        weight = 10
//  #        pod_affinity_term {
//  #          label_selector {
//  #            match_labels = {
//  #              anti-affinity-key = "anti-affinity-val"
//  #            }
//  #          }
//  #          topology_key = "kubernetes.io/hostname"
//  #        }
//  #      }
//  #    }
//  #  }
//  volume {
//    name = "test-vm-containerdisk1"
//    volume_source {
//      container_disk {
//        image_url = "quay.io/kubevirt/fedora-cloud-container-disk-demo"
//      }
//    }
//  }
//  volume {
//    name = "cloudintdisk"
//    volume_source {
//      cloud_init_config_drive {
//        user_data = "\n#cloud-config\nssh_pwauth: True\nchpasswd: { expire: False }\npassword: spectro\ndisable_root: false\n"
//      }
//    }
//  }
//
//  resources {
//    requests = {
//      memory = "2G"
//      cpu    = 1
//    }
//    # Sample Day 2 Operation disk
//    # limits = {
//    #   "test_limit" = "10"
//    # }
//    over_commit_guest_overhead = false
//  }
//
//  disk {
//    name = "test-vm-containerdisk1"
//    disk_device {
//      disk {
//        bus = "virtio"
//      }
//    }
//  }
//  disk {
//    name = "cloudintdisk"
//    disk_device {
//      disk {
//        bus       = "virtio"
//        read_only = false
//        # pci_address = "0000:03:07.0"
//      }
//    }
//    serial = "1"
//  }
//  interface {
//    name                     = "main"
//    interface_binding_method = "InterfaceMasquerade" //["InterfaceBridge", "InterfaceSlirp", "InterfaceMasquerade","InterfaceSRIOV",]
//    model                    = "virtio"
//  }
//
//  #  interface {
//  #    name                     = "additional"
//  #    interface_binding_method = "InterfaceBridge"
//  #    model                    = "e1000e" // ["", "e1000", "e1000e", "ne2k_pci", "pcnet", "rtl8139", "virtio"]
//  #  }
//
//  network {
//    name = "main"
//    network_source {
//      pod {}
//    }
//  }
//
//  #  network {
//  #    name = "additional"
//  #    network_source {
//  #      multus {
//  #        network_name = "macvlan-conf"
//  #        default      = false
//  #      }
//  #    }
//  #  }
//
//
//}
Copy
import pulumi
import pulumi_spectrocloud as spectrocloud

vm_enabled_base_cluster = spectrocloud.get_cluster(name="tenant-cluster-002",
    context="project")
storage_class_name = "spectro-storage-class"
# Create a VM with default cloud init disk, container disk , interface and network
#/*
tf_test_vm_basic_type = spectrocloud.VirtualMachine("tf-test-vm-basic-type",
    cluster_uid=vm_enabled_base_cluster.id,
    cluster_context=vm_enabled_base_cluster.context,
    run_on_launch=True,
    namespace="default",
    labels={
        "tf": "test",
    },
    volumes=[
        {
            "name": "containerdisk",
            "volume_source": {
                "container_disks": [{
                    "image_url": "gcr.io/spectro-images-public/release/vm-dashboard/os/ubuntu-container-disk:20.04",
                }],
            },
        },
        {
            "name": "cloudintdisk",
            "volume_source": {
                "cloud_init_config_drive": {
                    "user_data": """
#cloud-config
ssh_pwauth: True
chpasswd: { expire: False }
password: spectro
disable_root: false
""",
                },
            },
        },
    ],
    disks=[
        {
            "name": "containerdisk",
            "disk_devices": [{
                "disks": [{
                    "bus": "virtio",
                }],
            }],
        },
        {
            "name": "cloudintdisk",
            "disk_devices": [{
                "disks": [{
                    "bus": "virtio",
                }],
            }],
        },
    ],
    cpu={
        "cores": 2,
        "sockets": 1,
        "threads": 10,
    },
    memory={
        "guest": "1Gi",
    },
    resources={
        "requests": {
            "memory": "1Gi",
            "cpu": "1",
        },
        "limits": {
            "cpu": "2",
            "memory": "1Gi",
        },
    },
    interfaces=[{
        "name": "default",
        "interface_binding_method": "InterfaceMasquerade",
    }],
    networks=[{
        "name": "default",
        "network_source": {
            "pod": {},
        },
    }])
# Create a VM with default with all available day2 attributes
#resource "spectrocloud_virtual_machine" "tf-test-vm-all-option-template-spec" {
#  cluster_uid     = data.spectrocloud_cluster.vm_enabled_base_cluster.id
#  cluster_context = data.spectrocloud_cluster.vm_enabled_base_cluster.context
#  name            = "tf-test-vm-all-option-spec-day2"
#  namespace       = "default"
#  run_on_launch = true
#  labels = {
#    "key1" = "value1"
#  }
#  #  Sample Day 2 Operation attributes
#  #  priority_class_name = "high"
#  #  scheduler_name = "test"
#  #  node_selector = {
#  #    "test_vmi" = "node_labels"
#  #  }
#  #  eviction_strategy = "LiveMigrate"
#  #  termination_grace_period_seconds = 60
#  #  hostname = "spectro-com"
#  #  subdomain = "test-spectro-com"
#  #  dns_policy = "Default" //["ClusterFirstWithHostNet", "ClusterFirst", "Default", "None"]
#  #  tolerations {
#  #    effect = "NoExecute" // ["NoSchedule", "PreferNoSchedule", "NoExecute"]
#  #    key = "tolerationKey"
#  #    operator = "Equal" // ["Exists", "Equal"]
#  #    toleration_seconds = "60"
#  #    value = "taintValue"
#  #  }
#  #  pod_dns_config {
#  #    nameservers = ["10.0.0.10", "10.0.0.11"]
#  #    option {
#  #      name = "test_dns_name"
#  #      value = "dns_value"
#  #    }
#  #    searches = ["policy1", "policy2"]
#  #  }
#  #  affinity {
#  #    pod_anti_affinity {
#  #      preferred_during_scheduling_ignored_during_execution {
#  #        weight = 10
#  #        pod_affinity_term {
#  #          label_selector {
#  #            match_labels = {
#  #              anti-affinity-key = "anti-affinity-val"
#  #            }
#  #          }
#  #          topology_key = "kubernetes.io/hostname"
#  #        }
#  #      }
#  #    }
#  #  }
#  volume {
#    name = "test-vm-containerdisk1"
#    volume_source {
#      container_disk {
#        image_url = "quay.io/kubevirt/fedora-cloud-container-disk-demo"
#      }
#    }
#  }
#  volume {
#    name = "cloudintdisk"
#    volume_source {
#      cloud_init_config_drive {
#        user_data = "\n#cloud-config\nssh_pwauth: True\nchpasswd: { expire: False }\npassword: spectro\ndisable_root: false\n"
#      }
#    }
#  }
#
#  resources {
#    requests = {
#      memory = "2G"
#      cpu    = 1
#    }
#    # Sample Day 2 Operation disk
#    # limits = {
#    #   "test_limit" = "10"
#    # }
#    over_commit_guest_overhead = false
#  }
#
#  disk {
#    name = "test-vm-containerdisk1"
#    disk_device {
#      disk {
#        bus = "virtio"
#      }
#    }
#  }
#  disk {
#    name = "cloudintdisk"
#    disk_device {
#      disk {
#        bus       = "virtio"
#        read_only = false
#        # pci_address = "0000:03:07.0"
#      }
#    }
#    serial = "1"
#  }
#  interface {
#    name                     = "main"
#    interface_binding_method = "InterfaceMasquerade" //["InterfaceBridge", "InterfaceSlirp", "InterfaceMasquerade","InterfaceSRIOV",]
#    model                    = "virtio"
#  }
#
#  #  interface {
#  #    name                     = "additional"
#  #    interface_binding_method = "InterfaceBridge"
#  #    model                    = "e1000e" // ["", "e1000", "e1000e", "ne2k_pci", "pcnet", "rtl8139", "virtio"]
#  #  }
#
#  network {
#    name = "main"
#    network_source {
#      pod {}
#    }
#  }
#
#  #  network {
#  #    name = "additional"
#  #    network_source {
#  #      multus {
#  #        network_name = "macvlan-conf"
#  #        default      = false
#  #      }
#  #    }
#  #  }
#
#
#}
Copy
package main

import (
	"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		vmEnabledBaseCluster, err := spectrocloud.GetCluster(ctx, &spectrocloud.GetClusterArgs{
			Name:    "tenant-cluster-002",
			Context: pulumi.StringRef("project"),
		}, nil)
		if err != nil {
			return err
		}
		_ := "spectro-storage-class"
		// Create a VM with default cloud init disk, container disk , interface and network
		// /*
		_, err = spectrocloud.NewVirtualMachine(ctx, "tf-test-vm-basic-type", &spectrocloud.VirtualMachineArgs{
			ClusterUid:     pulumi.String(vmEnabledBaseCluster.Id),
			ClusterContext: pulumi.String(vmEnabledBaseCluster.Context),
			RunOnLaunch:    pulumi.Bool(true),
			Namespace:      pulumi.String("default"),
			Labels: pulumi.StringMap{
				"tf": pulumi.String("test"),
			},
			Volumes: spectrocloud.VirtualMachineVolumeArray{
				&spectrocloud.VirtualMachineVolumeArgs{
					Name: pulumi.String("containerdisk"),
					VolumeSource: &spectrocloud.VirtualMachineVolumeVolumeSourceArgs{
						ContainerDisks: spectrocloud.VirtualMachineVolumeVolumeSourceContainerDiskArray{
							&spectrocloud.VirtualMachineVolumeVolumeSourceContainerDiskArgs{
								ImageUrl: pulumi.String("gcr.io/spectro-images-public/release/vm-dashboard/os/ubuntu-container-disk:20.04"),
							},
						},
					},
				},
				&spectrocloud.VirtualMachineVolumeArgs{
					Name: pulumi.String("cloudintdisk"),
					VolumeSource: &spectrocloud.VirtualMachineVolumeVolumeSourceArgs{
						CloudInitConfigDrive: &spectrocloud.VirtualMachineVolumeVolumeSourceCloudInitConfigDriveArgs{
							UserData: pulumi.String(`
#cloud-config
ssh_pwauth: True
chpasswd: { expire: False }
password: spectro
disable_root: false
`),
						},
					},
				},
			},
			Disks: spectrocloud.VirtualMachineDiskArray{
				&spectrocloud.VirtualMachineDiskArgs{
					Name: pulumi.String("containerdisk"),
					DiskDevices: spectrocloud.VirtualMachineDiskDiskDeviceArray{
						&spectrocloud.VirtualMachineDiskDiskDeviceArgs{
							Disks: spectrocloud.VirtualMachineDiskDiskDeviceDiskArray{
								&spectrocloud.VirtualMachineDiskDiskDeviceDiskArgs{
									Bus: pulumi.String("virtio"),
								},
							},
						},
					},
				},
				&spectrocloud.VirtualMachineDiskArgs{
					Name: pulumi.String("cloudintdisk"),
					DiskDevices: spectrocloud.VirtualMachineDiskDiskDeviceArray{
						&spectrocloud.VirtualMachineDiskDiskDeviceArgs{
							Disks: spectrocloud.VirtualMachineDiskDiskDeviceDiskArray{
								&spectrocloud.VirtualMachineDiskDiskDeviceDiskArgs{
									Bus: pulumi.String("virtio"),
								},
							},
						},
					},
				},
			},
			Cpu: &spectrocloud.VirtualMachineCpuArgs{
				Cores:   pulumi.Float64(2),
				Sockets: pulumi.Float64(1),
				Threads: pulumi.Float64(10),
			},
			Memory: &spectrocloud.VirtualMachineMemoryArgs{
				Guest: pulumi.String("1Gi"),
			},
			Resources: &spectrocloud.VirtualMachineResourcesArgs{
				Requests: pulumi.StringMap{
					"memory": pulumi.String("1Gi"),
					"cpu":    pulumi.String("1"),
				},
				Limits: pulumi.StringMap{
					"cpu":    pulumi.String("2"),
					"memory": pulumi.String("1Gi"),
				},
			},
			Interfaces: spectrocloud.VirtualMachineInterfaceArray{
				&spectrocloud.VirtualMachineInterfaceArgs{
					Name:                   pulumi.String("default"),
					InterfaceBindingMethod: pulumi.String("InterfaceMasquerade"),
				},
			},
			Networks: spectrocloud.VirtualMachineNetworkArray{
				&spectrocloud.VirtualMachineNetworkArgs{
					Name: pulumi.String("default"),
					NetworkSource: &spectrocloud.VirtualMachineNetworkNetworkSourceArgs{
						Pod: &spectrocloud.VirtualMachineNetworkNetworkSourcePodArgs{},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Spectrocloud = Pulumi.Spectrocloud;

return await Deployment.RunAsync(() => 
{
    var vmEnabledBaseCluster = Spectrocloud.GetCluster.Invoke(new()
    {
        Name = "tenant-cluster-002",
        Context = "project",
    });

    var storageClassName = "spectro-storage-class";

    // Create a VM with default cloud init disk, container disk , interface and network
    ///*
    var tf_test_vm_basic_type = new Spectrocloud.VirtualMachine("tf-test-vm-basic-type", new()
    {
        ClusterUid = vmEnabledBaseCluster.Apply(getClusterResult => getClusterResult.Id),
        ClusterContext = vmEnabledBaseCluster.Apply(getClusterResult => getClusterResult.Context),
        RunOnLaunch = true,
        Namespace = "default",
        Labels = 
        {
            { "tf", "test" },
        },
        Volumes = new[]
        {
            new Spectrocloud.Inputs.VirtualMachineVolumeArgs
            {
                Name = "containerdisk",
                VolumeSource = new Spectrocloud.Inputs.VirtualMachineVolumeVolumeSourceArgs
                {
                    ContainerDisks = new[]
                    {
                        new Spectrocloud.Inputs.VirtualMachineVolumeVolumeSourceContainerDiskArgs
                        {
                            ImageUrl = "gcr.io/spectro-images-public/release/vm-dashboard/os/ubuntu-container-disk:20.04",
                        },
                    },
                },
            },
            new Spectrocloud.Inputs.VirtualMachineVolumeArgs
            {
                Name = "cloudintdisk",
                VolumeSource = new Spectrocloud.Inputs.VirtualMachineVolumeVolumeSourceArgs
                {
                    CloudInitConfigDrive = new Spectrocloud.Inputs.VirtualMachineVolumeVolumeSourceCloudInitConfigDriveArgs
                    {
                        UserData = @"
#cloud-config
ssh_pwauth: True
chpasswd: { expire: False }
password: spectro
disable_root: false
",
                    },
                },
            },
        },
        Disks = new[]
        {
            new Spectrocloud.Inputs.VirtualMachineDiskArgs
            {
                Name = "containerdisk",
                DiskDevices = new[]
                {
                    new Spectrocloud.Inputs.VirtualMachineDiskDiskDeviceArgs
                    {
                        Disks = new[]
                        {
                            new Spectrocloud.Inputs.VirtualMachineDiskDiskDeviceDiskArgs
                            {
                                Bus = "virtio",
                            },
                        },
                    },
                },
            },
            new Spectrocloud.Inputs.VirtualMachineDiskArgs
            {
                Name = "cloudintdisk",
                DiskDevices = new[]
                {
                    new Spectrocloud.Inputs.VirtualMachineDiskDiskDeviceArgs
                    {
                        Disks = new[]
                        {
                            new Spectrocloud.Inputs.VirtualMachineDiskDiskDeviceDiskArgs
                            {
                                Bus = "virtio",
                            },
                        },
                    },
                },
            },
        },
        Cpu = new Spectrocloud.Inputs.VirtualMachineCpuArgs
        {
            Cores = 2,
            Sockets = 1,
            Threads = 10,
        },
        Memory = new Spectrocloud.Inputs.VirtualMachineMemoryArgs
        {
            Guest = "1Gi",
        },
        Resources = new Spectrocloud.Inputs.VirtualMachineResourcesArgs
        {
            Requests = 
            {
                { "memory", "1Gi" },
                { "cpu", "1" },
            },
            Limits = 
            {
                { "cpu", "2" },
                { "memory", "1Gi" },
            },
        },
        Interfaces = new[]
        {
            new Spectrocloud.Inputs.VirtualMachineInterfaceArgs
            {
                Name = "default",
                InterfaceBindingMethod = "InterfaceMasquerade",
            },
        },
        Networks = new[]
        {
            new Spectrocloud.Inputs.VirtualMachineNetworkArgs
            {
                Name = "default",
                NetworkSource = new Spectrocloud.Inputs.VirtualMachineNetworkNetworkSourceArgs
                {
                    Pod = null,
                },
            },
        },
    });

    // Create a VM with default with all available day2 attributes
    //resource "spectrocloud_virtual_machine" "tf-test-vm-all-option-template-spec" {
    //  cluster_uid     = data.spectrocloud_cluster.vm_enabled_base_cluster.id
    //  cluster_context = data.spectrocloud_cluster.vm_enabled_base_cluster.context
    //  name            = "tf-test-vm-all-option-spec-day2"
    //  namespace       = "default"
    //  run_on_launch = true
    //  labels = {
    //    "key1" = "value1"
    //  }
    //  #  Sample Day 2 Operation attributes
    //  #  priority_class_name = "high"
    //  #  scheduler_name = "test"
    //  #  node_selector = {
    //  #    "test_vmi" = "node_labels"
    //  #  }
    //  #  eviction_strategy = "LiveMigrate"
    //  #  termination_grace_period_seconds = 60
    //  #  hostname = "spectro-com"
    //  #  subdomain = "test-spectro-com"
    //  #  dns_policy = "Default" //["ClusterFirstWithHostNet", "ClusterFirst", "Default", "None"]
    //  #  tolerations {
    //  #    effect = "NoExecute" // ["NoSchedule", "PreferNoSchedule", "NoExecute"]
    //  #    key = "tolerationKey"
    //  #    operator = "Equal" // ["Exists", "Equal"]
    //  #    toleration_seconds = "60"
    //  #    value = "taintValue"
    //  #  }
    //  #  pod_dns_config {
    //  #    nameservers = ["10.0.0.10", "10.0.0.11"]
    //  #    option {
    //  #      name = "test_dns_name"
    //  #      value = "dns_value"
    //  #    }
    //  #    searches = ["policy1", "policy2"]
    //  #  }
    //  #  affinity {
    //  #    pod_anti_affinity {
    //  #      preferred_during_scheduling_ignored_during_execution {
    //  #        weight = 10
    //  #        pod_affinity_term {
    //  #          label_selector {
    //  #            match_labels = {
    //  #              anti-affinity-key = "anti-affinity-val"
    //  #            }
    //  #          }
    //  #          topology_key = "kubernetes.io/hostname"
    //  #        }
    //  #      }
    //  #    }
    //  #  }
    //  volume {
    //    name = "test-vm-containerdisk1"
    //    volume_source {
    //      container_disk {
    //        image_url = "quay.io/kubevirt/fedora-cloud-container-disk-demo"
    //      }
    //    }
    //  }
    //  volume {
    //    name = "cloudintdisk"
    //    volume_source {
    //      cloud_init_config_drive {
    //        user_data = "\n#cloud-config\nssh_pwauth: True\nchpasswd: { expire: False }\npassword: spectro\ndisable_root: false\n"
    //      }
    //    }
    //  }
    //
    //  resources {
    //    requests = {
    //      memory = "2G"
    //      cpu    = 1
    //    }
    //    # Sample Day 2 Operation disk
    //    # limits = {
    //    #   "test_limit" = "10"
    //    # }
    //    over_commit_guest_overhead = false
    //  }
    //
    //  disk {
    //    name = "test-vm-containerdisk1"
    //    disk_device {
    //      disk {
    //        bus = "virtio"
    //      }
    //    }
    //  }
    //  disk {
    //    name = "cloudintdisk"
    //    disk_device {
    //      disk {
    //        bus       = "virtio"
    //        read_only = false
    //        # pci_address = "0000:03:07.0"
    //      }
    //    }
    //    serial = "1"
    //  }
    //  interface {
    //    name                     = "main"
    //    interface_binding_method = "InterfaceMasquerade" //["InterfaceBridge", "InterfaceSlirp", "InterfaceMasquerade","InterfaceSRIOV",]
    //    model                    = "virtio"
    //  }
    //
    //  #  interface {
    //  #    name                     = "additional"
    //  #    interface_binding_method = "InterfaceBridge"
    //  #    model                    = "e1000e" // ["", "e1000", "e1000e", "ne2k_pci", "pcnet", "rtl8139", "virtio"]
    //  #  }
    //
    //  network {
    //    name = "main"
    //    network_source {
    //      pod {}
    //    }
    //  }
    //
    //  #  network {
    //  #    name = "additional"
    //  #    network_source {
    //  #      multus {
    //  #        network_name = "macvlan-conf"
    //  #        default      = false
    //  #      }
    //  #    }
    //  #  }
    //
    //
    //}
});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.spectrocloud.SpectrocloudFunctions;
import com.pulumi.spectrocloud.inputs.GetClusterArgs;
import com.pulumi.spectrocloud.VirtualMachine;
import com.pulumi.spectrocloud.VirtualMachineArgs;
import com.pulumi.spectrocloud.inputs.VirtualMachineVolumeArgs;
import com.pulumi.spectrocloud.inputs.VirtualMachineVolumeVolumeSourceArgs;
import com.pulumi.spectrocloud.inputs.VirtualMachineVolumeVolumeSourceCloudInitConfigDriveArgs;
import com.pulumi.spectrocloud.inputs.VirtualMachineDiskArgs;
import com.pulumi.spectrocloud.inputs.VirtualMachineCpuArgs;
import com.pulumi.spectrocloud.inputs.VirtualMachineMemoryArgs;
import com.pulumi.spectrocloud.inputs.VirtualMachineResourcesArgs;
import com.pulumi.spectrocloud.inputs.VirtualMachineInterfaceArgs;
import com.pulumi.spectrocloud.inputs.VirtualMachineNetworkArgs;
import com.pulumi.spectrocloud.inputs.VirtualMachineNetworkNetworkSourceArgs;
import com.pulumi.spectrocloud.inputs.VirtualMachineNetworkNetworkSourcePodArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        final var vmEnabledBaseCluster = SpectrocloudFunctions.getCluster(GetClusterArgs.builder()
            .name("tenant-cluster-002")
            .context("project")
            .build());

        final var storageClassName = "spectro-storage-class";

        // Create a VM with default cloud init disk, container disk , interface and network
        ///*
        var tf_test_vm_basic_type = new VirtualMachine("tf-test-vm-basic-type", VirtualMachineArgs.builder()
            .clusterUid(vmEnabledBaseCluster.applyValue(getClusterResult -> getClusterResult.id()))
            .clusterContext(vmEnabledBaseCluster.applyValue(getClusterResult -> getClusterResult.context()))
            .runOnLaunch(true)
            .namespace("default")
            .labels(Map.of("tf", "test"))
            .volumes(            
                VirtualMachineVolumeArgs.builder()
                    .name("containerdisk")
                    .volumeSource(VirtualMachineVolumeVolumeSourceArgs.builder()
                        .containerDisks(VirtualMachineVolumeVolumeSourceContainerDiskArgs.builder()
                            .imageUrl("gcr.io/spectro-images-public/release/vm-dashboard/os/ubuntu-container-disk:20.04")
                            .build())
                        .build())
                    .build(),
                VirtualMachineVolumeArgs.builder()
                    .name("cloudintdisk")
                    .volumeSource(VirtualMachineVolumeVolumeSourceArgs.builder()
                        .cloudInitConfigDrive(VirtualMachineVolumeVolumeSourceCloudInitConfigDriveArgs.builder()
                            .userData("""

#cloud-config
ssh_pwauth: True
chpasswd: { expire: False }
password: spectro
disable_root: false
                            """)
                            .build())
                        .build())
                    .build())
            .disks(            
                VirtualMachineDiskArgs.builder()
                    .name("containerdisk")
                    .diskDevices(VirtualMachineDiskDiskDeviceArgs.builder()
                        .disks(VirtualMachineDiskDiskDeviceDiskArgs.builder()
                            .bus("virtio")
                            .build())
                        .build())
                    .build(),
                VirtualMachineDiskArgs.builder()
                    .name("cloudintdisk")
                    .diskDevices(VirtualMachineDiskDiskDeviceArgs.builder()
                        .disks(VirtualMachineDiskDiskDeviceDiskArgs.builder()
                            .bus("virtio")
                            .build())
                        .build())
                    .build())
            .cpu(VirtualMachineCpuArgs.builder()
                .cores(2)
                .sockets(1)
                .threads(10)
                .build())
            .memory(VirtualMachineMemoryArgs.builder()
                .guest("1Gi")
                .build())
            .resources(VirtualMachineResourcesArgs.builder()
                .requests(Map.ofEntries(
                    Map.entry("memory", "1Gi"),
                    Map.entry("cpu", 1)
                ))
                .limits(Map.ofEntries(
                    Map.entry("cpu", 2),
                    Map.entry("memory", "1Gi")
                ))
                .build())
            .interfaces(VirtualMachineInterfaceArgs.builder()
                .name("default")
                .interfaceBindingMethod("InterfaceMasquerade")
                .build())
            .networks(VirtualMachineNetworkArgs.builder()
                .name("default")
                .networkSource(VirtualMachineNetworkNetworkSourceArgs.builder()
                    .pod()
                    .build())
                .build())
            .build());

        // Create a VM with default with all available day2 attributes
        //resource "spectrocloud_virtual_machine" "tf-test-vm-all-option-template-spec" {
        //  cluster_uid     = data.spectrocloud_cluster.vm_enabled_base_cluster.id
        //  cluster_context = data.spectrocloud_cluster.vm_enabled_base_cluster.context
        //  name            = "tf-test-vm-all-option-spec-day2"
        //  namespace       = "default"
        //  run_on_launch = true
        //  labels = {
        //    "key1" = "value1"
        //  }
        //  #  Sample Day 2 Operation attributes
        //  #  priority_class_name = "high"
        //  #  scheduler_name = "test"
        //  #  node_selector = {
        //  #    "test_vmi" = "node_labels"
        //  #  }
        //  #  eviction_strategy = "LiveMigrate"
        //  #  termination_grace_period_seconds = 60
        //  #  hostname = "spectro-com"
        //  #  subdomain = "test-spectro-com"
        //  #  dns_policy = "Default" //["ClusterFirstWithHostNet", "ClusterFirst", "Default", "None"]
        //  #  tolerations {
        //  #    effect = "NoExecute" // ["NoSchedule", "PreferNoSchedule", "NoExecute"]
        //  #    key = "tolerationKey"
        //  #    operator = "Equal" // ["Exists", "Equal"]
        //  #    toleration_seconds = "60"
        //  #    value = "taintValue"
        //  #  }
        //  #  pod_dns_config {
        //  #    nameservers = ["10.0.0.10", "10.0.0.11"]
        //  #    option {
        //  #      name = "test_dns_name"
        //  #      value = "dns_value"
        //  #    }
        //  #    searches = ["policy1", "policy2"]
        //  #  }
        //  #  affinity {
        //  #    pod_anti_affinity {
        //  #      preferred_during_scheduling_ignored_during_execution {
        //  #        weight = 10
        //  #        pod_affinity_term {
        //  #          label_selector {
        //  #            match_labels = {
        //  #              anti-affinity-key = "anti-affinity-val"
        //  #            }
        //  #          }
        //  #          topology_key = "kubernetes.io/hostname"
        //  #        }
        //  #      }
        //  #    }
        //  #  }
        //  volume {
        //    name = "test-vm-containerdisk1"
        //    volume_source {
        //      container_disk {
        //        image_url = "quay.io/kubevirt/fedora-cloud-container-disk-demo"
        //      }
        //    }
        //  }
        //  volume {
        //    name = "cloudintdisk"
        //    volume_source {
        //      cloud_init_config_drive {
        //        user_data = "\n#cloud-config\nssh_pwauth: True\nchpasswd: { expire: False }\npassword: spectro\ndisable_root: false\n"
        //      }
        //    }
        //  }
        //
        //  resources {
        //    requests = {
        //      memory = "2G"
        //      cpu    = 1
        //    }
        //    # Sample Day 2 Operation disk
        //    # limits = {
        //    #   "test_limit" = "10"
        //    # }
        //    over_commit_guest_overhead = false
        //  }
        //
        //  disk {
        //    name = "test-vm-containerdisk1"
        //    disk_device {
        //      disk {
        //        bus = "virtio"
        //      }
        //    }
        //  }
        //  disk {
        //    name = "cloudintdisk"
        //    disk_device {
        //      disk {
        //        bus       = "virtio"
        //        read_only = false
        //        # pci_address = "0000:03:07.0"
        //      }
        //    }
        //    serial = "1"
        //  }
        //  interface {
        //    name                     = "main"
        //    interface_binding_method = "InterfaceMasquerade" //["InterfaceBridge", "InterfaceSlirp", "InterfaceMasquerade","InterfaceSRIOV",]
        //    model                    = "virtio"
        //  }
        //
        //  #  interface {
        //  #    name                     = "additional"
        //  #    interface_binding_method = "InterfaceBridge"
        //  #    model                    = "e1000e" // ["", "e1000", "e1000e", "ne2k_pci", "pcnet", "rtl8139", "virtio"]
        //  #  }
        //
        //  network {
        //    name = "main"
        //    network_source {
        //      pod {}
        //    }
        //  }
        //
        //  #  network {
        //  #    name = "additional"
        //  #    network_source {
        //  #      multus {
        //  #        network_name = "macvlan-conf"
        //  #        default      = false
        //  #      }
        //  #    }
        //  #  }
        //
        //
        //}
    }
}
Copy
resources:
  # Create a VM with default cloud init disk, container disk , interface and network
  #/*
  tf-test-vm-basic-type: # Create a VM with default with all available day2 attributes
  # /*
  # resource "spectrocloud_virtual_machine" "tf-test-vm-all-option-template-spec" {
  #   cluster_uid     = data.spectrocloud_cluster.vm_enabled_base_cluster.id
  #   cluster_context = data.spectrocloud_cluster.vm_enabled_base_cluster.context
  #   name            = "tf-test-vm-all-option-spec-day2"
  #   namespace       = "default"
  #   run_on_launch = true
  #   labels = {
  #     "key1" = "value1"
  #   }
  #   #  Sample Day 2 Operation attributes
  #   #  priority_class_name = "high"
  #   #  scheduler_name = "test"
  #   #  node_selector = {
  #   #    "test_vmi" = "node_labels"
  #   #  }
  #   #  eviction_strategy = "LiveMigrate"
  #   #  termination_grace_period_seconds = 60
  #   #  hostname = "spectro-com"
  #   #  subdomain = "test-spectro-com"
  #   #  dns_policy = "Default" //["ClusterFirstWithHostNet", "ClusterFirst", "Default", "None"]
  #   #  tolerations {
  #   #    effect = "NoExecute" // ["NoSchedule", "PreferNoSchedule", "NoExecute"]
  #   #    key = "tolerationKey"
  #   #    operator = "Equal" // ["Exists", "Equal"]
  #   #    toleration_seconds = "60"
  #   #    value = "taintValue"
  #   #  }
  #   #  pod_dns_config {
  #   #    nameservers = ["10.0.0.10", "10.0.0.11"]
  #   #    option {
  #   #      name = "test_dns_name"
  #   #      value = "dns_value"
  #   #    }
  #   #    searches = ["policy1", "policy2"]
  #   #  }
  #   #  affinity {
  #   #    pod_anti_affinity {
  #   #      preferred_during_scheduling_ignored_during_execution {
  #   #        weight = 10
  #   #        pod_affinity_term {
  #   #          label_selector {
  #   #            match_labels = {
  #   #              anti-affinity-key = "anti-affinity-val"
  #   #            }
  #   #          }
  #   #          topology_key = "kubernetes.io/hostname"
  #   #        }
  #   #      }
  #   #    }
  #   #  }
  #   volume {
  #     name = "test-vm-containerdisk1"
  #     volume_source {
  #       container_disk {
  #         image_url = "quay.io/kubevirt/fedora-cloud-container-disk-demo"
  #       }
  #     }
  #   }
  #   volume {
  #     name = "cloudintdisk"
  #     volume_source {
  #       cloud_init_config_drive {
  #         user_data = "\n#cloud-config\nssh_pwauth: True\nchpasswd: { expire: False }\npassword: spectro\ndisable_root: false\n"
  #       }
  #     }
  #   }

  #   resources {
  #     requests = {
  #       memory = "2G"
  #       cpu    = 1
  #     }
  #     # Sample Day 2 Operation disk
  #     # limits = {
  #     #   "test_limit" = "10"
  #     # }
  #     over_commit_guest_overhead = false
  #   }

  #   disk {
  #     name = "test-vm-containerdisk1"
  #     disk_device {
  #       disk {
  #         bus = "virtio"
  #       }
  #     }
  #   }
  #   disk {
  #     name = "cloudintdisk"
  #     disk_device {
  #       disk {
  #         bus       = "virtio"
  #         read_only = false
  #         # pci_address = "0000:03:07.0"
  #       }
  #     }
  #     serial = "1"
  #   }
  #   interface {
  #     name                     = "main"
  #     interface_binding_method = "InterfaceMasquerade" //["InterfaceBridge", "InterfaceSlirp", "InterfaceMasquerade","InterfaceSRIOV",]
  #     model                    = "virtio"
  #   }

  #   #  interface {
  #   #    name                     = "additional"
  #   #    interface_binding_method = "InterfaceBridge"
  #   #    model                    = "e1000e" // ["", "e1000", "e1000e", "ne2k_pci", "pcnet", "rtl8139", "virtio"]
  #   #  }

  #   network {
  #     name = "main"
  #     network_source {
  #       pod {}
  #     }
  #   }

  #   #  network {
  #   #    name = "additional"
  #   #    network_source {
  #   #      multus {
  #   #        network_name = "macvlan-conf"
  #   #        default      = false
  #   #      }
  #   #    }
  #   #  }


  # }
  # */
    type: spectrocloud:VirtualMachine
    properties:
      clusterUid: ${vmEnabledBaseCluster.id}
      clusterContext: ${vmEnabledBaseCluster.context}
      runOnLaunch: true
      namespace: default
      labels:
        tf: test
      volumes:
        - name: containerdisk
          volumeSource:
            containerDisks:
              - imageUrl: gcr.io/spectro-images-public/release/vm-dashboard/os/ubuntu-container-disk:20.04
        - name: cloudintdisk
          volumeSource:
            cloudInitConfigDrive:
              userData: |2
                #cloud-config
                ssh_pwauth: True
                chpasswd: { expire: False }
                password: spectro
                disable_root: false
      disks:
        - name: containerdisk
          diskDevices:
            - disks:
                - bus: virtio
        - name: cloudintdisk
          diskDevices:
            - disks:
                - bus: virtio
      cpu:
        cores: 2
        sockets: 1
        threads: 10
      memory:
        guest: 1Gi
      resources:
        requests:
          memory: 1Gi
          cpu: 1
        limits:
          cpu: 2
          memory: 1Gi
      interfaces:
        - name: default
          interfaceBindingMethod: InterfaceMasquerade
      networks:
        - name: default
          networkSource:
            pod: {}
variables:
  vmEnabledBaseCluster:
    fn::invoke:
      function: spectrocloud:getCluster
      arguments:
        name: tenant-cluster-002
        context: project
  storageClassName: spectro-storage-class
Copy

Create VirtualMachine Resource

Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

Constructor syntax

new VirtualMachine(name: string, args: VirtualMachineArgs, opts?: CustomResourceOptions);
@overload
def VirtualMachine(resource_name: str,
                   args: VirtualMachineArgs,
                   opts: Optional[ResourceOptions] = None)

@overload
def VirtualMachine(resource_name: str,
                   opts: Optional[ResourceOptions] = None,
                   cluster_uid: Optional[str] = None,
                   resources: Optional[VirtualMachineResourcesArgs] = None,
                   name: Optional[str] = None,
                   node_selector: Optional[Mapping[str, str]] = None,
                   base_vm_name: Optional[str] = None,
                   cpu: Optional[VirtualMachineCpuArgs] = None,
                   data_volume_templates: Optional[Sequence[VirtualMachineDataVolumeTemplateArgs]] = None,
                   disks: Optional[Sequence[VirtualMachineDiskArgs]] = None,
                   dns_policy: Optional[str] = None,
                   eviction_strategy: Optional[str] = None,
                   generate_name: Optional[str] = None,
                   hostname: Optional[str] = None,
                   interfaces: Optional[Sequence[VirtualMachineInterfaceArgs]] = None,
                   labels: Optional[Mapping[str, str]] = None,
                   liveness_probe: Optional[VirtualMachineLivenessProbeArgs] = None,
                   memory: Optional[VirtualMachineMemoryArgs] = None,
                   affinity: Optional[VirtualMachineAffinityArgs] = None,
                   namespace: Optional[str] = None,
                   cluster_context: Optional[str] = None,
                   pod_dns_config: Optional[VirtualMachinePodDnsConfigArgs] = None,
                   networks: Optional[Sequence[VirtualMachineNetworkArgs]] = None,
                   priority_class_name: Optional[str] = None,
                   readiness_probe: Optional[VirtualMachineReadinessProbeArgs] = None,
                   annotations: Optional[Mapping[str, str]] = None,
                   run_on_launch: Optional[bool] = None,
                   run_strategy: Optional[str] = None,
                   scheduler_name: Optional[str] = None,
                   status: Optional[VirtualMachineStatusArgs] = None,
                   subdomain: Optional[str] = None,
                   termination_grace_period_seconds: Optional[float] = None,
                   timeouts: Optional[VirtualMachineTimeoutsArgs] = None,
                   tolerations: Optional[Sequence[VirtualMachineTolerationArgs]] = None,
                   virtual_machine_id: Optional[str] = None,
                   vm_action: Optional[str] = None,
                   volumes: Optional[Sequence[VirtualMachineVolumeArgs]] = None)
func NewVirtualMachine(ctx *Context, name string, args VirtualMachineArgs, opts ...ResourceOption) (*VirtualMachine, error)
public VirtualMachine(string name, VirtualMachineArgs args, CustomResourceOptions? opts = null)
public VirtualMachine(String name, VirtualMachineArgs args)
public VirtualMachine(String name, VirtualMachineArgs args, CustomResourceOptions options)
type: spectrocloud:VirtualMachine
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args This property is required. VirtualMachineArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. VirtualMachineArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name This property is required. string
The unique name of the resource.
args This property is required. VirtualMachineArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. VirtualMachineArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. VirtualMachineArgs
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 virtualMachineResource = new Spectrocloud.VirtualMachine("virtualMachineResource", new()
{
    ClusterUid = "string",
    Resources = new Spectrocloud.Inputs.VirtualMachineResourcesArgs
    {
        Limits = 
        {
            { "string", "string" },
        },
        OverCommitGuestOverhead = false,
        Requests = 
        {
            { "string", "string" },
        },
    },
    Name = "string",
    NodeSelector = 
    {
        { "string", "string" },
    },
    BaseVmName = "string",
    Cpu = new Spectrocloud.Inputs.VirtualMachineCpuArgs
    {
        Cores = 0,
        Sockets = 0,
        Threads = 0,
    },
    DataVolumeTemplates = new[]
    {
        new Spectrocloud.Inputs.VirtualMachineDataVolumeTemplateArgs
        {
            Metadata = new Spectrocloud.Inputs.VirtualMachineDataVolumeTemplateMetadataArgs
            {
                Annotations = 
                {
                    { "string", "string" },
                },
                Generation = 0,
                Labels = 
                {
                    { "string", "string" },
                },
                Name = "string",
                Namespace = "string",
                ResourceVersion = "string",
                SelfLink = "string",
                Uid = "string",
            },
            Spec = new Spectrocloud.Inputs.VirtualMachineDataVolumeTemplateSpecArgs
            {
                Pvc = new Spectrocloud.Inputs.VirtualMachineDataVolumeTemplateSpecPvcArgs
                {
                    AccessModes = new[]
                    {
                        "string",
                    },
                    Resources = new Spectrocloud.Inputs.VirtualMachineDataVolumeTemplateSpecPvcResourcesArgs
                    {
                        Limits = 
                        {
                            { "string", "string" },
                        },
                        Requests = 
                        {
                            { "string", "string" },
                        },
                    },
                    Selector = new Spectrocloud.Inputs.VirtualMachineDataVolumeTemplateSpecPvcSelectorArgs
                    {
                        MatchExpressions = new[]
                        {
                            new Spectrocloud.Inputs.VirtualMachineDataVolumeTemplateSpecPvcSelectorMatchExpressionArgs
                            {
                                Key = "string",
                                Operator = "string",
                                Values = new[]
                                {
                                    "string",
                                },
                            },
                        },
                        MatchLabels = 
                        {
                            { "string", "string" },
                        },
                    },
                    StorageClassName = "string",
                    VolumeMode = "string",
                    VolumeName = "string",
                },
                ContentType = "string",
                Source = new Spectrocloud.Inputs.VirtualMachineDataVolumeTemplateSpecSourceArgs
                {
                    Blank = null,
                    Http = new Spectrocloud.Inputs.VirtualMachineDataVolumeTemplateSpecSourceHttpArgs
                    {
                        CertConfigMap = "string",
                        SecretRef = "string",
                        Url = "string",
                    },
                    Pvc = new Spectrocloud.Inputs.VirtualMachineDataVolumeTemplateSpecSourcePvcArgs
                    {
                        Name = "string",
                        Namespace = "string",
                    },
                    Registry = new Spectrocloud.Inputs.VirtualMachineDataVolumeTemplateSpecSourceRegistryArgs
                    {
                        ImageUrl = "string",
                    },
                },
            },
        },
    },
    Disks = new[]
    {
        new Spectrocloud.Inputs.VirtualMachineDiskArgs
        {
            DiskDevices = new[]
            {
                new Spectrocloud.Inputs.VirtualMachineDiskDiskDeviceArgs
                {
                    Disks = new[]
                    {
                        new Spectrocloud.Inputs.VirtualMachineDiskDiskDeviceDiskArgs
                        {
                            Bus = "string",
                            PciAddress = "string",
                            ReadOnly = false,
                        },
                    },
                },
            },
            Name = "string",
            Serial = "string",
        },
    },
    DnsPolicy = "string",
    EvictionStrategy = "string",
    GenerateName = "string",
    Hostname = "string",
    Interfaces = new[]
    {
        new Spectrocloud.Inputs.VirtualMachineInterfaceArgs
        {
            InterfaceBindingMethod = "string",
            Name = "string",
            Model = "string",
        },
    },
    Labels = 
    {
        { "string", "string" },
    },
    LivenessProbe = null,
    Memory = new Spectrocloud.Inputs.VirtualMachineMemoryArgs
    {
        Guest = "string",
        Hugepages = "string",
    },
    Affinity = new Spectrocloud.Inputs.VirtualMachineAffinityArgs
    {
        NodeAffinity = new Spectrocloud.Inputs.VirtualMachineAffinityNodeAffinityArgs
        {
            PreferredDuringSchedulingIgnoredDuringExecutions = new[]
            {
                new Spectrocloud.Inputs.VirtualMachineAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionArgs
                {
                    Preference = new Spectrocloud.Inputs.VirtualMachineAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceArgs
                    {
                        MatchExpressions = new[]
                        {
                            new Spectrocloud.Inputs.VirtualMachineAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressionArgs
                            {
                                Key = "string",
                                Operator = "string",
                                Values = new[]
                                {
                                    "string",
                                },
                            },
                        },
                    },
                    Weight = 0,
                },
            },
            RequiredDuringSchedulingIgnoredDuringExecution = new Spectrocloud.Inputs.VirtualMachineAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionArgs
            {
                NodeSelectorTerms = new[]
                {
                    new Spectrocloud.Inputs.VirtualMachineAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermArgs
                    {
                        MatchExpressions = new[]
                        {
                            new Spectrocloud.Inputs.VirtualMachineAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermMatchExpressionArgs
                            {
                                Key = "string",
                                Operator = "string",
                                Values = new[]
                                {
                                    "string",
                                },
                            },
                        },
                    },
                },
            },
        },
        PodAffinity = new Spectrocloud.Inputs.VirtualMachineAffinityPodAffinityArgs
        {
            PreferredDuringSchedulingIgnoredDuringExecutions = new[]
            {
                new Spectrocloud.Inputs.VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionArgs
                {
                    PodAffinityTerm = new Spectrocloud.Inputs.VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermArgs
                    {
                        LabelSelectors = new[]
                        {
                            new Spectrocloud.Inputs.VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorArgs
                            {
                                MatchExpressions = new[]
                                {
                                    new Spectrocloud.Inputs.VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressionArgs
                                    {
                                        Key = "string",
                                        Operator = "string",
                                        Values = new[]
                                        {
                                            "string",
                                        },
                                    },
                                },
                                MatchLabels = 
                                {
                                    { "string", "string" },
                                },
                            },
                        },
                        Namespaces = new[]
                        {
                            "string",
                        },
                        TopologyKey = "string",
                    },
                    Weight = 0,
                },
            },
            RequiredDuringSchedulingIgnoredDuringExecutions = new[]
            {
                new Spectrocloud.Inputs.VirtualMachineAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionArgs
                {
                    LabelSelectors = new[]
                    {
                        new Spectrocloud.Inputs.VirtualMachineAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorArgs
                        {
                            MatchExpressions = new[]
                            {
                                new Spectrocloud.Inputs.VirtualMachineAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressionArgs
                                {
                                    Key = "string",
                                    Operator = "string",
                                    Values = new[]
                                    {
                                        "string",
                                    },
                                },
                            },
                            MatchLabels = 
                            {
                                { "string", "string" },
                            },
                        },
                    },
                    Namespaces = new[]
                    {
                        "string",
                    },
                    TopologyKey = "string",
                },
            },
        },
        PodAntiAffinity = new Spectrocloud.Inputs.VirtualMachineAffinityPodAntiAffinityArgs
        {
            PreferredDuringSchedulingIgnoredDuringExecutions = new[]
            {
                new Spectrocloud.Inputs.VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionArgs
                {
                    PodAffinityTerm = new Spectrocloud.Inputs.VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermArgs
                    {
                        LabelSelectors = new[]
                        {
                            new Spectrocloud.Inputs.VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorArgs
                            {
                                MatchExpressions = new[]
                                {
                                    new Spectrocloud.Inputs.VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressionArgs
                                    {
                                        Key = "string",
                                        Operator = "string",
                                        Values = new[]
                                        {
                                            "string",
                                        },
                                    },
                                },
                                MatchLabels = 
                                {
                                    { "string", "string" },
                                },
                            },
                        },
                        Namespaces = new[]
                        {
                            "string",
                        },
                        TopologyKey = "string",
                    },
                    Weight = 0,
                },
            },
            RequiredDuringSchedulingIgnoredDuringExecutions = new[]
            {
                new Spectrocloud.Inputs.VirtualMachineAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionArgs
                {
                    LabelSelectors = new[]
                    {
                        new Spectrocloud.Inputs.VirtualMachineAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorArgs
                        {
                            MatchExpressions = new[]
                            {
                                new Spectrocloud.Inputs.VirtualMachineAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressionArgs
                                {
                                    Key = "string",
                                    Operator = "string",
                                    Values = new[]
                                    {
                                        "string",
                                    },
                                },
                            },
                            MatchLabels = 
                            {
                                { "string", "string" },
                            },
                        },
                    },
                    Namespaces = new[]
                    {
                        "string",
                    },
                    TopologyKey = "string",
                },
            },
        },
    },
    Namespace = "string",
    ClusterContext = "string",
    PodDnsConfig = new Spectrocloud.Inputs.VirtualMachinePodDnsConfigArgs
    {
        Nameservers = new[]
        {
            "string",
        },
        Options = new[]
        {
            new Spectrocloud.Inputs.VirtualMachinePodDnsConfigOptionArgs
            {
                Name = "string",
                Value = "string",
            },
        },
        Searches = new[]
        {
            "string",
        },
    },
    Networks = new[]
    {
        new Spectrocloud.Inputs.VirtualMachineNetworkArgs
        {
            Name = "string",
            NetworkSource = new Spectrocloud.Inputs.VirtualMachineNetworkNetworkSourceArgs
            {
                Multus = new Spectrocloud.Inputs.VirtualMachineNetworkNetworkSourceMultusArgs
                {
                    NetworkName = "string",
                    Default = false,
                },
                Pod = new Spectrocloud.Inputs.VirtualMachineNetworkNetworkSourcePodArgs
                {
                    VmNetworkCidr = "string",
                },
            },
        },
    },
    PriorityClassName = "string",
    ReadinessProbe = null,
    Annotations = 
    {
        { "string", "string" },
    },
    RunOnLaunch = false,
    RunStrategy = "string",
    SchedulerName = "string",
    Status = new Spectrocloud.Inputs.VirtualMachineStatusArgs
    {
        Conditions = new[]
        {
            new Spectrocloud.Inputs.VirtualMachineStatusConditionArgs
            {
                Message = "string",
                Reason = "string",
                Status = "string",
                Type = "string",
            },
        },
        StateChangeRequests = new[]
        {
            new Spectrocloud.Inputs.VirtualMachineStatusStateChangeRequestArgs
            {
                Action = "string",
                Data = 
                {
                    { "string", "string" },
                },
                Uid = "string",
            },
        },
        Created = false,
        Ready = false,
    },
    Subdomain = "string",
    TerminationGracePeriodSeconds = 0,
    Timeouts = new Spectrocloud.Inputs.VirtualMachineTimeoutsArgs
    {
        Create = "string",
        Delete = "string",
    },
    Tolerations = new[]
    {
        new Spectrocloud.Inputs.VirtualMachineTolerationArgs
        {
            Effect = "string",
            Key = "string",
            Operator = "string",
            TolerationSeconds = "string",
            Value = "string",
        },
    },
    VirtualMachineId = "string",
    VmAction = "string",
    Volumes = new[]
    {
        new Spectrocloud.Inputs.VirtualMachineVolumeArgs
        {
            Name = "string",
            VolumeSource = new Spectrocloud.Inputs.VirtualMachineVolumeVolumeSourceArgs
            {
                CloudInitConfigDrive = new Spectrocloud.Inputs.VirtualMachineVolumeVolumeSourceCloudInitConfigDriveArgs
                {
                    NetworkData = "string",
                    NetworkDataBase64 = "string",
                    NetworkDataSecretRef = new Spectrocloud.Inputs.VirtualMachineVolumeVolumeSourceCloudInitConfigDriveNetworkDataSecretRefArgs
                    {
                        Name = "string",
                    },
                    UserData = "string",
                    UserDataBase64 = "string",
                    UserDataSecretRef = new Spectrocloud.Inputs.VirtualMachineVolumeVolumeSourceCloudInitConfigDriveUserDataSecretRefArgs
                    {
                        Name = "string",
                    },
                },
                CloudInitNoClouds = new[]
                {
                    new Spectrocloud.Inputs.VirtualMachineVolumeVolumeSourceCloudInitNoCloudArgs
                    {
                        UserData = "string",
                    },
                },
                ConfigMap = new Spectrocloud.Inputs.VirtualMachineVolumeVolumeSourceConfigMapArgs
                {
                    DefaultMode = 0,
                    Items = new[]
                    {
                        new Spectrocloud.Inputs.VirtualMachineVolumeVolumeSourceConfigMapItemArgs
                        {
                            Key = "string",
                        },
                    },
                },
                ContainerDisks = new[]
                {
                    new Spectrocloud.Inputs.VirtualMachineVolumeVolumeSourceContainerDiskArgs
                    {
                        ImageUrl = "string",
                    },
                },
                DataVolume = new Spectrocloud.Inputs.VirtualMachineVolumeVolumeSourceDataVolumeArgs
                {
                    Name = "string",
                },
                EmptyDisk = new Spectrocloud.Inputs.VirtualMachineVolumeVolumeSourceEmptyDiskArgs
                {
                    Capacity = "string",
                },
                Ephemeral = new Spectrocloud.Inputs.VirtualMachineVolumeVolumeSourceEphemeralArgs
                {
                    PersistentVolumeClaim = new Spectrocloud.Inputs.VirtualMachineVolumeVolumeSourceEphemeralPersistentVolumeClaimArgs
                    {
                        ClaimName = "string",
                        ReadOnly = false,
                    },
                },
                HostDisk = new Spectrocloud.Inputs.VirtualMachineVolumeVolumeSourceHostDiskArgs
                {
                    Path = "string",
                    Type = "string",
                },
                PersistentVolumeClaim = new Spectrocloud.Inputs.VirtualMachineVolumeVolumeSourcePersistentVolumeClaimArgs
                {
                    ClaimName = "string",
                    ReadOnly = false,
                },
                ServiceAccount = new Spectrocloud.Inputs.VirtualMachineVolumeVolumeSourceServiceAccountArgs
                {
                    ServiceAccountName = "string",
                },
            },
        },
    },
});
Copy
example, err := spectrocloud.NewVirtualMachine(ctx, "virtualMachineResource", &spectrocloud.VirtualMachineArgs{
ClusterUid: pulumi.String("string"),
Resources: &.VirtualMachineResourcesArgs{
Limits: pulumi.StringMap{
"string": pulumi.String("string"),
},
OverCommitGuestOverhead: pulumi.Bool(false),
Requests: pulumi.StringMap{
"string": pulumi.String("string"),
},
},
Name: pulumi.String("string"),
NodeSelector: pulumi.StringMap{
"string": pulumi.String("string"),
},
BaseVmName: pulumi.String("string"),
Cpu: &.VirtualMachineCpuArgs{
Cores: pulumi.Float64(0),
Sockets: pulumi.Float64(0),
Threads: pulumi.Float64(0),
},
DataVolumeTemplates: .VirtualMachineDataVolumeTemplateArray{
&.VirtualMachineDataVolumeTemplateArgs{
Metadata: &.VirtualMachineDataVolumeTemplateMetadataArgs{
Annotations: pulumi.StringMap{
"string": pulumi.String("string"),
},
Generation: pulumi.Float64(0),
Labels: pulumi.StringMap{
"string": pulumi.String("string"),
},
Name: pulumi.String("string"),
Namespace: pulumi.String("string"),
ResourceVersion: pulumi.String("string"),
SelfLink: pulumi.String("string"),
Uid: pulumi.String("string"),
},
Spec: &.VirtualMachineDataVolumeTemplateSpecArgs{
Pvc: &.VirtualMachineDataVolumeTemplateSpecPvcArgs{
AccessModes: pulumi.StringArray{
pulumi.String("string"),
},
Resources: &.VirtualMachineDataVolumeTemplateSpecPvcResourcesArgs{
Limits: pulumi.StringMap{
"string": pulumi.String("string"),
},
Requests: pulumi.StringMap{
"string": pulumi.String("string"),
},
},
Selector: &.VirtualMachineDataVolumeTemplateSpecPvcSelectorArgs{
MatchExpressions: .VirtualMachineDataVolumeTemplateSpecPvcSelectorMatchExpressionArray{
&.VirtualMachineDataVolumeTemplateSpecPvcSelectorMatchExpressionArgs{
Key: pulumi.String("string"),
Operator: pulumi.String("string"),
Values: pulumi.StringArray{
pulumi.String("string"),
},
},
},
MatchLabels: pulumi.StringMap{
"string": pulumi.String("string"),
},
},
StorageClassName: pulumi.String("string"),
VolumeMode: pulumi.String("string"),
VolumeName: pulumi.String("string"),
},
ContentType: pulumi.String("string"),
Source: &.VirtualMachineDataVolumeTemplateSpecSourceArgs{
Blank: &.VirtualMachineDataVolumeTemplateSpecSourceBlankArgs{
},
Http: &.VirtualMachineDataVolumeTemplateSpecSourceHttpArgs{
CertConfigMap: pulumi.String("string"),
SecretRef: pulumi.String("string"),
Url: pulumi.String("string"),
},
Pvc: &.VirtualMachineDataVolumeTemplateSpecSourcePvcArgs{
Name: pulumi.String("string"),
Namespace: pulumi.String("string"),
},
Registry: &.VirtualMachineDataVolumeTemplateSpecSourceRegistryArgs{
ImageUrl: pulumi.String("string"),
},
},
},
},
},
Disks: .VirtualMachineDiskArray{
&.VirtualMachineDiskArgs{
DiskDevices: .VirtualMachineDiskDiskDeviceArray{
&.VirtualMachineDiskDiskDeviceArgs{
Disks: .VirtualMachineDiskDiskDeviceDiskArray{
&.VirtualMachineDiskDiskDeviceDiskArgs{
Bus: pulumi.String("string"),
PciAddress: pulumi.String("string"),
ReadOnly: pulumi.Bool(false),
},
},
},
},
Name: pulumi.String("string"),
Serial: pulumi.String("string"),
},
},
DnsPolicy: pulumi.String("string"),
EvictionStrategy: pulumi.String("string"),
GenerateName: pulumi.String("string"),
Hostname: pulumi.String("string"),
Interfaces: .VirtualMachineInterfaceArray{
&.VirtualMachineInterfaceArgs{
InterfaceBindingMethod: pulumi.String("string"),
Name: pulumi.String("string"),
Model: pulumi.String("string"),
},
},
Labels: pulumi.StringMap{
"string": pulumi.String("string"),
},
LivenessProbe: &.VirtualMachineLivenessProbeArgs{
},
Memory: &.VirtualMachineMemoryArgs{
Guest: pulumi.String("string"),
Hugepages: pulumi.String("string"),
},
Affinity: &.VirtualMachineAffinityArgs{
NodeAffinity: &.VirtualMachineAffinityNodeAffinityArgs{
PreferredDuringSchedulingIgnoredDuringExecutions: .VirtualMachineAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionArray{
&.VirtualMachineAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionArgs{
Preference: &.VirtualMachineAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceArgs{
MatchExpressions: .VirtualMachineAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressionArray{
&.VirtualMachineAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressionArgs{
Key: pulumi.String("string"),
Operator: pulumi.String("string"),
Values: pulumi.StringArray{
pulumi.String("string"),
},
},
},
},
Weight: pulumi.Float64(0),
},
},
RequiredDuringSchedulingIgnoredDuringExecution: &.VirtualMachineAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionArgs{
NodeSelectorTerms: .VirtualMachineAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermArray{
&.VirtualMachineAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermArgs{
MatchExpressions: .VirtualMachineAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermMatchExpressionArray{
&.VirtualMachineAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermMatchExpressionArgs{
Key: pulumi.String("string"),
Operator: pulumi.String("string"),
Values: pulumi.StringArray{
pulumi.String("string"),
},
},
},
},
},
},
},
PodAffinity: &.VirtualMachineAffinityPodAffinityArgs{
PreferredDuringSchedulingIgnoredDuringExecutions: .VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionArray{
&.VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionArgs{
PodAffinityTerm: &.VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermArgs{
LabelSelectors: .VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorArray{
&.VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorArgs{
MatchExpressions: .VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressionArray{
&.VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressionArgs{
Key: pulumi.String("string"),
Operator: pulumi.String("string"),
Values: pulumi.StringArray{
pulumi.String("string"),
},
},
},
MatchLabels: pulumi.StringMap{
"string": pulumi.String("string"),
},
},
},
Namespaces: pulumi.StringArray{
pulumi.String("string"),
},
TopologyKey: pulumi.String("string"),
},
Weight: pulumi.Float64(0),
},
},
RequiredDuringSchedulingIgnoredDuringExecutions: .VirtualMachineAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionArray{
&.VirtualMachineAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionArgs{
LabelSelectors: .VirtualMachineAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorArray{
&.VirtualMachineAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorArgs{
MatchExpressions: .VirtualMachineAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressionArray{
&.VirtualMachineAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressionArgs{
Key: pulumi.String("string"),
Operator: pulumi.String("string"),
Values: pulumi.StringArray{
pulumi.String("string"),
},
},
},
MatchLabels: pulumi.StringMap{
"string": pulumi.String("string"),
},
},
},
Namespaces: pulumi.StringArray{
pulumi.String("string"),
},
TopologyKey: pulumi.String("string"),
},
},
},
PodAntiAffinity: &.VirtualMachineAffinityPodAntiAffinityArgs{
PreferredDuringSchedulingIgnoredDuringExecutions: .VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionArray{
&.VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionArgs{
PodAffinityTerm: &.VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermArgs{
LabelSelectors: .VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorArray{
&.VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorArgs{
MatchExpressions: .VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressionArray{
&.VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressionArgs{
Key: pulumi.String("string"),
Operator: pulumi.String("string"),
Values: pulumi.StringArray{
pulumi.String("string"),
},
},
},
MatchLabels: pulumi.StringMap{
"string": pulumi.String("string"),
},
},
},
Namespaces: pulumi.StringArray{
pulumi.String("string"),
},
TopologyKey: pulumi.String("string"),
},
Weight: pulumi.Float64(0),
},
},
RequiredDuringSchedulingIgnoredDuringExecutions: .VirtualMachineAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionArray{
&.VirtualMachineAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionArgs{
LabelSelectors: .VirtualMachineAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorArray{
&.VirtualMachineAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorArgs{
MatchExpressions: .VirtualMachineAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressionArray{
&.VirtualMachineAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressionArgs{
Key: pulumi.String("string"),
Operator: pulumi.String("string"),
Values: pulumi.StringArray{
pulumi.String("string"),
},
},
},
MatchLabels: pulumi.StringMap{
"string": pulumi.String("string"),
},
},
},
Namespaces: pulumi.StringArray{
pulumi.String("string"),
},
TopologyKey: pulumi.String("string"),
},
},
},
},
Namespace: pulumi.String("string"),
ClusterContext: pulumi.String("string"),
PodDnsConfig: &.VirtualMachinePodDnsConfigArgs{
Nameservers: pulumi.StringArray{
pulumi.String("string"),
},
Options: .VirtualMachinePodDnsConfigOptionArray{
&.VirtualMachinePodDnsConfigOptionArgs{
Name: pulumi.String("string"),
Value: pulumi.String("string"),
},
},
Searches: pulumi.StringArray{
pulumi.String("string"),
},
},
Networks: .VirtualMachineNetworkArray{
&.VirtualMachineNetworkArgs{
Name: pulumi.String("string"),
NetworkSource: &.VirtualMachineNetworkNetworkSourceArgs{
Multus: &.VirtualMachineNetworkNetworkSourceMultusArgs{
NetworkName: pulumi.String("string"),
Default: pulumi.Bool(false),
},
Pod: &.VirtualMachineNetworkNetworkSourcePodArgs{
VmNetworkCidr: pulumi.String("string"),
},
},
},
},
PriorityClassName: pulumi.String("string"),
ReadinessProbe: &.VirtualMachineReadinessProbeArgs{
},
Annotations: pulumi.StringMap{
"string": pulumi.String("string"),
},
RunOnLaunch: pulumi.Bool(false),
RunStrategy: pulumi.String("string"),
SchedulerName: pulumi.String("string"),
Status: &.VirtualMachineStatusArgs{
Conditions: .VirtualMachineStatusConditionArray{
&.VirtualMachineStatusConditionArgs{
Message: pulumi.String("string"),
Reason: pulumi.String("string"),
Status: pulumi.String("string"),
Type: pulumi.String("string"),
},
},
StateChangeRequests: .VirtualMachineStatusStateChangeRequestArray{
&.VirtualMachineStatusStateChangeRequestArgs{
Action: pulumi.String("string"),
Data: pulumi.StringMap{
"string": pulumi.String("string"),
},
Uid: pulumi.String("string"),
},
},
Created: pulumi.Bool(false),
Ready: pulumi.Bool(false),
},
Subdomain: pulumi.String("string"),
TerminationGracePeriodSeconds: pulumi.Float64(0),
Timeouts: &.VirtualMachineTimeoutsArgs{
Create: pulumi.String("string"),
Delete: pulumi.String("string"),
},
Tolerations: .VirtualMachineTolerationArray{
&.VirtualMachineTolerationArgs{
Effect: pulumi.String("string"),
Key: pulumi.String("string"),
Operator: pulumi.String("string"),
TolerationSeconds: pulumi.String("string"),
Value: pulumi.String("string"),
},
},
VirtualMachineId: pulumi.String("string"),
VmAction: pulumi.String("string"),
Volumes: .VirtualMachineVolumeArray{
&.VirtualMachineVolumeArgs{
Name: pulumi.String("string"),
VolumeSource: &.VirtualMachineVolumeVolumeSourceArgs{
CloudInitConfigDrive: &.VirtualMachineVolumeVolumeSourceCloudInitConfigDriveArgs{
NetworkData: pulumi.String("string"),
NetworkDataBase64: pulumi.String("string"),
NetworkDataSecretRef: &.VirtualMachineVolumeVolumeSourceCloudInitConfigDriveNetworkDataSecretRefArgs{
Name: pulumi.String("string"),
},
UserData: pulumi.String("string"),
UserDataBase64: pulumi.String("string"),
UserDataSecretRef: &.VirtualMachineVolumeVolumeSourceCloudInitConfigDriveUserDataSecretRefArgs{
Name: pulumi.String("string"),
},
},
CloudInitNoClouds: .VirtualMachineVolumeVolumeSourceCloudInitNoCloudArray{
&.VirtualMachineVolumeVolumeSourceCloudInitNoCloudArgs{
UserData: pulumi.String("string"),
},
},
ConfigMap: &.VirtualMachineVolumeVolumeSourceConfigMapArgs{
DefaultMode: pulumi.Float64(0),
Items: .VirtualMachineVolumeVolumeSourceConfigMapItemArray{
&.VirtualMachineVolumeVolumeSourceConfigMapItemArgs{
Key: pulumi.String("string"),
},
},
},
ContainerDisks: .VirtualMachineVolumeVolumeSourceContainerDiskArray{
&.VirtualMachineVolumeVolumeSourceContainerDiskArgs{
ImageUrl: pulumi.String("string"),
},
},
DataVolume: &.VirtualMachineVolumeVolumeSourceDataVolumeArgs{
Name: pulumi.String("string"),
},
EmptyDisk: &.VirtualMachineVolumeVolumeSourceEmptyDiskArgs{
Capacity: pulumi.String("string"),
},
Ephemeral: &.VirtualMachineVolumeVolumeSourceEphemeralArgs{
PersistentVolumeClaim: &.VirtualMachineVolumeVolumeSourceEphemeralPersistentVolumeClaimArgs{
ClaimName: pulumi.String("string"),
ReadOnly: pulumi.Bool(false),
},
},
HostDisk: &.VirtualMachineVolumeVolumeSourceHostDiskArgs{
Path: pulumi.String("string"),
Type: pulumi.String("string"),
},
PersistentVolumeClaim: &.VirtualMachineVolumeVolumeSourcePersistentVolumeClaimArgs{
ClaimName: pulumi.String("string"),
ReadOnly: pulumi.Bool(false),
},
ServiceAccount: &.VirtualMachineVolumeVolumeSourceServiceAccountArgs{
ServiceAccountName: pulumi.String("string"),
},
},
},
},
})
Copy
var virtualMachineResource = new VirtualMachine("virtualMachineResource", VirtualMachineArgs.builder()
    .clusterUid("string")
    .resources(VirtualMachineResourcesArgs.builder()
        .limits(Map.of("string", "string"))
        .overCommitGuestOverhead(false)
        .requests(Map.of("string", "string"))
        .build())
    .name("string")
    .nodeSelector(Map.of("string", "string"))
    .baseVmName("string")
    .cpu(VirtualMachineCpuArgs.builder()
        .cores(0)
        .sockets(0)
        .threads(0)
        .build())
    .dataVolumeTemplates(VirtualMachineDataVolumeTemplateArgs.builder()
        .metadata(VirtualMachineDataVolumeTemplateMetadataArgs.builder()
            .annotations(Map.of("string", "string"))
            .generation(0)
            .labels(Map.of("string", "string"))
            .name("string")
            .namespace("string")
            .resourceVersion("string")
            .selfLink("string")
            .uid("string")
            .build())
        .spec(VirtualMachineDataVolumeTemplateSpecArgs.builder()
            .pvc(VirtualMachineDataVolumeTemplateSpecPvcArgs.builder()
                .accessModes("string")
                .resources(VirtualMachineDataVolumeTemplateSpecPvcResourcesArgs.builder()
                    .limits(Map.of("string", "string"))
                    .requests(Map.of("string", "string"))
                    .build())
                .selector(VirtualMachineDataVolumeTemplateSpecPvcSelectorArgs.builder()
                    .matchExpressions(VirtualMachineDataVolumeTemplateSpecPvcSelectorMatchExpressionArgs.builder()
                        .key("string")
                        .operator("string")
                        .values("string")
                        .build())
                    .matchLabels(Map.of("string", "string"))
                    .build())
                .storageClassName("string")
                .volumeMode("string")
                .volumeName("string")
                .build())
            .contentType("string")
            .source(VirtualMachineDataVolumeTemplateSpecSourceArgs.builder()
                .blank()
                .http(VirtualMachineDataVolumeTemplateSpecSourceHttpArgs.builder()
                    .certConfigMap("string")
                    .secretRef("string")
                    .url("string")
                    .build())
                .pvc(VirtualMachineDataVolumeTemplateSpecSourcePvcArgs.builder()
                    .name("string")
                    .namespace("string")
                    .build())
                .registry(VirtualMachineDataVolumeTemplateSpecSourceRegistryArgs.builder()
                    .imageUrl("string")
                    .build())
                .build())
            .build())
        .build())
    .disks(VirtualMachineDiskArgs.builder()
        .diskDevices(VirtualMachineDiskDiskDeviceArgs.builder()
            .disks(VirtualMachineDiskDiskDeviceDiskArgs.builder()
                .bus("string")
                .pciAddress("string")
                .readOnly(false)
                .build())
            .build())
        .name("string")
        .serial("string")
        .build())
    .dnsPolicy("string")
    .evictionStrategy("string")
    .generateName("string")
    .hostname("string")
    .interfaces(VirtualMachineInterfaceArgs.builder()
        .interfaceBindingMethod("string")
        .name("string")
        .model("string")
        .build())
    .labels(Map.of("string", "string"))
    .livenessProbe()
    .memory(VirtualMachineMemoryArgs.builder()
        .guest("string")
        .hugepages("string")
        .build())
    .affinity(VirtualMachineAffinityArgs.builder()
        .nodeAffinity(VirtualMachineAffinityNodeAffinityArgs.builder()
            .preferredDuringSchedulingIgnoredDuringExecutions(VirtualMachineAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionArgs.builder()
                .preference(VirtualMachineAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceArgs.builder()
                    .matchExpressions(VirtualMachineAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressionArgs.builder()
                        .key("string")
                        .operator("string")
                        .values("string")
                        .build())
                    .build())
                .weight(0)
                .build())
            .requiredDuringSchedulingIgnoredDuringExecution(VirtualMachineAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionArgs.builder()
                .nodeSelectorTerms(VirtualMachineAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermArgs.builder()
                    .matchExpressions(VirtualMachineAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermMatchExpressionArgs.builder()
                        .key("string")
                        .operator("string")
                        .values("string")
                        .build())
                    .build())
                .build())
            .build())
        .podAffinity(VirtualMachineAffinityPodAffinityArgs.builder()
            .preferredDuringSchedulingIgnoredDuringExecutions(VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionArgs.builder()
                .podAffinityTerm(VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermArgs.builder()
                    .labelSelectors(VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorArgs.builder()
                        .matchExpressions(VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressionArgs.builder()
                            .key("string")
                            .operator("string")
                            .values("string")
                            .build())
                        .matchLabels(Map.of("string", "string"))
                        .build())
                    .namespaces("string")
                    .topologyKey("string")
                    .build())
                .weight(0)
                .build())
            .requiredDuringSchedulingIgnoredDuringExecutions(VirtualMachineAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionArgs.builder()
                .labelSelectors(VirtualMachineAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorArgs.builder()
                    .matchExpressions(VirtualMachineAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressionArgs.builder()
                        .key("string")
                        .operator("string")
                        .values("string")
                        .build())
                    .matchLabels(Map.of("string", "string"))
                    .build())
                .namespaces("string")
                .topologyKey("string")
                .build())
            .build())
        .podAntiAffinity(VirtualMachineAffinityPodAntiAffinityArgs.builder()
            .preferredDuringSchedulingIgnoredDuringExecutions(VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionArgs.builder()
                .podAffinityTerm(VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermArgs.builder()
                    .labelSelectors(VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorArgs.builder()
                        .matchExpressions(VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressionArgs.builder()
                            .key("string")
                            .operator("string")
                            .values("string")
                            .build())
                        .matchLabels(Map.of("string", "string"))
                        .build())
                    .namespaces("string")
                    .topologyKey("string")
                    .build())
                .weight(0)
                .build())
            .requiredDuringSchedulingIgnoredDuringExecutions(VirtualMachineAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionArgs.builder()
                .labelSelectors(VirtualMachineAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorArgs.builder()
                    .matchExpressions(VirtualMachineAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressionArgs.builder()
                        .key("string")
                        .operator("string")
                        .values("string")
                        .build())
                    .matchLabels(Map.of("string", "string"))
                    .build())
                .namespaces("string")
                .topologyKey("string")
                .build())
            .build())
        .build())
    .namespace("string")
    .clusterContext("string")
    .podDnsConfig(VirtualMachinePodDnsConfigArgs.builder()
        .nameservers("string")
        .options(VirtualMachinePodDnsConfigOptionArgs.builder()
            .name("string")
            .value("string")
            .build())
        .searches("string")
        .build())
    .networks(VirtualMachineNetworkArgs.builder()
        .name("string")
        .networkSource(VirtualMachineNetworkNetworkSourceArgs.builder()
            .multus(VirtualMachineNetworkNetworkSourceMultusArgs.builder()
                .networkName("string")
                .default_(false)
                .build())
            .pod(VirtualMachineNetworkNetworkSourcePodArgs.builder()
                .vmNetworkCidr("string")
                .build())
            .build())
        .build())
    .priorityClassName("string")
    .readinessProbe()
    .annotations(Map.of("string", "string"))
    .runOnLaunch(false)
    .runStrategy("string")
    .schedulerName("string")
    .status(VirtualMachineStatusArgs.builder()
        .conditions(VirtualMachineStatusConditionArgs.builder()
            .message("string")
            .reason("string")
            .status("string")
            .type("string")
            .build())
        .stateChangeRequests(VirtualMachineStatusStateChangeRequestArgs.builder()
            .action("string")
            .data(Map.of("string", "string"))
            .uid("string")
            .build())
        .created(false)
        .ready(false)
        .build())
    .subdomain("string")
    .terminationGracePeriodSeconds(0)
    .timeouts(VirtualMachineTimeoutsArgs.builder()
        .create("string")
        .delete("string")
        .build())
    .tolerations(VirtualMachineTolerationArgs.builder()
        .effect("string")
        .key("string")
        .operator("string")
        .tolerationSeconds("string")
        .value("string")
        .build())
    .virtualMachineId("string")
    .vmAction("string")
    .volumes(VirtualMachineVolumeArgs.builder()
        .name("string")
        .volumeSource(VirtualMachineVolumeVolumeSourceArgs.builder()
            .cloudInitConfigDrive(VirtualMachineVolumeVolumeSourceCloudInitConfigDriveArgs.builder()
                .networkData("string")
                .networkDataBase64("string")
                .networkDataSecretRef(VirtualMachineVolumeVolumeSourceCloudInitConfigDriveNetworkDataSecretRefArgs.builder()
                    .name("string")
                    .build())
                .userData("string")
                .userDataBase64("string")
                .userDataSecretRef(VirtualMachineVolumeVolumeSourceCloudInitConfigDriveUserDataSecretRefArgs.builder()
                    .name("string")
                    .build())
                .build())
            .cloudInitNoClouds(VirtualMachineVolumeVolumeSourceCloudInitNoCloudArgs.builder()
                .userData("string")
                .build())
            .configMap(VirtualMachineVolumeVolumeSourceConfigMapArgs.builder()
                .defaultMode(0)
                .items(VirtualMachineVolumeVolumeSourceConfigMapItemArgs.builder()
                    .key("string")
                    .build())
                .build())
            .containerDisks(VirtualMachineVolumeVolumeSourceContainerDiskArgs.builder()
                .imageUrl("string")
                .build())
            .dataVolume(VirtualMachineVolumeVolumeSourceDataVolumeArgs.builder()
                .name("string")
                .build())
            .emptyDisk(VirtualMachineVolumeVolumeSourceEmptyDiskArgs.builder()
                .capacity("string")
                .build())
            .ephemeral(VirtualMachineVolumeVolumeSourceEphemeralArgs.builder()
                .persistentVolumeClaim(VirtualMachineVolumeVolumeSourceEphemeralPersistentVolumeClaimArgs.builder()
                    .claimName("string")
                    .readOnly(false)
                    .build())
                .build())
            .hostDisk(VirtualMachineVolumeVolumeSourceHostDiskArgs.builder()
                .path("string")
                .type("string")
                .build())
            .persistentVolumeClaim(VirtualMachineVolumeVolumeSourcePersistentVolumeClaimArgs.builder()
                .claimName("string")
                .readOnly(false)
                .build())
            .serviceAccount(VirtualMachineVolumeVolumeSourceServiceAccountArgs.builder()
                .serviceAccountName("string")
                .build())
            .build())
        .build())
    .build());
Copy
virtual_machine_resource = spectrocloud.VirtualMachine("virtualMachineResource",
    cluster_uid="string",
    resources={
        "limits": {
            "string": "string",
        },
        "over_commit_guest_overhead": False,
        "requests": {
            "string": "string",
        },
    },
    name="string",
    node_selector={
        "string": "string",
    },
    base_vm_name="string",
    cpu={
        "cores": 0,
        "sockets": 0,
        "threads": 0,
    },
    data_volume_templates=[{
        "metadata": {
            "annotations": {
                "string": "string",
            },
            "generation": 0,
            "labels": {
                "string": "string",
            },
            "name": "string",
            "namespace": "string",
            "resource_version": "string",
            "self_link": "string",
            "uid": "string",
        },
        "spec": {
            "pvc": {
                "access_modes": ["string"],
                "resources": {
                    "limits": {
                        "string": "string",
                    },
                    "requests": {
                        "string": "string",
                    },
                },
                "selector": {
                    "match_expressions": [{
                        "key": "string",
                        "operator": "string",
                        "values": ["string"],
                    }],
                    "match_labels": {
                        "string": "string",
                    },
                },
                "storage_class_name": "string",
                "volume_mode": "string",
                "volume_name": "string",
            },
            "content_type": "string",
            "source": {
                "blank": {},
                "http": {
                    "cert_config_map": "string",
                    "secret_ref": "string",
                    "url": "string",
                },
                "pvc": {
                    "name": "string",
                    "namespace": "string",
                },
                "registry": {
                    "image_url": "string",
                },
            },
        },
    }],
    disks=[{
        "disk_devices": [{
            "disks": [{
                "bus": "string",
                "pci_address": "string",
                "read_only": False,
            }],
        }],
        "name": "string",
        "serial": "string",
    }],
    dns_policy="string",
    eviction_strategy="string",
    generate_name="string",
    hostname="string",
    interfaces=[{
        "interface_binding_method": "string",
        "name": "string",
        "model": "string",
    }],
    labels={
        "string": "string",
    },
    liveness_probe={},
    memory={
        "guest": "string",
        "hugepages": "string",
    },
    affinity={
        "node_affinity": {
            "preferred_during_scheduling_ignored_during_executions": [{
                "preference": {
                    "match_expressions": [{
                        "key": "string",
                        "operator": "string",
                        "values": ["string"],
                    }],
                },
                "weight": 0,
            }],
            "required_during_scheduling_ignored_during_execution": {
                "node_selector_terms": [{
                    "match_expressions": [{
                        "key": "string",
                        "operator": "string",
                        "values": ["string"],
                    }],
                }],
            },
        },
        "pod_affinity": {
            "preferred_during_scheduling_ignored_during_executions": [{
                "pod_affinity_term": {
                    "label_selectors": [{
                        "match_expressions": [{
                            "key": "string",
                            "operator": "string",
                            "values": ["string"],
                        }],
                        "match_labels": {
                            "string": "string",
                        },
                    }],
                    "namespaces": ["string"],
                    "topology_key": "string",
                },
                "weight": 0,
            }],
            "required_during_scheduling_ignored_during_executions": [{
                "label_selectors": [{
                    "match_expressions": [{
                        "key": "string",
                        "operator": "string",
                        "values": ["string"],
                    }],
                    "match_labels": {
                        "string": "string",
                    },
                }],
                "namespaces": ["string"],
                "topology_key": "string",
            }],
        },
        "pod_anti_affinity": {
            "preferred_during_scheduling_ignored_during_executions": [{
                "pod_affinity_term": {
                    "label_selectors": [{
                        "match_expressions": [{
                            "key": "string",
                            "operator": "string",
                            "values": ["string"],
                        }],
                        "match_labels": {
                            "string": "string",
                        },
                    }],
                    "namespaces": ["string"],
                    "topology_key": "string",
                },
                "weight": 0,
            }],
            "required_during_scheduling_ignored_during_executions": [{
                "label_selectors": [{
                    "match_expressions": [{
                        "key": "string",
                        "operator": "string",
                        "values": ["string"],
                    }],
                    "match_labels": {
                        "string": "string",
                    },
                }],
                "namespaces": ["string"],
                "topology_key": "string",
            }],
        },
    },
    namespace="string",
    cluster_context="string",
    pod_dns_config={
        "nameservers": ["string"],
        "options": [{
            "name": "string",
            "value": "string",
        }],
        "searches": ["string"],
    },
    networks=[{
        "name": "string",
        "network_source": {
            "multus": {
                "network_name": "string",
                "default": False,
            },
            "pod": {
                "vm_network_cidr": "string",
            },
        },
    }],
    priority_class_name="string",
    readiness_probe={},
    annotations={
        "string": "string",
    },
    run_on_launch=False,
    run_strategy="string",
    scheduler_name="string",
    status={
        "conditions": [{
            "message": "string",
            "reason": "string",
            "status": "string",
            "type": "string",
        }],
        "state_change_requests": [{
            "action": "string",
            "data": {
                "string": "string",
            },
            "uid": "string",
        }],
        "created": False,
        "ready": False,
    },
    subdomain="string",
    termination_grace_period_seconds=0,
    timeouts={
        "create": "string",
        "delete": "string",
    },
    tolerations=[{
        "effect": "string",
        "key": "string",
        "operator": "string",
        "toleration_seconds": "string",
        "value": "string",
    }],
    virtual_machine_id="string",
    vm_action="string",
    volumes=[{
        "name": "string",
        "volume_source": {
            "cloud_init_config_drive": {
                "network_data": "string",
                "network_data_base64": "string",
                "network_data_secret_ref": {
                    "name": "string",
                },
                "user_data": "string",
                "user_data_base64": "string",
                "user_data_secret_ref": {
                    "name": "string",
                },
            },
            "cloud_init_no_clouds": [{
                "user_data": "string",
            }],
            "config_map": {
                "default_mode": 0,
                "items": [{
                    "key": "string",
                }],
            },
            "container_disks": [{
                "image_url": "string",
            }],
            "data_volume": {
                "name": "string",
            },
            "empty_disk": {
                "capacity": "string",
            },
            "ephemeral": {
                "persistent_volume_claim": {
                    "claim_name": "string",
                    "read_only": False,
                },
            },
            "host_disk": {
                "path": "string",
                "type": "string",
            },
            "persistent_volume_claim": {
                "claim_name": "string",
                "read_only": False,
            },
            "service_account": {
                "service_account_name": "string",
            },
        },
    }])
Copy
const virtualMachineResource = new spectrocloud.VirtualMachine("virtualMachineResource", {
    clusterUid: "string",
    resources: {
        limits: {
            string: "string",
        },
        overCommitGuestOverhead: false,
        requests: {
            string: "string",
        },
    },
    name: "string",
    nodeSelector: {
        string: "string",
    },
    baseVmName: "string",
    cpu: {
        cores: 0,
        sockets: 0,
        threads: 0,
    },
    dataVolumeTemplates: [{
        metadata: {
            annotations: {
                string: "string",
            },
            generation: 0,
            labels: {
                string: "string",
            },
            name: "string",
            namespace: "string",
            resourceVersion: "string",
            selfLink: "string",
            uid: "string",
        },
        spec: {
            pvc: {
                accessModes: ["string"],
                resources: {
                    limits: {
                        string: "string",
                    },
                    requests: {
                        string: "string",
                    },
                },
                selector: {
                    matchExpressions: [{
                        key: "string",
                        operator: "string",
                        values: ["string"],
                    }],
                    matchLabels: {
                        string: "string",
                    },
                },
                storageClassName: "string",
                volumeMode: "string",
                volumeName: "string",
            },
            contentType: "string",
            source: {
                blank: {},
                http: {
                    certConfigMap: "string",
                    secretRef: "string",
                    url: "string",
                },
                pvc: {
                    name: "string",
                    namespace: "string",
                },
                registry: {
                    imageUrl: "string",
                },
            },
        },
    }],
    disks: [{
        diskDevices: [{
            disks: [{
                bus: "string",
                pciAddress: "string",
                readOnly: false,
            }],
        }],
        name: "string",
        serial: "string",
    }],
    dnsPolicy: "string",
    evictionStrategy: "string",
    generateName: "string",
    hostname: "string",
    interfaces: [{
        interfaceBindingMethod: "string",
        name: "string",
        model: "string",
    }],
    labels: {
        string: "string",
    },
    livenessProbe: {},
    memory: {
        guest: "string",
        hugepages: "string",
    },
    affinity: {
        nodeAffinity: {
            preferredDuringSchedulingIgnoredDuringExecutions: [{
                preference: {
                    matchExpressions: [{
                        key: "string",
                        operator: "string",
                        values: ["string"],
                    }],
                },
                weight: 0,
            }],
            requiredDuringSchedulingIgnoredDuringExecution: {
                nodeSelectorTerms: [{
                    matchExpressions: [{
                        key: "string",
                        operator: "string",
                        values: ["string"],
                    }],
                }],
            },
        },
        podAffinity: {
            preferredDuringSchedulingIgnoredDuringExecutions: [{
                podAffinityTerm: {
                    labelSelectors: [{
                        matchExpressions: [{
                            key: "string",
                            operator: "string",
                            values: ["string"],
                        }],
                        matchLabels: {
                            string: "string",
                        },
                    }],
                    namespaces: ["string"],
                    topologyKey: "string",
                },
                weight: 0,
            }],
            requiredDuringSchedulingIgnoredDuringExecutions: [{
                labelSelectors: [{
                    matchExpressions: [{
                        key: "string",
                        operator: "string",
                        values: ["string"],
                    }],
                    matchLabels: {
                        string: "string",
                    },
                }],
                namespaces: ["string"],
                topologyKey: "string",
            }],
        },
        podAntiAffinity: {
            preferredDuringSchedulingIgnoredDuringExecutions: [{
                podAffinityTerm: {
                    labelSelectors: [{
                        matchExpressions: [{
                            key: "string",
                            operator: "string",
                            values: ["string"],
                        }],
                        matchLabels: {
                            string: "string",
                        },
                    }],
                    namespaces: ["string"],
                    topologyKey: "string",
                },
                weight: 0,
            }],
            requiredDuringSchedulingIgnoredDuringExecutions: [{
                labelSelectors: [{
                    matchExpressions: [{
                        key: "string",
                        operator: "string",
                        values: ["string"],
                    }],
                    matchLabels: {
                        string: "string",
                    },
                }],
                namespaces: ["string"],
                topologyKey: "string",
            }],
        },
    },
    namespace: "string",
    clusterContext: "string",
    podDnsConfig: {
        nameservers: ["string"],
        options: [{
            name: "string",
            value: "string",
        }],
        searches: ["string"],
    },
    networks: [{
        name: "string",
        networkSource: {
            multus: {
                networkName: "string",
                "default": false,
            },
            pod: {
                vmNetworkCidr: "string",
            },
        },
    }],
    priorityClassName: "string",
    readinessProbe: {},
    annotations: {
        string: "string",
    },
    runOnLaunch: false,
    runStrategy: "string",
    schedulerName: "string",
    status: {
        conditions: [{
            message: "string",
            reason: "string",
            status: "string",
            type: "string",
        }],
        stateChangeRequests: [{
            action: "string",
            data: {
                string: "string",
            },
            uid: "string",
        }],
        created: false,
        ready: false,
    },
    subdomain: "string",
    terminationGracePeriodSeconds: 0,
    timeouts: {
        create: "string",
        "delete": "string",
    },
    tolerations: [{
        effect: "string",
        key: "string",
        operator: "string",
        tolerationSeconds: "string",
        value: "string",
    }],
    virtualMachineId: "string",
    vmAction: "string",
    volumes: [{
        name: "string",
        volumeSource: {
            cloudInitConfigDrive: {
                networkData: "string",
                networkDataBase64: "string",
                networkDataSecretRef: {
                    name: "string",
                },
                userData: "string",
                userDataBase64: "string",
                userDataSecretRef: {
                    name: "string",
                },
            },
            cloudInitNoClouds: [{
                userData: "string",
            }],
            configMap: {
                defaultMode: 0,
                items: [{
                    key: "string",
                }],
            },
            containerDisks: [{
                imageUrl: "string",
            }],
            dataVolume: {
                name: "string",
            },
            emptyDisk: {
                capacity: "string",
            },
            ephemeral: {
                persistentVolumeClaim: {
                    claimName: "string",
                    readOnly: false,
                },
            },
            hostDisk: {
                path: "string",
                type: "string",
            },
            persistentVolumeClaim: {
                claimName: "string",
                readOnly: false,
            },
            serviceAccount: {
                serviceAccountName: "string",
            },
        },
    }],
});
Copy
type: spectrocloud:VirtualMachine
properties:
    affinity:
        nodeAffinity:
            preferredDuringSchedulingIgnoredDuringExecutions:
                - preference:
                    matchExpressions:
                        - key: string
                          operator: string
                          values:
                            - string
                  weight: 0
            requiredDuringSchedulingIgnoredDuringExecution:
                nodeSelectorTerms:
                    - matchExpressions:
                        - key: string
                          operator: string
                          values:
                            - string
        podAffinity:
            preferredDuringSchedulingIgnoredDuringExecutions:
                - podAffinityTerm:
                    labelSelectors:
                        - matchExpressions:
                            - key: string
                              operator: string
                              values:
                                - string
                          matchLabels:
                            string: string
                    namespaces:
                        - string
                    topologyKey: string
                  weight: 0
            requiredDuringSchedulingIgnoredDuringExecutions:
                - labelSelectors:
                    - matchExpressions:
                        - key: string
                          operator: string
                          values:
                            - string
                      matchLabels:
                        string: string
                  namespaces:
                    - string
                  topologyKey: string
        podAntiAffinity:
            preferredDuringSchedulingIgnoredDuringExecutions:
                - podAffinityTerm:
                    labelSelectors:
                        - matchExpressions:
                            - key: string
                              operator: string
                              values:
                                - string
                          matchLabels:
                            string: string
                    namespaces:
                        - string
                    topologyKey: string
                  weight: 0
            requiredDuringSchedulingIgnoredDuringExecutions:
                - labelSelectors:
                    - matchExpressions:
                        - key: string
                          operator: string
                          values:
                            - string
                      matchLabels:
                        string: string
                  namespaces:
                    - string
                  topologyKey: string
    annotations:
        string: string
    baseVmName: string
    clusterContext: string
    clusterUid: string
    cpu:
        cores: 0
        sockets: 0
        threads: 0
    dataVolumeTemplates:
        - metadata:
            annotations:
                string: string
            generation: 0
            labels:
                string: string
            name: string
            namespace: string
            resourceVersion: string
            selfLink: string
            uid: string
          spec:
            contentType: string
            pvc:
                accessModes:
                    - string
                resources:
                    limits:
                        string: string
                    requests:
                        string: string
                selector:
                    matchExpressions:
                        - key: string
                          operator: string
                          values:
                            - string
                    matchLabels:
                        string: string
                storageClassName: string
                volumeMode: string
                volumeName: string
            source:
                blank: {}
                http:
                    certConfigMap: string
                    secretRef: string
                    url: string
                pvc:
                    name: string
                    namespace: string
                registry:
                    imageUrl: string
    disks:
        - diskDevices:
            - disks:
                - bus: string
                  pciAddress: string
                  readOnly: false
          name: string
          serial: string
    dnsPolicy: string
    evictionStrategy: string
    generateName: string
    hostname: string
    interfaces:
        - interfaceBindingMethod: string
          model: string
          name: string
    labels:
        string: string
    livenessProbe: {}
    memory:
        guest: string
        hugepages: string
    name: string
    namespace: string
    networks:
        - name: string
          networkSource:
            multus:
                default: false
                networkName: string
            pod:
                vmNetworkCidr: string
    nodeSelector:
        string: string
    podDnsConfig:
        nameservers:
            - string
        options:
            - name: string
              value: string
        searches:
            - string
    priorityClassName: string
    readinessProbe: {}
    resources:
        limits:
            string: string
        overCommitGuestOverhead: false
        requests:
            string: string
    runOnLaunch: false
    runStrategy: string
    schedulerName: string
    status:
        conditions:
            - message: string
              reason: string
              status: string
              type: string
        created: false
        ready: false
        stateChangeRequests:
            - action: string
              data:
                string: string
              uid: string
    subdomain: string
    terminationGracePeriodSeconds: 0
    timeouts:
        create: string
        delete: string
    tolerations:
        - effect: string
          key: string
          operator: string
          tolerationSeconds: string
          value: string
    virtualMachineId: string
    vmAction: string
    volumes:
        - name: string
          volumeSource:
            cloudInitConfigDrive:
                networkData: string
                networkDataBase64: string
                networkDataSecretRef:
                    name: string
                userData: string
                userDataBase64: string
                userDataSecretRef:
                    name: string
            cloudInitNoClouds:
                - userData: string
            configMap:
                defaultMode: 0
                items:
                    - key: string
            containerDisks:
                - imageUrl: string
            dataVolume:
                name: string
            emptyDisk:
                capacity: string
            ephemeral:
                persistentVolumeClaim:
                    claimName: string
                    readOnly: false
            hostDisk:
                path: string
                type: string
            persistentVolumeClaim:
                claimName: string
                readOnly: false
            serviceAccount:
                serviceAccountName: string
Copy

VirtualMachine 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 VirtualMachine resource accepts the following input properties:

ClusterUid This property is required. string
The cluster UID to which the virtual machine belongs to.
Resources This property is required. VirtualMachineResources
Resources describes the Compute Resources required by this vmi.
Affinity VirtualMachineAffinity
Optional pod scheduling constraints.
Annotations Dictionary<string, string>
An unstructured key value map stored with the VM that may be used to store arbitrary metadata.
BaseVmName string
The name of the source virtual machine that a clone will be created of.
ClusterContext string
Context of the cluster. Allowed values are project, tenant. Default value is project.
Cpu VirtualMachineCpu
CPU allows to specifying the CPU topology. Valid resource keys are "cores" , "sockets" and "threads"
DataVolumeTemplates List<VirtualMachineDataVolumeTemplate>
dataVolumeTemplates is a list of dataVolumes that the VirtualMachineInstance template can reference.
Disks List<VirtualMachineDisk>
Disks describes disks, cdroms, floppy and luns which are connected to the vmi.
DnsPolicy string
DNSPolicy defines how a pod's DNS will be configured.
EvictionStrategy string
EvictionStrategy can be set to "LiveMigrate" if the VirtualMachineInstance should be migrated instead of shut-off in case of a node drain.
GenerateName string
Prefix, used by the server, to generate a unique name ONLY IF the name field has not been provided. This value will also be combined with a unique suffix. Read more: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#idempotency
Hostname string
Specifies the hostname of the vmi.
Interfaces List<VirtualMachineInterface>
Interfaces describe network interfaces which are added to the vmi.
Labels Dictionary<string, string>
Map of string keys and values that can be used to organize and categorize (scope and select). May match selectors of replication controllers and services.
LivenessProbe VirtualMachineLivenessProbe
Specification of the desired behavior of the VirtualMachineInstance on the host.
Memory VirtualMachineMemory
Memory allows specifying the vmi memory features.
Name string
Name of the virtual machine, must be unique. Cannot be updated.
Namespace string
Namespace defines the space within, Name must be unique.
Networks List<VirtualMachineNetwork>
List of networks that can be attached to a vm's virtual interface.
NodeSelector Dictionary<string, string>
NodeSelector is a selector which must be true for the vmi to fit on a node. Selector which must match a node's labels for the vmi to be scheduled on that node.
PodDnsConfig VirtualMachinePodDnsConfig
Specifies the DNS parameters of a pod. Parameters specified here will be merged to the generated DNS configuration based on DNSPolicy. Optional: Defaults to empty
PriorityClassName string
If specified, indicates the pod's priority. If not specified, the pod priority will be default or zero if there is no default.
ReadinessProbe VirtualMachineReadinessProbe
Specification of the desired behavior of the VirtualMachineInstance on the host.
RunOnLaunch bool
If set to true, the virtual machine will be started when the cluster is launched. Default value is true.
RunStrategy string
Running state indicates the requested running state of the VirtualMachineInstance, mutually exclusive with Running.
SchedulerName string
If specified, the VMI will be dispatched by specified scheduler. If not specified, the VMI will be dispatched by default scheduler.
Status VirtualMachineStatus
VirtualMachineStatus represents the status returned by the controller to describe how the VirtualMachine is doing.
Subdomain string
If specified, the fully qualified vmi hostname will be "\n\n.\n\n.\n\n.svc.\n\n".
TerminationGracePeriodSeconds double
Grace period observed after signalling a VirtualMachineInstance to stop after which the VirtualMachineInstance is force terminated.
Timeouts VirtualMachineTimeouts
Tolerations List<VirtualMachineToleration>
If specified, the pod's toleration. Optional: Defaults to empty
VirtualMachineId string
The ID of this resource.
VmAction string
The action to be performed on the virtual machine. Valid values are: start, stop, restart, pause, resume, migrate. Default value is start.
Volumes List<VirtualMachineVolume>
Specification of the desired behavior of the VirtualMachineInstance on the host.
ClusterUid This property is required. string
The cluster UID to which the virtual machine belongs to.
Resources This property is required. VirtualMachineResourcesArgs
Resources describes the Compute Resources required by this vmi.
Affinity VirtualMachineAffinityArgs
Optional pod scheduling constraints.
Annotations map[string]string
An unstructured key value map stored with the VM that may be used to store arbitrary metadata.
BaseVmName string
The name of the source virtual machine that a clone will be created of.
ClusterContext string
Context of the cluster. Allowed values are project, tenant. Default value is project.
Cpu VirtualMachineCpuArgs
CPU allows to specifying the CPU topology. Valid resource keys are "cores" , "sockets" and "threads"
DataVolumeTemplates []VirtualMachineDataVolumeTemplateArgs
dataVolumeTemplates is a list of dataVolumes that the VirtualMachineInstance template can reference.
Disks []VirtualMachineDiskArgs
Disks describes disks, cdroms, floppy and luns which are connected to the vmi.
DnsPolicy string
DNSPolicy defines how a pod's DNS will be configured.
EvictionStrategy string
EvictionStrategy can be set to "LiveMigrate" if the VirtualMachineInstance should be migrated instead of shut-off in case of a node drain.
GenerateName string
Prefix, used by the server, to generate a unique name ONLY IF the name field has not been provided. This value will also be combined with a unique suffix. Read more: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#idempotency
Hostname string
Specifies the hostname of the vmi.
Interfaces []VirtualMachineInterfaceArgs
Interfaces describe network interfaces which are added to the vmi.
Labels map[string]string
Map of string keys and values that can be used to organize and categorize (scope and select). May match selectors of replication controllers and services.
LivenessProbe VirtualMachineLivenessProbeArgs
Specification of the desired behavior of the VirtualMachineInstance on the host.
Memory VirtualMachineMemoryArgs
Memory allows specifying the vmi memory features.
Name string
Name of the virtual machine, must be unique. Cannot be updated.
Namespace string
Namespace defines the space within, Name must be unique.
Networks []VirtualMachineNetworkArgs
List of networks that can be attached to a vm's virtual interface.
NodeSelector map[string]string
NodeSelector is a selector which must be true for the vmi to fit on a node. Selector which must match a node's labels for the vmi to be scheduled on that node.
PodDnsConfig VirtualMachinePodDnsConfigArgs
Specifies the DNS parameters of a pod. Parameters specified here will be merged to the generated DNS configuration based on DNSPolicy. Optional: Defaults to empty
PriorityClassName string
If specified, indicates the pod's priority. If not specified, the pod priority will be default or zero if there is no default.
ReadinessProbe VirtualMachineReadinessProbeArgs
Specification of the desired behavior of the VirtualMachineInstance on the host.
RunOnLaunch bool
If set to true, the virtual machine will be started when the cluster is launched. Default value is true.
RunStrategy string
Running state indicates the requested running state of the VirtualMachineInstance, mutually exclusive with Running.
SchedulerName string
If specified, the VMI will be dispatched by specified scheduler. If not specified, the VMI will be dispatched by default scheduler.
Status VirtualMachineStatusArgs
VirtualMachineStatus represents the status returned by the controller to describe how the VirtualMachine is doing.
Subdomain string
If specified, the fully qualified vmi hostname will be "\n\n.\n\n.\n\n.svc.\n\n".
TerminationGracePeriodSeconds float64
Grace period observed after signalling a VirtualMachineInstance to stop after which the VirtualMachineInstance is force terminated.
Timeouts VirtualMachineTimeoutsArgs
Tolerations []VirtualMachineTolerationArgs
If specified, the pod's toleration. Optional: Defaults to empty
VirtualMachineId string
The ID of this resource.
VmAction string
The action to be performed on the virtual machine. Valid values are: start, stop, restart, pause, resume, migrate. Default value is start.
Volumes []VirtualMachineVolumeArgs
Specification of the desired behavior of the VirtualMachineInstance on the host.
clusterUid This property is required. String
The cluster UID to which the virtual machine belongs to.
resources This property is required. VirtualMachineResources
Resources describes the Compute Resources required by this vmi.
affinity VirtualMachineAffinity
Optional pod scheduling constraints.
annotations Map<String,String>
An unstructured key value map stored with the VM that may be used to store arbitrary metadata.
baseVmName String
The name of the source virtual machine that a clone will be created of.
clusterContext String
Context of the cluster. Allowed values are project, tenant. Default value is project.
cpu VirtualMachineCpu
CPU allows to specifying the CPU topology. Valid resource keys are "cores" , "sockets" and "threads"
dataVolumeTemplates List<VirtualMachineDataVolumeTemplate>
dataVolumeTemplates is a list of dataVolumes that the VirtualMachineInstance template can reference.
disks List<VirtualMachineDisk>
Disks describes disks, cdroms, floppy and luns which are connected to the vmi.
dnsPolicy String
DNSPolicy defines how a pod's DNS will be configured.
evictionStrategy String
EvictionStrategy can be set to "LiveMigrate" if the VirtualMachineInstance should be migrated instead of shut-off in case of a node drain.
generateName String
Prefix, used by the server, to generate a unique name ONLY IF the name field has not been provided. This value will also be combined with a unique suffix. Read more: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#idempotency
hostname String
Specifies the hostname of the vmi.
interfaces List<VirtualMachineInterface>
Interfaces describe network interfaces which are added to the vmi.
labels Map<String,String>
Map of string keys and values that can be used to organize and categorize (scope and select). May match selectors of replication controllers and services.
livenessProbe VirtualMachineLivenessProbe
Specification of the desired behavior of the VirtualMachineInstance on the host.
memory VirtualMachineMemory
Memory allows specifying the vmi memory features.
name String
Name of the virtual machine, must be unique. Cannot be updated.
namespace String
Namespace defines the space within, Name must be unique.
networks List<VirtualMachineNetwork>
List of networks that can be attached to a vm's virtual interface.
nodeSelector Map<String,String>
NodeSelector is a selector which must be true for the vmi to fit on a node. Selector which must match a node's labels for the vmi to be scheduled on that node.
podDnsConfig VirtualMachinePodDnsConfig
Specifies the DNS parameters of a pod. Parameters specified here will be merged to the generated DNS configuration based on DNSPolicy. Optional: Defaults to empty
priorityClassName String
If specified, indicates the pod's priority. If not specified, the pod priority will be default or zero if there is no default.
readinessProbe VirtualMachineReadinessProbe
Specification of the desired behavior of the VirtualMachineInstance on the host.
runOnLaunch Boolean
If set to true, the virtual machine will be started when the cluster is launched. Default value is true.
runStrategy String
Running state indicates the requested running state of the VirtualMachineInstance, mutually exclusive with Running.
schedulerName String
If specified, the VMI will be dispatched by specified scheduler. If not specified, the VMI will be dispatched by default scheduler.
status VirtualMachineStatus
VirtualMachineStatus represents the status returned by the controller to describe how the VirtualMachine is doing.
subdomain String
If specified, the fully qualified vmi hostname will be "\n\n.\n\n.\n\n.svc.\n\n".
terminationGracePeriodSeconds Double
Grace period observed after signalling a VirtualMachineInstance to stop after which the VirtualMachineInstance is force terminated.
timeouts VirtualMachineTimeouts
tolerations List<VirtualMachineToleration>
If specified, the pod's toleration. Optional: Defaults to empty
virtualMachineId String
The ID of this resource.
vmAction String
The action to be performed on the virtual machine. Valid values are: start, stop, restart, pause, resume, migrate. Default value is start.
volumes List<VirtualMachineVolume>
Specification of the desired behavior of the VirtualMachineInstance on the host.
clusterUid This property is required. string
The cluster UID to which the virtual machine belongs to.
resources This property is required. VirtualMachineResources
Resources describes the Compute Resources required by this vmi.
affinity VirtualMachineAffinity
Optional pod scheduling constraints.
annotations {[key: string]: string}
An unstructured key value map stored with the VM that may be used to store arbitrary metadata.
baseVmName string
The name of the source virtual machine that a clone will be created of.
clusterContext string
Context of the cluster. Allowed values are project, tenant. Default value is project.
cpu VirtualMachineCpu
CPU allows to specifying the CPU topology. Valid resource keys are "cores" , "sockets" and "threads"
dataVolumeTemplates VirtualMachineDataVolumeTemplate[]
dataVolumeTemplates is a list of dataVolumes that the VirtualMachineInstance template can reference.
disks VirtualMachineDisk[]
Disks describes disks, cdroms, floppy and luns which are connected to the vmi.
dnsPolicy string
DNSPolicy defines how a pod's DNS will be configured.
evictionStrategy string
EvictionStrategy can be set to "LiveMigrate" if the VirtualMachineInstance should be migrated instead of shut-off in case of a node drain.
generateName string
Prefix, used by the server, to generate a unique name ONLY IF the name field has not been provided. This value will also be combined with a unique suffix. Read more: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#idempotency
hostname string
Specifies the hostname of the vmi.
interfaces VirtualMachineInterface[]
Interfaces describe network interfaces which are added to the vmi.
labels {[key: string]: string}
Map of string keys and values that can be used to organize and categorize (scope and select). May match selectors of replication controllers and services.
livenessProbe VirtualMachineLivenessProbe
Specification of the desired behavior of the VirtualMachineInstance on the host.
memory VirtualMachineMemory
Memory allows specifying the vmi memory features.
name string
Name of the virtual machine, must be unique. Cannot be updated.
namespace string
Namespace defines the space within, Name must be unique.
networks VirtualMachineNetwork[]
List of networks that can be attached to a vm's virtual interface.
nodeSelector {[key: string]: string}
NodeSelector is a selector which must be true for the vmi to fit on a node. Selector which must match a node's labels for the vmi to be scheduled on that node.
podDnsConfig VirtualMachinePodDnsConfig
Specifies the DNS parameters of a pod. Parameters specified here will be merged to the generated DNS configuration based on DNSPolicy. Optional: Defaults to empty
priorityClassName string
If specified, indicates the pod's priority. If not specified, the pod priority will be default or zero if there is no default.
readinessProbe VirtualMachineReadinessProbe
Specification of the desired behavior of the VirtualMachineInstance on the host.
runOnLaunch boolean
If set to true, the virtual machine will be started when the cluster is launched. Default value is true.
runStrategy string
Running state indicates the requested running state of the VirtualMachineInstance, mutually exclusive with Running.
schedulerName string
If specified, the VMI will be dispatched by specified scheduler. If not specified, the VMI will be dispatched by default scheduler.
status VirtualMachineStatus
VirtualMachineStatus represents the status returned by the controller to describe how the VirtualMachine is doing.
subdomain string
If specified, the fully qualified vmi hostname will be "\n\n.\n\n.\n\n.svc.\n\n".
terminationGracePeriodSeconds number
Grace period observed after signalling a VirtualMachineInstance to stop after which the VirtualMachineInstance is force terminated.
timeouts VirtualMachineTimeouts
tolerations VirtualMachineToleration[]
If specified, the pod's toleration. Optional: Defaults to empty
virtualMachineId string
The ID of this resource.
vmAction string
The action to be performed on the virtual machine. Valid values are: start, stop, restart, pause, resume, migrate. Default value is start.
volumes VirtualMachineVolume[]
Specification of the desired behavior of the VirtualMachineInstance on the host.
cluster_uid This property is required. str
The cluster UID to which the virtual machine belongs to.
resources This property is required. VirtualMachineResourcesArgs
Resources describes the Compute Resources required by this vmi.
affinity VirtualMachineAffinityArgs
Optional pod scheduling constraints.
annotations Mapping[str, str]
An unstructured key value map stored with the VM that may be used to store arbitrary metadata.
base_vm_name str
The name of the source virtual machine that a clone will be created of.
cluster_context str
Context of the cluster. Allowed values are project, tenant. Default value is project.
cpu VirtualMachineCpuArgs
CPU allows to specifying the CPU topology. Valid resource keys are "cores" , "sockets" and "threads"
data_volume_templates Sequence[VirtualMachineDataVolumeTemplateArgs]
dataVolumeTemplates is a list of dataVolumes that the VirtualMachineInstance template can reference.
disks Sequence[VirtualMachineDiskArgs]
Disks describes disks, cdroms, floppy and luns which are connected to the vmi.
dns_policy str
DNSPolicy defines how a pod's DNS will be configured.
eviction_strategy str
EvictionStrategy can be set to "LiveMigrate" if the VirtualMachineInstance should be migrated instead of shut-off in case of a node drain.
generate_name str
Prefix, used by the server, to generate a unique name ONLY IF the name field has not been provided. This value will also be combined with a unique suffix. Read more: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#idempotency
hostname str
Specifies the hostname of the vmi.
interfaces Sequence[VirtualMachineInterfaceArgs]
Interfaces describe network interfaces which are added to the vmi.
labels Mapping[str, str]
Map of string keys and values that can be used to organize and categorize (scope and select). May match selectors of replication controllers and services.
liveness_probe VirtualMachineLivenessProbeArgs
Specification of the desired behavior of the VirtualMachineInstance on the host.
memory VirtualMachineMemoryArgs
Memory allows specifying the vmi memory features.
name str
Name of the virtual machine, must be unique. Cannot be updated.
namespace str
Namespace defines the space within, Name must be unique.
networks Sequence[VirtualMachineNetworkArgs]
List of networks that can be attached to a vm's virtual interface.
node_selector Mapping[str, str]
NodeSelector is a selector which must be true for the vmi to fit on a node. Selector which must match a node's labels for the vmi to be scheduled on that node.
pod_dns_config VirtualMachinePodDnsConfigArgs
Specifies the DNS parameters of a pod. Parameters specified here will be merged to the generated DNS configuration based on DNSPolicy. Optional: Defaults to empty
priority_class_name str
If specified, indicates the pod's priority. If not specified, the pod priority will be default or zero if there is no default.
readiness_probe VirtualMachineReadinessProbeArgs
Specification of the desired behavior of the VirtualMachineInstance on the host.
run_on_launch bool
If set to true, the virtual machine will be started when the cluster is launched. Default value is true.
run_strategy str
Running state indicates the requested running state of the VirtualMachineInstance, mutually exclusive with Running.
scheduler_name str
If specified, the VMI will be dispatched by specified scheduler. If not specified, the VMI will be dispatched by default scheduler.
status VirtualMachineStatusArgs
VirtualMachineStatus represents the status returned by the controller to describe how the VirtualMachine is doing.
subdomain str
If specified, the fully qualified vmi hostname will be "\n\n.\n\n.\n\n.svc.\n\n".
termination_grace_period_seconds float
Grace period observed after signalling a VirtualMachineInstance to stop after which the VirtualMachineInstance is force terminated.
timeouts VirtualMachineTimeoutsArgs
tolerations Sequence[VirtualMachineTolerationArgs]
If specified, the pod's toleration. Optional: Defaults to empty
virtual_machine_id str
The ID of this resource.
vm_action str
The action to be performed on the virtual machine. Valid values are: start, stop, restart, pause, resume, migrate. Default value is start.
volumes Sequence[VirtualMachineVolumeArgs]
Specification of the desired behavior of the VirtualMachineInstance on the host.
clusterUid This property is required. String
The cluster UID to which the virtual machine belongs to.
resources This property is required. Property Map
Resources describes the Compute Resources required by this vmi.
affinity Property Map
Optional pod scheduling constraints.
annotations Map<String>
An unstructured key value map stored with the VM that may be used to store arbitrary metadata.
baseVmName String
The name of the source virtual machine that a clone will be created of.
clusterContext String
Context of the cluster. Allowed values are project, tenant. Default value is project.
cpu Property Map
CPU allows to specifying the CPU topology. Valid resource keys are "cores" , "sockets" and "threads"
dataVolumeTemplates List<Property Map>
dataVolumeTemplates is a list of dataVolumes that the VirtualMachineInstance template can reference.
disks List<Property Map>
Disks describes disks, cdroms, floppy and luns which are connected to the vmi.
dnsPolicy String
DNSPolicy defines how a pod's DNS will be configured.
evictionStrategy String
EvictionStrategy can be set to "LiveMigrate" if the VirtualMachineInstance should be migrated instead of shut-off in case of a node drain.
generateName String
Prefix, used by the server, to generate a unique name ONLY IF the name field has not been provided. This value will also be combined with a unique suffix. Read more: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#idempotency
hostname String
Specifies the hostname of the vmi.
interfaces List<Property Map>
Interfaces describe network interfaces which are added to the vmi.
labels Map<String>
Map of string keys and values that can be used to organize and categorize (scope and select). May match selectors of replication controllers and services.
livenessProbe Property Map
Specification of the desired behavior of the VirtualMachineInstance on the host.
memory Property Map
Memory allows specifying the vmi memory features.
name String
Name of the virtual machine, must be unique. Cannot be updated.
namespace String
Namespace defines the space within, Name must be unique.
networks List<Property Map>
List of networks that can be attached to a vm's virtual interface.
nodeSelector Map<String>
NodeSelector is a selector which must be true for the vmi to fit on a node. Selector which must match a node's labels for the vmi to be scheduled on that node.
podDnsConfig Property Map
Specifies the DNS parameters of a pod. Parameters specified here will be merged to the generated DNS configuration based on DNSPolicy. Optional: Defaults to empty
priorityClassName String
If specified, indicates the pod's priority. If not specified, the pod priority will be default or zero if there is no default.
readinessProbe Property Map
Specification of the desired behavior of the VirtualMachineInstance on the host.
runOnLaunch Boolean
If set to true, the virtual machine will be started when the cluster is launched. Default value is true.
runStrategy String
Running state indicates the requested running state of the VirtualMachineInstance, mutually exclusive with Running.
schedulerName String
If specified, the VMI will be dispatched by specified scheduler. If not specified, the VMI will be dispatched by default scheduler.
status Property Map
VirtualMachineStatus represents the status returned by the controller to describe how the VirtualMachine is doing.
subdomain String
If specified, the fully qualified vmi hostname will be "\n\n.\n\n.\n\n.svc.\n\n".
terminationGracePeriodSeconds Number
Grace period observed after signalling a VirtualMachineInstance to stop after which the VirtualMachineInstance is force terminated.
timeouts Property Map
tolerations List<Property Map>
If specified, the pod's toleration. Optional: Defaults to empty
virtualMachineId String
The ID of this resource.
vmAction String
The action to be performed on the virtual machine. Valid values are: start, stop, restart, pause, resume, migrate. Default value is start.
volumes List<Property Map>
Specification of the desired behavior of the VirtualMachineInstance on the host.

Outputs

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

Generation double
A sequence number representing a specific generation of the desired state.
Id string
The provider-assigned unique ID for this managed resource.
ResourceVersion string
An opaque value that represents the internal version of this VM that can be used by clients to determine when VM has changed.
SelfLink string
A URL representing this VM.
Uid string
The unique in time and space value for this VM.
Generation float64
A sequence number representing a specific generation of the desired state.
Id string
The provider-assigned unique ID for this managed resource.
ResourceVersion string
An opaque value that represents the internal version of this VM that can be used by clients to determine when VM has changed.
SelfLink string
A URL representing this VM.
Uid string
The unique in time and space value for this VM.
generation Double
A sequence number representing a specific generation of the desired state.
id String
The provider-assigned unique ID for this managed resource.
resourceVersion String
An opaque value that represents the internal version of this VM that can be used by clients to determine when VM has changed.
selfLink String
A URL representing this VM.
uid String
The unique in time and space value for this VM.
generation number
A sequence number representing a specific generation of the desired state.
id string
The provider-assigned unique ID for this managed resource.
resourceVersion string
An opaque value that represents the internal version of this VM that can be used by clients to determine when VM has changed.
selfLink string
A URL representing this VM.
uid string
The unique in time and space value for this VM.
generation float
A sequence number representing a specific generation of the desired state.
id str
The provider-assigned unique ID for this managed resource.
resource_version str
An opaque value that represents the internal version of this VM that can be used by clients to determine when VM has changed.
self_link str
A URL representing this VM.
uid str
The unique in time and space value for this VM.
generation Number
A sequence number representing a specific generation of the desired state.
id String
The provider-assigned unique ID for this managed resource.
resourceVersion String
An opaque value that represents the internal version of this VM that can be used by clients to determine when VM has changed.
selfLink String
A URL representing this VM.
uid String
The unique in time and space value for this VM.

Look up Existing VirtualMachine Resource

Get an existing VirtualMachine 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?: VirtualMachineState, opts?: CustomResourceOptions): VirtualMachine
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        affinity: Optional[VirtualMachineAffinityArgs] = None,
        annotations: Optional[Mapping[str, str]] = None,
        base_vm_name: Optional[str] = None,
        cluster_context: Optional[str] = None,
        cluster_uid: Optional[str] = None,
        cpu: Optional[VirtualMachineCpuArgs] = None,
        data_volume_templates: Optional[Sequence[VirtualMachineDataVolumeTemplateArgs]] = None,
        disks: Optional[Sequence[VirtualMachineDiskArgs]] = None,
        dns_policy: Optional[str] = None,
        eviction_strategy: Optional[str] = None,
        generate_name: Optional[str] = None,
        generation: Optional[float] = None,
        hostname: Optional[str] = None,
        interfaces: Optional[Sequence[VirtualMachineInterfaceArgs]] = None,
        labels: Optional[Mapping[str, str]] = None,
        liveness_probe: Optional[VirtualMachineLivenessProbeArgs] = None,
        memory: Optional[VirtualMachineMemoryArgs] = None,
        name: Optional[str] = None,
        namespace: Optional[str] = None,
        networks: Optional[Sequence[VirtualMachineNetworkArgs]] = None,
        node_selector: Optional[Mapping[str, str]] = None,
        pod_dns_config: Optional[VirtualMachinePodDnsConfigArgs] = None,
        priority_class_name: Optional[str] = None,
        readiness_probe: Optional[VirtualMachineReadinessProbeArgs] = None,
        resource_version: Optional[str] = None,
        resources: Optional[VirtualMachineResourcesArgs] = None,
        run_on_launch: Optional[bool] = None,
        run_strategy: Optional[str] = None,
        scheduler_name: Optional[str] = None,
        self_link: Optional[str] = None,
        status: Optional[VirtualMachineStatusArgs] = None,
        subdomain: Optional[str] = None,
        termination_grace_period_seconds: Optional[float] = None,
        timeouts: Optional[VirtualMachineTimeoutsArgs] = None,
        tolerations: Optional[Sequence[VirtualMachineTolerationArgs]] = None,
        uid: Optional[str] = None,
        virtual_machine_id: Optional[str] = None,
        vm_action: Optional[str] = None,
        volumes: Optional[Sequence[VirtualMachineVolumeArgs]] = None) -> VirtualMachine
func GetVirtualMachine(ctx *Context, name string, id IDInput, state *VirtualMachineState, opts ...ResourceOption) (*VirtualMachine, error)
public static VirtualMachine Get(string name, Input<string> id, VirtualMachineState? state, CustomResourceOptions? opts = null)
public static VirtualMachine get(String name, Output<String> id, VirtualMachineState state, CustomResourceOptions options)
resources:  _:    type: spectrocloud:VirtualMachine    get:      id: ${id}
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
Affinity VirtualMachineAffinity
Optional pod scheduling constraints.
Annotations Dictionary<string, string>
An unstructured key value map stored with the VM that may be used to store arbitrary metadata.
BaseVmName string
The name of the source virtual machine that a clone will be created of.
ClusterContext string
Context of the cluster. Allowed values are project, tenant. Default value is project.
ClusterUid string
The cluster UID to which the virtual machine belongs to.
Cpu VirtualMachineCpu
CPU allows to specifying the CPU topology. Valid resource keys are "cores" , "sockets" and "threads"
DataVolumeTemplates List<VirtualMachineDataVolumeTemplate>
dataVolumeTemplates is a list of dataVolumes that the VirtualMachineInstance template can reference.
Disks List<VirtualMachineDisk>
Disks describes disks, cdroms, floppy and luns which are connected to the vmi.
DnsPolicy string
DNSPolicy defines how a pod's DNS will be configured.
EvictionStrategy string
EvictionStrategy can be set to "LiveMigrate" if the VirtualMachineInstance should be migrated instead of shut-off in case of a node drain.
GenerateName string
Prefix, used by the server, to generate a unique name ONLY IF the name field has not been provided. This value will also be combined with a unique suffix. Read more: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#idempotency
Generation double
A sequence number representing a specific generation of the desired state.
Hostname string
Specifies the hostname of the vmi.
Interfaces List<VirtualMachineInterface>
Interfaces describe network interfaces which are added to the vmi.
Labels Dictionary<string, string>
Map of string keys and values that can be used to organize and categorize (scope and select). May match selectors of replication controllers and services.
LivenessProbe VirtualMachineLivenessProbe
Specification of the desired behavior of the VirtualMachineInstance on the host.
Memory VirtualMachineMemory
Memory allows specifying the vmi memory features.
Name string
Name of the virtual machine, must be unique. Cannot be updated.
Namespace string
Namespace defines the space within, Name must be unique.
Networks List<VirtualMachineNetwork>
List of networks that can be attached to a vm's virtual interface.
NodeSelector Dictionary<string, string>
NodeSelector is a selector which must be true for the vmi to fit on a node. Selector which must match a node's labels for the vmi to be scheduled on that node.
PodDnsConfig VirtualMachinePodDnsConfig
Specifies the DNS parameters of a pod. Parameters specified here will be merged to the generated DNS configuration based on DNSPolicy. Optional: Defaults to empty
PriorityClassName string
If specified, indicates the pod's priority. If not specified, the pod priority will be default or zero if there is no default.
ReadinessProbe VirtualMachineReadinessProbe
Specification of the desired behavior of the VirtualMachineInstance on the host.
ResourceVersion string
An opaque value that represents the internal version of this VM that can be used by clients to determine when VM has changed.
Resources VirtualMachineResources
Resources describes the Compute Resources required by this vmi.
RunOnLaunch bool
If set to true, the virtual machine will be started when the cluster is launched. Default value is true.
RunStrategy string
Running state indicates the requested running state of the VirtualMachineInstance, mutually exclusive with Running.
SchedulerName string
If specified, the VMI will be dispatched by specified scheduler. If not specified, the VMI will be dispatched by default scheduler.
SelfLink string
A URL representing this VM.
Status VirtualMachineStatus
VirtualMachineStatus represents the status returned by the controller to describe how the VirtualMachine is doing.
Subdomain string
If specified, the fully qualified vmi hostname will be "\n\n.\n\n.\n\n.svc.\n\n".
TerminationGracePeriodSeconds double
Grace period observed after signalling a VirtualMachineInstance to stop after which the VirtualMachineInstance is force terminated.
Timeouts VirtualMachineTimeouts
Tolerations List<VirtualMachineToleration>
If specified, the pod's toleration. Optional: Defaults to empty
Uid string
The unique in time and space value for this VM.
VirtualMachineId string
The ID of this resource.
VmAction string
The action to be performed on the virtual machine. Valid values are: start, stop, restart, pause, resume, migrate. Default value is start.
Volumes List<VirtualMachineVolume>
Specification of the desired behavior of the VirtualMachineInstance on the host.
Affinity VirtualMachineAffinityArgs
Optional pod scheduling constraints.
Annotations map[string]string
An unstructured key value map stored with the VM that may be used to store arbitrary metadata.
BaseVmName string
The name of the source virtual machine that a clone will be created of.
ClusterContext string
Context of the cluster. Allowed values are project, tenant. Default value is project.
ClusterUid string
The cluster UID to which the virtual machine belongs to.
Cpu VirtualMachineCpuArgs
CPU allows to specifying the CPU topology. Valid resource keys are "cores" , "sockets" and "threads"
DataVolumeTemplates []VirtualMachineDataVolumeTemplateArgs
dataVolumeTemplates is a list of dataVolumes that the VirtualMachineInstance template can reference.
Disks []VirtualMachineDiskArgs
Disks describes disks, cdroms, floppy and luns which are connected to the vmi.
DnsPolicy string
DNSPolicy defines how a pod's DNS will be configured.
EvictionStrategy string
EvictionStrategy can be set to "LiveMigrate" if the VirtualMachineInstance should be migrated instead of shut-off in case of a node drain.
GenerateName string
Prefix, used by the server, to generate a unique name ONLY IF the name field has not been provided. This value will also be combined with a unique suffix. Read more: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#idempotency
Generation float64
A sequence number representing a specific generation of the desired state.
Hostname string
Specifies the hostname of the vmi.
Interfaces []VirtualMachineInterfaceArgs
Interfaces describe network interfaces which are added to the vmi.
Labels map[string]string
Map of string keys and values that can be used to organize and categorize (scope and select). May match selectors of replication controllers and services.
LivenessProbe VirtualMachineLivenessProbeArgs
Specification of the desired behavior of the VirtualMachineInstance on the host.
Memory VirtualMachineMemoryArgs
Memory allows specifying the vmi memory features.
Name string
Name of the virtual machine, must be unique. Cannot be updated.
Namespace string
Namespace defines the space within, Name must be unique.
Networks []VirtualMachineNetworkArgs
List of networks that can be attached to a vm's virtual interface.
NodeSelector map[string]string
NodeSelector is a selector which must be true for the vmi to fit on a node. Selector which must match a node's labels for the vmi to be scheduled on that node.
PodDnsConfig VirtualMachinePodDnsConfigArgs
Specifies the DNS parameters of a pod. Parameters specified here will be merged to the generated DNS configuration based on DNSPolicy. Optional: Defaults to empty
PriorityClassName string
If specified, indicates the pod's priority. If not specified, the pod priority will be default or zero if there is no default.
ReadinessProbe VirtualMachineReadinessProbeArgs
Specification of the desired behavior of the VirtualMachineInstance on the host.
ResourceVersion string
An opaque value that represents the internal version of this VM that can be used by clients to determine when VM has changed.
Resources VirtualMachineResourcesArgs
Resources describes the Compute Resources required by this vmi.
RunOnLaunch bool
If set to true, the virtual machine will be started when the cluster is launched. Default value is true.
RunStrategy string
Running state indicates the requested running state of the VirtualMachineInstance, mutually exclusive with Running.
SchedulerName string
If specified, the VMI will be dispatched by specified scheduler. If not specified, the VMI will be dispatched by default scheduler.
SelfLink string
A URL representing this VM.
Status VirtualMachineStatusArgs
VirtualMachineStatus represents the status returned by the controller to describe how the VirtualMachine is doing.
Subdomain string
If specified, the fully qualified vmi hostname will be "\n\n.\n\n.\n\n.svc.\n\n".
TerminationGracePeriodSeconds float64
Grace period observed after signalling a VirtualMachineInstance to stop after which the VirtualMachineInstance is force terminated.
Timeouts VirtualMachineTimeoutsArgs
Tolerations []VirtualMachineTolerationArgs
If specified, the pod's toleration. Optional: Defaults to empty
Uid string
The unique in time and space value for this VM.
VirtualMachineId string
The ID of this resource.
VmAction string
The action to be performed on the virtual machine. Valid values are: start, stop, restart, pause, resume, migrate. Default value is start.
Volumes []VirtualMachineVolumeArgs
Specification of the desired behavior of the VirtualMachineInstance on the host.
affinity VirtualMachineAffinity
Optional pod scheduling constraints.
annotations Map<String,String>
An unstructured key value map stored with the VM that may be used to store arbitrary metadata.
baseVmName String
The name of the source virtual machine that a clone will be created of.
clusterContext String
Context of the cluster. Allowed values are project, tenant. Default value is project.
clusterUid String
The cluster UID to which the virtual machine belongs to.
cpu VirtualMachineCpu
CPU allows to specifying the CPU topology. Valid resource keys are "cores" , "sockets" and "threads"
dataVolumeTemplates List<VirtualMachineDataVolumeTemplate>
dataVolumeTemplates is a list of dataVolumes that the VirtualMachineInstance template can reference.
disks List<VirtualMachineDisk>
Disks describes disks, cdroms, floppy and luns which are connected to the vmi.
dnsPolicy String
DNSPolicy defines how a pod's DNS will be configured.
evictionStrategy String
EvictionStrategy can be set to "LiveMigrate" if the VirtualMachineInstance should be migrated instead of shut-off in case of a node drain.
generateName String
Prefix, used by the server, to generate a unique name ONLY IF the name field has not been provided. This value will also be combined with a unique suffix. Read more: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#idempotency
generation Double
A sequence number representing a specific generation of the desired state.
hostname String
Specifies the hostname of the vmi.
interfaces List<VirtualMachineInterface>
Interfaces describe network interfaces which are added to the vmi.
labels Map<String,String>
Map of string keys and values that can be used to organize and categorize (scope and select). May match selectors of replication controllers and services.
livenessProbe VirtualMachineLivenessProbe
Specification of the desired behavior of the VirtualMachineInstance on the host.
memory VirtualMachineMemory
Memory allows specifying the vmi memory features.
name String
Name of the virtual machine, must be unique. Cannot be updated.
namespace String
Namespace defines the space within, Name must be unique.
networks List<VirtualMachineNetwork>
List of networks that can be attached to a vm's virtual interface.
nodeSelector Map<String,String>
NodeSelector is a selector which must be true for the vmi to fit on a node. Selector which must match a node's labels for the vmi to be scheduled on that node.
podDnsConfig VirtualMachinePodDnsConfig
Specifies the DNS parameters of a pod. Parameters specified here will be merged to the generated DNS configuration based on DNSPolicy. Optional: Defaults to empty
priorityClassName String
If specified, indicates the pod's priority. If not specified, the pod priority will be default or zero if there is no default.
readinessProbe VirtualMachineReadinessProbe
Specification of the desired behavior of the VirtualMachineInstance on the host.
resourceVersion String
An opaque value that represents the internal version of this VM that can be used by clients to determine when VM has changed.
resources VirtualMachineResources
Resources describes the Compute Resources required by this vmi.
runOnLaunch Boolean
If set to true, the virtual machine will be started when the cluster is launched. Default value is true.
runStrategy String
Running state indicates the requested running state of the VirtualMachineInstance, mutually exclusive with Running.
schedulerName String
If specified, the VMI will be dispatched by specified scheduler. If not specified, the VMI will be dispatched by default scheduler.
selfLink String
A URL representing this VM.
status VirtualMachineStatus
VirtualMachineStatus represents the status returned by the controller to describe how the VirtualMachine is doing.
subdomain String
If specified, the fully qualified vmi hostname will be "\n\n.\n\n.\n\n.svc.\n\n".
terminationGracePeriodSeconds Double
Grace period observed after signalling a VirtualMachineInstance to stop after which the VirtualMachineInstance is force terminated.
timeouts VirtualMachineTimeouts
tolerations List<VirtualMachineToleration>
If specified, the pod's toleration. Optional: Defaults to empty
uid String
The unique in time and space value for this VM.
virtualMachineId String
The ID of this resource.
vmAction String
The action to be performed on the virtual machine. Valid values are: start, stop, restart, pause, resume, migrate. Default value is start.
volumes List<VirtualMachineVolume>
Specification of the desired behavior of the VirtualMachineInstance on the host.
affinity VirtualMachineAffinity
Optional pod scheduling constraints.
annotations {[key: string]: string}
An unstructured key value map stored with the VM that may be used to store arbitrary metadata.
baseVmName string
The name of the source virtual machine that a clone will be created of.
clusterContext string
Context of the cluster. Allowed values are project, tenant. Default value is project.
clusterUid string
The cluster UID to which the virtual machine belongs to.
cpu VirtualMachineCpu
CPU allows to specifying the CPU topology. Valid resource keys are "cores" , "sockets" and "threads"
dataVolumeTemplates VirtualMachineDataVolumeTemplate[]
dataVolumeTemplates is a list of dataVolumes that the VirtualMachineInstance template can reference.
disks VirtualMachineDisk[]
Disks describes disks, cdroms, floppy and luns which are connected to the vmi.
dnsPolicy string
DNSPolicy defines how a pod's DNS will be configured.
evictionStrategy string
EvictionStrategy can be set to "LiveMigrate" if the VirtualMachineInstance should be migrated instead of shut-off in case of a node drain.
generateName string
Prefix, used by the server, to generate a unique name ONLY IF the name field has not been provided. This value will also be combined with a unique suffix. Read more: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#idempotency
generation number
A sequence number representing a specific generation of the desired state.
hostname string
Specifies the hostname of the vmi.
interfaces VirtualMachineInterface[]
Interfaces describe network interfaces which are added to the vmi.
labels {[key: string]: string}
Map of string keys and values that can be used to organize and categorize (scope and select). May match selectors of replication controllers and services.
livenessProbe VirtualMachineLivenessProbe
Specification of the desired behavior of the VirtualMachineInstance on the host.
memory VirtualMachineMemory
Memory allows specifying the vmi memory features.
name string
Name of the virtual machine, must be unique. Cannot be updated.
namespace string
Namespace defines the space within, Name must be unique.
networks VirtualMachineNetwork[]
List of networks that can be attached to a vm's virtual interface.
nodeSelector {[key: string]: string}
NodeSelector is a selector which must be true for the vmi to fit on a node. Selector which must match a node's labels for the vmi to be scheduled on that node.
podDnsConfig VirtualMachinePodDnsConfig
Specifies the DNS parameters of a pod. Parameters specified here will be merged to the generated DNS configuration based on DNSPolicy. Optional: Defaults to empty
priorityClassName string
If specified, indicates the pod's priority. If not specified, the pod priority will be default or zero if there is no default.
readinessProbe VirtualMachineReadinessProbe
Specification of the desired behavior of the VirtualMachineInstance on the host.
resourceVersion string
An opaque value that represents the internal version of this VM that can be used by clients to determine when VM has changed.
resources VirtualMachineResources
Resources describes the Compute Resources required by this vmi.
runOnLaunch boolean
If set to true, the virtual machine will be started when the cluster is launched. Default value is true.
runStrategy string
Running state indicates the requested running state of the VirtualMachineInstance, mutually exclusive with Running.
schedulerName string
If specified, the VMI will be dispatched by specified scheduler. If not specified, the VMI will be dispatched by default scheduler.
selfLink string
A URL representing this VM.
status VirtualMachineStatus
VirtualMachineStatus represents the status returned by the controller to describe how the VirtualMachine is doing.
subdomain string
If specified, the fully qualified vmi hostname will be "\n\n.\n\n.\n\n.svc.\n\n".
terminationGracePeriodSeconds number
Grace period observed after signalling a VirtualMachineInstance to stop after which the VirtualMachineInstance is force terminated.
timeouts VirtualMachineTimeouts
tolerations VirtualMachineToleration[]
If specified, the pod's toleration. Optional: Defaults to empty
uid string
The unique in time and space value for this VM.
virtualMachineId string
The ID of this resource.
vmAction string
The action to be performed on the virtual machine. Valid values are: start, stop, restart, pause, resume, migrate. Default value is start.
volumes VirtualMachineVolume[]
Specification of the desired behavior of the VirtualMachineInstance on the host.
affinity VirtualMachineAffinityArgs
Optional pod scheduling constraints.
annotations Mapping[str, str]
An unstructured key value map stored with the VM that may be used to store arbitrary metadata.
base_vm_name str
The name of the source virtual machine that a clone will be created of.
cluster_context str
Context of the cluster. Allowed values are project, tenant. Default value is project.
cluster_uid str
The cluster UID to which the virtual machine belongs to.
cpu VirtualMachineCpuArgs
CPU allows to specifying the CPU topology. Valid resource keys are "cores" , "sockets" and "threads"
data_volume_templates Sequence[VirtualMachineDataVolumeTemplateArgs]
dataVolumeTemplates is a list of dataVolumes that the VirtualMachineInstance template can reference.
disks Sequence[VirtualMachineDiskArgs]
Disks describes disks, cdroms, floppy and luns which are connected to the vmi.
dns_policy str
DNSPolicy defines how a pod's DNS will be configured.
eviction_strategy str
EvictionStrategy can be set to "LiveMigrate" if the VirtualMachineInstance should be migrated instead of shut-off in case of a node drain.
generate_name str
Prefix, used by the server, to generate a unique name ONLY IF the name field has not been provided. This value will also be combined with a unique suffix. Read more: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#idempotency
generation float
A sequence number representing a specific generation of the desired state.
hostname str
Specifies the hostname of the vmi.
interfaces Sequence[VirtualMachineInterfaceArgs]
Interfaces describe network interfaces which are added to the vmi.
labels Mapping[str, str]
Map of string keys and values that can be used to organize and categorize (scope and select). May match selectors of replication controllers and services.
liveness_probe VirtualMachineLivenessProbeArgs
Specification of the desired behavior of the VirtualMachineInstance on the host.
memory VirtualMachineMemoryArgs
Memory allows specifying the vmi memory features.
name str
Name of the virtual machine, must be unique. Cannot be updated.
namespace str
Namespace defines the space within, Name must be unique.
networks Sequence[VirtualMachineNetworkArgs]
List of networks that can be attached to a vm's virtual interface.
node_selector Mapping[str, str]
NodeSelector is a selector which must be true for the vmi to fit on a node. Selector which must match a node's labels for the vmi to be scheduled on that node.
pod_dns_config VirtualMachinePodDnsConfigArgs
Specifies the DNS parameters of a pod. Parameters specified here will be merged to the generated DNS configuration based on DNSPolicy. Optional: Defaults to empty
priority_class_name str
If specified, indicates the pod's priority. If not specified, the pod priority will be default or zero if there is no default.
readiness_probe VirtualMachineReadinessProbeArgs
Specification of the desired behavior of the VirtualMachineInstance on the host.
resource_version str
An opaque value that represents the internal version of this VM that can be used by clients to determine when VM has changed.
resources VirtualMachineResourcesArgs
Resources describes the Compute Resources required by this vmi.
run_on_launch bool
If set to true, the virtual machine will be started when the cluster is launched. Default value is true.
run_strategy str
Running state indicates the requested running state of the VirtualMachineInstance, mutually exclusive with Running.
scheduler_name str
If specified, the VMI will be dispatched by specified scheduler. If not specified, the VMI will be dispatched by default scheduler.
self_link str
A URL representing this VM.
status VirtualMachineStatusArgs
VirtualMachineStatus represents the status returned by the controller to describe how the VirtualMachine is doing.
subdomain str
If specified, the fully qualified vmi hostname will be "\n\n.\n\n.\n\n.svc.\n\n".
termination_grace_period_seconds float
Grace period observed after signalling a VirtualMachineInstance to stop after which the VirtualMachineInstance is force terminated.
timeouts VirtualMachineTimeoutsArgs
tolerations Sequence[VirtualMachineTolerationArgs]
If specified, the pod's toleration. Optional: Defaults to empty
uid str
The unique in time and space value for this VM.
virtual_machine_id str
The ID of this resource.
vm_action str
The action to be performed on the virtual machine. Valid values are: start, stop, restart, pause, resume, migrate. Default value is start.
volumes Sequence[VirtualMachineVolumeArgs]
Specification of the desired behavior of the VirtualMachineInstance on the host.
affinity Property Map
Optional pod scheduling constraints.
annotations Map<String>
An unstructured key value map stored with the VM that may be used to store arbitrary metadata.
baseVmName String
The name of the source virtual machine that a clone will be created of.
clusterContext String
Context of the cluster. Allowed values are project, tenant. Default value is project.
clusterUid String
The cluster UID to which the virtual machine belongs to.
cpu Property Map
CPU allows to specifying the CPU topology. Valid resource keys are "cores" , "sockets" and "threads"
dataVolumeTemplates List<Property Map>
dataVolumeTemplates is a list of dataVolumes that the VirtualMachineInstance template can reference.
disks List<Property Map>
Disks describes disks, cdroms, floppy and luns which are connected to the vmi.
dnsPolicy String
DNSPolicy defines how a pod's DNS will be configured.
evictionStrategy String
EvictionStrategy can be set to "LiveMigrate" if the VirtualMachineInstance should be migrated instead of shut-off in case of a node drain.
generateName String
Prefix, used by the server, to generate a unique name ONLY IF the name field has not been provided. This value will also be combined with a unique suffix. Read more: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#idempotency
generation Number
A sequence number representing a specific generation of the desired state.
hostname String
Specifies the hostname of the vmi.
interfaces List<Property Map>
Interfaces describe network interfaces which are added to the vmi.
labels Map<String>
Map of string keys and values that can be used to organize and categorize (scope and select). May match selectors of replication controllers and services.
livenessProbe Property Map
Specification of the desired behavior of the VirtualMachineInstance on the host.
memory Property Map
Memory allows specifying the vmi memory features.
name String
Name of the virtual machine, must be unique. Cannot be updated.
namespace String
Namespace defines the space within, Name must be unique.
networks List<Property Map>
List of networks that can be attached to a vm's virtual interface.
nodeSelector Map<String>
NodeSelector is a selector which must be true for the vmi to fit on a node. Selector which must match a node's labels for the vmi to be scheduled on that node.
podDnsConfig Property Map
Specifies the DNS parameters of a pod. Parameters specified here will be merged to the generated DNS configuration based on DNSPolicy. Optional: Defaults to empty
priorityClassName String
If specified, indicates the pod's priority. If not specified, the pod priority will be default or zero if there is no default.
readinessProbe Property Map
Specification of the desired behavior of the VirtualMachineInstance on the host.
resourceVersion String
An opaque value that represents the internal version of this VM that can be used by clients to determine when VM has changed.
resources Property Map
Resources describes the Compute Resources required by this vmi.
runOnLaunch Boolean
If set to true, the virtual machine will be started when the cluster is launched. Default value is true.
runStrategy String
Running state indicates the requested running state of the VirtualMachineInstance, mutually exclusive with Running.
schedulerName String
If specified, the VMI will be dispatched by specified scheduler. If not specified, the VMI will be dispatched by default scheduler.
selfLink String
A URL representing this VM.
status Property Map
VirtualMachineStatus represents the status returned by the controller to describe how the VirtualMachine is doing.
subdomain String
If specified, the fully qualified vmi hostname will be "\n\n.\n\n.\n\n.svc.\n\n".
terminationGracePeriodSeconds Number
Grace period observed after signalling a VirtualMachineInstance to stop after which the VirtualMachineInstance is force terminated.
timeouts Property Map
tolerations List<Property Map>
If specified, the pod's toleration. Optional: Defaults to empty
uid String
The unique in time and space value for this VM.
virtualMachineId String
The ID of this resource.
vmAction String
The action to be performed on the virtual machine. Valid values are: start, stop, restart, pause, resume, migrate. Default value is start.
volumes List<Property Map>
Specification of the desired behavior of the VirtualMachineInstance on the host.

Supporting Types

VirtualMachineAffinity
, VirtualMachineAffinityArgs

NodeAffinity VirtualMachineAffinityNodeAffinity
Node affinity scheduling rules for the pod.
PodAffinity VirtualMachineAffinityPodAffinity
Inter-pod topological affinity. rules that specify that certain pods should be placed in the same topological domain (e.g. same node, same rack, same zone, same power domain, etc.)
PodAntiAffinity VirtualMachineAffinityPodAntiAffinity
Inter-pod topological affinity. rules that specify that certain pods should be placed in the same topological domain (e.g. same node, same rack, same zone, same power domain, etc.)
NodeAffinity VirtualMachineAffinityNodeAffinity
Node affinity scheduling rules for the pod.
PodAffinity VirtualMachineAffinityPodAffinity
Inter-pod topological affinity. rules that specify that certain pods should be placed in the same topological domain (e.g. same node, same rack, same zone, same power domain, etc.)
PodAntiAffinity VirtualMachineAffinityPodAntiAffinity
Inter-pod topological affinity. rules that specify that certain pods should be placed in the same topological domain (e.g. same node, same rack, same zone, same power domain, etc.)
nodeAffinity VirtualMachineAffinityNodeAffinity
Node affinity scheduling rules for the pod.
podAffinity VirtualMachineAffinityPodAffinity
Inter-pod topological affinity. rules that specify that certain pods should be placed in the same topological domain (e.g. same node, same rack, same zone, same power domain, etc.)
podAntiAffinity VirtualMachineAffinityPodAntiAffinity
Inter-pod topological affinity. rules that specify that certain pods should be placed in the same topological domain (e.g. same node, same rack, same zone, same power domain, etc.)
nodeAffinity VirtualMachineAffinityNodeAffinity
Node affinity scheduling rules for the pod.
podAffinity VirtualMachineAffinityPodAffinity
Inter-pod topological affinity. rules that specify that certain pods should be placed in the same topological domain (e.g. same node, same rack, same zone, same power domain, etc.)
podAntiAffinity VirtualMachineAffinityPodAntiAffinity
Inter-pod topological affinity. rules that specify that certain pods should be placed in the same topological domain (e.g. same node, same rack, same zone, same power domain, etc.)
node_affinity VirtualMachineAffinityNodeAffinity
Node affinity scheduling rules for the pod.
pod_affinity VirtualMachineAffinityPodAffinity
Inter-pod topological affinity. rules that specify that certain pods should be placed in the same topological domain (e.g. same node, same rack, same zone, same power domain, etc.)
pod_anti_affinity VirtualMachineAffinityPodAntiAffinity
Inter-pod topological affinity. rules that specify that certain pods should be placed in the same topological domain (e.g. same node, same rack, same zone, same power domain, etc.)
nodeAffinity Property Map
Node affinity scheduling rules for the pod.
podAffinity Property Map
Inter-pod topological affinity. rules that specify that certain pods should be placed in the same topological domain (e.g. same node, same rack, same zone, same power domain, etc.)
podAntiAffinity Property Map
Inter-pod topological affinity. rules that specify that certain pods should be placed in the same topological domain (e.g. same node, same rack, same zone, same power domain, etc.)

VirtualMachineAffinityNodeAffinity
, VirtualMachineAffinityNodeAffinityArgs

PreferredDuringSchedulingIgnoredDuringExecutions List<VirtualMachineAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution>
The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, RequiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding 'weight' to the sum if the node matches the corresponding MatchExpressions; the node(s) with the highest sum are the most preferred.
RequiredDuringSchedulingIgnoredDuringExecution VirtualMachineAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution
If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a node label update), the system may or may not try to eventually evict the pod from its node.
PreferredDuringSchedulingIgnoredDuringExecutions []VirtualMachineAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution
The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, RequiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding 'weight' to the sum if the node matches the corresponding MatchExpressions; the node(s) with the highest sum are the most preferred.
RequiredDuringSchedulingIgnoredDuringExecution VirtualMachineAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution
If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a node label update), the system may or may not try to eventually evict the pod from its node.
preferredDuringSchedulingIgnoredDuringExecutions List<VirtualMachineAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution>
The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, RequiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding 'weight' to the sum if the node matches the corresponding MatchExpressions; the node(s) with the highest sum are the most preferred.
requiredDuringSchedulingIgnoredDuringExecution VirtualMachineAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution
If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a node label update), the system may or may not try to eventually evict the pod from its node.
preferredDuringSchedulingIgnoredDuringExecutions VirtualMachineAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution[]
The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, RequiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding 'weight' to the sum if the node matches the corresponding MatchExpressions; the node(s) with the highest sum are the most preferred.
requiredDuringSchedulingIgnoredDuringExecution VirtualMachineAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution
If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a node label update), the system may or may not try to eventually evict the pod from its node.
preferred_during_scheduling_ignored_during_executions Sequence[VirtualMachineAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution]
The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, RequiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding 'weight' to the sum if the node matches the corresponding MatchExpressions; the node(s) with the highest sum are the most preferred.
required_during_scheduling_ignored_during_execution VirtualMachineAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution
If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a node label update), the system may or may not try to eventually evict the pod from its node.
preferredDuringSchedulingIgnoredDuringExecutions List<Property Map>
The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, RequiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding 'weight' to the sum if the node matches the corresponding MatchExpressions; the node(s) with the highest sum are the most preferred.
requiredDuringSchedulingIgnoredDuringExecution Property Map
If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a node label update), the system may or may not try to eventually evict the pod from its node.

VirtualMachineAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution
, VirtualMachineAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionArgs

Preference This property is required. VirtualMachineAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference
A node selector term, associated with the corresponding weight.
Weight This property is required. double
weight is in the range 1-100
Preference This property is required. VirtualMachineAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference
A node selector term, associated with the corresponding weight.
Weight This property is required. float64
weight is in the range 1-100
preference This property is required. VirtualMachineAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference
A node selector term, associated with the corresponding weight.
weight This property is required. Double
weight is in the range 1-100
preference This property is required. VirtualMachineAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference
A node selector term, associated with the corresponding weight.
weight This property is required. number
weight is in the range 1-100
preference This property is required. VirtualMachineAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference
A node selector term, associated with the corresponding weight.
weight This property is required. float
weight is in the range 1-100
preference This property is required. Property Map
A node selector term, associated with the corresponding weight.
weight This property is required. Number
weight is in the range 1-100

VirtualMachineAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference
, VirtualMachineAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceArgs

matchExpressions List<Property Map>
List of node selector requirements. The requirements are ANDed.

VirtualMachineAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpression
, VirtualMachineAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressionArgs

Key string
The label key that the selector applies to.
Operator string
Operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
Values List<string>
Values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
Key string
The label key that the selector applies to.
Operator string
Operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
Values []string
Values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
key String
The label key that the selector applies to.
operator String
Operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
values List<String>
Values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
key string
The label key that the selector applies to.
operator string
Operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
values string[]
Values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
key str
The label key that the selector applies to.
operator str
Operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
values Sequence[str]
Values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
key String
The label key that the selector applies to.
operator String
Operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
values List<String>
Values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.

VirtualMachineAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution
, VirtualMachineAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionArgs

nodeSelectorTerms List<Property Map>
List of node selector terms. The terms are ORed.

VirtualMachineAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerm
, VirtualMachineAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermArgs

matchExpressions List<Property Map>
List of node selector requirements. The requirements are ANDed.

VirtualMachineAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermMatchExpression
, VirtualMachineAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermMatchExpressionArgs

Key string
The label key that the selector applies to.
Operator string
Operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
Values List<string>
Values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
Key string
The label key that the selector applies to.
Operator string
Operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
Values []string
Values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
key String
The label key that the selector applies to.
operator String
Operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
values List<String>
Values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
key string
The label key that the selector applies to.
operator string
Operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
values string[]
Values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
key str
The label key that the selector applies to.
operator str
Operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
values Sequence[str]
Values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
key String
The label key that the selector applies to.
operator String
Operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
values List<String>
Values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.

VirtualMachineAffinityPodAffinity
, VirtualMachineAffinityPodAffinityArgs

PreferredDuringSchedulingIgnoredDuringExecutions List<VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecution>
The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, RequiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding 'weight' to the sum if the node matches the corresponding MatchExpressions; the node(s) with the highest sum are the most preferred.
RequiredDuringSchedulingIgnoredDuringExecutions List<VirtualMachineAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecution>
If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each PodAffinityTerm are intersected, i.e. all terms must be satisfied.
PreferredDuringSchedulingIgnoredDuringExecutions []VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecution
The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, RequiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding 'weight' to the sum if the node matches the corresponding MatchExpressions; the node(s) with the highest sum are the most preferred.
RequiredDuringSchedulingIgnoredDuringExecutions []VirtualMachineAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecution
If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each PodAffinityTerm are intersected, i.e. all terms must be satisfied.
preferredDuringSchedulingIgnoredDuringExecutions List<VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecution>
The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, RequiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding 'weight' to the sum if the node matches the corresponding MatchExpressions; the node(s) with the highest sum are the most preferred.
requiredDuringSchedulingIgnoredDuringExecutions List<VirtualMachineAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecution>
If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each PodAffinityTerm are intersected, i.e. all terms must be satisfied.
preferredDuringSchedulingIgnoredDuringExecutions VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecution[]
The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, RequiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding 'weight' to the sum if the node matches the corresponding MatchExpressions; the node(s) with the highest sum are the most preferred.
requiredDuringSchedulingIgnoredDuringExecutions VirtualMachineAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecution[]
If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each PodAffinityTerm are intersected, i.e. all terms must be satisfied.
preferred_during_scheduling_ignored_during_executions Sequence[VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecution]
The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, RequiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding 'weight' to the sum if the node matches the corresponding MatchExpressions; the node(s) with the highest sum are the most preferred.
required_during_scheduling_ignored_during_executions Sequence[VirtualMachineAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecution]
If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each PodAffinityTerm are intersected, i.e. all terms must be satisfied.
preferredDuringSchedulingIgnoredDuringExecutions List<Property Map>
The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, RequiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding 'weight' to the sum if the node matches the corresponding MatchExpressions; the node(s) with the highest sum are the most preferred.
requiredDuringSchedulingIgnoredDuringExecutions List<Property Map>
If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each PodAffinityTerm are intersected, i.e. all terms must be satisfied.

VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecution
, VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionArgs

PodAffinityTerm This property is required. VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm
A pod affinity term, associated with the corresponding weight
Weight This property is required. double
weight associated with matching the corresponding podAffinityTerm, in the range 1-100
PodAffinityTerm This property is required. VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm
A pod affinity term, associated with the corresponding weight
Weight This property is required. float64
weight associated with matching the corresponding podAffinityTerm, in the range 1-100
podAffinityTerm This property is required. VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm
A pod affinity term, associated with the corresponding weight
weight This property is required. Double
weight associated with matching the corresponding podAffinityTerm, in the range 1-100
podAffinityTerm This property is required. VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm
A pod affinity term, associated with the corresponding weight
weight This property is required. number
weight associated with matching the corresponding podAffinityTerm, in the range 1-100
pod_affinity_term This property is required. VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm
A pod affinity term, associated with the corresponding weight
weight This property is required. float
weight associated with matching the corresponding podAffinityTerm, in the range 1-100
podAffinityTerm This property is required. Property Map
A pod affinity term, associated with the corresponding weight
weight This property is required. Number
weight associated with matching the corresponding podAffinityTerm, in the range 1-100

VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm
, VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermArgs

LabelSelectors List<VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector>
A label query over a set of resources, in this case pods.
Namespaces List<string>
namespaces specifies which namespaces the labelSelector applies to (matches against); null or empty list means 'this pod's namespace'
TopologyKey string
empty topology key is interpreted by the scheduler as 'all topologies'
LabelSelectors []VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector
A label query over a set of resources, in this case pods.
Namespaces []string
namespaces specifies which namespaces the labelSelector applies to (matches against); null or empty list means 'this pod's namespace'
TopologyKey string
empty topology key is interpreted by the scheduler as 'all topologies'
labelSelectors List<VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector>
A label query over a set of resources, in this case pods.
namespaces List<String>
namespaces specifies which namespaces the labelSelector applies to (matches against); null or empty list means 'this pod's namespace'
topologyKey String
empty topology key is interpreted by the scheduler as 'all topologies'
labelSelectors VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector[]
A label query over a set of resources, in this case pods.
namespaces string[]
namespaces specifies which namespaces the labelSelector applies to (matches against); null or empty list means 'this pod's namespace'
topologyKey string
empty topology key is interpreted by the scheduler as 'all topologies'
label_selectors Sequence[VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector]
A label query over a set of resources, in this case pods.
namespaces Sequence[str]
namespaces specifies which namespaces the labelSelector applies to (matches against); null or empty list means 'this pod's namespace'
topology_key str
empty topology key is interpreted by the scheduler as 'all topologies'
labelSelectors List<Property Map>
A label query over a set of resources, in this case pods.
namespaces List<String>
namespaces specifies which namespaces the labelSelector applies to (matches against); null or empty list means 'this pod's namespace'
topologyKey String
empty topology key is interpreted by the scheduler as 'all topologies'

VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector
, VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorArgs

MatchExpressions List<VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpression>
A list of label selector requirements. The requirements are ANDed.
MatchLabels Dictionary<string, string>
A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of match_expressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
MatchExpressions []VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpression
A list of label selector requirements. The requirements are ANDed.
MatchLabels map[string]string
A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of match_expressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
matchExpressions List<VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpression>
A list of label selector requirements. The requirements are ANDed.
matchLabels Map<String,String>
A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of match_expressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
matchExpressions VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpression[]
A list of label selector requirements. The requirements are ANDed.
matchLabels {[key: string]: string}
A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of match_expressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
match_expressions Sequence[VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpression]
A list of label selector requirements. The requirements are ANDed.
match_labels Mapping[str, str]
A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of match_expressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
matchExpressions List<Property Map>
A list of label selector requirements. The requirements are ANDed.
matchLabels Map<String>
A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of match_expressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.

VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpression
, VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressionArgs

Key string
The label key that the selector applies to.
Operator string
A key's relationship to a set of values. Valid operators ard In, NotIn, Exists and DoesNotExist.
Values List<string>
An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
Key string
The label key that the selector applies to.
Operator string
A key's relationship to a set of values. Valid operators ard In, NotIn, Exists and DoesNotExist.
Values []string
An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
key String
The label key that the selector applies to.
operator String
A key's relationship to a set of values. Valid operators ard In, NotIn, Exists and DoesNotExist.
values List<String>
An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
key string
The label key that the selector applies to.
operator string
A key's relationship to a set of values. Valid operators ard In, NotIn, Exists and DoesNotExist.
values string[]
An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
key str
The label key that the selector applies to.
operator str
A key's relationship to a set of values. Valid operators ard In, NotIn, Exists and DoesNotExist.
values Sequence[str]
An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
key String
The label key that the selector applies to.
operator String
A key's relationship to a set of values. Valid operators ard In, NotIn, Exists and DoesNotExist.
values List<String>
An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.

VirtualMachineAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecution
, VirtualMachineAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionArgs

LabelSelectors List<VirtualMachineAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector>
A label query over a set of resources, in this case pods.
Namespaces List<string>
namespaces specifies which namespaces the labelSelector applies to (matches against); null or empty list means 'this pod's namespace'
TopologyKey string
empty topology key is interpreted by the scheduler as 'all topologies'
LabelSelectors []VirtualMachineAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector
A label query over a set of resources, in this case pods.
Namespaces []string
namespaces specifies which namespaces the labelSelector applies to (matches against); null or empty list means 'this pod's namespace'
TopologyKey string
empty topology key is interpreted by the scheduler as 'all topologies'
labelSelectors List<VirtualMachineAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector>
A label query over a set of resources, in this case pods.
namespaces List<String>
namespaces specifies which namespaces the labelSelector applies to (matches against); null or empty list means 'this pod's namespace'
topologyKey String
empty topology key is interpreted by the scheduler as 'all topologies'
labelSelectors VirtualMachineAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector[]
A label query over a set of resources, in this case pods.
namespaces string[]
namespaces specifies which namespaces the labelSelector applies to (matches against); null or empty list means 'this pod's namespace'
topologyKey string
empty topology key is interpreted by the scheduler as 'all topologies'
label_selectors Sequence[VirtualMachineAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector]
A label query over a set of resources, in this case pods.
namespaces Sequence[str]
namespaces specifies which namespaces the labelSelector applies to (matches against); null or empty list means 'this pod's namespace'
topology_key str
empty topology key is interpreted by the scheduler as 'all topologies'
labelSelectors List<Property Map>
A label query over a set of resources, in this case pods.
namespaces List<String>
namespaces specifies which namespaces the labelSelector applies to (matches against); null or empty list means 'this pod's namespace'
topologyKey String
empty topology key is interpreted by the scheduler as 'all topologies'

VirtualMachineAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector
, VirtualMachineAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorArgs

MatchExpressions List<VirtualMachineAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpression>
A list of label selector requirements. The requirements are ANDed.
MatchLabels Dictionary<string, string>
A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of match_expressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
MatchExpressions []VirtualMachineAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpression
A list of label selector requirements. The requirements are ANDed.
MatchLabels map[string]string
A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of match_expressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
matchExpressions List<VirtualMachineAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpression>
A list of label selector requirements. The requirements are ANDed.
matchLabels Map<String,String>
A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of match_expressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
matchExpressions VirtualMachineAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpression[]
A list of label selector requirements. The requirements are ANDed.
matchLabels {[key: string]: string}
A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of match_expressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
match_expressions Sequence[VirtualMachineAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpression]
A list of label selector requirements. The requirements are ANDed.
match_labels Mapping[str, str]
A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of match_expressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
matchExpressions List<Property Map>
A list of label selector requirements. The requirements are ANDed.
matchLabels Map<String>
A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of match_expressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.

VirtualMachineAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpression
, VirtualMachineAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressionArgs

Key string
The label key that the selector applies to.
Operator string
A key's relationship to a set of values. Valid operators ard In, NotIn, Exists and DoesNotExist.
Values List<string>
An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
Key string
The label key that the selector applies to.
Operator string
A key's relationship to a set of values. Valid operators ard In, NotIn, Exists and DoesNotExist.
Values []string
An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
key String
The label key that the selector applies to.
operator String
A key's relationship to a set of values. Valid operators ard In, NotIn, Exists and DoesNotExist.
values List<String>
An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
key string
The label key that the selector applies to.
operator string
A key's relationship to a set of values. Valid operators ard In, NotIn, Exists and DoesNotExist.
values string[]
An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
key str
The label key that the selector applies to.
operator str
A key's relationship to a set of values. Valid operators ard In, NotIn, Exists and DoesNotExist.
values Sequence[str]
An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
key String
The label key that the selector applies to.
operator String
A key's relationship to a set of values. Valid operators ard In, NotIn, Exists and DoesNotExist.
values List<String>
An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.

VirtualMachineAffinityPodAntiAffinity
, VirtualMachineAffinityPodAntiAffinityArgs

PreferredDuringSchedulingIgnoredDuringExecutions List<VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecution>
The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, RequiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding 'weight' to the sum if the node matches the corresponding MatchExpressions; the node(s) with the highest sum are the most preferred.
RequiredDuringSchedulingIgnoredDuringExecutions List<VirtualMachineAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution>
If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each PodAffinityTerm are intersected, i.e. all terms must be satisfied.
PreferredDuringSchedulingIgnoredDuringExecutions []VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecution
The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, RequiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding 'weight' to the sum if the node matches the corresponding MatchExpressions; the node(s) with the highest sum are the most preferred.
RequiredDuringSchedulingIgnoredDuringExecutions []VirtualMachineAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution
If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each PodAffinityTerm are intersected, i.e. all terms must be satisfied.
preferredDuringSchedulingIgnoredDuringExecutions List<VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecution>
The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, RequiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding 'weight' to the sum if the node matches the corresponding MatchExpressions; the node(s) with the highest sum are the most preferred.
requiredDuringSchedulingIgnoredDuringExecutions List<VirtualMachineAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution>
If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each PodAffinityTerm are intersected, i.e. all terms must be satisfied.
preferredDuringSchedulingIgnoredDuringExecutions VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecution[]
The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, RequiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding 'weight' to the sum if the node matches the corresponding MatchExpressions; the node(s) with the highest sum are the most preferred.
requiredDuringSchedulingIgnoredDuringExecutions VirtualMachineAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution[]
If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each PodAffinityTerm are intersected, i.e. all terms must be satisfied.
preferred_during_scheduling_ignored_during_executions Sequence[VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecution]
The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, RequiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding 'weight' to the sum if the node matches the corresponding MatchExpressions; the node(s) with the highest sum are the most preferred.
required_during_scheduling_ignored_during_executions Sequence[VirtualMachineAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution]
If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each PodAffinityTerm are intersected, i.e. all terms must be satisfied.
preferredDuringSchedulingIgnoredDuringExecutions List<Property Map>
The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, RequiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding 'weight' to the sum if the node matches the corresponding MatchExpressions; the node(s) with the highest sum are the most preferred.
requiredDuringSchedulingIgnoredDuringExecutions List<Property Map>
If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each PodAffinityTerm are intersected, i.e. all terms must be satisfied.

VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecution
, VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionArgs

PodAffinityTerm This property is required. VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm
A pod affinity term, associated with the corresponding weight
Weight This property is required. double
weight associated with matching the corresponding podAffinityTerm, in the range 1-100
PodAffinityTerm This property is required. VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm
A pod affinity term, associated with the corresponding weight
Weight This property is required. float64
weight associated with matching the corresponding podAffinityTerm, in the range 1-100
podAffinityTerm This property is required. VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm
A pod affinity term, associated with the corresponding weight
weight This property is required. Double
weight associated with matching the corresponding podAffinityTerm, in the range 1-100
podAffinityTerm This property is required. VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm
A pod affinity term, associated with the corresponding weight
weight This property is required. number
weight associated with matching the corresponding podAffinityTerm, in the range 1-100
pod_affinity_term This property is required. VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm
A pod affinity term, associated with the corresponding weight
weight This property is required. float
weight associated with matching the corresponding podAffinityTerm, in the range 1-100
podAffinityTerm This property is required. Property Map
A pod affinity term, associated with the corresponding weight
weight This property is required. Number
weight associated with matching the corresponding podAffinityTerm, in the range 1-100

VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm
, VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermArgs

LabelSelectors List<VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector>
A label query over a set of resources, in this case pods.
Namespaces List<string>
namespaces specifies which namespaces the labelSelector applies to (matches against); null or empty list means 'this pod's namespace'
TopologyKey string
empty topology key is interpreted by the scheduler as 'all topologies'
LabelSelectors []VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector
A label query over a set of resources, in this case pods.
Namespaces []string
namespaces specifies which namespaces the labelSelector applies to (matches against); null or empty list means 'this pod's namespace'
TopologyKey string
empty topology key is interpreted by the scheduler as 'all topologies'
labelSelectors List<VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector>
A label query over a set of resources, in this case pods.
namespaces List<String>
namespaces specifies which namespaces the labelSelector applies to (matches against); null or empty list means 'this pod's namespace'
topologyKey String
empty topology key is interpreted by the scheduler as 'all topologies'
labelSelectors VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector[]
A label query over a set of resources, in this case pods.
namespaces string[]
namespaces specifies which namespaces the labelSelector applies to (matches against); null or empty list means 'this pod's namespace'
topologyKey string
empty topology key is interpreted by the scheduler as 'all topologies'
label_selectors Sequence[VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector]
A label query over a set of resources, in this case pods.
namespaces Sequence[str]
namespaces specifies which namespaces the labelSelector applies to (matches against); null or empty list means 'this pod's namespace'
topology_key str
empty topology key is interpreted by the scheduler as 'all topologies'
labelSelectors List<Property Map>
A label query over a set of resources, in this case pods.
namespaces List<String>
namespaces specifies which namespaces the labelSelector applies to (matches against); null or empty list means 'this pod's namespace'
topologyKey String
empty topology key is interpreted by the scheduler as 'all topologies'

VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector
, VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorArgs

MatchExpressions List<VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpression>
A list of label selector requirements. The requirements are ANDed.
MatchLabels Dictionary<string, string>
A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of match_expressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
MatchExpressions []VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpression
A list of label selector requirements. The requirements are ANDed.
MatchLabels map[string]string
A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of match_expressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
matchExpressions List<VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpression>
A list of label selector requirements. The requirements are ANDed.
matchLabels Map<String,String>
A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of match_expressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
matchExpressions VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpression[]
A list of label selector requirements. The requirements are ANDed.
matchLabels {[key: string]: string}
A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of match_expressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
match_expressions Sequence[VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpression]
A list of label selector requirements. The requirements are ANDed.
match_labels Mapping[str, str]
A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of match_expressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
matchExpressions List<Property Map>
A list of label selector requirements. The requirements are ANDed.
matchLabels Map<String>
A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of match_expressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.

VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpression
, VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressionArgs

Key string
The label key that the selector applies to.
Operator string
A key's relationship to a set of values. Valid operators ard In, NotIn, Exists and DoesNotExist.
Values List<string>
An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
Key string
The label key that the selector applies to.
Operator string
A key's relationship to a set of values. Valid operators ard In, NotIn, Exists and DoesNotExist.
Values []string
An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
key String
The label key that the selector applies to.
operator String
A key's relationship to a set of values. Valid operators ard In, NotIn, Exists and DoesNotExist.
values List<String>
An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
key string
The label key that the selector applies to.
operator string
A key's relationship to a set of values. Valid operators ard In, NotIn, Exists and DoesNotExist.
values string[]
An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
key str
The label key that the selector applies to.
operator str
A key's relationship to a set of values. Valid operators ard In, NotIn, Exists and DoesNotExist.
values Sequence[str]
An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
key String
The label key that the selector applies to.
operator String
A key's relationship to a set of values. Valid operators ard In, NotIn, Exists and DoesNotExist.
values List<String>
An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.

VirtualMachineAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution
, VirtualMachineAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionArgs

LabelSelectors List<VirtualMachineAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector>
A label query over a set of resources, in this case pods.
Namespaces List<string>
namespaces specifies which namespaces the labelSelector applies to (matches against); null or empty list means 'this pod's namespace'
TopologyKey string
empty topology key is interpreted by the scheduler as 'all topologies'
LabelSelectors []VirtualMachineAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector
A label query over a set of resources, in this case pods.
Namespaces []string
namespaces specifies which namespaces the labelSelector applies to (matches against); null or empty list means 'this pod's namespace'
TopologyKey string
empty topology key is interpreted by the scheduler as 'all topologies'
labelSelectors List<VirtualMachineAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector>
A label query over a set of resources, in this case pods.
namespaces List<String>
namespaces specifies which namespaces the labelSelector applies to (matches against); null or empty list means 'this pod's namespace'
topologyKey String
empty topology key is interpreted by the scheduler as 'all topologies'
labelSelectors VirtualMachineAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector[]
A label query over a set of resources, in this case pods.
namespaces string[]
namespaces specifies which namespaces the labelSelector applies to (matches against); null or empty list means 'this pod's namespace'
topologyKey string
empty topology key is interpreted by the scheduler as 'all topologies'
label_selectors Sequence[VirtualMachineAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector]
A label query over a set of resources, in this case pods.
namespaces Sequence[str]
namespaces specifies which namespaces the labelSelector applies to (matches against); null or empty list means 'this pod's namespace'
topology_key str
empty topology key is interpreted by the scheduler as 'all topologies'
labelSelectors List<Property Map>
A label query over a set of resources, in this case pods.
namespaces List<String>
namespaces specifies which namespaces the labelSelector applies to (matches against); null or empty list means 'this pod's namespace'
topologyKey String
empty topology key is interpreted by the scheduler as 'all topologies'

VirtualMachineAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector
, VirtualMachineAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorArgs

MatchExpressions List<VirtualMachineAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpression>
A list of label selector requirements. The requirements are ANDed.
MatchLabels Dictionary<string, string>
A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of match_expressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
MatchExpressions []VirtualMachineAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpression
A list of label selector requirements. The requirements are ANDed.
MatchLabels map[string]string
A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of match_expressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
matchExpressions List<VirtualMachineAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpression>
A list of label selector requirements. The requirements are ANDed.
matchLabels Map<String,String>
A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of match_expressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
matchExpressions VirtualMachineAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpression[]
A list of label selector requirements. The requirements are ANDed.
matchLabels {[key: string]: string}
A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of match_expressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
match_expressions Sequence[VirtualMachineAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpression]
A list of label selector requirements. The requirements are ANDed.
match_labels Mapping[str, str]
A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of match_expressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
matchExpressions List<Property Map>
A list of label selector requirements. The requirements are ANDed.
matchLabels Map<String>
A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of match_expressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.

VirtualMachineAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpression
, VirtualMachineAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressionArgs

Key string
The label key that the selector applies to.
Operator string
A key's relationship to a set of values. Valid operators ard In, NotIn, Exists and DoesNotExist.
Values List<string>
An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
Key string
The label key that the selector applies to.
Operator string
A key's relationship to a set of values. Valid operators ard In, NotIn, Exists and DoesNotExist.
Values []string
An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
key String
The label key that the selector applies to.
operator String
A key's relationship to a set of values. Valid operators ard In, NotIn, Exists and DoesNotExist.
values List<String>
An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
key string
The label key that the selector applies to.
operator string
A key's relationship to a set of values. Valid operators ard In, NotIn, Exists and DoesNotExist.
values string[]
An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
key str
The label key that the selector applies to.
operator str
A key's relationship to a set of values. Valid operators ard In, NotIn, Exists and DoesNotExist.
values Sequence[str]
An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
key String
The label key that the selector applies to.
operator String
A key's relationship to a set of values. Valid operators ard In, NotIn, Exists and DoesNotExist.
values List<String>
An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.

VirtualMachineCpu
, VirtualMachineCpuArgs

Cores double
Cores is the number of cores inside the vmi. Must be a value greater or equal 1
Sockets double
Sockets is the number of sockets inside the vmi. Must be a value greater or equal 1.
Threads double
Threads is the number of threads inside the vmi. Must be a value greater or equal 1.
Cores float64
Cores is the number of cores inside the vmi. Must be a value greater or equal 1
Sockets float64
Sockets is the number of sockets inside the vmi. Must be a value greater or equal 1.
Threads float64
Threads is the number of threads inside the vmi. Must be a value greater or equal 1.
cores Double
Cores is the number of cores inside the vmi. Must be a value greater or equal 1
sockets Double
Sockets is the number of sockets inside the vmi. Must be a value greater or equal 1.
threads Double
Threads is the number of threads inside the vmi. Must be a value greater or equal 1.
cores number
Cores is the number of cores inside the vmi. Must be a value greater or equal 1
sockets number
Sockets is the number of sockets inside the vmi. Must be a value greater or equal 1.
threads number
Threads is the number of threads inside the vmi. Must be a value greater or equal 1.
cores float
Cores is the number of cores inside the vmi. Must be a value greater or equal 1
sockets float
Sockets is the number of sockets inside the vmi. Must be a value greater or equal 1.
threads float
Threads is the number of threads inside the vmi. Must be a value greater or equal 1.
cores Number
Cores is the number of cores inside the vmi. Must be a value greater or equal 1
sockets Number
Sockets is the number of sockets inside the vmi. Must be a value greater or equal 1.
threads Number
Threads is the number of threads inside the vmi. Must be a value greater or equal 1.

VirtualMachineDataVolumeTemplate
, VirtualMachineDataVolumeTemplateArgs

Metadata This property is required. VirtualMachineDataVolumeTemplateMetadata
Standard DataVolume's metadata. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata
Spec This property is required. VirtualMachineDataVolumeTemplateSpec
DataVolumeSpec defines our specification for a DataVolume type
Metadata This property is required. VirtualMachineDataVolumeTemplateMetadata
Standard DataVolume's metadata. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata
Spec This property is required. VirtualMachineDataVolumeTemplateSpec
DataVolumeSpec defines our specification for a DataVolume type
metadata This property is required. VirtualMachineDataVolumeTemplateMetadata
Standard DataVolume's metadata. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata
spec This property is required. VirtualMachineDataVolumeTemplateSpec
DataVolumeSpec defines our specification for a DataVolume type
metadata This property is required. VirtualMachineDataVolumeTemplateMetadata
Standard DataVolume's metadata. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata
spec This property is required. VirtualMachineDataVolumeTemplateSpec
DataVolumeSpec defines our specification for a DataVolume type
metadata This property is required. VirtualMachineDataVolumeTemplateMetadata
Standard DataVolume's metadata. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata
spec This property is required. VirtualMachineDataVolumeTemplateSpec
DataVolumeSpec defines our specification for a DataVolume type
metadata This property is required. Property Map
Standard DataVolume's metadata. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata
spec This property is required. Property Map
DataVolumeSpec defines our specification for a DataVolume type

VirtualMachineDataVolumeTemplateMetadata
, VirtualMachineDataVolumeTemplateMetadataArgs

Annotations Dictionary<string, string>
An unstructured key value map stored with the DataVolume that may be used to store arbitrary metadata. More info: http://kubernetes.io/docs/user-guide/annotations
Generation double
A sequence number representing a specific generation of the desired state.
Labels Dictionary<string, string>
Map of string keys and values that can be used to organize and categorize (scope and select) the DataVolume. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels
Name string
Name of the DataVolume, must be unique. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names
Namespace string
Namespace defines the space within which name of the DataVolume must be unique.
ResourceVersion string
An opaque value that represents the internal version of this DataVolume that can be used by clients to determine when DataVolume has changed. Read more: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
SelfLink string
A URL representing this DataVolume.
Uid string
The unique in time and space value for this DataVolume. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
Annotations map[string]string
An unstructured key value map stored with the DataVolume that may be used to store arbitrary metadata. More info: http://kubernetes.io/docs/user-guide/annotations
Generation float64
A sequence number representing a specific generation of the desired state.
Labels map[string]string
Map of string keys and values that can be used to organize and categorize (scope and select) the DataVolume. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels
Name string
Name of the DataVolume, must be unique. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names
Namespace string
Namespace defines the space within which name of the DataVolume must be unique.
ResourceVersion string
An opaque value that represents the internal version of this DataVolume that can be used by clients to determine when DataVolume has changed. Read more: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
SelfLink string
A URL representing this DataVolume.
Uid string
The unique in time and space value for this DataVolume. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
annotations Map<String,String>
An unstructured key value map stored with the DataVolume that may be used to store arbitrary metadata. More info: http://kubernetes.io/docs/user-guide/annotations
generation Double
A sequence number representing a specific generation of the desired state.
labels Map<String,String>
Map of string keys and values that can be used to organize and categorize (scope and select) the DataVolume. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels
name String
Name of the DataVolume, must be unique. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names
namespace String
Namespace defines the space within which name of the DataVolume must be unique.
resourceVersion String
An opaque value that represents the internal version of this DataVolume that can be used by clients to determine when DataVolume has changed. Read more: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
selfLink String
A URL representing this DataVolume.
uid String
The unique in time and space value for this DataVolume. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
annotations {[key: string]: string}
An unstructured key value map stored with the DataVolume that may be used to store arbitrary metadata. More info: http://kubernetes.io/docs/user-guide/annotations
generation number
A sequence number representing a specific generation of the desired state.
labels {[key: string]: string}
Map of string keys and values that can be used to organize and categorize (scope and select) the DataVolume. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels
name string
Name of the DataVolume, must be unique. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names
namespace string
Namespace defines the space within which name of the DataVolume must be unique.
resourceVersion string
An opaque value that represents the internal version of this DataVolume that can be used by clients to determine when DataVolume has changed. Read more: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
selfLink string
A URL representing this DataVolume.
uid string
The unique in time and space value for this DataVolume. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
annotations Mapping[str, str]
An unstructured key value map stored with the DataVolume that may be used to store arbitrary metadata. More info: http://kubernetes.io/docs/user-guide/annotations
generation float
A sequence number representing a specific generation of the desired state.
labels Mapping[str, str]
Map of string keys and values that can be used to organize and categorize (scope and select) the DataVolume. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels
name str
Name of the DataVolume, must be unique. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names
namespace str
Namespace defines the space within which name of the DataVolume must be unique.
resource_version str
An opaque value that represents the internal version of this DataVolume that can be used by clients to determine when DataVolume has changed. Read more: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
self_link str
A URL representing this DataVolume.
uid str
The unique in time and space value for this DataVolume. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
annotations Map<String>
An unstructured key value map stored with the DataVolume that may be used to store arbitrary metadata. More info: http://kubernetes.io/docs/user-guide/annotations
generation Number
A sequence number representing a specific generation of the desired state.
labels Map<String>
Map of string keys and values that can be used to organize and categorize (scope and select) the DataVolume. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels
name String
Name of the DataVolume, must be unique. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names
namespace String
Namespace defines the space within which name of the DataVolume must be unique.
resourceVersion String
An opaque value that represents the internal version of this DataVolume that can be used by clients to determine when DataVolume has changed. Read more: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
selfLink String
A URL representing this DataVolume.
uid String
The unique in time and space value for this DataVolume. More info: http://kubernetes.io/docs/user-guide/identifiers#uids

VirtualMachineDataVolumeTemplateSpec
, VirtualMachineDataVolumeTemplateSpecArgs

Pvc This property is required. VirtualMachineDataVolumeTemplateSpecPvc
PVC is a pointer to the PVC Spec we want to use.
ContentType string
ContentType options: "kubevirt", "archive".
Source VirtualMachineDataVolumeTemplateSpecSource
Source is the src of the data for the requested DataVolume.
Pvc This property is required. VirtualMachineDataVolumeTemplateSpecPvc
PVC is a pointer to the PVC Spec we want to use.
ContentType string
ContentType options: "kubevirt", "archive".
Source VirtualMachineDataVolumeTemplateSpecSource
Source is the src of the data for the requested DataVolume.
pvc This property is required. VirtualMachineDataVolumeTemplateSpecPvc
PVC is a pointer to the PVC Spec we want to use.
contentType String
ContentType options: "kubevirt", "archive".
source VirtualMachineDataVolumeTemplateSpecSource
Source is the src of the data for the requested DataVolume.
pvc This property is required. VirtualMachineDataVolumeTemplateSpecPvc
PVC is a pointer to the PVC Spec we want to use.
contentType string
ContentType options: "kubevirt", "archive".
source VirtualMachineDataVolumeTemplateSpecSource
Source is the src of the data for the requested DataVolume.
pvc This property is required. VirtualMachineDataVolumeTemplateSpecPvc
PVC is a pointer to the PVC Spec we want to use.
content_type str
ContentType options: "kubevirt", "archive".
source VirtualMachineDataVolumeTemplateSpecSource
Source is the src of the data for the requested DataVolume.
pvc This property is required. Property Map
PVC is a pointer to the PVC Spec we want to use.
contentType String
ContentType options: "kubevirt", "archive".
source Property Map
Source is the src of the data for the requested DataVolume.

VirtualMachineDataVolumeTemplateSpecPvc
, VirtualMachineDataVolumeTemplateSpecPvcArgs

AccessModes This property is required. List<string>
A set of the desired access modes the volume should have. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#access-modes-1
Resources This property is required. VirtualMachineDataVolumeTemplateSpecPvcResources
A list of the minimum resources the volume should have. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#resources
Selector VirtualMachineDataVolumeTemplateSpecPvcSelector
A label query over volumes to consider for binding.
StorageClassName string
Name of the storage class requested by the claim
VolumeMode string
volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec.
VolumeName string
The binding reference to the PersistentVolume backing this claim.
AccessModes This property is required. []string
A set of the desired access modes the volume should have. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#access-modes-1
Resources This property is required. VirtualMachineDataVolumeTemplateSpecPvcResources
A list of the minimum resources the volume should have. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#resources
Selector VirtualMachineDataVolumeTemplateSpecPvcSelector
A label query over volumes to consider for binding.
StorageClassName string
Name of the storage class requested by the claim
VolumeMode string
volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec.
VolumeName string
The binding reference to the PersistentVolume backing this claim.
accessModes This property is required. List<String>
A set of the desired access modes the volume should have. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#access-modes-1
resources This property is required. VirtualMachineDataVolumeTemplateSpecPvcResources
A list of the minimum resources the volume should have. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#resources
selector VirtualMachineDataVolumeTemplateSpecPvcSelector
A label query over volumes to consider for binding.
storageClassName String
Name of the storage class requested by the claim
volumeMode String
volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec.
volumeName String
The binding reference to the PersistentVolume backing this claim.
accessModes This property is required. string[]
A set of the desired access modes the volume should have. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#access-modes-1
resources This property is required. VirtualMachineDataVolumeTemplateSpecPvcResources
A list of the minimum resources the volume should have. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#resources
selector VirtualMachineDataVolumeTemplateSpecPvcSelector
A label query over volumes to consider for binding.
storageClassName string
Name of the storage class requested by the claim
volumeMode string
volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec.
volumeName string
The binding reference to the PersistentVolume backing this claim.
access_modes This property is required. Sequence[str]
A set of the desired access modes the volume should have. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#access-modes-1
resources This property is required. VirtualMachineDataVolumeTemplateSpecPvcResources
A list of the minimum resources the volume should have. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#resources
selector VirtualMachineDataVolumeTemplateSpecPvcSelector
A label query over volumes to consider for binding.
storage_class_name str
Name of the storage class requested by the claim
volume_mode str
volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec.
volume_name str
The binding reference to the PersistentVolume backing this claim.
accessModes This property is required. List<String>
A set of the desired access modes the volume should have. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#access-modes-1
resources This property is required. Property Map
A list of the minimum resources the volume should have. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#resources
selector Property Map
A label query over volumes to consider for binding.
storageClassName String
Name of the storage class requested by the claim
volumeMode String
volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec.
volumeName String
The binding reference to the PersistentVolume backing this claim.

VirtualMachineDataVolumeTemplateSpecPvcResources
, VirtualMachineDataVolumeTemplateSpecPvcResourcesArgs

Limits Dictionary<string, string>
Map describing the maximum amount of compute resources allowed. More info: http://kubernetes.io/docs/user-guide/compute-resources/
Requests Dictionary<string, string>
Map describing the minimum amount of compute resources required. If this is omitted for a container, it defaults to limits if that is explicitly specified, otherwise to an implementation-defined value. More info: http://kubernetes.io/docs/user-guide/compute-resources/
Limits map[string]string
Map describing the maximum amount of compute resources allowed. More info: http://kubernetes.io/docs/user-guide/compute-resources/
Requests map[string]string
Map describing the minimum amount of compute resources required. If this is omitted for a container, it defaults to limits if that is explicitly specified, otherwise to an implementation-defined value. More info: http://kubernetes.io/docs/user-guide/compute-resources/
limits Map<String,String>
Map describing the maximum amount of compute resources allowed. More info: http://kubernetes.io/docs/user-guide/compute-resources/
requests Map<String,String>
Map describing the minimum amount of compute resources required. If this is omitted for a container, it defaults to limits if that is explicitly specified, otherwise to an implementation-defined value. More info: http://kubernetes.io/docs/user-guide/compute-resources/
limits {[key: string]: string}
Map describing the maximum amount of compute resources allowed. More info: http://kubernetes.io/docs/user-guide/compute-resources/
requests {[key: string]: string}
Map describing the minimum amount of compute resources required. If this is omitted for a container, it defaults to limits if that is explicitly specified, otherwise to an implementation-defined value. More info: http://kubernetes.io/docs/user-guide/compute-resources/
limits Mapping[str, str]
Map describing the maximum amount of compute resources allowed. More info: http://kubernetes.io/docs/user-guide/compute-resources/
requests Mapping[str, str]
Map describing the minimum amount of compute resources required. If this is omitted for a container, it defaults to limits if that is explicitly specified, otherwise to an implementation-defined value. More info: http://kubernetes.io/docs/user-guide/compute-resources/
limits Map<String>
Map describing the maximum amount of compute resources allowed. More info: http://kubernetes.io/docs/user-guide/compute-resources/
requests Map<String>
Map describing the minimum amount of compute resources required. If this is omitted for a container, it defaults to limits if that is explicitly specified, otherwise to an implementation-defined value. More info: http://kubernetes.io/docs/user-guide/compute-resources/

VirtualMachineDataVolumeTemplateSpecPvcSelector
, VirtualMachineDataVolumeTemplateSpecPvcSelectorArgs

MatchExpressions List<VirtualMachineDataVolumeTemplateSpecPvcSelectorMatchExpression>
A list of label selector requirements. The requirements are ANDed.
MatchLabels Dictionary<string, string>
A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of match_expressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
MatchExpressions []VirtualMachineDataVolumeTemplateSpecPvcSelectorMatchExpression
A list of label selector requirements. The requirements are ANDed.
MatchLabels map[string]string
A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of match_expressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
matchExpressions List<VirtualMachineDataVolumeTemplateSpecPvcSelectorMatchExpression>
A list of label selector requirements. The requirements are ANDed.
matchLabels Map<String,String>
A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of match_expressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
matchExpressions VirtualMachineDataVolumeTemplateSpecPvcSelectorMatchExpression[]
A list of label selector requirements. The requirements are ANDed.
matchLabels {[key: string]: string}
A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of match_expressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
match_expressions Sequence[VirtualMachineDataVolumeTemplateSpecPvcSelectorMatchExpression]
A list of label selector requirements. The requirements are ANDed.
match_labels Mapping[str, str]
A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of match_expressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
matchExpressions List<Property Map>
A list of label selector requirements. The requirements are ANDed.
matchLabels Map<String>
A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of match_expressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.

VirtualMachineDataVolumeTemplateSpecPvcSelectorMatchExpression
, VirtualMachineDataVolumeTemplateSpecPvcSelectorMatchExpressionArgs

Key string
The label key that the selector applies to.
Operator string
A key's relationship to a set of values. Valid operators ard In, NotIn, Exists and DoesNotExist.
Values List<string>
An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
Key string
The label key that the selector applies to.
Operator string
A key's relationship to a set of values. Valid operators ard In, NotIn, Exists and DoesNotExist.
Values []string
An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
key String
The label key that the selector applies to.
operator String
A key's relationship to a set of values. Valid operators ard In, NotIn, Exists and DoesNotExist.
values List<String>
An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
key string
The label key that the selector applies to.
operator string
A key's relationship to a set of values. Valid operators ard In, NotIn, Exists and DoesNotExist.
values string[]
An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
key str
The label key that the selector applies to.
operator str
A key's relationship to a set of values. Valid operators ard In, NotIn, Exists and DoesNotExist.
values Sequence[str]
An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
key String
The label key that the selector applies to.
operator String
A key's relationship to a set of values. Valid operators ard In, NotIn, Exists and DoesNotExist.
values List<String>
An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.

VirtualMachineDataVolumeTemplateSpecSource
, VirtualMachineDataVolumeTemplateSpecSourceArgs

Blank VirtualMachineDataVolumeTemplateSpecSourceBlank
DataVolumeSourceBlank provides the parameters to create a Data Volume from an empty source.
Http VirtualMachineDataVolumeTemplateSpecSourceHttp
DataVolumeSourceHTTP provides the parameters to create a Data Volume from an HTTP source.
Pvc VirtualMachineDataVolumeTemplateSpecSourcePvc
DataVolumeSourcePVC provides the parameters to create a Data Volume from an existing PVC.
Registry VirtualMachineDataVolumeTemplateSpecSourceRegistry
DataVolumeSourceRegistry provides the parameters to create a Data Volume from an existing PVC.
Blank VirtualMachineDataVolumeTemplateSpecSourceBlank
DataVolumeSourceBlank provides the parameters to create a Data Volume from an empty source.
Http VirtualMachineDataVolumeTemplateSpecSourceHttp
DataVolumeSourceHTTP provides the parameters to create a Data Volume from an HTTP source.
Pvc VirtualMachineDataVolumeTemplateSpecSourcePvc
DataVolumeSourcePVC provides the parameters to create a Data Volume from an existing PVC.
Registry VirtualMachineDataVolumeTemplateSpecSourceRegistry
DataVolumeSourceRegistry provides the parameters to create a Data Volume from an existing PVC.
blank VirtualMachineDataVolumeTemplateSpecSourceBlank
DataVolumeSourceBlank provides the parameters to create a Data Volume from an empty source.
http VirtualMachineDataVolumeTemplateSpecSourceHttp
DataVolumeSourceHTTP provides the parameters to create a Data Volume from an HTTP source.
pvc VirtualMachineDataVolumeTemplateSpecSourcePvc
DataVolumeSourcePVC provides the parameters to create a Data Volume from an existing PVC.
registry VirtualMachineDataVolumeTemplateSpecSourceRegistry
DataVolumeSourceRegistry provides the parameters to create a Data Volume from an existing PVC.
blank VirtualMachineDataVolumeTemplateSpecSourceBlank
DataVolumeSourceBlank provides the parameters to create a Data Volume from an empty source.
http VirtualMachineDataVolumeTemplateSpecSourceHttp
DataVolumeSourceHTTP provides the parameters to create a Data Volume from an HTTP source.
pvc VirtualMachineDataVolumeTemplateSpecSourcePvc
DataVolumeSourcePVC provides the parameters to create a Data Volume from an existing PVC.
registry VirtualMachineDataVolumeTemplateSpecSourceRegistry
DataVolumeSourceRegistry provides the parameters to create a Data Volume from an existing PVC.
blank VirtualMachineDataVolumeTemplateSpecSourceBlank
DataVolumeSourceBlank provides the parameters to create a Data Volume from an empty source.
http VirtualMachineDataVolumeTemplateSpecSourceHttp
DataVolumeSourceHTTP provides the parameters to create a Data Volume from an HTTP source.
pvc VirtualMachineDataVolumeTemplateSpecSourcePvc
DataVolumeSourcePVC provides the parameters to create a Data Volume from an existing PVC.
registry VirtualMachineDataVolumeTemplateSpecSourceRegistry
DataVolumeSourceRegistry provides the parameters to create a Data Volume from an existing PVC.
blank Property Map
DataVolumeSourceBlank provides the parameters to create a Data Volume from an empty source.
http Property Map
DataVolumeSourceHTTP provides the parameters to create a Data Volume from an HTTP source.
pvc Property Map
DataVolumeSourcePVC provides the parameters to create a Data Volume from an existing PVC.
registry Property Map
DataVolumeSourceRegistry provides the parameters to create a Data Volume from an existing PVC.

VirtualMachineDataVolumeTemplateSpecSourceHttp
, VirtualMachineDataVolumeTemplateSpecSourceHttpArgs

CertConfigMap string
Certconfigmap provides a reference to the Registry certs.
SecretRef string
Secret_ref provides the secret reference needed to access the HTTP source.
Url string
url is the URL of the http source.
CertConfigMap string
Certconfigmap provides a reference to the Registry certs.
SecretRef string
Secret_ref provides the secret reference needed to access the HTTP source.
Url string
url is the URL of the http source.
certConfigMap String
Certconfigmap provides a reference to the Registry certs.
secretRef String
Secret_ref provides the secret reference needed to access the HTTP source.
url String
url is the URL of the http source.
certConfigMap string
Certconfigmap provides a reference to the Registry certs.
secretRef string
Secret_ref provides the secret reference needed to access the HTTP source.
url string
url is the URL of the http source.
cert_config_map str
Certconfigmap provides a reference to the Registry certs.
secret_ref str
Secret_ref provides the secret reference needed to access the HTTP source.
url str
url is the URL of the http source.
certConfigMap String
Certconfigmap provides a reference to the Registry certs.
secretRef String
Secret_ref provides the secret reference needed to access the HTTP source.
url String
url is the URL of the http source.

VirtualMachineDataVolumeTemplateSpecSourcePvc
, VirtualMachineDataVolumeTemplateSpecSourcePvcArgs

Name string
The name of the PVC.
Namespace string
The namespace which the PVC located in.
Name string
The name of the PVC.
Namespace string
The namespace which the PVC located in.
name String
The name of the PVC.
namespace String
The namespace which the PVC located in.
name string
The name of the PVC.
namespace string
The namespace which the PVC located in.
name str
The name of the PVC.
namespace str
The namespace which the PVC located in.
name String
The name of the PVC.
namespace String
The namespace which the PVC located in.

VirtualMachineDataVolumeTemplateSpecSourceRegistry
, VirtualMachineDataVolumeTemplateSpecSourceRegistryArgs

ImageUrl string
The registry URL of the image to download.
ImageUrl string
The registry URL of the image to download.
imageUrl String
The registry URL of the image to download.
imageUrl string
The registry URL of the image to download.
image_url str
The registry URL of the image to download.
imageUrl String
The registry URL of the image to download.

VirtualMachineDisk
, VirtualMachineDiskArgs

DiskDevices This property is required. List<VirtualMachineDiskDiskDevice>
DiskDevice specifies as which device the disk should be added to the guest.
Name This property is required. string
Name is the device name
Serial string
Serial provides the ability to specify a serial number for the disk device.
DiskDevices This property is required. []VirtualMachineDiskDiskDevice
DiskDevice specifies as which device the disk should be added to the guest.
Name This property is required. string
Name is the device name
Serial string
Serial provides the ability to specify a serial number for the disk device.
diskDevices This property is required. List<VirtualMachineDiskDiskDevice>
DiskDevice specifies as which device the disk should be added to the guest.
name This property is required. String
Name is the device name
serial String
Serial provides the ability to specify a serial number for the disk device.
diskDevices This property is required. VirtualMachineDiskDiskDevice[]
DiskDevice specifies as which device the disk should be added to the guest.
name This property is required. string
Name is the device name
serial string
Serial provides the ability to specify a serial number for the disk device.
disk_devices This property is required. Sequence[VirtualMachineDiskDiskDevice]
DiskDevice specifies as which device the disk should be added to the guest.
name This property is required. str
Name is the device name
serial str
Serial provides the ability to specify a serial number for the disk device.
diskDevices This property is required. List<Property Map>
DiskDevice specifies as which device the disk should be added to the guest.
name This property is required. String
Name is the device name
serial String
Serial provides the ability to specify a serial number for the disk device.

VirtualMachineDiskDiskDevice
, VirtualMachineDiskDiskDeviceArgs

Disks List<VirtualMachineDiskDiskDeviceDisk>
Attach a volume as a disk to the vmi.
Disks []VirtualMachineDiskDiskDeviceDisk
Attach a volume as a disk to the vmi.
disks List<VirtualMachineDiskDiskDeviceDisk>
Attach a volume as a disk to the vmi.
disks VirtualMachineDiskDiskDeviceDisk[]
Attach a volume as a disk to the vmi.
disks Sequence[VirtualMachineDiskDiskDeviceDisk]
Attach a volume as a disk to the vmi.
disks List<Property Map>
Attach a volume as a disk to the vmi.

VirtualMachineDiskDiskDeviceDisk
, VirtualMachineDiskDiskDeviceDiskArgs

Bus This property is required. string
Bus indicates the type of disk device to emulate.
PciAddress string
If specified, the virtual disk will be placed on the guests pci address with the specifed PCI address. For example: 0000:81:01.10
ReadOnly bool
ReadOnly. Defaults to false.
Bus This property is required. string
Bus indicates the type of disk device to emulate.
PciAddress string
If specified, the virtual disk will be placed on the guests pci address with the specifed PCI address. For example: 0000:81:01.10
ReadOnly bool
ReadOnly. Defaults to false.
bus This property is required. String
Bus indicates the type of disk device to emulate.
pciAddress String
If specified, the virtual disk will be placed on the guests pci address with the specifed PCI address. For example: 0000:81:01.10
readOnly Boolean
ReadOnly. Defaults to false.
bus This property is required. string
Bus indicates the type of disk device to emulate.
pciAddress string
If specified, the virtual disk will be placed on the guests pci address with the specifed PCI address. For example: 0000:81:01.10
readOnly boolean
ReadOnly. Defaults to false.
bus This property is required. str
Bus indicates the type of disk device to emulate.
pci_address str
If specified, the virtual disk will be placed on the guests pci address with the specifed PCI address. For example: 0000:81:01.10
read_only bool
ReadOnly. Defaults to false.
bus This property is required. String
Bus indicates the type of disk device to emulate.
pciAddress String
If specified, the virtual disk will be placed on the guests pci address with the specifed PCI address. For example: 0000:81:01.10
readOnly Boolean
ReadOnly. Defaults to false.

VirtualMachineInterface
, VirtualMachineInterfaceArgs

InterfaceBindingMethod This property is required. string
Represents the Interface model, One of: e1000, e1000e, ne2k_pci, pcnet, rtl8139, virtio. Defaults to virtio.
Name This property is required. string
Logical name of the interface as well as a reference to the associated networks.
Model string
Represents the method which will be used to connect the interface to the guest.
InterfaceBindingMethod This property is required. string
Represents the Interface model, One of: e1000, e1000e, ne2k_pci, pcnet, rtl8139, virtio. Defaults to virtio.
Name This property is required. string
Logical name of the interface as well as a reference to the associated networks.
Model string
Represents the method which will be used to connect the interface to the guest.
interfaceBindingMethod This property is required. String
Represents the Interface model, One of: e1000, e1000e, ne2k_pci, pcnet, rtl8139, virtio. Defaults to virtio.
name This property is required. String
Logical name of the interface as well as a reference to the associated networks.
model String
Represents the method which will be used to connect the interface to the guest.
interfaceBindingMethod This property is required. string
Represents the Interface model, One of: e1000, e1000e, ne2k_pci, pcnet, rtl8139, virtio. Defaults to virtio.
name This property is required. string
Logical name of the interface as well as a reference to the associated networks.
model string
Represents the method which will be used to connect the interface to the guest.
interface_binding_method This property is required. str
Represents the Interface model, One of: e1000, e1000e, ne2k_pci, pcnet, rtl8139, virtio. Defaults to virtio.
name This property is required. str
Logical name of the interface as well as a reference to the associated networks.
model str
Represents the method which will be used to connect the interface to the guest.
interfaceBindingMethod This property is required. String
Represents the Interface model, One of: e1000, e1000e, ne2k_pci, pcnet, rtl8139, virtio. Defaults to virtio.
name This property is required. String
Logical name of the interface as well as a reference to the associated networks.
model String
Represents the method which will be used to connect the interface to the guest.

VirtualMachineMemory
, VirtualMachineMemoryArgs

Guest string
Guest is the amount of memory allocated to the vmi. This value must be less than or equal to the limit if specified.
Hugepages string
Hugepages attribute specifies the hugepage size, for x86_64 architecture valid values are 1Gi and 2Mi.
Guest string
Guest is the amount of memory allocated to the vmi. This value must be less than or equal to the limit if specified.
Hugepages string
Hugepages attribute specifies the hugepage size, for x86_64 architecture valid values are 1Gi and 2Mi.
guest String
Guest is the amount of memory allocated to the vmi. This value must be less than or equal to the limit if specified.
hugepages String
Hugepages attribute specifies the hugepage size, for x86_64 architecture valid values are 1Gi and 2Mi.
guest string
Guest is the amount of memory allocated to the vmi. This value must be less than or equal to the limit if specified.
hugepages string
Hugepages attribute specifies the hugepage size, for x86_64 architecture valid values are 1Gi and 2Mi.
guest str
Guest is the amount of memory allocated to the vmi. This value must be less than or equal to the limit if specified.
hugepages str
Hugepages attribute specifies the hugepage size, for x86_64 architecture valid values are 1Gi and 2Mi.
guest String
Guest is the amount of memory allocated to the vmi. This value must be less than or equal to the limit if specified.
hugepages String
Hugepages attribute specifies the hugepage size, for x86_64 architecture valid values are 1Gi and 2Mi.

VirtualMachineNetwork
, VirtualMachineNetworkArgs

Name This property is required. string
Network name.
NetworkSource VirtualMachineNetworkNetworkSource
NetworkSource represents the network type and the source interface that should be connected to the virtual machine.
Name This property is required. string
Network name.
NetworkSource VirtualMachineNetworkNetworkSource
NetworkSource represents the network type and the source interface that should be connected to the virtual machine.
name This property is required. String
Network name.
networkSource VirtualMachineNetworkNetworkSource
NetworkSource represents the network type and the source interface that should be connected to the virtual machine.
name This property is required. string
Network name.
networkSource VirtualMachineNetworkNetworkSource
NetworkSource represents the network type and the source interface that should be connected to the virtual machine.
name This property is required. str
Network name.
network_source VirtualMachineNetworkNetworkSource
NetworkSource represents the network type and the source interface that should be connected to the virtual machine.
name This property is required. String
Network name.
networkSource Property Map
NetworkSource represents the network type and the source interface that should be connected to the virtual machine.

VirtualMachineNetworkNetworkSource
, VirtualMachineNetworkNetworkSourceArgs

multus Property Map
Multus network.
pod Property Map
Pod network.

VirtualMachineNetworkNetworkSourceMultus
, VirtualMachineNetworkNetworkSourceMultusArgs

NetworkName This property is required. string
References to a NetworkAttachmentDefinition CRD object. Format: \n\n, \n\n/\n\n. If namespace is not specified, VMI namespace is assumed.
Default bool
Select the default network and add it to the multus-cni.io/default-network annotation.
NetworkName This property is required. string
References to a NetworkAttachmentDefinition CRD object. Format: \n\n, \n\n/\n\n. If namespace is not specified, VMI namespace is assumed.
Default bool
Select the default network and add it to the multus-cni.io/default-network annotation.
networkName This property is required. String
References to a NetworkAttachmentDefinition CRD object. Format: \n\n, \n\n/\n\n. If namespace is not specified, VMI namespace is assumed.
default_ Boolean
Select the default network and add it to the multus-cni.io/default-network annotation.
networkName This property is required. string
References to a NetworkAttachmentDefinition CRD object. Format: \n\n, \n\n/\n\n. If namespace is not specified, VMI namespace is assumed.
default boolean
Select the default network and add it to the multus-cni.io/default-network annotation.
network_name This property is required. str
References to a NetworkAttachmentDefinition CRD object. Format: \n\n, \n\n/\n\n. If namespace is not specified, VMI namespace is assumed.
default bool
Select the default network and add it to the multus-cni.io/default-network annotation.
networkName This property is required. String
References to a NetworkAttachmentDefinition CRD object. Format: \n\n, \n\n/\n\n. If namespace is not specified, VMI namespace is assumed.
default Boolean
Select the default network and add it to the multus-cni.io/default-network annotation.

VirtualMachineNetworkNetworkSourcePod
, VirtualMachineNetworkNetworkSourcePodArgs

VmNetworkCidr string
CIDR for vm network.
VmNetworkCidr string
CIDR for vm network.
vmNetworkCidr String
CIDR for vm network.
vmNetworkCidr string
CIDR for vm network.
vm_network_cidr str
CIDR for vm network.
vmNetworkCidr String
CIDR for vm network.

VirtualMachinePodDnsConfig
, VirtualMachinePodDnsConfigArgs

Nameservers List<string>
A list of DNS name server IP addresses. This will be appended to the base nameservers generated from DNSPolicy. Duplicated nameservers will be removed.
Options List<VirtualMachinePodDnsConfigOption>
A list of DNS resolver options. This will be merged with the base options generated from DNSPolicy. Duplicated entries will be removed. Resolution options given in Options will override those that appear in the base DNSPolicy.
Searches List<string>
A list of DNS search domains for host-name lookup. This will be appended to the base search paths generated from DNSPolicy. Duplicated search paths will be removed.
Nameservers []string
A list of DNS name server IP addresses. This will be appended to the base nameservers generated from DNSPolicy. Duplicated nameservers will be removed.
Options []VirtualMachinePodDnsConfigOption
A list of DNS resolver options. This will be merged with the base options generated from DNSPolicy. Duplicated entries will be removed. Resolution options given in Options will override those that appear in the base DNSPolicy.
Searches []string
A list of DNS search domains for host-name lookup. This will be appended to the base search paths generated from DNSPolicy. Duplicated search paths will be removed.
nameservers List<String>
A list of DNS name server IP addresses. This will be appended to the base nameservers generated from DNSPolicy. Duplicated nameservers will be removed.
options List<VirtualMachinePodDnsConfigOption>
A list of DNS resolver options. This will be merged with the base options generated from DNSPolicy. Duplicated entries will be removed. Resolution options given in Options will override those that appear in the base DNSPolicy.
searches List<String>
A list of DNS search domains for host-name lookup. This will be appended to the base search paths generated from DNSPolicy. Duplicated search paths will be removed.
nameservers string[]
A list of DNS name server IP addresses. This will be appended to the base nameservers generated from DNSPolicy. Duplicated nameservers will be removed.
options VirtualMachinePodDnsConfigOption[]
A list of DNS resolver options. This will be merged with the base options generated from DNSPolicy. Duplicated entries will be removed. Resolution options given in Options will override those that appear in the base DNSPolicy.
searches string[]
A list of DNS search domains for host-name lookup. This will be appended to the base search paths generated from DNSPolicy. Duplicated search paths will be removed.
nameservers Sequence[str]
A list of DNS name server IP addresses. This will be appended to the base nameservers generated from DNSPolicy. Duplicated nameservers will be removed.
options Sequence[VirtualMachinePodDnsConfigOption]
A list of DNS resolver options. This will be merged with the base options generated from DNSPolicy. Duplicated entries will be removed. Resolution options given in Options will override those that appear in the base DNSPolicy.
searches Sequence[str]
A list of DNS search domains for host-name lookup. This will be appended to the base search paths generated from DNSPolicy. Duplicated search paths will be removed.
nameservers List<String>
A list of DNS name server IP addresses. This will be appended to the base nameservers generated from DNSPolicy. Duplicated nameservers will be removed.
options List<Property Map>
A list of DNS resolver options. This will be merged with the base options generated from DNSPolicy. Duplicated entries will be removed. Resolution options given in Options will override those that appear in the base DNSPolicy.
searches List<String>
A list of DNS search domains for host-name lookup. This will be appended to the base search paths generated from DNSPolicy. Duplicated search paths will be removed.

VirtualMachinePodDnsConfigOption
, VirtualMachinePodDnsConfigOptionArgs

Name This property is required. string
Name of the option.
Value string
Value of the option. Optional: Defaults to empty.
Name This property is required. string
Name of the option.
Value string
Value of the option. Optional: Defaults to empty.
name This property is required. String
Name of the option.
value String
Value of the option. Optional: Defaults to empty.
name This property is required. string
Name of the option.
value string
Value of the option. Optional: Defaults to empty.
name This property is required. str
Name of the option.
value str
Value of the option. Optional: Defaults to empty.
name This property is required. String
Name of the option.
value String
Value of the option. Optional: Defaults to empty.

VirtualMachineResources
, VirtualMachineResourcesArgs

Limits Dictionary<string, string>
Requests is the maximum amount of compute resources allowed. Valid resource keys are "memory" and "cpu"
OverCommitGuestOverhead bool
Don't ask the scheduler to take the guest-management overhead into account. Instead put the overhead only into the container's memory limit. This can lead to crashes if all memory is in use on a node. Defaults to false.
Requests Dictionary<string, string>
Requests is a description of the initial vmi resources.
Limits map[string]string
Requests is the maximum amount of compute resources allowed. Valid resource keys are "memory" and "cpu"
OverCommitGuestOverhead bool
Don't ask the scheduler to take the guest-management overhead into account. Instead put the overhead only into the container's memory limit. This can lead to crashes if all memory is in use on a node. Defaults to false.
Requests map[string]string
Requests is a description of the initial vmi resources.
limits Map<String,String>
Requests is the maximum amount of compute resources allowed. Valid resource keys are "memory" and "cpu"
overCommitGuestOverhead Boolean
Don't ask the scheduler to take the guest-management overhead into account. Instead put the overhead only into the container's memory limit. This can lead to crashes if all memory is in use on a node. Defaults to false.
requests Map<String,String>
Requests is a description of the initial vmi resources.
limits {[key: string]: string}
Requests is the maximum amount of compute resources allowed. Valid resource keys are "memory" and "cpu"
overCommitGuestOverhead boolean
Don't ask the scheduler to take the guest-management overhead into account. Instead put the overhead only into the container's memory limit. This can lead to crashes if all memory is in use on a node. Defaults to false.
requests {[key: string]: string}
Requests is a description of the initial vmi resources.
limits Mapping[str, str]
Requests is the maximum amount of compute resources allowed. Valid resource keys are "memory" and "cpu"
over_commit_guest_overhead bool
Don't ask the scheduler to take the guest-management overhead into account. Instead put the overhead only into the container's memory limit. This can lead to crashes if all memory is in use on a node. Defaults to false.
requests Mapping[str, str]
Requests is a description of the initial vmi resources.
limits Map<String>
Requests is the maximum amount of compute resources allowed. Valid resource keys are "memory" and "cpu"
overCommitGuestOverhead Boolean
Don't ask the scheduler to take the guest-management overhead into account. Instead put the overhead only into the container's memory limit. This can lead to crashes if all memory is in use on a node. Defaults to false.
requests Map<String>
Requests is a description of the initial vmi resources.

VirtualMachineStatus
, VirtualMachineStatusArgs

Conditions This property is required. List<VirtualMachineStatusCondition>
Hold the state information of the VirtualMachine and its VirtualMachineInstance.
StateChangeRequests This property is required. List<VirtualMachineStatusStateChangeRequest>
StateChangeRequests indicates a list of actions that should be taken on a VMI.
Created bool
Created indicates if the virtual machine is created in the cluster.
Ready bool
Ready indicates if the virtual machine is running and ready.
Conditions This property is required. []VirtualMachineStatusCondition
Hold the state information of the VirtualMachine and its VirtualMachineInstance.
StateChangeRequests This property is required. []VirtualMachineStatusStateChangeRequest
StateChangeRequests indicates a list of actions that should be taken on a VMI.
Created bool
Created indicates if the virtual machine is created in the cluster.
Ready bool
Ready indicates if the virtual machine is running and ready.
conditions This property is required. List<VirtualMachineStatusCondition>
Hold the state information of the VirtualMachine and its VirtualMachineInstance.
stateChangeRequests This property is required. List<VirtualMachineStatusStateChangeRequest>
StateChangeRequests indicates a list of actions that should be taken on a VMI.
created Boolean
Created indicates if the virtual machine is created in the cluster.
ready Boolean
Ready indicates if the virtual machine is running and ready.
conditions This property is required. VirtualMachineStatusCondition[]
Hold the state information of the VirtualMachine and its VirtualMachineInstance.
stateChangeRequests This property is required. VirtualMachineStatusStateChangeRequest[]
StateChangeRequests indicates a list of actions that should be taken on a VMI.
created boolean
Created indicates if the virtual machine is created in the cluster.
ready boolean
Ready indicates if the virtual machine is running and ready.
conditions This property is required. Sequence[VirtualMachineStatusCondition]
Hold the state information of the VirtualMachine and its VirtualMachineInstance.
state_change_requests This property is required. Sequence[VirtualMachineStatusStateChangeRequest]
StateChangeRequests indicates a list of actions that should be taken on a VMI.
created bool
Created indicates if the virtual machine is created in the cluster.
ready bool
Ready indicates if the virtual machine is running and ready.
conditions This property is required. List<Property Map>
Hold the state information of the VirtualMachine and its VirtualMachineInstance.
stateChangeRequests This property is required. List<Property Map>
StateChangeRequests indicates a list of actions that should be taken on a VMI.
created Boolean
Created indicates if the virtual machine is created in the cluster.
ready Boolean
Ready indicates if the virtual machine is running and ready.

VirtualMachineStatusCondition
, VirtualMachineStatusConditionArgs

Message string
Condition message.
Reason string
Condition reason.
Status string
ConditionStatus represents the status of this VM condition, if the VM currently in the condition.
Type string
VirtualMachineConditionType represent the type of the VM as concluded from its VMi status.
Message string
Condition message.
Reason string
Condition reason.
Status string
ConditionStatus represents the status of this VM condition, if the VM currently in the condition.
Type string
VirtualMachineConditionType represent the type of the VM as concluded from its VMi status.
message String
Condition message.
reason String
Condition reason.
status String
ConditionStatus represents the status of this VM condition, if the VM currently in the condition.
type String
VirtualMachineConditionType represent the type of the VM as concluded from its VMi status.
message string
Condition message.
reason string
Condition reason.
status string
ConditionStatus represents the status of this VM condition, if the VM currently in the condition.
type string
VirtualMachineConditionType represent the type of the VM as concluded from its VMi status.
message str
Condition message.
reason str
Condition reason.
status str
ConditionStatus represents the status of this VM condition, if the VM currently in the condition.
type str
VirtualMachineConditionType represent the type of the VM as concluded from its VMi status.
message String
Condition message.
reason String
Condition reason.
status String
ConditionStatus represents the status of this VM condition, if the VM currently in the condition.
type String
VirtualMachineConditionType represent the type of the VM as concluded from its VMi status.

VirtualMachineStatusStateChangeRequest
, VirtualMachineStatusStateChangeRequestArgs

Action string
Indicates the type of action that is requested. e.g. Start or Stop.
Data Dictionary<string, string>
Provides additional data in order to perform the Action.
Uid string
Indicates the UUID of an existing Virtual Machine Instance that this change request applies to -- if applicable.
Action string
Indicates the type of action that is requested. e.g. Start or Stop.
Data map[string]string
Provides additional data in order to perform the Action.
Uid string
Indicates the UUID of an existing Virtual Machine Instance that this change request applies to -- if applicable.
action String
Indicates the type of action that is requested. e.g. Start or Stop.
data Map<String,String>
Provides additional data in order to perform the Action.
uid String
Indicates the UUID of an existing Virtual Machine Instance that this change request applies to -- if applicable.
action string
Indicates the type of action that is requested. e.g. Start or Stop.
data {[key: string]: string}
Provides additional data in order to perform the Action.
uid string
Indicates the UUID of an existing Virtual Machine Instance that this change request applies to -- if applicable.
action str
Indicates the type of action that is requested. e.g. Start or Stop.
data Mapping[str, str]
Provides additional data in order to perform the Action.
uid str
Indicates the UUID of an existing Virtual Machine Instance that this change request applies to -- if applicable.
action String
Indicates the type of action that is requested. e.g. Start or Stop.
data Map<String>
Provides additional data in order to perform the Action.
uid String
Indicates the UUID of an existing Virtual Machine Instance that this change request applies to -- if applicable.

VirtualMachineTimeouts
, VirtualMachineTimeoutsArgs

Create string
Delete string
Create string
Delete string
create String
delete String
create string
delete string
create str
delete str
create String
delete String

VirtualMachineToleration
, VirtualMachineTolerationArgs

Effect string
Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
Key string
Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.
Operator string
Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.
TolerationSeconds string
TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.
Value string
Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.
Effect string
Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
Key string
Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.
Operator string
Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.
TolerationSeconds string
TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.
Value string
Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.
effect String
Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
key String
Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.
operator String
Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.
tolerationSeconds String
TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.
value String
Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.
effect string
Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
key string
Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.
operator string
Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.
tolerationSeconds string
TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.
value string
Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.
effect str
Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
key str
Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.
operator str
Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.
toleration_seconds str
TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.
value str
Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.
effect String
Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
key String
Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.
operator String
Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.
tolerationSeconds String
TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.
value String
Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.

VirtualMachineVolume
, VirtualMachineVolumeArgs

Name This property is required. string
Volume's name.
VolumeSource This property is required. VirtualMachineVolumeVolumeSource
VolumeSource represents the location and type of the mounted volume. Defaults to Disk, if no type is specified.
Name This property is required. string
Volume's name.
VolumeSource This property is required. VirtualMachineVolumeVolumeSource
VolumeSource represents the location and type of the mounted volume. Defaults to Disk, if no type is specified.
name This property is required. String
Volume's name.
volumeSource This property is required. VirtualMachineVolumeVolumeSource
VolumeSource represents the location and type of the mounted volume. Defaults to Disk, if no type is specified.
name This property is required. string
Volume's name.
volumeSource This property is required. VirtualMachineVolumeVolumeSource
VolumeSource represents the location and type of the mounted volume. Defaults to Disk, if no type is specified.
name This property is required. str
Volume's name.
volume_source This property is required. VirtualMachineVolumeVolumeSource
VolumeSource represents the location and type of the mounted volume. Defaults to Disk, if no type is specified.
name This property is required. String
Volume's name.
volumeSource This property is required. Property Map
VolumeSource represents the location and type of the mounted volume. Defaults to Disk, if no type is specified.

VirtualMachineVolumeVolumeSource
, VirtualMachineVolumeVolumeSourceArgs

CloudInitConfigDrive VirtualMachineVolumeVolumeSourceCloudInitConfigDrive
CloudInitConfigDrive represents a cloud-init Config Drive user-data source.
CloudInitNoClouds List<VirtualMachineVolumeVolumeSourceCloudInitNoCloud>
Used to specify a cloud-init noCloud image. The image is expected to contain a disk image in a supported format. The disk image is extracted from the cloud-init noCloudimage and used as the disk for the VM
ConfigMap VirtualMachineVolumeVolumeSourceConfigMap
ConfigMapVolumeSource adapts a ConfigMap into a volume.
ContainerDisks List<VirtualMachineVolumeVolumeSourceContainerDisk>
A container disk is a disk that is backed by a container image. The container image is expected to contain a disk image in a supported format. The disk image is extracted from the container image and used as the disk for the VM.
DataVolume VirtualMachineVolumeVolumeSourceDataVolume
DataVolume represents the dynamic creation a PVC for this volume as well as the process of populating that PVC with a disk image.
EmptyDisk VirtualMachineVolumeVolumeSourceEmptyDisk
EmptyDisk represents a temporary disk which shares the VM's lifecycle.
Ephemeral VirtualMachineVolumeVolumeSourceEphemeral
EphemeralVolumeSource represents a volume that is populated with the contents of a pod. Ephemeral volumes do not support ownership management or SELinux relabeling.
HostDisk VirtualMachineVolumeVolumeSourceHostDisk
HostDisk represents a disk created on the host.
PersistentVolumeClaim VirtualMachineVolumeVolumeSourcePersistentVolumeClaim
PersistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace.
ServiceAccount VirtualMachineVolumeVolumeSourceServiceAccount
ServiceAccountVolumeSource represents a reference to a service account.
CloudInitConfigDrive VirtualMachineVolumeVolumeSourceCloudInitConfigDrive
CloudInitConfigDrive represents a cloud-init Config Drive user-data source.
CloudInitNoClouds []VirtualMachineVolumeVolumeSourceCloudInitNoCloud
Used to specify a cloud-init noCloud image. The image is expected to contain a disk image in a supported format. The disk image is extracted from the cloud-init noCloudimage and used as the disk for the VM
ConfigMap VirtualMachineVolumeVolumeSourceConfigMap
ConfigMapVolumeSource adapts a ConfigMap into a volume.
ContainerDisks []VirtualMachineVolumeVolumeSourceContainerDisk
A container disk is a disk that is backed by a container image. The container image is expected to contain a disk image in a supported format. The disk image is extracted from the container image and used as the disk for the VM.
DataVolume VirtualMachineVolumeVolumeSourceDataVolume
DataVolume represents the dynamic creation a PVC for this volume as well as the process of populating that PVC with a disk image.
EmptyDisk VirtualMachineVolumeVolumeSourceEmptyDisk
EmptyDisk represents a temporary disk which shares the VM's lifecycle.
Ephemeral VirtualMachineVolumeVolumeSourceEphemeral
EphemeralVolumeSource represents a volume that is populated with the contents of a pod. Ephemeral volumes do not support ownership management or SELinux relabeling.
HostDisk VirtualMachineVolumeVolumeSourceHostDisk
HostDisk represents a disk created on the host.
PersistentVolumeClaim VirtualMachineVolumeVolumeSourcePersistentVolumeClaim
PersistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace.
ServiceAccount VirtualMachineVolumeVolumeSourceServiceAccount
ServiceAccountVolumeSource represents a reference to a service account.
cloudInitConfigDrive VirtualMachineVolumeVolumeSourceCloudInitConfigDrive
CloudInitConfigDrive represents a cloud-init Config Drive user-data source.
cloudInitNoClouds List<VirtualMachineVolumeVolumeSourceCloudInitNoCloud>
Used to specify a cloud-init noCloud image. The image is expected to contain a disk image in a supported format. The disk image is extracted from the cloud-init noCloudimage and used as the disk for the VM
configMap VirtualMachineVolumeVolumeSourceConfigMap
ConfigMapVolumeSource adapts a ConfigMap into a volume.
containerDisks List<VirtualMachineVolumeVolumeSourceContainerDisk>
A container disk is a disk that is backed by a container image. The container image is expected to contain a disk image in a supported format. The disk image is extracted from the container image and used as the disk for the VM.
dataVolume VirtualMachineVolumeVolumeSourceDataVolume
DataVolume represents the dynamic creation a PVC for this volume as well as the process of populating that PVC with a disk image.
emptyDisk VirtualMachineVolumeVolumeSourceEmptyDisk
EmptyDisk represents a temporary disk which shares the VM's lifecycle.
ephemeral VirtualMachineVolumeVolumeSourceEphemeral
EphemeralVolumeSource represents a volume that is populated with the contents of a pod. Ephemeral volumes do not support ownership management or SELinux relabeling.
hostDisk VirtualMachineVolumeVolumeSourceHostDisk
HostDisk represents a disk created on the host.
persistentVolumeClaim VirtualMachineVolumeVolumeSourcePersistentVolumeClaim
PersistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace.
serviceAccount VirtualMachineVolumeVolumeSourceServiceAccount
ServiceAccountVolumeSource represents a reference to a service account.
cloudInitConfigDrive VirtualMachineVolumeVolumeSourceCloudInitConfigDrive
CloudInitConfigDrive represents a cloud-init Config Drive user-data source.
cloudInitNoClouds VirtualMachineVolumeVolumeSourceCloudInitNoCloud[]
Used to specify a cloud-init noCloud image. The image is expected to contain a disk image in a supported format. The disk image is extracted from the cloud-init noCloudimage and used as the disk for the VM
configMap VirtualMachineVolumeVolumeSourceConfigMap
ConfigMapVolumeSource adapts a ConfigMap into a volume.
containerDisks VirtualMachineVolumeVolumeSourceContainerDisk[]
A container disk is a disk that is backed by a container image. The container image is expected to contain a disk image in a supported format. The disk image is extracted from the container image and used as the disk for the VM.
dataVolume VirtualMachineVolumeVolumeSourceDataVolume
DataVolume represents the dynamic creation a PVC for this volume as well as the process of populating that PVC with a disk image.
emptyDisk VirtualMachineVolumeVolumeSourceEmptyDisk
EmptyDisk represents a temporary disk which shares the VM's lifecycle.
ephemeral VirtualMachineVolumeVolumeSourceEphemeral
EphemeralVolumeSource represents a volume that is populated with the contents of a pod. Ephemeral volumes do not support ownership management or SELinux relabeling.
hostDisk VirtualMachineVolumeVolumeSourceHostDisk
HostDisk represents a disk created on the host.
persistentVolumeClaim VirtualMachineVolumeVolumeSourcePersistentVolumeClaim
PersistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace.
serviceAccount VirtualMachineVolumeVolumeSourceServiceAccount
ServiceAccountVolumeSource represents a reference to a service account.
cloud_init_config_drive VirtualMachineVolumeVolumeSourceCloudInitConfigDrive
CloudInitConfigDrive represents a cloud-init Config Drive user-data source.
cloud_init_no_clouds Sequence[VirtualMachineVolumeVolumeSourceCloudInitNoCloud]
Used to specify a cloud-init noCloud image. The image is expected to contain a disk image in a supported format. The disk image is extracted from the cloud-init noCloudimage and used as the disk for the VM
config_map VirtualMachineVolumeVolumeSourceConfigMap
ConfigMapVolumeSource adapts a ConfigMap into a volume.
container_disks Sequence[VirtualMachineVolumeVolumeSourceContainerDisk]
A container disk is a disk that is backed by a container image. The container image is expected to contain a disk image in a supported format. The disk image is extracted from the container image and used as the disk for the VM.
data_volume VirtualMachineVolumeVolumeSourceDataVolume
DataVolume represents the dynamic creation a PVC for this volume as well as the process of populating that PVC with a disk image.
empty_disk VirtualMachineVolumeVolumeSourceEmptyDisk
EmptyDisk represents a temporary disk which shares the VM's lifecycle.
ephemeral VirtualMachineVolumeVolumeSourceEphemeral
EphemeralVolumeSource represents a volume that is populated with the contents of a pod. Ephemeral volumes do not support ownership management or SELinux relabeling.
host_disk VirtualMachineVolumeVolumeSourceHostDisk
HostDisk represents a disk created on the host.
persistent_volume_claim VirtualMachineVolumeVolumeSourcePersistentVolumeClaim
PersistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace.
service_account VirtualMachineVolumeVolumeSourceServiceAccount
ServiceAccountVolumeSource represents a reference to a service account.
cloudInitConfigDrive Property Map
CloudInitConfigDrive represents a cloud-init Config Drive user-data source.
cloudInitNoClouds List<Property Map>
Used to specify a cloud-init noCloud image. The image is expected to contain a disk image in a supported format. The disk image is extracted from the cloud-init noCloudimage and used as the disk for the VM
configMap Property Map
ConfigMapVolumeSource adapts a ConfigMap into a volume.
containerDisks List<Property Map>
A container disk is a disk that is backed by a container image. The container image is expected to contain a disk image in a supported format. The disk image is extracted from the container image and used as the disk for the VM.
dataVolume Property Map
DataVolume represents the dynamic creation a PVC for this volume as well as the process of populating that PVC with a disk image.
emptyDisk Property Map
EmptyDisk represents a temporary disk which shares the VM's lifecycle.
ephemeral Property Map
EphemeralVolumeSource represents a volume that is populated with the contents of a pod. Ephemeral volumes do not support ownership management or SELinux relabeling.
hostDisk Property Map
HostDisk represents a disk created on the host.
persistentVolumeClaim Property Map
PersistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace.
serviceAccount Property Map
ServiceAccountVolumeSource represents a reference to a service account.

VirtualMachineVolumeVolumeSourceCloudInitConfigDrive
, VirtualMachineVolumeVolumeSourceCloudInitConfigDriveArgs

NetworkData string
NetworkData contains config drive inline cloud-init networkdata.
NetworkDataBase64 string
NetworkDataBase64 contains config drive cloud-init networkdata as a base64 encoded string.
NetworkDataSecretRef VirtualMachineVolumeVolumeSourceCloudInitConfigDriveNetworkDataSecretRef
NetworkDataSecretRef references a k8s secret that contains config drive networkdata.
UserData string
UserData contains config drive inline cloud-init userdata.
UserDataBase64 string
UserDataBase64 contains config drive cloud-init userdata as a base64 encoded string.
UserDataSecretRef VirtualMachineVolumeVolumeSourceCloudInitConfigDriveUserDataSecretRef
UserDataSecretRef references a k8s secret that contains config drive userdata.
NetworkData string
NetworkData contains config drive inline cloud-init networkdata.
NetworkDataBase64 string
NetworkDataBase64 contains config drive cloud-init networkdata as a base64 encoded string.
NetworkDataSecretRef VirtualMachineVolumeVolumeSourceCloudInitConfigDriveNetworkDataSecretRef
NetworkDataSecretRef references a k8s secret that contains config drive networkdata.
UserData string
UserData contains config drive inline cloud-init userdata.
UserDataBase64 string
UserDataBase64 contains config drive cloud-init userdata as a base64 encoded string.
UserDataSecretRef VirtualMachineVolumeVolumeSourceCloudInitConfigDriveUserDataSecretRef
UserDataSecretRef references a k8s secret that contains config drive userdata.
networkData String
NetworkData contains config drive inline cloud-init networkdata.
networkDataBase64 String
NetworkDataBase64 contains config drive cloud-init networkdata as a base64 encoded string.
networkDataSecretRef VirtualMachineVolumeVolumeSourceCloudInitConfigDriveNetworkDataSecretRef
NetworkDataSecretRef references a k8s secret that contains config drive networkdata.
userData String
UserData contains config drive inline cloud-init userdata.
userDataBase64 String
UserDataBase64 contains config drive cloud-init userdata as a base64 encoded string.
userDataSecretRef VirtualMachineVolumeVolumeSourceCloudInitConfigDriveUserDataSecretRef
UserDataSecretRef references a k8s secret that contains config drive userdata.
networkData string
NetworkData contains config drive inline cloud-init networkdata.
networkDataBase64 string
NetworkDataBase64 contains config drive cloud-init networkdata as a base64 encoded string.
networkDataSecretRef VirtualMachineVolumeVolumeSourceCloudInitConfigDriveNetworkDataSecretRef
NetworkDataSecretRef references a k8s secret that contains config drive networkdata.
userData string
UserData contains config drive inline cloud-init userdata.
userDataBase64 string
UserDataBase64 contains config drive cloud-init userdata as a base64 encoded string.
userDataSecretRef VirtualMachineVolumeVolumeSourceCloudInitConfigDriveUserDataSecretRef
UserDataSecretRef references a k8s secret that contains config drive userdata.
network_data str
NetworkData contains config drive inline cloud-init networkdata.
network_data_base64 str
NetworkDataBase64 contains config drive cloud-init networkdata as a base64 encoded string.
network_data_secret_ref VirtualMachineVolumeVolumeSourceCloudInitConfigDriveNetworkDataSecretRef
NetworkDataSecretRef references a k8s secret that contains config drive networkdata.
user_data str
UserData contains config drive inline cloud-init userdata.
user_data_base64 str
UserDataBase64 contains config drive cloud-init userdata as a base64 encoded string.
user_data_secret_ref VirtualMachineVolumeVolumeSourceCloudInitConfigDriveUserDataSecretRef
UserDataSecretRef references a k8s secret that contains config drive userdata.
networkData String
NetworkData contains config drive inline cloud-init networkdata.
networkDataBase64 String
NetworkDataBase64 contains config drive cloud-init networkdata as a base64 encoded string.
networkDataSecretRef Property Map
NetworkDataSecretRef references a k8s secret that contains config drive networkdata.
userData String
UserData contains config drive inline cloud-init userdata.
userDataBase64 String
UserDataBase64 contains config drive cloud-init userdata as a base64 encoded string.
userDataSecretRef Property Map
UserDataSecretRef references a k8s secret that contains config drive userdata.

VirtualMachineVolumeVolumeSourceCloudInitConfigDriveNetworkDataSecretRef
, VirtualMachineVolumeVolumeSourceCloudInitConfigDriveNetworkDataSecretRefArgs

Name This property is required. string
Name of the referent.
Name This property is required. string
Name of the referent.
name This property is required. String
Name of the referent.
name This property is required. string
Name of the referent.
name This property is required. str
Name of the referent.
name This property is required. String
Name of the referent.

VirtualMachineVolumeVolumeSourceCloudInitConfigDriveUserDataSecretRef
, VirtualMachineVolumeVolumeSourceCloudInitConfigDriveUserDataSecretRefArgs

Name This property is required. string
Name of the referent.
Name This property is required. string
Name of the referent.
name This property is required. String
Name of the referent.
name This property is required. string
Name of the referent.
name This property is required. str
Name of the referent.
name This property is required. String
Name of the referent.

VirtualMachineVolumeVolumeSourceCloudInitNoCloud
, VirtualMachineVolumeVolumeSourceCloudInitNoCloudArgs

UserData This property is required. string
The user data to use for the cloud-init no cloud disk. This can be a local file path, a remote URL, or a registry URL.
UserData This property is required. string
The user data to use for the cloud-init no cloud disk. This can be a local file path, a remote URL, or a registry URL.
userData This property is required. String
The user data to use for the cloud-init no cloud disk. This can be a local file path, a remote URL, or a registry URL.
userData This property is required. string
The user data to use for the cloud-init no cloud disk. This can be a local file path, a remote URL, or a registry URL.
user_data This property is required. str
The user data to use for the cloud-init no cloud disk. This can be a local file path, a remote URL, or a registry URL.
userData This property is required. String
The user data to use for the cloud-init no cloud disk. This can be a local file path, a remote URL, or a registry URL.

VirtualMachineVolumeVolumeSourceConfigMap
, VirtualMachineVolumeVolumeSourceConfigMapArgs

DefaultMode double
Optional: mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
Items List<VirtualMachineVolumeVolumeSourceConfigMapItem>
If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.
DefaultMode float64
Optional: mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
Items []VirtualMachineVolumeVolumeSourceConfigMapItem
If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.
defaultMode Double
Optional: mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
items List<VirtualMachineVolumeVolumeSourceConfigMapItem>
If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.
defaultMode number
Optional: mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
items VirtualMachineVolumeVolumeSourceConfigMapItem[]
If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.
default_mode float
Optional: mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
items Sequence[VirtualMachineVolumeVolumeSourceConfigMapItem]
If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.
defaultMode Number
Optional: mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
items List<Property Map>
If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.

VirtualMachineVolumeVolumeSourceConfigMapItem
, VirtualMachineVolumeVolumeSourceConfigMapItemArgs

Key string
Key string
key String
key string
key str
key String

VirtualMachineVolumeVolumeSourceContainerDisk
, VirtualMachineVolumeVolumeSourceContainerDiskArgs

ImageUrl This property is required. string
The URL of the container image to use as the disk. This can be a local file path, a remote URL, or a registry URL.
ImageUrl This property is required. string
The URL of the container image to use as the disk. This can be a local file path, a remote URL, or a registry URL.
imageUrl This property is required. String
The URL of the container image to use as the disk. This can be a local file path, a remote URL, or a registry URL.
imageUrl This property is required. string
The URL of the container image to use as the disk. This can be a local file path, a remote URL, or a registry URL.
image_url This property is required. str
The URL of the container image to use as the disk. This can be a local file path, a remote URL, or a registry URL.
imageUrl This property is required. String
The URL of the container image to use as the disk. This can be a local file path, a remote URL, or a registry URL.

VirtualMachineVolumeVolumeSourceDataVolume
, VirtualMachineVolumeVolumeSourceDataVolumeArgs

Name This property is required. string
Name represents the name of the DataVolume in the same namespace.
Name This property is required. string
Name represents the name of the DataVolume in the same namespace.
name This property is required. String
Name represents the name of the DataVolume in the same namespace.
name This property is required. string
Name represents the name of the DataVolume in the same namespace.
name This property is required. str
Name represents the name of the DataVolume in the same namespace.
name This property is required. String
Name represents the name of the DataVolume in the same namespace.

VirtualMachineVolumeVolumeSourceEmptyDisk
, VirtualMachineVolumeVolumeSourceEmptyDiskArgs

Capacity This property is required. string
Capacity of the sparse disk.
Capacity This property is required. string
Capacity of the sparse disk.
capacity This property is required. String
Capacity of the sparse disk.
capacity This property is required. string
Capacity of the sparse disk.
capacity This property is required. str
Capacity of the sparse disk.
capacity This property is required. String
Capacity of the sparse disk.

VirtualMachineVolumeVolumeSourceEphemeral
, VirtualMachineVolumeVolumeSourceEphemeralArgs

PersistentVolumeClaim VirtualMachineVolumeVolumeSourceEphemeralPersistentVolumeClaim
PersistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace.
PersistentVolumeClaim VirtualMachineVolumeVolumeSourceEphemeralPersistentVolumeClaim
PersistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace.
persistentVolumeClaim VirtualMachineVolumeVolumeSourceEphemeralPersistentVolumeClaim
PersistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace.
persistentVolumeClaim VirtualMachineVolumeVolumeSourceEphemeralPersistentVolumeClaim
PersistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace.
persistent_volume_claim VirtualMachineVolumeVolumeSourceEphemeralPersistentVolumeClaim
PersistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace.
persistentVolumeClaim Property Map
PersistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace.

VirtualMachineVolumeVolumeSourceEphemeralPersistentVolumeClaim
, VirtualMachineVolumeVolumeSourceEphemeralPersistentVolumeClaimArgs

ClaimName This property is required. string
ClaimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
ReadOnly bool
Will force the ReadOnly setting in VolumeMounts. Default false.
ClaimName This property is required. string
ClaimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
ReadOnly bool
Will force the ReadOnly setting in VolumeMounts. Default false.
claimName This property is required. String
ClaimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
readOnly Boolean
Will force the ReadOnly setting in VolumeMounts. Default false.
claimName This property is required. string
ClaimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
readOnly boolean
Will force the ReadOnly setting in VolumeMounts. Default false.
claim_name This property is required. str
ClaimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
read_only bool
Will force the ReadOnly setting in VolumeMounts. Default false.
claimName This property is required. String
ClaimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
readOnly Boolean
Will force the ReadOnly setting in VolumeMounts. Default false.

VirtualMachineVolumeVolumeSourceHostDisk
, VirtualMachineVolumeVolumeSourceHostDiskArgs

Path This property is required. string
Path of the disk.
Type This property is required. string
Type of the disk, supported values are disk, directory, socket, char, block.
Path This property is required. string
Path of the disk.
Type This property is required. string
Type of the disk, supported values are disk, directory, socket, char, block.
path This property is required. String
Path of the disk.
type This property is required. String
Type of the disk, supported values are disk, directory, socket, char, block.
path This property is required. string
Path of the disk.
type This property is required. string
Type of the disk, supported values are disk, directory, socket, char, block.
path This property is required. str
Path of the disk.
type This property is required. str
Type of the disk, supported values are disk, directory, socket, char, block.
path This property is required. String
Path of the disk.
type This property is required. String
Type of the disk, supported values are disk, directory, socket, char, block.

VirtualMachineVolumeVolumeSourcePersistentVolumeClaim
, VirtualMachineVolumeVolumeSourcePersistentVolumeClaimArgs

ClaimName This property is required. string
ClaimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
ReadOnly bool
Will force the ReadOnly setting in VolumeMounts. Default false.
ClaimName This property is required. string
ClaimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
ReadOnly bool
Will force the ReadOnly setting in VolumeMounts. Default false.
claimName This property is required. String
ClaimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
readOnly Boolean
Will force the ReadOnly setting in VolumeMounts. Default false.
claimName This property is required. string
ClaimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
readOnly boolean
Will force the ReadOnly setting in VolumeMounts. Default false.
claim_name This property is required. str
ClaimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
read_only bool
Will force the ReadOnly setting in VolumeMounts. Default false.
claimName This property is required. String
ClaimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
readOnly Boolean
Will force the ReadOnly setting in VolumeMounts. Default false.

VirtualMachineVolumeVolumeSourceServiceAccount
, VirtualMachineVolumeVolumeSourceServiceAccountArgs

ServiceAccountName This property is required. string
Name of the service account in the pod's namespace to use.
ServiceAccountName This property is required. string
Name of the service account in the pod's namespace to use.
serviceAccountName This property is required. String
Name of the service account in the pod's namespace to use.
serviceAccountName This property is required. string
Name of the service account in the pod's namespace to use.
service_account_name This property is required. str
Name of the service account in the pod's namespace to use.
serviceAccountName This property is required. String
Name of the service account in the pod's namespace to use.

Package Details

Repository
spectrocloud spectrocloud/terraform-provider-spectrocloud
License
Notes
This Pulumi package is based on the spectrocloud Terraform Provider.