Generally available version. Ready to be used in production environments.
ClusterVirtualImage
Scope: Cluster
      
Version: v1alpha2
Describes a virtual disk image that can be used as a data source for new VirtualDisks or an installation image (iso) to be mounted in VirtualMachines directly. This resource type is available for all namespaces in the cluster.
This resource cannot be modified once it has been created.
With this resource in the cluster, a container image is created and stored in a dedicated Deckhouse Virtualization Container Registry (DVCR).
- 
    stringapiVersionAPIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
- 
    stringkindKind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
- 
    objectmetadata
- 
    objectspec- 
    objectspec.dataSourceRequired value Origin of the image.- 
    objectspec.dataSource.containerImageUse an image stored in external container registry. Only registries with enabled TLS protocol are supported. To provide a custom Certificate Authority (CA) chain, use thecaBundlefield.- 
    stringspec.dataSource.containerImage.caBundleCA chain in Base64 format to verify the container registry.Example: caBundle: YWFhCg==
- 
    stringspec.dataSource.containerImage.imageRequired value Path to the image in the container registry.Pattern: ^(?P<name>(?:(?P<domain>(?:(?:localhost|[\w-]+(?:\.[\w-]+)+)(?::\d+)?)|[\w]+:\d+)/)?(?P<image>[a-z0-9_.-]+(?:/[a-z0-9_.-]+)*))(?::(?P<tag>[\w][\w.-]{0,127}))?(?:@(?P<digest>[A-Za-z][A-Za-z0-9]*(?:[+.-_][A-Za-z][A-Za-z0-9]*)*:[0-9a-fA-F]{32,}))?$Example: image: registry.example.com/images/slackware:15
- 
    objectspec.dataSource.containerImage.imagePullSecret- 
    stringspec.dataSource.containerImage.imagePullSecret.nameName of the secret keeping container registry credentials.
- 
    stringspec.dataSource.containerImage.imagePullSecret.namespaceNamespace whereimagePullSecretis located.
 
- 
    
 
- 
    
- 
    objectspec.dataSource.httpFill the image with data from an external URL. The following schemas are supported: - HTTP
- HTTPS
 For HTTPS schema, there is an option to skip the TLS verification. - 
    stringspec.dataSource.http.caBundleCA chain in Base64 format to verify the URL.Example: caBundle: YWFhCg==
- 
    objectspec.dataSource.http.checksumChecksum to verify integrity and consistency of the downloaded file. The file must match all specified checksums.- 
    stringspec.dataSource.http.checksum.md5Length: 32..32Pattern: ^[0-9a-fA-F]{32}$Example: md5: f3b59bed9f91e32fac1210184fcff6f5
- 
    stringspec.dataSource.http.checksum.sha256Length: 64..64Pattern: ^[0-9a-fA-F]{64}$Example: sha256: 78be890d71dde316c412da2ce8332ba47b9ce7a29d573801d2777e01aa20b9b5
 
- 
    
- 
    stringspec.dataSource.http.urlRequired value URL of the file for creating an image. The following file formats are supported: - qcow2
- vmdk
- vdi
- iso
- raw The file can be compressed into an archive in one of the following formats:
- gz
- xz
 Pattern: ^http[s]?:\/\/(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+$Example: url: https://mirror.example.com/images/slackware-15.qcow.gz
 
- 
    objectspec.dataSource.objectRefUse an existing VirtualImage, ClusterVirtualImage, VirtualDisk or VirtualDiskSnapshot resource to create an image.- 
    stringspec.dataSource.objectRef.kindRequired value Kind of the existing VirtualImage, ClusterVirtualImage, VirtualDisk or VirtualDiskSnapshot resource.Allowed values: ClusterVirtualImage,VirtualImage,VirtualDisk,VirtualDiskSnapshot
- 
    stringspec.dataSource.objectRef.nameRequired value Name of the existing VirtualImage, ClusterVirtualImage, VirtualDisk or VirtualDiskSnapshot resource.
- 
    stringspec.dataSource.objectRef.namespaceNamespace where the VirtualImage, VirtualDisk or VirtualDiskSnapshot resource is located.
 
- 
    
- 
    stringspec.dataSource.typeRequired value The following image sources are available for creating an image: - HTTP: From a file published on an HTTP/HTTPS service at a given URL.
- ContainerImage: From another image stored in a container registry.
- ObjectRef: From an existing resource.
- Upload: From data uploaded by the user via a special interface.
 Allowed values: HTTP,ContainerImage,ObjectRef,Upload
 
- 
    
 
- 
    
VirtualDisk
Scope: Namespaced
      
Version: v1alpha2
The VirtualDisk resource describes the desired virtual machine disk configuration. A VirtualDisk can be mounted statically in the virtual machine by specifying it in the .spec.blockDeviceRefs disk list, or mounted on-the-fly using the VirtualMachineBlockDeviceAttachments resource.
Once a VirtualDisk is created, only the disk size field .spec.persistentVolumeClaim.size can be changed. All other fields are immutable.
- 
    stringapiVersionAPIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
- 
    stringkindKind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
- 
    objectmetadata
- 
    objectspec- 
    objectspec.dataSource- 
    objectspec.dataSource.containerImageUse an image stored in an external container registry. Only registries with enabled TLS are supported. To provide a custom Certificate Authority (CA) chain, use thecaBundlefield.- 
    stringspec.dataSource.containerImage.caBundleCA chain in Base64 format to verify the container registry.Example: caBundle: YWFhCg==
- 
    stringspec.dataSource.containerImage.imageRequired value Path to the image in the container registry.Pattern: ^(?P<name>(?:(?P<domain>(?:(?:localhost|[\w-]+(?:\.[\w-]+)+)(?::\d+)?)|[\w]+:\d+)/)?(?P<image>[a-z0-9_.-]+(?:/[a-z0-9_.-]+)*))(?::(?P<tag>[\w][\w.-]{0,127}))?(?:@(?P<digest>[A-Za-z][A-Za-z0-9]*(?:[+.-_][A-Za-z][A-Za-z0-9]*)*:[0-9a-fA-F]{32,}))?$Example: image: registry.example.com/images/slackware:15
- 
    objectspec.dataSource.containerImage.imagePullSecret- 
    stringspec.dataSource.containerImage.imagePullSecret.nameName of the secret keeping container registry credentials, which must be located in the same namespace.
 
- 
    
 
- 
    
- 
    objectspec.dataSource.httpFill the image with data from an external URL. The following schemas are supported: - HTTP
- HTTPS
 For HTTPS schema, there is an option to skip the TLS verification. - 
    stringspec.dataSource.http.caBundleCA chain in Base64 format to verify the URL.Example: caBundle: YWFhCg==
- 
    objectspec.dataSource.http.checksumChecksum to verify integrity and consistency of the downloaded file. The file must match all specified checksums.- 
    stringspec.dataSource.http.checksum.md5Length: 32..32Pattern: ^[0-9a-fA-F]{32}$Example: md5: f3b59bed9f91e32fac1210184fcff6f5
- 
    stringspec.dataSource.http.checksum.sha256Length: 64..64Pattern: ^[0-9a-fA-F]{64}$Example: sha256: 78be890d71dde316c412da2ce8332ba47b9ce7a29d573801d2777e01aa20b9b5
 
- 
    
- 
    stringspec.dataSource.http.urlRequired value URL of the file for creating an image. The following file formats are supported: - qcow2
- vmdk
- vdi
- iso
- raw The file can be compressed into an archive in one of the following formats:
- gz
- xz
 Pattern: ^http[s]?:\/\/(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+$Example: url: https://mirror.example.com/images/slackware-15.qcow.gz
 
- 
    objectspec.dataSource.objectRefUse an existing VirtualImage, ClusterVirtualImage, or VirtualDiskSnapshot resource to create a disk.- 
    stringspec.dataSource.objectRef.kindRequired value Kind of the existing VirtualImage, ClusterVirtualImage, or VirtualDiskSnapshot resource.Allowed values: ClusterVirtualImage,VirtualImage,VirtualDiskSnapshot
- 
    stringspec.dataSource.objectRef.nameRequired value Name of the existing VirtualImage, ClusterVirtualImage, or VirtualDiskSnapshot resource.
 
- 
    
- 
    stringspec.dataSource.typeThe following image sources are available for creating an image: - HTTP: From a file published on an HTTP/HTTPS service at a given URL.
- ContainerImage: From another image stored in a container registry.
- ObjectRef: From an existing resource.
- Upload: From data uploaded by the user via a special interface.
 Allowed values: HTTP,ContainerImage,ObjectRef,Upload
 
- 
    
- 
    objectspec.persistentVolumeClaimSettings for creating PVCs to store the disk.- 
    integer or stringspec.persistentVolumeClaim.sizeDesired size for PVC to store the disk. If the disk is created from an image, the size must be at least as large as the original unpacked image. This parameter can be omitted if the .spec.dataSourcesection is filled out. In this case, the controller will determine the disk size automatically, based on the size of the extracted image from the source specified in.spec.dataSource.Pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- 
    stringspec.persistentVolumeClaim.storageClassNameStorageClass name required by the claim. For details on using StorageClass for PVC, refer to https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1. When creating disks, the user can specify the required StorageClass. If not specified, the default StorageClass will be used. The disk features and virtual machine behavior depend on the selected StorageClass. The VolumeBindingModeparameter in the StorageClass affects the disk creation process. The following values are allowed:- Immediate: The disk will be created and becomes available for use immediately after creation.
- WaitForFirstConsumer: The disk will be created when first used on the node where the virtual machine will be started.
 StorageClass supports multiple storage settings: - Creating a block device (Block) or file system (FileSystem).
- Multiple access (ReadWriteMany) or single access (ReadWriteOnce). TheReadWriteManydisks support multiple access, which enables a “live” migration of virtual machines. In contrast, theReadWriteOncedisks, which can be accessed from only one node, don’t have this feature.
 For known storage types, Deckhouse automatically determines the most efficient settings when creating disks (by priority, in descending order): - Block+- ReadWriteMany
- FileSystem+- ReadWriteMany
- Block+- ReadWriteOnce
- FileSystem+- ReadWriteOnce
 
 
- 
    
 
- 
    
VirtualDiskSnapshot
Scope: Namespaced
      
Version: v1alpha2
Provides a resource for creating snapshots of existing virtual disks, which can be used as data sources for generating new virtual disks.
When running, a VolumeSnapshot resource is created.
- 
    objectspec- 
    booleanspec.requiredConsistencyCreate a snapshot of a connected virtual machine’s disk only if it is possible to freeze the machine through the agent. If set to True, a virtual disk snapshot will be created when at least one of the following conditions is met:- The virtual disk is not connected to any virtual machine.
- The virtual disk is connected to a powered-off virtual machine.
- The virtual disk is connected to a virtual machine with an agent, and the freeze operation was successful.
 Default: true
- 
    stringspec.virtualDiskNameRequired value Virtual disk name the snapshot is created for.
 
- 
    
VirtualImage
Scope: Namespaced
      
Version: v1alpha2
This resource describes a virtual disk image to use as a data source for new VirtualDisk resources or an installation image (iso) that can be mounted into the VirtualMachine resource.
This resource cannot be modified once it has been created.
With this resource in the cluster, a container image is created and stored in a dedicated Deckhouse Virtualization Container Registry (DVCR) or PVC, with the data filled in from the source.
- 
    stringapiVersionAPIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
- 
    stringkindKind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
- 
    objectmetadata
- 
    objectspec- 
    objectspec.dataSourceRequired value - 
    objectspec.dataSource.containerImageUse an image stored in an external container registry. Only registries with enabled TLS protocol are supported. To provide a custom Certificate Authority (CA) chain, use thecaBundlefield.- 
    stringspec.dataSource.containerImage.caBundleCA chain in Base64 format to verify the container registry.Example: caBundle: YWFhCg==
- 
    stringspec.dataSource.containerImage.imageRequired value Path to the image in the container registry.Pattern: ^(?P<name>(?:(?P<domain>(?:(?:localhost|[\w-]+(?:\.[\w-]+)+)(?::\d+)?)|[\w]+:\d+)/)?(?P<image>[a-z0-9_.-]+(?:/[a-z0-9_.-]+)*))(?::(?P<tag>[\w][\w.-]{0,127}))?(?:@(?P<digest>[A-Za-z][A-Za-z0-9]*(?:[+.-_][A-Za-z][A-Za-z0-9]*)*:[0-9a-fA-F]{32,}))?$Example: image: registry.example.com/images/slackware:15
- 
    objectspec.dataSource.containerImage.imagePullSecret- 
    stringspec.dataSource.containerImage.imagePullSecret.nameName of the secret keeping container registry credentials, which must be located in the same namespace.
 
- 
    
 
- 
    
- 
    objectspec.dataSource.httpFill the image with data from an external URL. The following schemas are supported: - HTTP
- HTTPS
 For HTTPS schema, there is an option to skip the TLS verification. - 
    stringspec.dataSource.http.caBundleCA chain in Base64 format to verify the URL.Example: caBundle: YWFhCg==
- 
    objectspec.dataSource.http.checksumChecksum to verify integrity and consistency of the downloaded file. The file must match all specified checksums.- 
    stringspec.dataSource.http.checksum.md5Length: 32..32Pattern: ^[0-9a-fA-F]{32}$Example: md5: f3b59bed9f91e32fac1210184fcff6f5
- 
    stringspec.dataSource.http.checksum.sha256Length: 64..64Pattern: ^[0-9a-fA-F]{64}$Example: sha256: 78be890d71dde316c412da2ce8332ba47b9ce7a29d573801d2777e01aa20b9b5
 
- 
    
- 
    stringspec.dataSource.http.urlRequired value URL of the file for creating an image. The following file formats are supported: - qcow2
- vmdk
- vdi
- iso
- raw The file can be compressed into an archive in one of the following formats:
- gz
- xz
 Pattern: ^http[s]?:\/\/(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+$Example: url: https://mirror.example.com/images/slackware-15.qcow.gz
 
- 
    objectspec.dataSource.objectRefUse an existing VirtualImage, ClusterVirtualImage, VirtualDisk or VirtualDiskSnapshot resource to create an image.- 
    stringspec.dataSource.objectRef.kindRequired value Kind of an existing VirtualImage, ClusterVirtualImage, VirtualDisk or VirtualDiskSnapshot resource.Allowed values: ClusterVirtualImage,VirtualImage,VirtualDisk,VirtualDiskSnapshot
- 
    stringspec.dataSource.objectRef.nameRequired value Name of an existing VirtualImage, ClusterVirtualImage, VirtualDisk or VirtualDiskSnapshot resource.
 
- 
    
- 
    stringspec.dataSource.typeThe following image sources are available for creating an image: - HTTP: From a file published on an HTTP/HTTPS service at a given URL.
- ContainerImage: From another image stored in a container registry.
- ObjectRef: From an existing resource.
- Upload: From data uploaded by the user via a special interface.
 Allowed values: HTTP,ContainerImage,ObjectRef,Upload
 
- 
    
- 
    objectspec.persistentVolumeClaimSettings for creating PVCs to store an image with the storage typePersistentVolumeClaim.- 
    stringspec.persistentVolumeClaim.storageClassNameName of the StorageClass required by the claim. For details on using StorageClass for PVC, refer to — https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1. When creating an image with the PersistentVolumeClaimstorage type, the user can specify the required StorageClass. If not specified, the default StorageClass will be used.
 
- 
    
- 
    stringspec.storageRequired value Storage type to keep the image for the current virtualization setup. - ContainerRegistry: Use the DVCR container registry. In this case, images are downloaded to a container and then to DVCR (shipped with the virtualization module).
- PersistentVolumeClaim: Use a PVC.
- Kubernetes: A deprecated storage type. Not recommended for use and may be removed in future versions. Use- PersistentVolumeClaiminstead.
 Default: ContainerRegistryAllowed values: ContainerRegistry,Kubernetes,PersistentVolumeClaim
 
- 
    
VirtualMachineBlockDeviceAttachment
Scope: Namespaced
      
Version: v1alpha2
- 
    stringapiVersionAPIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
- 
    stringkindKind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
- 
    objectmetadata
- 
    objectspec- 
    objectspec.blockDeviceRefRequired value Block device that will be connected to the VM as a hot-plug disk.- 
    stringspec.blockDeviceRef.kindBlock device type. Available options: - VirtualDisk: Use VirtualDisk as the disk. This type is always mounted in RW mode.
- VirtualImage: Use VirtualImage as the disk. This type is always mounted in RO mode.
- ClusterVirtualImage: Use ClusterVirtualImage as the disk. This type is always mounted in RO mode.
 Allowed values: VirtualDisk,VirtualImage,ClusterVirtualImage
- 
    stringspec.blockDeviceRef.nameName of the block device to attach.
 
- 
    
- 
    stringspec.virtualMachineNameRequired value Virtual machine name the disk or image should be attached to.
 
- 
    
VirtualMachineClass
Scope: Cluster
      
Version: v1alpha2
- 
    stringapiVersionAPIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
- 
    stringkindKind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
- 
    objectmetadata
- 
    objectspec- 
    objectspec.cpuRequired value CPU defines the requirements for the virtual CPU model.- 
    objectspec.cpu.discoveryCreate a CPU model based on intersecting CPU features for selected nodes.- 
    objectspec.cpu.discovery.nodeSelectorA selection of nodes to be used as the basis for creating a universal CPU model.- 
    array of objectsspec.cpu.discovery.nodeSelector.matchExpressionsmatchExpressions is a list of label selector requirements. The requirements are ANDed.- 
    stringspec.cpu.discovery.nodeSelector.matchExpressions.keykey is the label key that the selector applies to.
- 
    stringspec.cpu.discovery.nodeSelector.matchExpressions.operatoroperator represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
- 
    array of stringsspec.cpu.discovery.nodeSelector.matchExpressions.valuesvalues 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. This array is replaced during a strategic merge patch.
 
- 
    
- 
    objectspec.cpu.discovery.nodeSelector.matchLabelsmatchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is “key”, the operator is “In”, and the values array contains only “value”. The requirements are ANDed.
 
- 
    
 
- 
    
- 
    array of stringsspec.cpu.featuresList of CPU instructions (features) required when type=Features. For more information about CPU features, refer to the libvirt docs.Example: features: - mmx - vmx - sse2
- 
    stringspec.cpu.modelCPU model name. For more information about CPU models and topology, refer to the libvirt docs.Minimal length: 1Example: model: IvyBridge
- 
    stringspec.cpu.typeRequired value CPUType defines the CPU type, the following options are supported: - Host: Uses a virtual CPU with an instruction set closely matching the platform node’s CPU. This provides high performance and functionality, as well as compatibility with “live” migration for nodes with similar processor types. For example, VM migration between nodes with Intel and AMD processors will not work. This is also true for different CPU generations, as their instruction set is different.
- HostPassthrough: Uses the platform node’s physical CPU directly, without any modifications. When using this class, the guest VM can only be transferred to a target node with a CPU exactly matching the source node’s CPU.
- Discovery: Create a virtual CPU based on instruction sets of physical CPUs for a selected set of nodes.
- Model: CPU model. A CPU model is a named and previously defined set of supported CPU instructions.
- Features: A required set of supported instructions for the CPU.
 Allowed values: Host,HostPassthrough,Discovery,Model,Features
 
- 
    
- 
    objectspec.nodeSelectorNodeSelector defines the nodes targeted for VM scheduling.- 
    array of objectsspec.nodeSelector.matchExpressionsA list of node selector requirements by node’s labels.- 
    stringspec.nodeSelector.matchExpressions.keyThe label key that the selector applies to.
- 
    stringspec.nodeSelector.matchExpressions.operatorRepresents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
- 
    array of stringsspec.nodeSelector.matchExpressions.valuesAn 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.
 
- 
    
- 
    objectspec.nodeSelector.matchLabelsA map of {key,value} pairs. A single {key,value} pair in the matchLabels map is equivalent to an element of matchExpressions whose key field is “key”, operator is “In”, and the value array contains only “value”. The requirements are ANDed.
 
- 
    
- 
    array of objectsspec.sizingPolicies- 
    array of integersspec.sizingPolicies.coreFractionsAllowed values of thecoreFractionparameter.- 
    integerspec.sizingPolicies.coreFractions.Element of the arrayAllowed values: 1 <= X <= 100
 
- 
    
- 
    objectspec.sizingPolicies.coresThe policy applies for a specified range of the number of CPU cores.- 
    integerspec.sizingPolicies.cores.maxRequired value Maximum number of CPU cores.Allowed values: X <= 1024Example: max: 10
- 
    integerspec.sizingPolicies.cores.minRequired value Minimum number of CPU cores.Allowed values: 1 <= XExample: min: 1
- 
    integerspec.sizingPolicies.cores.stepDiscretization step for the CPU core number. For example, the combination ofmin=2,max=10, andstep=4allows to set the number of virtual machine CPU cores to 2, 6, or 10.Allowed values: 1 <= XExample: step: 1
 
- 
    
- 
    array of booleansspec.sizingPolicies.dedicatedCoresAllowed values of thededicatedCoresparameter.
- 
    objectspec.sizingPolicies.memoryMemory sizing policy.- 
    integer or stringspec.sizingPolicies.memory.maxMaximum amount of memory.Pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$Example: max: 8Gi
- 
    integer or stringspec.sizingPolicies.memory.minMinimum amount of memory.Pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$Example: min: 1Gi
- 
    objectspec.sizingPolicies.memory.perCoreAmount of memory per CPU core.- 
    integer or stringspec.sizingPolicies.memory.perCore.maxMaximum amount of memory.Pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$Example: max: 8Gi
- 
    integer or stringspec.sizingPolicies.memory.perCore.minMinimum amount of memory.Pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$Example: min: 1Gi
 
- 
    
- 
    integer or stringspec.sizingPolicies.memory.stepMemory size discretization step. For example, the combination ofmin=2Gi,max=4Giandstep=1Gi` allows to set the virtual machine memory size to 2Gi, 3Gi, or 4Gi.Pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$Example: step: 512Mi
 
- 
    
 
- 
    
- 
    array of objectsspec.tolerationsTolerations are the same asspec.tolerationsfor pods. These tolerations will be merged with the tolerations specified in the VirtualMachine resource. VirtualMachine tolerations have a higher priority.- 
    stringspec.tolerations.effectEffect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
- 
    stringspec.tolerations.keyKey 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.
- 
    stringspec.tolerations.operatorOperator 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.
- 
    integerspec.tolerations.tolerationSecondsTolerationSeconds 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.
- 
    stringspec.tolerations.valueValue is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.
 
- 
    
 
- 
    
VirtualMachineIPAddress
Scope: Namespaced
      
Version: v1alpha2
- 
    stringapiVersion
- 
    stringkind
- 
    objectmetadata
- 
    objectspecVirtualMachineIPAddress settings.- 
    stringspec.staticIPRequested static IP address to assign to the virtual machine. This field is required only iftypeis set to ‘Static’.
- 
    stringspec.typeRequired value Specifies the IP address assigning mode. Possible values: - Auto: For assigning the IP address automatically.
- Static: For assigning a specific IP address.
 Allowed values: Auto,Static
 
- 
    
VirtualMachineIPAddressLease
Scope: Cluster
      
Version: v1alpha2
- 
    stringapiVersion
- 
    stringkind
- 
    objectmetadata
- 
    objectspecVirtualMachineIPAddressLease configuration parameter.- 
    objectspec.virtualMachineIPAddressRefLink to the existing VirtualMachineIPAddress resources.- 
    stringspec.virtualMachineIPAddressRef.nameRequired value Name of the reference VirtualMachineIPAddress resource.
- 
    stringspec.virtualMachineIPAddressRef.namespaceRequired value Namespace of the reference VirtualMachineIPAddress resource.
 
- 
    
 
- 
    
VirtualMachineMACAddress
Scope: Namespaced
      
Version: v1alpha2
- 
    stringapiVersion
- 
    stringkind
- 
    objectmetadata
- 
    objectspecThe desired state ofVirtualMachineMACAddress.- 
    stringspec.addressThe requested MAC address to be assigned to the virtual machine’s network interface. If the field is empty, the MAC address is generated automatically according to the following principle: the first three octets (OUI) are formed based on the cluster UID, and the last three octets are randomly selected from the range 00:00:00 to FF:FF:FF.
 
- 
    
VirtualMachineMACAddressLease
Scope: Cluster
      
Version: v1alpha2
- 
    stringapiVersion
- 
    stringkind
- 
    objectmetadata
- 
    objectspecThe desired state ofVirtualMachineMACAddressLease.- 
    objectspec.virtualMachineMACAddressRefThe link to existingVirtualMachineMACAddress.- 
    stringspec.virtualMachineMACAddressRef.nameRequired value The name of the referencedVirtualMachineMACAddress.
- 
    stringspec.virtualMachineMACAddressRef.namespaceRequired value The Namespace of the referencedVirtualMachineMACAddress.
 
- 
    
 
- 
    
VirtualMachineOperation
Scope: Namespaced
      
Version: v1alpha2
- 
    stringapiVersionAPIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
- 
    stringkindKind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
- 
    objectmetadata
- 
    objectspec- 
    booleanspec.forceForce execution of an operation. - Effect on RestartandStop: operation performs immediately.
- Effect on EvictandMigrate: enable the AutoConverge feature to force migration via CPU throttling if thePreferSafeorPreferForcedpolicies are used for live migration.
 
- Effect on 
- 
    objectspec.restoreRestore defines the restore operation.- 
    stringspec.restore.modeRequired value VMOPRestoreMode defines the kind of the restore operation. - DryRun: DryRun run without any changes. Compatibility shows in status.
- Strict: Strict restore as is in the snapshot.
- BestEffort: BestEffort restore without deleted external missing dependencies.
 Allowed values: DryRun,Strict,BestEffort
- 
    stringspec.restore.virtualMachineSnapshotNameRequired value VirtualMachineSnapshotName defines the source of the restore operation.
 
- 
    
- 
    stringspec.typeRequired value Type of the operation to execute on a virtual machine: - Start: Start the virtual machine.
- Stop: Stop the virtual machine.
- Restart: Restart the virtual machine.
- Migrate(deprecated): Migrate the virtual machine to another node where it can be started.
- Evict: Migrate the virtual machine to another node where it can be started.
- Restore: Restore the virtual machine from a snapshot.
 Allowed values: Restart,Start,Stop,Migrate,Evict,Restore
- 
    stringspec.virtualMachineNameRequired value Name of the virtual machine the operation is performed for.
 
- 
    
VirtualMachineRestore
Scope: Namespaced
      
Version: v1alpha2
- 
    stringapiVersionAPIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
- 
    stringkindKind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
- 
    objectmetadata
- 
    objectspec- 
    array of objectsspec.nameReplacementsRenaming conventions for virtual machine resources.- 
    objectspec.nameReplacements.fromSelector to choose resources for name replacement.- 
    stringspec.nameReplacements.from.kindKind of a resource to rename.
- 
    stringspec.nameReplacements.from.nameRequired value Current name of a resource to rename.
 
- 
    
- 
    stringspec.nameReplacements.toNew resource name.
 
- 
    
- 
    stringspec.restoreModeVirtual machine restore mode: - Safe — in this mode, the virtual machine will not be restored if unresolvable conflicts are detected during the restoration process.
- Forced — in this mode, the virtual machine configuration will be updated and all associated resources will be recreated. The virtual machine may malfunction if the recovery process fails. Use the mode when you need to restore the virtual machine despite conflicts.
 Default: SafeAllowed values: Safe,Forced
- 
    stringspec.virtualMachineSnapshotNameRequired value Snapshot name to restore a virtual machine from.Minimal length: 1
 
- 
    
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.
- 
    objectspec- 
    objectspec.affinityThe same as in the pod parameter spec.affinityin Kubernetes;The affinitysetting 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
 - 
    objectspec.affinity.nodeAffinityDescribes node affinity scheduling rules for a VM.- 
    array of objectsspec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution- 
    objectspec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference- 
    array of objectsspec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions- 
    stringspec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.key
- 
    stringspec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.operator
- 
    array of stringsspec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.values- 
    stringspec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.values.Element of the array
 
- 
    
 
- 
    
- 
    array of objectsspec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields- 
    stringspec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.key
- 
    stringspec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.operator
- 
    array of stringsspec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.values- 
    stringspec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.values.Element of the array
 
- 
    
 
- 
    
 
- 
    
- 
    integerspec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.weightAllowed values: 1 <= X <= 100
 
- 
    
- 
    objectspec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution- 
    array of objectsspec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTermsRequired value - 
    array of objectsspec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions- 
    stringspec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.key
- 
    stringspec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.operator
- 
    array of stringsspec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.values- 
    stringspec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.values.Element of the array
 
- 
    
 
- 
    
- 
    array of objectsspec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields- 
    stringspec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.key
- 
    stringspec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.operator
- 
    array of stringsspec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.values- 
    stringspec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.values.Element of the array
 
- 
    
 
- 
    
 
- 
    
 
- 
    
 
- 
    
- 
    objectspec.affinity.virtualMachineAndPodAffinityDescribes pod and VM affinity scheduling rules.- 
    array of objectsspec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution- 
    objectspec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm- 
    objectspec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector- 
    array of objectsspec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector.matchExpressions- 
    stringspec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector.matchExpressions.key
- 
    stringspec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector.matchExpressions.operator
- 
    array of stringsspec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector.matchExpressions.values- 
    stringspec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector.matchExpressions.values.Element of the array
 
- 
    
 
- 
    
- 
    objectspec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector.matchLabels
 
- 
    
- 
    array of stringsspec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.matchLabelKeys- 
    stringspec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.matchLabelKeys.Element of the array
 
- 
    
- 
    array of stringsspec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.mismatchLabelKeys- 
    stringspec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.mismatchLabelKeys.Element of the array
 
- 
    
- 
    objectspec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaceSelector- 
    array of objectsspec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaceSelector.matchExpressions- 
    stringspec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaceSelector.matchExpressions.key
- 
    stringspec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaceSelector.matchExpressions.operator
- 
    array of stringsspec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaceSelector.matchExpressions.values- 
    stringspec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaceSelector.matchExpressions.values.Element of the array
 
- 
    
 
- 
    
- 
    objectspec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaceSelector.matchLabels
 
- 
    
- 
    array of stringsspec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaces- 
    stringspec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaces.Element of the array
 
- 
    
- 
    stringspec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.topologyKeyRequired value 
 
- 
    
- 
    integerspec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.weightAllowed values: 1 <= X <= 100
 
- 
    
- 
    array of objectsspec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution- 
    objectspec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector- 
    array of objectsspec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions- 
    stringspec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.key
- 
    stringspec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.operator
- 
    array of stringsspec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.values- 
    stringspec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.values.Element of the array
 
- 
    
 
- 
    
- 
    objectspec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchLabels
 
- 
    
- 
    array of stringsspec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.matchLabelKeys- 
    stringspec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.matchLabelKeys.Element of the array
 
- 
    
- 
    array of stringsspec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.mismatchLabelKeys- 
    stringspec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.mismatchLabelKeys.Element of the array
 
- 
    
- 
    objectspec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector- 
    array of objectsspec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions- 
    stringspec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.key
- 
    stringspec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.operator
- 
    array of stringsspec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.values- 
    stringspec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.values.Element of the array
 
- 
    
 
- 
    
- 
    objectspec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchLabels
 
- 
    
- 
    array of stringsspec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaces- 
    stringspec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaces.Element of the array
 
- 
    
- 
    stringspec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.topologyKey
 
- 
    
 
- 
    
- 
    objectspec.affinity.virtualMachineAndPodAntiAffinityDescribes pod and VM anti-affinity scheduling rules.- 
    array of objectsspec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution- 
    objectspec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm- 
    objectspec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector- 
    array of objectsspec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector.matchExpressions- 
    stringspec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector.matchExpressions.key
- 
    stringspec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector.matchExpressions.operator
- 
    array of stringsspec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector.matchExpressions.values- 
    stringspec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector.matchExpressions.values.Element of the array
 
- 
    
 
- 
    
- 
    objectspec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector.matchLabels
 
- 
    
- 
    array of stringsspec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.matchLabelKeys- 
    stringspec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.matchLabelKeys.Element of the array
 
- 
    
- 
    array of stringsspec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.mismatchLabelKeys- 
    stringspec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.mismatchLabelKeys.Element of the array
 
- 
    
- 
    objectspec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaceSelector- 
    array of objectsspec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaceSelector.matchExpressions- 
    stringspec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaceSelector.matchExpressions.key
- 
    stringspec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaceSelector.matchExpressions.operator
- 
    array of stringsspec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaceSelector.matchExpressions.values- 
    stringspec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaceSelector.matchExpressions.values.Element of the array
 
- 
    
 
- 
    
- 
    objectspec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaceSelector.matchLabels
 
- 
    
- 
    array of stringsspec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaces- 
    stringspec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaces.Element of the array
 
- 
    
- 
    stringspec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.topologyKeyRequired value 
 
- 
    
- 
    integerspec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.weightAllowed values: 1 <= X <= 100
 
- 
    
- 
    array of objectsspec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution- 
    objectspec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector- 
    array of objectsspec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions- 
    stringspec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.key
- 
    stringspec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.operator
- 
    array of stringsspec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.values- 
    stringspec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.values.Element of the array
 
- 
    
 
- 
    
- 
    objectspec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchLabels
 
- 
    
- 
    array of stringsspec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.matchLabelKeys- 
    stringspec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.matchLabelKeys.Element of the array
 
- 
    
- 
    array of stringsspec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.mismatchLabelKeys- 
    stringspec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.mismatchLabelKeys.Element of the array
 
- 
    
- 
    objectspec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector- 
    array of objectsspec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions- 
    stringspec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.key
- 
    stringspec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.operator
- 
    array of stringsspec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.values- 
    stringspec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.values.Element of the array
 
- 
    
 
- 
    
- 
    objectspec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchLabels
 
- 
    
- 
    array of stringsspec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaces- 
    stringspec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaces.Element of the array
 
- 
    
- 
    stringspec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.topologyKey
 
- 
    
 
- 
    
 
- 
    array of objectsspec.blockDeviceRefsRequired value List of block devices connected to the VM.- 
    stringspec.blockDeviceRefs.kindSupported block device types: - ClusterVirtualImage: Use ClusterVirtualImage as the disk. This type is always mounted in- ReadOnlymode. An ISO image will be mounted as a CD-ROM device.
- VirtualImage: Use VirtualImage as the disk. This type is always mounted in- ReadOnlymode. An ISO image will be mounted as a CD-ROM device.
- VirtualDisk: Use VirtualDisk as the disk. This type is always mounted in- ReadWritemode.
 Allowed values: ClusterVirtualImage,VirtualImage,VirtualDisk
- 
    stringspec.blockDeviceRefs.nameName of the attached resource.
 
- 
    
- 
    stringspec.bootloaderDefines 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: BIOSAllowed values: BIOS,EFI,EFIWithSecureBoot
- 
    objectspec.cpuRequired value Section describing the CPU settings for a VM.- 
    stringspec.cpu.coreFractionGuaranteed share of CPU time that will be allocated to the VM. Specified as a percentage. The range of available values is set in thesizePolicyparameter of the VirtualMachineClass; if it is not set, use values within the 1–100% range.Default: 100%
- 
    integerspec.cpu.coresRequired value Number of cores.Allowed values: 1 <= X
 
- 
    
- 
    objectspec.disruptionsDescribes 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" }- 
    stringspec.disruptions.restartApprovalModeApproval 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
 
- 
    
- 
    booleanspec.enableParavirtualizationUse the virtiobus for connecting virtual devices of a VM. To disablevirtiofor a VM, set this parameter toFalse.Note: To use the paravirtualization mode, some operating systems require installing the corresponding drivers. Default: true
- 
    stringspec.liveMigrationPolicyDefines policy for live migration process: - AlwaysSafe— use Safe options for automatic and VMOP migrations. Do not enable CPU throttling.
- PreferSafe— use Safe options for automatic migrations. CPU throttling can be enabled with- force=truein VMOP.
- AlwaysForced— enable CPU throttling for automatic and VMOP migrations. No way to disable CPU throttling.
- PreferForced— enable CPU throttling for automatic migrations. CPU throttling can be disabled with- force=falsein VMOP.
 Default: PreferSafeAllowed values: AlwaysSafe,PreferSafe,AlwaysForced,PreferForced
- 
    objectspec.memoryRequired value Section specifying the RAM settings for the VM.- 
    stringspec.memory.sizeRequired value RAM amount.Pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
 
- 
    
- 
    array of objectsspec.networksList of network interface configurations.- 
    stringspec.networks.nameThe name of the network interface.
- 
    stringspec.networks.typeThe type of the network interface. Supported types: - Main— primary network interface that is always present (default network).
- Network— a subnet at the namespace level.
- ClusterNetwork— a subnet at the cluster level.
 Allowed values: Main,Network,ClusterNetwork
- 
    stringspec.networks.virtualMachineMACAddressNameThe name of theVirtualMachineMACAddressresource that is associated with the network interface.
 
- 
    
- 
    stringspec.osTypeLets 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: GenericAllowed values: Windows,Generic
- 
    stringspec.priorityClassNameThe same as in the pod parameterspec.priorityClassNamein Kubernetes.
- 
    objectspec.provisioningSection describing a VM initial provisioning scenario.- 
    objectspec.provisioning.sysprepRefLink to an existing resource with the Windows automation scenario. A resource structure for the SysprepReftype:- .data.autounattend.xml
- .data.unattend.xml
 - 
    stringspec.provisioning.sysprepRef.kindRequired value Kind of the resource. Use a secret of the following type:provisioning.virtualization.deckhouse.io/sysprep.Default: SecretAllowed values: Secret
- 
    stringspec.provisioning.sysprepRef.nameRequired value Secret name.
 
- 
    stringspec.provisioning.typeRequired value Supported parameters for using the provisioning scenario: - UserData: Use the- cloud-initscenario in the- .spec.provisioning.UserDatasection.
- UserDataRef: Use the- cloud-initscenario located in a different resource.
- SysprepRef: Use the automatic Windows installation scenario located in a different resource.
 Allowed values: UserData,UserDataRef,SysprepRef
- 
    stringspec.provisioning.userDatacloud-initscenario content.More information about cloud-initand configuration examples.Maximum length: 2048
- 
    objectspec.provisioning.userDataRefLink to an existing resource with the cloud-initscenario.A resource structure for the userDataReftype:- .data.userData.
 - 
    stringspec.provisioning.userDataRef.kindRequired value Kind of the resource.Default: SecretAllowed values: Secret
- 
    stringspec.provisioning.userDataRef.nameRequired value Name of the resource with thecloud-initscenario.
 
 
- 
    
- 
    stringspec.runPolicyDefines 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: AlwaysOnUnlessStoppedManuallyAllowed values: AlwaysOn,AlwaysOff,Manual,AlwaysOnUnlessStoppedManually
- 
    integerspec.terminationGracePeriodSecondsGrace period after sending aSIGTERMsignal to shut down a VM. Once the grace period expires, the VM is forcibly terminated.Default: 60
- 
    
    
    - 
    stringspec.tolerations.effect
- 
    stringspec.tolerations.key
- 
    stringspec.tolerations.operator
- 
    integerspec.tolerations.tolerationSeconds
- 
    stringspec.tolerations.value
 
- 
    
- 
    array of objectsspec.topologySpreadConstraintsThe same as in the pod parameterspec.topologySpreadConstraintsin Kubernetes.- 
    objectspec.topologySpreadConstraints.labelSelector- 
    array of objectsspec.topologySpreadConstraints.labelSelector.matchExpressions- 
    stringspec.topologySpreadConstraints.labelSelector.matchExpressions.key
- 
    stringspec.topologySpreadConstraints.labelSelector.matchExpressions.operator
- 
    array of stringsspec.topologySpreadConstraints.labelSelector.matchExpressions.values- 
    stringspec.topologySpreadConstraints.labelSelector.matchExpressions.values.Element of the array
 
- 
    
 
- 
    
- 
    objectspec.topologySpreadConstraints.labelSelector.matchLabels
 
- 
    
- 
    integerspec.topologySpreadConstraints.maxSkew
- 
    stringspec.topologySpreadConstraints.topologyKey
- 
    stringspec.topologySpreadConstraints.whenUnsatisfiable
 
- 
    
- 
    stringspec.virtualMachineClassNameRequired value Name of the VirtualMachineClass resource describing the requirements for a virtual CPU, memory, and the resource allocation policy.
- 
    stringspec.virtualMachineIPAddressNameName 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).
 
- 
    
VirtualMachineSnapshot
Scope: Namespaced
      
Version: v1alpha2
- 
    stringapiVersionAPIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
- 
    stringkindKind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
- 
    objectmetadata
- 
    objectspec- 
    stringspec.keepIPAddressRequired value KeepIPAddress defines whether to keep the IP address of a virtual machine or not: - Always: When creating a snapshot, the virtual machine’s IP address will be converted from- Autoto- Staticand saved.
- Never: When creating a snapshot, the virtual machine’s IP address will not be converted.
 Default: AlwaysAllowed values: Always,Never
- 
    booleanspec.requiredConsistencyRequired value Create a snapshot of a virtual machine only if it is possible to freeze the machine through the agent. If set to true, the virtual machine snapshot will be created only in the following cases:- When the virtual machine is powered off.
- When the virtual machine has an agent, and the freeze operation was successful.
 Default: true
- 
    stringspec.virtualMachineNameRequired value Name of the virtual machine to take a snapshot of.Minimal length: 1
 
-