1. Packages
  2. Spectrocloud Provider
  3. API Docs
  4. VirtualMachine
spectrocloud 0.23.5 published on Sunday, Apr 20, 2025 by spectrocloud

spectrocloud.VirtualMachine

Explore with Pulumi AI

spectrocloud logo
spectrocloud 0.23.5 published on Sunday, Apr 20, 2025 by spectrocloud

    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
    //  #      }
    //  #    }
    //  #  }
    //
    //
    //}
    
    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
    #  #      }
    #  #    }
    #  #  }
    #
    #
    #}
    
    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
    	})
    }
    
    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
        //  #      }
        //  #    }
        //  #  }
        //
        //
        //}
    });
    
    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
            //  #      }
            //  #    }
            //  #  }
            //
            //
            //}
        }
    }
    
    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
    

    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 string
    The unique name of the resource.
    args VirtualMachineArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args 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 string
    The unique name of the resource.
    args VirtualMachineArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args VirtualMachineArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args 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",
                    },
                },
            },
        },
    });
    
    example, err := spectrocloud.NewVirtualMachine(ctx, "virtualMachineResource", &spectrocloud.VirtualMachineArgs{
    	ClusterUid: pulumi.String("string"),
    	Resources: &spectrocloud.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: &spectrocloud.VirtualMachineCpuArgs{
    		Cores:   pulumi.Float64(0),
    		Sockets: pulumi.Float64(0),
    		Threads: pulumi.Float64(0),
    	},
    	DataVolumeTemplates: spectrocloud.VirtualMachineDataVolumeTemplateArray{
    		&spectrocloud.VirtualMachineDataVolumeTemplateArgs{
    			Metadata: &spectrocloud.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: &spectrocloud.VirtualMachineDataVolumeTemplateSpecArgs{
    				Pvc: &spectrocloud.VirtualMachineDataVolumeTemplateSpecPvcArgs{
    					AccessModes: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					Resources: &spectrocloud.VirtualMachineDataVolumeTemplateSpecPvcResourcesArgs{
    						Limits: pulumi.StringMap{
    							"string": pulumi.String("string"),
    						},
    						Requests: pulumi.StringMap{
    							"string": pulumi.String("string"),
    						},
    					},
    					Selector: &spectrocloud.VirtualMachineDataVolumeTemplateSpecPvcSelectorArgs{
    						MatchExpressions: spectrocloud.VirtualMachineDataVolumeTemplateSpecPvcSelectorMatchExpressionArray{
    							&spectrocloud.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: &spectrocloud.VirtualMachineDataVolumeTemplateSpecSourceArgs{
    					Blank: &spectrocloud.VirtualMachineDataVolumeTemplateSpecSourceBlankArgs{},
    					Http: &spectrocloud.VirtualMachineDataVolumeTemplateSpecSourceHttpArgs{
    						CertConfigMap: pulumi.String("string"),
    						SecretRef:     pulumi.String("string"),
    						Url:           pulumi.String("string"),
    					},
    					Pvc: &spectrocloud.VirtualMachineDataVolumeTemplateSpecSourcePvcArgs{
    						Name:      pulumi.String("string"),
    						Namespace: pulumi.String("string"),
    					},
    					Registry: &spectrocloud.VirtualMachineDataVolumeTemplateSpecSourceRegistryArgs{
    						ImageUrl: pulumi.String("string"),
    					},
    				},
    			},
    		},
    	},
    	Disks: spectrocloud.VirtualMachineDiskArray{
    		&spectrocloud.VirtualMachineDiskArgs{
    			DiskDevices: spectrocloud.VirtualMachineDiskDiskDeviceArray{
    				&spectrocloud.VirtualMachineDiskDiskDeviceArgs{
    					Disks: spectrocloud.VirtualMachineDiskDiskDeviceDiskArray{
    						&spectrocloud.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: spectrocloud.VirtualMachineInterfaceArray{
    		&spectrocloud.VirtualMachineInterfaceArgs{
    			InterfaceBindingMethod: pulumi.String("string"),
    			Name:                   pulumi.String("string"),
    			Model:                  pulumi.String("string"),
    		},
    	},
    	Labels: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	LivenessProbe: &spectrocloud.VirtualMachineLivenessProbeArgs{},
    	Memory: &spectrocloud.VirtualMachineMemoryArgs{
    		Guest:     pulumi.String("string"),
    		Hugepages: pulumi.String("string"),
    	},
    	Affinity: &spectrocloud.VirtualMachineAffinityArgs{
    		NodeAffinity: &spectrocloud.VirtualMachineAffinityNodeAffinityArgs{
    			PreferredDuringSchedulingIgnoredDuringExecutions: spectrocloud.VirtualMachineAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionArray{
    				&spectrocloud.VirtualMachineAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionArgs{
    					Preference: &spectrocloud.VirtualMachineAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceArgs{
    						MatchExpressions: spectrocloud.VirtualMachineAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressionArray{
    							&spectrocloud.VirtualMachineAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressionArgs{
    								Key:      pulumi.String("string"),
    								Operator: pulumi.String("string"),
    								Values: pulumi.StringArray{
    									pulumi.String("string"),
    								},
    							},
    						},
    					},
    					Weight: pulumi.Float64(0),
    				},
    			},
    			RequiredDuringSchedulingIgnoredDuringExecution: &spectrocloud.VirtualMachineAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionArgs{
    				NodeSelectorTerms: spectrocloud.VirtualMachineAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermArray{
    					&spectrocloud.VirtualMachineAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermArgs{
    						MatchExpressions: spectrocloud.VirtualMachineAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermMatchExpressionArray{
    							&spectrocloud.VirtualMachineAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermMatchExpressionArgs{
    								Key:      pulumi.String("string"),
    								Operator: pulumi.String("string"),
    								Values: pulumi.StringArray{
    									pulumi.String("string"),
    								},
    							},
    						},
    					},
    				},
    			},
    		},
    		PodAffinity: &spectrocloud.VirtualMachineAffinityPodAffinityArgs{
    			PreferredDuringSchedulingIgnoredDuringExecutions: spectrocloud.VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionArray{
    				&spectrocloud.VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionArgs{
    					PodAffinityTerm: &spectrocloud.VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermArgs{
    						LabelSelectors: spectrocloud.VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorArray{
    							&spectrocloud.VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorArgs{
    								MatchExpressions: spectrocloud.VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressionArray{
    									&spectrocloud.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: spectrocloud.VirtualMachineAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionArray{
    				&spectrocloud.VirtualMachineAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionArgs{
    					LabelSelectors: spectrocloud.VirtualMachineAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorArray{
    						&spectrocloud.VirtualMachineAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorArgs{
    							MatchExpressions: spectrocloud.VirtualMachineAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressionArray{
    								&spectrocloud.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: &spectrocloud.VirtualMachineAffinityPodAntiAffinityArgs{
    			PreferredDuringSchedulingIgnoredDuringExecutions: spectrocloud.VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionArray{
    				&spectrocloud.VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionArgs{
    					PodAffinityTerm: &spectrocloud.VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermArgs{
    						LabelSelectors: spectrocloud.VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorArray{
    							&spectrocloud.VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorArgs{
    								MatchExpressions: spectrocloud.VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressionArray{
    									&spectrocloud.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: spectrocloud.VirtualMachineAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionArray{
    				&spectrocloud.VirtualMachineAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionArgs{
    					LabelSelectors: spectrocloud.VirtualMachineAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorArray{
    						&spectrocloud.VirtualMachineAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorArgs{
    							MatchExpressions: spectrocloud.VirtualMachineAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressionArray{
    								&spectrocloud.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: &spectrocloud.VirtualMachinePodDnsConfigArgs{
    		Nameservers: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		Options: spectrocloud.VirtualMachinePodDnsConfigOptionArray{
    			&spectrocloud.VirtualMachinePodDnsConfigOptionArgs{
    				Name:  pulumi.String("string"),
    				Value: pulumi.String("string"),
    			},
    		},
    		Searches: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    	},
    	Networks: spectrocloud.VirtualMachineNetworkArray{
    		&spectrocloud.VirtualMachineNetworkArgs{
    			Name: pulumi.String("string"),
    			NetworkSource: &spectrocloud.VirtualMachineNetworkNetworkSourceArgs{
    				Multus: &spectrocloud.VirtualMachineNetworkNetworkSourceMultusArgs{
    					NetworkName: pulumi.String("string"),
    					Default:     pulumi.Bool(false),
    				},
    				Pod: &spectrocloud.VirtualMachineNetworkNetworkSourcePodArgs{
    					VmNetworkCidr: pulumi.String("string"),
    				},
    			},
    		},
    	},
    	PriorityClassName: pulumi.String("string"),
    	ReadinessProbe:    &spectrocloud.VirtualMachineReadinessProbeArgs{},
    	Annotations: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	RunOnLaunch:   pulumi.Bool(false),
    	RunStrategy:   pulumi.String("string"),
    	SchedulerName: pulumi.String("string"),
    	Status: &spectrocloud.VirtualMachineStatusArgs{
    		Conditions: spectrocloud.VirtualMachineStatusConditionArray{
    			&spectrocloud.VirtualMachineStatusConditionArgs{
    				Message: pulumi.String("string"),
    				Reason:  pulumi.String("string"),
    				Status:  pulumi.String("string"),
    				Type:    pulumi.String("string"),
    			},
    		},
    		StateChangeRequests: spectrocloud.VirtualMachineStatusStateChangeRequestArray{
    			&spectrocloud.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: &spectrocloud.VirtualMachineTimeoutsArgs{
    		Create: pulumi.String("string"),
    		Delete: pulumi.String("string"),
    	},
    	Tolerations: spectrocloud.VirtualMachineTolerationArray{
    		&spectrocloud.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: spectrocloud.VirtualMachineVolumeArray{
    		&spectrocloud.VirtualMachineVolumeArgs{
    			Name: pulumi.String("string"),
    			VolumeSource: &spectrocloud.VirtualMachineVolumeVolumeSourceArgs{
    				CloudInitConfigDrive: &spectrocloud.VirtualMachineVolumeVolumeSourceCloudInitConfigDriveArgs{
    					NetworkData:       pulumi.String("string"),
    					NetworkDataBase64: pulumi.String("string"),
    					NetworkDataSecretRef: &spectrocloud.VirtualMachineVolumeVolumeSourceCloudInitConfigDriveNetworkDataSecretRefArgs{
    						Name: pulumi.String("string"),
    					},
    					UserData:       pulumi.String("string"),
    					UserDataBase64: pulumi.String("string"),
    					UserDataSecretRef: &spectrocloud.VirtualMachineVolumeVolumeSourceCloudInitConfigDriveUserDataSecretRefArgs{
    						Name: pulumi.String("string"),
    					},
    				},
    				CloudInitNoClouds: spectrocloud.VirtualMachineVolumeVolumeSourceCloudInitNoCloudArray{
    					&spectrocloud.VirtualMachineVolumeVolumeSourceCloudInitNoCloudArgs{
    						UserData: pulumi.String("string"),
    					},
    				},
    				ConfigMap: &spectrocloud.VirtualMachineVolumeVolumeSourceConfigMapArgs{
    					DefaultMode: pulumi.Float64(0),
    					Items: spectrocloud.VirtualMachineVolumeVolumeSourceConfigMapItemArray{
    						&spectrocloud.VirtualMachineVolumeVolumeSourceConfigMapItemArgs{
    							Key: pulumi.String("string"),
    						},
    					},
    				},
    				ContainerDisks: spectrocloud.VirtualMachineVolumeVolumeSourceContainerDiskArray{
    					&spectrocloud.VirtualMachineVolumeVolumeSourceContainerDiskArgs{
    						ImageUrl: pulumi.String("string"),
    					},
    				},
    				DataVolume: &spectrocloud.VirtualMachineVolumeVolumeSourceDataVolumeArgs{
    					Name: pulumi.String("string"),
    				},
    				EmptyDisk: &spectrocloud.VirtualMachineVolumeVolumeSourceEmptyDiskArgs{
    					Capacity: pulumi.String("string"),
    				},
    				Ephemeral: &spectrocloud.VirtualMachineVolumeVolumeSourceEphemeralArgs{
    					PersistentVolumeClaim: &spectrocloud.VirtualMachineVolumeVolumeSourceEphemeralPersistentVolumeClaimArgs{
    						ClaimName: pulumi.String("string"),
    						ReadOnly:  pulumi.Bool(false),
    					},
    				},
    				HostDisk: &spectrocloud.VirtualMachineVolumeVolumeSourceHostDiskArgs{
    					Path: pulumi.String("string"),
    					Type: pulumi.String("string"),
    				},
    				PersistentVolumeClaim: &spectrocloud.VirtualMachineVolumeVolumeSourcePersistentVolumeClaimArgs{
    					ClaimName: pulumi.String("string"),
    					ReadOnly:  pulumi.Bool(false),
    				},
    				ServiceAccount: &spectrocloud.VirtualMachineVolumeVolumeSourceServiceAccountArgs{
    					ServiceAccountName: pulumi.String("string"),
    				},
    			},
    		},
    	},
    })
    
    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());
    
    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",
                },
            },
        }])
    
    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",
                },
            },
        }],
    });
    
    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
    

    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 string
    The cluster UID to which the virtual machine belongs to.
    Resources 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 string
    The cluster UID to which the virtual machine belongs to.
    Resources 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 String
    The cluster UID to which the virtual machine belongs to.
    resources 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 string
    The cluster UID to which the virtual machine belongs to.
    resources 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 str
    The cluster UID to which the virtual machine belongs to.
    resources 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 String
    The cluster UID to which the virtual machine belongs to.
    resources 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
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    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 VirtualMachineAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference
    A node selector term, associated with the corresponding weight.
    Weight double
    weight is in the range 1-100
    Preference VirtualMachineAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference
    A node selector term, associated with the corresponding weight.
    Weight float64
    weight is in the range 1-100
    preference VirtualMachineAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference
    A node selector term, associated with the corresponding weight.
    weight Double
    weight is in the range 1-100
    preference VirtualMachineAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference
    A node selector term, associated with the corresponding weight.
    weight number
    weight is in the range 1-100
    preference VirtualMachineAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference
    A node selector term, associated with the corresponding weight.
    weight float
    weight is in the range 1-100
    preference Property Map
    A node selector term, associated with the corresponding weight.
    weight 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 VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm
    A pod affinity term, associated with the corresponding weight
    Weight double
    weight associated with matching the corresponding podAffinityTerm, in the range 1-100
    PodAffinityTerm VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm
    A pod affinity term, associated with the corresponding weight
    Weight float64
    weight associated with matching the corresponding podAffinityTerm, in the range 1-100
    podAffinityTerm VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm
    A pod affinity term, associated with the corresponding weight
    weight Double
    weight associated with matching the corresponding podAffinityTerm, in the range 1-100
    podAffinityTerm VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm
    A pod affinity term, associated with the corresponding weight
    weight number
    weight associated with matching the corresponding podAffinityTerm, in the range 1-100
    pod_affinity_term VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm
    A pod affinity term, associated with the corresponding weight
    weight float
    weight associated with matching the corresponding podAffinityTerm, in the range 1-100
    podAffinityTerm Property Map
    A pod affinity term, associated with the corresponding weight
    weight 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 VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm
    A pod affinity term, associated with the corresponding weight
    Weight double
    weight associated with matching the corresponding podAffinityTerm, in the range 1-100
    PodAffinityTerm VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm
    A pod affinity term, associated with the corresponding weight
    Weight float64
    weight associated with matching the corresponding podAffinityTerm, in the range 1-100
    podAffinityTerm VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm
    A pod affinity term, associated with the corresponding weight
    weight Double
    weight associated with matching the corresponding podAffinityTerm, in the range 1-100
    podAffinityTerm VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm
    A pod affinity term, associated with the corresponding weight
    weight number
    weight associated with matching the corresponding podAffinityTerm, in the range 1-100
    pod_affinity_term VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm
    A pod affinity term, associated with the corresponding weight
    weight float
    weight associated with matching the corresponding podAffinityTerm, in the range 1-100
    podAffinityTerm Property Map
    A pod affinity term, associated with the corresponding weight
    weight 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 VirtualMachineDataVolumeTemplateMetadata
    Standard DataVolume's metadata. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata
    Spec VirtualMachineDataVolumeTemplateSpec
    DataVolumeSpec defines our specification for a DataVolume type
    Metadata VirtualMachineDataVolumeTemplateMetadata
    Standard DataVolume's metadata. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata
    Spec VirtualMachineDataVolumeTemplateSpec
    DataVolumeSpec defines our specification for a DataVolume type
    metadata VirtualMachineDataVolumeTemplateMetadata
    Standard DataVolume's metadata. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata
    spec VirtualMachineDataVolumeTemplateSpec
    DataVolumeSpec defines our specification for a DataVolume type
    metadata VirtualMachineDataVolumeTemplateMetadata
    Standard DataVolume's metadata. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata
    spec VirtualMachineDataVolumeTemplateSpec
    DataVolumeSpec defines our specification for a DataVolume type
    metadata VirtualMachineDataVolumeTemplateMetadata
    Standard DataVolume's metadata. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata
    spec VirtualMachineDataVolumeTemplateSpec
    DataVolumeSpec defines our specification for a DataVolume type
    metadata Property Map
    Standard DataVolume's metadata. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata
    spec 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 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 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 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 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 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 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 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 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 []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 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 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 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 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 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 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 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 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 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 List<VirtualMachineDiskDiskDevice>
    DiskDevice specifies as which device the disk should be added to the guest.
    Name string
    Name is the device name
    Serial string
    Serial provides the ability to specify a serial number for the disk device.
    DiskDevices []VirtualMachineDiskDiskDevice
    DiskDevice specifies as which device the disk should be added to the guest.
    Name string
    Name is the device name
    Serial string
    Serial provides the ability to specify a serial number for the disk device.
    diskDevices List<VirtualMachineDiskDiskDevice>
    DiskDevice specifies as which device the disk should be added to the guest.
    name String
    Name is the device name
    serial String
    Serial provides the ability to specify a serial number for the disk device.
    diskDevices VirtualMachineDiskDiskDevice[]
    DiskDevice specifies as which device the disk should be added to the guest.
    name string
    Name is the device name
    serial string
    Serial provides the ability to specify a serial number for the disk device.
    disk_devices Sequence[VirtualMachineDiskDiskDevice]
    DiskDevice specifies as which device the disk should be added to the guest.
    name str
    Name is the device name
    serial str
    Serial provides the ability to specify a serial number for the disk device.
    diskDevices List<Property Map>
    DiskDevice specifies as which device the disk should be added to the guest.
    name 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 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 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 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 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 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 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 string
    Represents the Interface model, One of: e1000, e1000e, ne2k_pci, pcnet, rtl8139, virtio. Defaults to virtio.
    Name 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 string
    Represents the Interface model, One of: e1000, e1000e, ne2k_pci, pcnet, rtl8139, virtio. Defaults to virtio.
    Name 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 String
    Represents the Interface model, One of: e1000, e1000e, ne2k_pci, pcnet, rtl8139, virtio. Defaults to virtio.
    name 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 string
    Represents the Interface model, One of: e1000, e1000e, ne2k_pci, pcnet, rtl8139, virtio. Defaults to virtio.
    name 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 str
    Represents the Interface model, One of: e1000, e1000e, ne2k_pci, pcnet, rtl8139, virtio. Defaults to virtio.
    name 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 String
    Represents the Interface model, One of: e1000, e1000e, ne2k_pci, pcnet, rtl8139, virtio. Defaults to virtio.
    name 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 string
    Network name.
    NetworkSource VirtualMachineNetworkNetworkSource
    NetworkSource represents the network type and the source interface that should be connected to the virtual machine.
    Name string
    Network name.
    NetworkSource VirtualMachineNetworkNetworkSource
    NetworkSource represents the network type and the source interface that should be connected to the virtual machine.
    name String
    Network name.
    networkSource VirtualMachineNetworkNetworkSource
    NetworkSource represents the network type and the source interface that should be connected to the virtual machine.
    name string
    Network name.
    networkSource VirtualMachineNetworkNetworkSource
    NetworkSource represents the network type and the source interface that should be connected to the virtual machine.
    name str
    Network name.
    network_source VirtualMachineNetworkNetworkSource
    NetworkSource represents the network type and the source interface that should be connected to the virtual machine.
    name 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 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 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 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 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 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 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 string
    Name of the option.
    Value string
    Value of the option. Optional: Defaults to empty.
    Name string
    Name of the option.
    Value string
    Value of the option. Optional: Defaults to empty.
    name String
    Name of the option.
    value String
    Value of the option. Optional: Defaults to empty.
    name string
    Name of the option.
    value string
    Value of the option. Optional: Defaults to empty.
    name str
    Name of the option.
    value str
    Value of the option. Optional: Defaults to empty.
    name 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 List<VirtualMachineStatusCondition>
    Hold the state information of the VirtualMachine and its VirtualMachineInstance.
    StateChangeRequests 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 []VirtualMachineStatusCondition
    Hold the state information of the VirtualMachine and its VirtualMachineInstance.
    StateChangeRequests []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 List<VirtualMachineStatusCondition>
    Hold the state information of the VirtualMachine and its VirtualMachineInstance.
    stateChangeRequests 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 VirtualMachineStatusCondition[]
    Hold the state information of the VirtualMachine and its VirtualMachineInstance.
    stateChangeRequests 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 Sequence[VirtualMachineStatusCondition]
    Hold the state information of the VirtualMachine and its VirtualMachineInstance.
    state_change_requests 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 List<Property Map>
    Hold the state information of the VirtualMachine and its VirtualMachineInstance.
    stateChangeRequests 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 string
    Volume's name.
    VolumeSource VirtualMachineVolumeVolumeSource
    VolumeSource represents the location and type of the mounted volume. Defaults to Disk, if no type is specified.
    Name string
    Volume's name.
    VolumeSource VirtualMachineVolumeVolumeSource
    VolumeSource represents the location and type of the mounted volume. Defaults to Disk, if no type is specified.
    name String
    Volume's name.
    volumeSource VirtualMachineVolumeVolumeSource
    VolumeSource represents the location and type of the mounted volume. Defaults to Disk, if no type is specified.
    name string
    Volume's name.
    volumeSource VirtualMachineVolumeVolumeSource
    VolumeSource represents the location and type of the mounted volume. Defaults to Disk, if no type is specified.
    name str
    Volume's name.
    volume_source VirtualMachineVolumeVolumeSource
    VolumeSource represents the location and type of the mounted volume. Defaults to Disk, if no type is specified.
    name String
    Volume's name.
    volumeSource 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 string
    Name of the referent.
    Name string
    Name of the referent.
    name String
    Name of the referent.
    name string
    Name of the referent.
    name str
    Name of the referent.
    name String
    Name of the referent.

    VirtualMachineVolumeVolumeSourceCloudInitConfigDriveUserDataSecretRef, VirtualMachineVolumeVolumeSourceCloudInitConfigDriveUserDataSecretRefArgs

    Name string
    Name of the referent.
    Name string
    Name of the referent.
    name String
    Name of the referent.
    name string
    Name of the referent.
    name str
    Name of the referent.
    name String
    Name of the referent.

    VirtualMachineVolumeVolumeSourceCloudInitNoCloud, VirtualMachineVolumeVolumeSourceCloudInitNoCloudArgs

    UserData 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 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 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 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 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 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 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 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 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 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 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 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 string
    Name represents the name of the DataVolume in the same namespace.
    Name string
    Name represents the name of the DataVolume in the same namespace.
    name String
    Name represents the name of the DataVolume in the same namespace.
    name string
    Name represents the name of the DataVolume in the same namespace.
    name str
    Name represents the name of the DataVolume in the same namespace.
    name String
    Name represents the name of the DataVolume in the same namespace.

    VirtualMachineVolumeVolumeSourceEmptyDisk, VirtualMachineVolumeVolumeSourceEmptyDiskArgs

    Capacity string
    Capacity of the sparse disk.
    Capacity string
    Capacity of the sparse disk.
    capacity String
    Capacity of the sparse disk.
    capacity string
    Capacity of the sparse disk.
    capacity str
    Capacity of the sparse disk.
    capacity 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 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 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 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 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 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 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 string
    Path of the disk.
    Type string
    Type of the disk, supported values are disk, directory, socket, char, block.
    Path string
    Path of the disk.
    Type string
    Type of the disk, supported values are disk, directory, socket, char, block.
    path String
    Path of the disk.
    type String
    Type of the disk, supported values are disk, directory, socket, char, block.
    path string
    Path of the disk.
    type string
    Type of the disk, supported values are disk, directory, socket, char, block.
    path str
    Path of the disk.
    type str
    Type of the disk, supported values are disk, directory, socket, char, block.
    path String
    Path of the disk.
    type String
    Type of the disk, supported values are disk, directory, socket, char, block.

    VirtualMachineVolumeVolumeSourcePersistentVolumeClaim, VirtualMachineVolumeVolumeSourcePersistentVolumeClaimArgs

    ClaimName 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 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 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 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 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 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 string
    Name of the service account in the pod's namespace to use.
    ServiceAccountName string
    Name of the service account in the pod's namespace to use.
    serviceAccountName String
    Name of the service account in the pod's namespace to use.
    serviceAccountName string
    Name of the service account in the pod's namespace to use.
    service_account_name str
    Name of the service account in the pod's namespace to use.
    serviceAccountName 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.
    spectrocloud logo
    spectrocloud 0.23.5 published on Sunday, Apr 20, 2025 by spectrocloud