VirtualMachine

Scope: Namespaced
Version: v1alpha2

Describes the configuration and status of a virtual machine (VM). On a running VM, changed parameters can only be applied after rebooting, except for the following parameters that are applied on the fly:

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

    Required value

    • spec.affinity
      object

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

      The affinity setting details are exactly matching the documentation source above. The only difference are the names of several parameters. The following alternative names are used:

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

        Describes node affinity scheduling rules for a 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 connected to the VM.

      Link to a block device.

      • spec.blockDeviceRefs.kind
        string

        Supported block device types:

        • ClusterVirtualImage: Use ClusterVirtualImage as the disk. This type is always mounted in ReadOnly mode. An ISO image will be mounted as a CD-ROM device.
        • VirtualImage: Use VirtualImage as the disk. This type is always mounted in ReadOnly mode. An ISO image will be mounted as a CD-ROM device.
        • VirtualDisk: Use VirtualDisk as the disk. This type is always mounted in ReadWrite mode.

        Allowed values: ClusterVirtualImage, VirtualImage, VirtualDisk

      • spec.blockDeviceRefs.name
        string

        Name of the attached resource.

    • spec.bootloader
      string

      Defines a bootloader for a VM.

      • BIOS: Use BIOS.
      • EFI: Use Unified Extensible Firmware (EFI/UEFI).
      • EFIWithSecureBoot: Use UEFI/EFI with the Secure Boot support.

      Default: "BIOS"

      Allowed values: BIOS, EFI, EFIWithSecureBoot

    • spec.cpu
      object

      Required value

      Section describing the CPU settings for a VM.

      • spec.cpu.coreFraction
        string

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

        Default: "100%"

      • spec.cpu.cores
        integer

        Required value

        Number of cores.

        Allowed values: 1 <= X

    • spec.disruptions
      object

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

      Changes to some VM configuration settings require a VM reboot to be applied. This policy lets you specify the behavior defining how the VM reacts to such changes.

      Default: {"restartApprovalMode":"Manual"}

      • spec.disruptions.restartApprovalMode
        string

        Approval mode for changes that require rebooting the VM:

        • Manual: Changes won’t be applied until the user manually reboots the VM.
        • Automatic: The VM will be rebooted immediately after the parameters requiring the reboot are saved.

        Allowed values: Manual, Automatic

    • spec.enableParavirtualization
      boolean

      Use the virtio bus for connecting virtual devices of a VM. To disable virtio for a VM, set this parameter to False.

      Note: To use the paravirtualization mode, some operating systems require installing the corresponding drivers.

      Default: true

    • spec.memory
      object

      Required value

      Section specifying the RAM settings for the VM.

      • spec.memory.size
        string

        Required value

        RAM amount.

        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 pod parameter spec.nodeSelector in Kubernetes.

    • spec.osType
      string

      Lets you select the type of a used OS that will be used to create a VM with an optimal set of required virtual devices and parameters.

      • Windows: For an operating system from the Microsoft Windows family.
      • Generic: For other operating systems.

      Default: "Generic"

      Allowed values: Windows, Generic

    • spec.priorityClassName
      string

      The same as in the pod parameter spec.priorityClassName in Kubernetes.

    • spec.provisioning
      object

      Section describing a VM initial provisioning scenario.

      • spec.provisioning.sysprepRef
        object

        Link to an existing resource with the Windows automation scenario.

        A resource structure for the SysprepRef type:

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

          Required value

          Kind of the resource. Use a secret of the following type: provisioning.virtualization.deckhouse.io/sysprep.

          Default: "Secret"

          Allowed values: Secret

        • spec.provisioning.sysprepRef.name
          string

          Required value

          Secret name.

      • spec.provisioning.type
        string

        Supported parameters for using the provisioning scenario:

        • UserData: Use the cloud-init scenario in the .spec.provisioning.UserData section.
        • UserDataRef: Use the cloud-init scenario located in a different resource.
        • SysprepRef: Use the automatic Windows installation scenario located in a different resource.

        Allowed values: UserData, UserDataRef, SysprepRef

      • spec.provisioning.userData
        string
      • spec.provisioning.userDataRef
        object

        Link to an existing resource with the cloud-init scenario.

        A resource structure for the userDataRef type:

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

          Required value

          Kind of the resource.

          Default: "Secret"

          Allowed values: Secret

        • spec.provisioning.userDataRef.name
          string

          Required value

          Name of the resource with the cloud-init scenario.

    • spec.runPolicy
      string

      Defines the VM startup policy:

      • AlwaysOn: Once created, the VM is always in a running state, even if shut down by the OS.
      • AlwaysOff: Once created, the VM is always in a powered-off state.
      • Manual: Once created, the VM is switched off. Switching on and off is controlled via API services or the OS.
      • AlwaysOnUnlessStoppedManually: Once created, the VM is always in a running state. It can be switched off by the OS or using the following command for the d8 utility: d8 v stop <vm_name>.

      Default: "AlwaysOnUnlessStoppedManually"

      Allowed values: AlwaysOn, AlwaysOff, Manual, AlwaysOnUnlessStoppedManually

    • spec.terminationGracePeriodSeconds
      integer

      Grace period after sending a SIGTERM signal to shut down a VM. Once the grace period expires, the VM is forcibly terminated.

      Default: 60

    • spec.tolerations
      array of objects

      The same as in the pod parameter spec.tolerations 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 pod parameter spec.topologySpreadConstraints 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.

    • spec.virtualMachineIPAddressName
      string

      Name for the associated virtualMachineIPAddress resource.

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

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