VirtualMachine

Scope: Namespaced
Version: v1alpha2

This resource describes the configuration and status of a virtual machine (VM). For a running VM, parameter changes can only be applied after the VM is rebooted, except for the following parameters (they are applied on the fly):

  • .metadata.labels.
  • .metadata.annotations.
  • .spec.disruptions.restartApprovalMode.
  • .spec.disruptions.runPolicy.
  • spec
    object

    Required value

    • spec.affinity
      object

      The same as in the pods spec.affinity parameter in Kubernetes;

      The affinity setting is completely similar to the above documentation, the only difference is in the names of some parameters. In fact, the following analogs are used:

      • podAffinity -> virtualMachineAndPodAffinity
      • podAffinityTerm -> virtualMachineAndPodAffinityTerm
      • spec.affinity.nodeAffinity
        object

        Describes node affinity scheduling rules for the VM.

        • spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution
          array of objects
          • spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference
            object

            Required value

            • spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions
              array of objects
              • spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.key
                string

                Required value

              • spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.operator
                string

                Required value

              • spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.values
                array of strings
                • Element of the array
                  string
            • spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields
              array of objects
              • spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.key
                string

                Required value

              • spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.operator
                string

                Required value

              • spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.values
                array of strings
                • Element of the array
                  string
          • spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
            integer

            Required value

            Allowed values: 1 <= X <= 100

        • spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution
          object
          • spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms
            array of objects

            Required value

            • spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions
              array of objects
              • spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.key
                string

                Required value

              • spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.operator
                string

                Required value

              • spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.values
                array of strings
                • Element of the array
                  string
            • spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields
              array of objects
              • spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.key
                string

                Required value

              • spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.operator
                string

                Required value

              • spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.values
                array of strings
                • Element of the array
                  string
      • spec.affinity.virtualMachineAndPodAffinity
        object

        Describes pod and VM affinity scheduling rules.

        • spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution
          array of objects
          • spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm
            object

            Required value

            • spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector
              object
              • spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector.matchExpressions
                array of objects
                • spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector.matchExpressions.key
                  string

                  Required value

                • spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector.matchExpressions.operator
                  string

                  Required value

                • spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector.matchExpressions.values
                  array of strings
                  • Element of the array
                    string
              • spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector.matchLabels
                object
            • spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.matchLabelKeys
              array of strings
              • Element of the array
                string
            • spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.mismatchLabelKeys
              array of strings
              • Element of the array
                string
            • spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaceSelector
              object
              • spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaceSelector.matchExpressions
                array of objects
                • spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaceSelector.matchExpressions.key
                  string

                  Required value

                • spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaceSelector.matchExpressions.operator
                  string

                  Required value

                • spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaceSelector.matchExpressions.values
                  array of strings
                  • Element of the array
                    string
              • spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaceSelector.matchLabels
                object
            • spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaces
              array of strings
              • Element of the array
                string
            • spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.topologyKey
              string

              Required value

          • spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
            integer

            Required value

            Allowed values: 1 <= X <= 100

        • spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution
          array of objects
          • spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
            object
            • spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions
              array of objects
              • spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.key
                string

                Required value

              • spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.operator
                string

                Required value

              • spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.values
                array of strings
                • Element of the array
                  string
            • spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchLabels
              object
          • spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.matchLabelKeys
            array of strings
            • Element of the array
              string
          • spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.mismatchLabelKeys
            array of strings
            • Element of the array
              string
          • spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector
            object
            • spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions
              array of objects
              • spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.key
                string

                Required value

              • spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.operator
                string

                Required value

              • spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.values
                array of strings
                • Element of the array
                  string
            • spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchLabels
              object
          • spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaces
            array of strings
            • Element of the array
              string
          • spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.topologyKey
            string

            Required value

      • spec.affinity.virtualMachineAndPodAntiAffinity
        object

        Describes pod and VM anti-affinity scheduling rules.

        • spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution
          array of objects
          • spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm
            object

            Required value

            • spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector
              object
              • spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector.matchExpressions
                array of objects
                • spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector.matchExpressions.key
                  string

                  Required value

                • spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector.matchExpressions.operator
                  string

                  Required value

                • spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector.matchExpressions.values
                  array of strings
                  • Element of the array
                    string
              • spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector.matchLabels
                object
            • spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.matchLabelKeys
              array of strings
              • Element of the array
                string
            • spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.mismatchLabelKeys
              array of strings
              • Element of the array
                string
            • spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaceSelector
              object
              • spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaceSelector.matchExpressions
                array of objects
                • spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaceSelector.matchExpressions.key
                  string

                  Required value

                • spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaceSelector.matchExpressions.operator
                  string

                  Required value

                • spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaceSelector.matchExpressions.values
                  array of strings
                  • Element of the array
                    string
              • spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaceSelector.matchLabels
                object
            • spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaces
              array of strings
              • Element of the array
                string
            • spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.topologyKey
              string

              Required value

          • spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
            integer

            Required value

            Allowed values: 1 <= X <= 100

        • spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution
          array of objects
          • spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
            object
            • spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions
              array of objects
              • spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.key
                string

                Required value

              • spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.operator
                string

                Required value

              • spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.values
                array of strings
                • Element of the array
                  string
            • spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchLabels
              object
          • spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.matchLabelKeys
            array of strings
            • Element of the array
              string
          • spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.mismatchLabelKeys
            array of strings
            • Element of the array
              string
          • spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector
            object
            • spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions
              array of objects
              • spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.key
                string

                Required value

              • spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.operator
                string

                Required value

              • spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.values
                array of strings
                • Element of the array
                  string
            • spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchLabels
              object
          • spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaces
            array of strings
            • Element of the array
              string
          • spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.topologyKey
            string

            Required value

    • spec.blockDeviceRefs
      array of objects

      Required value

      List of block devices that can be mounted by disks belonging to the virtual machine. The order of booting is determined by the order in the list.

      The reference to block device.

      • spec.blockDeviceRefs.kind
        string

        The type of the block device. Options are:

        • ClusterVirtualImage — Use ClusterVirtualImage as the disk. This type is always mounted in RO mode. If the image is an iso-image, it will be mounted as a CDROM device.
        • VirtualImage — Use VirtualImage as the disk. This type is always mounted in RO mode. If the image is an iso-image, it will be mounted as a CDROM device.
        • VirtualDisk — Use VirtualDisk as the disk. This type is always mounted in RW mode.

        Allowed values: ClusterVirtualImage, VirtualImage, VirtualDisk

      • spec.blockDeviceRefs.name
        string

        The name of attached resource.

    • spec.bootloader
      string

      Defines bootloader for VM.

      • BIOS - use legacy BIOS.
      • EFI - use Unified Extensible Firmware (EFI/UEFI).
      • EFIWithSecureBoot - use UEFI/EFI with SecureBoot support.

      Default: "BIOS"

      Allowed values: BIOS, EFI, EFIWithSecureBoot

    • spec.cpu
      object

      Required value

      Specifies the CPU settings for the VM.

      • spec.cpu.coreFraction
        string

        Guaranteed share of CPU that will be allocated to the VM. Specified as a percentage.

        Default: "100%"

      • spec.cpu.cores
        integer

        Required value

        Specifies the number of cores inside the VM. The value must be greater or equal 1.

        Allowed values: 1 <= X

    • spec.disruptions
      object

      Describing the policy for applying changes that require rebooting the VM.

      Changes to some VM configuration settings require a reboot of the VM to apply them. This policy allows you to specify the behavior of how the VM will respond to such changes.

      Default: {"restartApprovalMode":"Manual"}

      • spec.disruptions.restartApprovalMode
        string

        Approval mode for changes that require rebooting the VM:

        • Manual - changes will not be applied until the user reboots the VM himself.
        • Automatic - the VM will be rebooted immediately after saving the parameters that require rebooting the VM.

        Allowed values: Manual, Automatic

    • spec.enableParavirtualization
      boolean

      Use the virtio bus to connect virtual devices of the VM. Set to false to disable virtio for this VM.

      Note: To use paravirtualization mode, some operating systems require the appropriate drivers to be installed.

      Default: true

    • spec.memory
      object

      Required value

      Specifies the memory settings for the VM.

      • spec.memory.size
        string

        Required value

        Describes the maximum amount of memory resources allowed.

        Pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

    • spec.nodeSelector
      object

      The same as in the pods spec.nodeSelector parameter in Kubernetes;

    • spec.osType
      string

      The parameter allows you to select the type of used OS, for which a VM with an optimal set of required virtual devices and parameters will be created.

      • Windows - for Microsoft Windows family operating systems.
      • Generic - for other types of OS.

      Default: "Generic"

      Allowed values: Windows, Generic

    • spec.priorityClassName
      string

      The same as in the pods spec.priorityClassName parameter in Kubernetes;

    • spec.provisioning
      object

      This block allows you to configure the provisioning script for the VM.

      • spec.provisioning.sysprepRef
        object

        Reference to an existing Windows sysprep automation.

        Resource structure for the SysprepRef type:

        • .data.autounattend.xml.
        • .data.unattend.xml.
        • spec.provisioning.sysprepRef.kind
          string

          Required value

          The kind of an existing Windows sysprep automation resource. Need to use a custom secret type - “provisioning.virtualization.deckhouse.io/sysprep”

          Default: "Secret"

          Allowed values: Secret

        • spec.provisioning.sysprepRef.name
          string

          Required value

          Secret name.

      • spec.provisioning.type
        string

        This parameter defines the type of provisioning script:

        Parameters supported for using the provisioning script:

        • UserData - use the cloud-init in the .spec.provisioning.UserData section.
        • UserDataRef - use a cloud-init script that resides in a different resource.
        • SysprepRef - Use a Windows Automation script that resides in a different resource.

        More information: https://cloudinit.readthedocs.io/en/latest/reference/examples.html

        Allowed values: UserData, UserDataRef, SysprepRef

      • spec.provisioning.userData
        string

        Inline cloud-init userdata script.

      • spec.provisioning.userDataRef
        object

        A reference to an existing resource with a cloud-init script.

        Resource structure for userDataRef type:

        • .data.userData.
        • spec.provisioning.userDataRef.kind
          string

          Required value

          The kind of an existing cloud-init automation resource. Need to use a custom secret type - “provisioning.virtualization.deckhouse.io/cloud-init”

          Default: "Secret"

          Allowed values: Secret

        • spec.provisioning.userDataRef.name
          string

          Required value

          The name of the resource.

    • spec.runPolicy
      string

      This parameter defines the VM startup policy

      • AlwaysOn - after creation the VM is always in a running state, even in case of its shutdown by OS means.
      • AlwaysOff - after creation the VM is always in the off state.
      • Manual - after creation the VM is switched off, the VM state (switching on/off) is controlled via sub-resources or OS means.
      • AlwaysOnUnlessStoppedManually - after creation the VM is always in a running state. The VM can be shutdown by means of the OS or use the d8 utility: d8 v stop <vm_name>.

      Default: "AlwaysOnUnlessStoppedManually"

      Allowed values: AlwaysOn, AlwaysOff, Manual, AlwaysOnUnlessStoppedManually

    • spec.terminationGracePeriodSeconds
      integer

      Grace period observed after signalling a VM to stop after which the VM is force terminated.

      Default: 60

    • spec.tolerations
      array of objects

      The same as in the pods spec.tolerations parameter in Kubernetes;

      • spec.tolerations.effect
        string
      • spec.tolerations.key
        string
      • spec.tolerations.operator
        string
      • spec.tolerations.tolerationSeconds
        integer
      • spec.tolerations.value
        string
    • spec.topologySpreadConstraints
      array of objects

      The same as in the pods spec.topologySpreadConstraints parameter in Kubernetes;

      • spec.topologySpreadConstraints.labelSelector
        object
        • spec.topologySpreadConstraints.labelSelector.matchExpressions
          array of objects
          • spec.topologySpreadConstraints.labelSelector.matchExpressions.key
            string

            Required value

          • spec.topologySpreadConstraints.labelSelector.matchExpressions.operator
            string

            Required value

          • spec.topologySpreadConstraints.labelSelector.matchExpressions.values
            array of strings
            • Element of the array
              string
        • spec.topologySpreadConstraints.labelSelector.matchLabels
          object
      • spec.topologySpreadConstraints.maxSkew
        integer

        Required value

      • spec.topologySpreadConstraints.topologyKey
        string

        Required value

      • spec.topologySpreadConstraints.whenUnsatisfiable
        string

        Required value

    • spec.virtualMachineClassName
      string

      Required value

      Name of the VirtualMachineClass resource describing the requirements for a virtual CPU, memory and the resource allocation policy and node placement policies for virtual machines.

    • spec.virtualMachineIPAddressName
      string

      Name for the associated virtualMachineIPAddress resource.

      Specified when it is necessary to use a previously created IP address of the VM.

      If not explicitly specified, by default a virtualMachineIPAddress resource is created for the VM with a name similar to the VM resource (.metadata.name).