API Reference¶
Packages¶
infra.virtrigaud.io/v1beta1¶
Package v1beta1 contains API Schema definitions for the infra.virtrigaud.io v1beta1 API group
Resource Types¶
- Provider
- ProviderList
- VMClass
- VMClassList
- VMClone
- VMCloneList
- VMImage
- VMImageList
- VMMigration
- VMMigrationList
- VMNetworkAttachment
- VMNetworkAttachmentList
- VMPlacementPolicy
- VMPlacementPolicyList
- VMSet
- VMSetList
- VMSnapshot
- VMSnapshotList
- VirtualMachine
- VirtualMachineList
AffinityRules¶
AffinityRules defines affinity placement rules
Appears in: - VMPlacementPolicySpec
| Field | Description | Default | Validation |
|---|---|---|---|
vmAffinity VMAffinity | VMAffinity defines affinity rules between VMs | ||
hostAffinity HostAffinityRule | HostAffinity encourages VMs to be placed on the same host | ||
clusterAffinity ClusterAffinityRule | ClusterAffinity encourages VMs to be placed in the same cluster | ||
datastoreAffinity DatastoreAffinityRule | DatastoreAffinity encourages VMs to be placed on the same datastore | ||
zoneAffinity ZoneAffinityRule | ZoneAffinity encourages VMs to be placed in the same zone | ||
applicationAffinity ApplicationAffinityRule | ApplicationAffinity encourages VMs from the same application to be co-located |
AntiAffinityRules¶
AntiAffinityRules defines anti-affinity placement rules
Appears in: - VMPlacementPolicySpec
| Field | Description | Default | Validation |
|---|---|---|---|
vmAntiAffinity VMAntiAffinity | VMAntiAffinity defines anti-affinity rules between VMs | ||
hostAntiAffinity HostAntiAffinityRule | HostAntiAffinity prevents VMs from being placed on the same host | ||
clusterAntiAffinity ClusterAntiAffinityRule | ClusterAntiAffinity prevents VMs from being placed in the same cluster | ||
datastoreAntiAffinity DatastoreAntiAffinityRule | DatastoreAntiAffinity prevents VMs from being placed on the same datastore | ||
zoneAntiAffinity ZoneAntiAffinityRule | ZoneAntiAffinity prevents VMs from being placed in the same zone | ||
applicationAntiAffinity ApplicationAntiAffinityRule | ApplicationAntiAffinity prevents VMs from different applications being co-located |
ApplicationAffinityRule¶
ApplicationAffinityRule defines application affinity rules
Appears in: - AffinityRules
| Field | Description | Default | Validation |
|---|---|---|---|
enabled boolean | Enabled indicates if application affinity is enabled | ||
applicationLabel string | ApplicationLabel specifies the label key used to identify applications | app | |
scope string | Scope defines the scope of the affinity rule | Enum: [strict preferred] |
ApplicationAntiAffinityRule¶
ApplicationAntiAffinityRule defines application anti-affinity rules
Appears in: - AntiAffinityRules
| Field | Description | Default | Validation |
|---|---|---|---|
enabled boolean | Enabled indicates if application anti-affinity is enabled | ||
applicationLabel string | ApplicationLabel specifies the label key used to identify applications | app | |
scope string | Scope defines the scope of the anti-affinity rule | Enum: [strict preferred] |
BasicAuthConfig¶
BasicAuthConfig defines basic authentication configuration
Appears in: - HTTPAuthentication
| Field | Description | Default | Validation |
|---|---|---|---|
secretRef LocalObjectReference | SecretRef references a secret containing username and password | ||
usernameKey string | UsernameKey is the key in the secret containing the username (default: username) | username | |
passwordKey string | PasswordKey is the key in the secret containing the password (default: password) | password |
BearerTokenConfig¶
BearerTokenConfig defines bearer token authentication configuration
Appears in: - HTTPAuthentication
| Field | Description | Default | Validation |
|---|---|---|---|
secretRef LocalObjectReference | SecretRef references a secret containing the bearer token | ||
tokenKey string | TokenKey is the key in the secret containing the token (default: token) | token |
BridgeConfig¶
BridgeConfig defines bridge configuration
Appears in: - LibvirtNetworkConfig
| Field | Description | Default | Validation |
|---|---|---|---|
name string | Name is the bridge name | MaxLength: 15 | |
stp boolean | STP enables Spanning Tree Protocol | false | |
delay integer | Delay is the STP forwarding delay | Maximum: 30 Minimum: 0 |
CertificateSpec¶
CertificateSpec defines a certificate to install
Appears in: - VMCustomization
| Field | Description | Default | Validation |
|---|---|---|---|
name string | Name is the certificate name | MaxLength: 255 | |
data string | Data contains the certificate data (PEM format) | ||
secretRef LocalObjectReference | SecretRef references a secret containing the certificate | ||
secretKey string | SecretKey is the key in the secret containing the certificate | tls.crt | |
store string | Store specifies the certificate store | root | Enum: [root ca my trust] |
ChecksumType¶
Underlying type: string
ChecksumType represents the checksum algorithm
Validation: - Enum: [md5 sha1 sha256 sha512]
Appears in: - HTTPImageSource - LibvirtImageSource - VSphereImageSource
| Field | Description |
|---|---|
md5 | ChecksumTypeMD5 indicates MD5 checksum |
sha1 | ChecksumTypeSHA1 indicates SHA1 checksum |
sha256 | ChecksumTypeSHA256 indicates SHA256 checksum |
sha512 | ChecksumTypeSHA512 indicates SHA512 checksum |
ClientCertConfig¶
ClientCertConfig defines client certificate authentication configuration
Appears in: - HTTPAuthentication
| Field | Description | Default | Validation |
|---|---|---|---|
secretRef LocalObjectReference | SecretRef references a secret containing the client certificate and key | ||
certKey string | CertKey is the key in the secret containing the certificate (default: tls.crt) | tls.crt | |
keyKey string | KeyKey is the key in the secret containing the private key (default: tls.key) | tls.key |
CloneMetadata¶
CloneMetadata contains clone operation metadata
Appears in: - VMCloneSpec
| Field | Description | Default | Validation |
|---|---|---|---|
purpose string | Purpose describes the purpose of the clone | Enum: [backup testing migration development production staging] | |
createdBy string | CreatedBy identifies who or what created the clone | MaxLength: 255 | |
project string | Project identifies the project this clone belongs to | MaxLength: 255 | |
environment string | Environment specifies the environment | Enum: [dev staging prod test] | |
tags object (keys:string, values:string) | Tags are key-value pairs for categorizing the clone | MaxProperties: 50 |
CloneOptions¶
CloneOptions defines cloning options
Appears in: - VMCloneSpec
| Field | Description | Default | Validation |
|---|---|---|---|
type CloneType | Type specifies the clone type | FullClone | Enum: [FullClone LinkedClone InstantClone] |
powerOn boolean | PowerOn indicates whether to power on the cloned VM | false | |
includeSnapshots boolean | IncludeSnapshots indicates whether to include snapshots in the clone | false | |
parallel boolean | Parallel enables parallel disk cloning (if supported) | false | |
timeout Duration | Timeout defines the maximum time to wait for clone completion | 30m | |
retryPolicy CloneRetryPolicy | RetryPolicy defines retry behavior for failed clones | ||
storage CloneStorageOptions | Storage defines storage-specific clone options | ||
performance ClonePerformanceOptions | Performance defines performance-related clone options |
ClonePerformanceOptions¶
ClonePerformanceOptions defines performance-related clone options
Appears in: - CloneOptions
| Field | Description | Default | Validation |
|---|---|---|---|
priority string | Priority specifies the clone operation priority | Normal | Enum: [Low Normal High] |
ioThrottling boolean | IOThrottling enables I/O throttling during clone operations | false | |
maxIOPS integer | MaxIOPS limits the maximum IOPS during clone operations | Maximum: 100000 Minimum: 100 | |
concurrentDisks integer | ConcurrentDisks limits the number of disks cloned concurrently | 2 | Maximum: 10 Minimum: 1 |
ClonePhase¶
Underlying type: string
ClonePhase represents the phase of a clone operation
Validation: - Enum: [Pending Preparing Cloning Customizing Powering-On Ready Failed]
Appears in: - VMCloneStatus
| Field | Description |
|---|---|
Pending | ClonePhasePending indicates the clone is waiting to be processed |
Preparing | ClonePhasePreparing indicates the clone is being prepared |
Cloning | ClonePhaseCloning indicates the clone operation is in progress |
Customizing | ClonePhaseCustomizing indicates the clone is being customized |
Powering-On | ClonePhasePoweringOn indicates the clone is being powered on |
Ready | ClonePhaseReady indicates the clone is ready for use |
Failed | ClonePhaseFailed indicates the clone operation failed |
CloneProgress¶
CloneProgress shows the clone operation progress
Appears in: - VMCloneStatus
| Field | Description | Default | Validation |
|---|---|---|---|
totalDisks integer | TotalDisks is the total number of disks to clone | ||
completedDisks integer | CompletedDisks is the number of disks completed | ||
currentDisk DiskCloneProgress | CurrentDisk shows progress of the current disk being cloned | ||
overallPercentage integer | OverallPercentage is the overall completion percentage (0-100) | Maximum: 100 Minimum: 0 | |
eta Duration | ETA is the estimated time to completion |
CloneRetryPolicy¶
CloneRetryPolicy defines retry behavior for failed clones
Appears in: - CloneOptions
| Field | Description | Default | Validation |
|---|---|---|---|
maxRetries integer | MaxRetries is the maximum number of retry attempts | 3 | Maximum: 10 Minimum: 0 |
retryDelay Duration | RetryDelay is the delay between retry attempts | 5m | |
backoffMultiplier integer | BackoffMultiplier is the multiplier for exponential backoff | 2 |
CloneSource¶
CloneSource defines the source for cloning
Appears in: - VMCloneSpec
| Field | Description | Default | Validation |
|---|---|---|---|
vmRef LocalObjectReference | VMRef references the source virtual machine to clone | ||
snapshotRef LocalObjectReference | SnapshotRef references a specific snapshot to clone from | ||
templateRef ObjectRef | TemplateRef references a VM template to clone from | ||
imageRef ObjectRef | ImageRef references a VM image to clone from |
CloneStorageOptions¶
CloneStorageOptions defines storage-specific clone options
Appears in: - CloneOptions
| Field | Description | Default | Validation |
|---|---|---|---|
preferThinProvisioning boolean | PreferThinProvisioning prefers thin provisioning for cloned disks | true | |
diskFormat DiskType | DiskFormat specifies the preferred disk format for cloned disks | Enum: [thin thick eagerzeroedthick ssd hdd nvme] | |
storageClass string | StorageClass specifies the storage class for cloned disks | MaxLength: 253 | |
datastore string | Datastore specifies the target datastore for cloned disks | MaxLength: 255 | |
folder string | Folder specifies the target folder for the cloned VM | MaxLength: 255 | |
enableCompression boolean | EnableCompression enables compression during clone operations | false |
CloneType¶
Underlying type: string
CloneType represents the type of clone operation
Validation: - Enum: [FullClone LinkedClone InstantClone]
Appears in: - CloneOptions - VMCloneStatus
| Field | Description |
|---|---|
FullClone | CloneTypeFullClone creates a full independent clone |
LinkedClone | CloneTypeLinkedClone creates a linked clone sharing storage with parent |
InstantClone | CloneTypeInstantClone creates an instant clone (if supported) |
CloudInit¶
CloudInit defines cloud-init configuration
Appears in: - UserData
| Field | Description | Default | Validation |
|---|---|---|---|
inline string | Inline contains inline cloud-init data | ||
secretRef LocalObjectReference | SecretRef references a Secret containing cloud-init data |
CloudInitMetaData¶
CloudInitMetaData defines cloud-init metadata configuration
Appears in: - MetaData
| Field | Description | Default | Validation |
|---|---|---|---|
inline string | Inline contains inline cloud-init metadata in YAML format | ||
secretRef LocalObjectReference | SecretRef references a Secret containing cloud-init metadata |
ClusterAffinityRule¶
ClusterAffinityRule defines cluster affinity rules
Appears in: - AffinityRules
| Field | Description | Default | Validation |
|---|---|---|---|
enabled boolean | Enabled indicates if cluster affinity is enabled | ||
preferredClusters string array | PreferredClusters lists preferred clusters | MaxItems: 20 | |
scope string | Scope defines the scope of the affinity rule | Enum: [strict preferred] |
ClusterAntiAffinityRule¶
ClusterAntiAffinityRule defines cluster anti-affinity rules
Appears in: - AntiAffinityRules
| Field | Description | Default | Validation |
|---|---|---|---|
enabled boolean | Enabled indicates if cluster anti-affinity is enabled | ||
maxVMsPerCluster integer | MaxVMsPerCluster limits the number of VMs per cluster | Maximum: 10000 Minimum: 1 | |
scope string | Scope defines the scope of the anti-affinity rule | Enum: [strict preferred] |
ConnectionPooling¶
ConnectionPooling defines connection pooling settings
Appears in: - ProviderSpec
| Field | Description | Default | Validation |
|---|---|---|---|
maxConnections integer | MaxConnections is the maximum number of connections to maintain | 10 | Maximum: 100 Minimum: 1 |
maxIdleConnections integer | MaxIdleConnections is the maximum number of idle connections | 5 | Minimum: 1 |
connectionTimeout Duration | ConnectionTimeout is the timeout for establishing connections | 30s | |
idleTimeout Duration | IdleTimeout is the timeout for idle connections | 5m |
ContentLibraryRef¶
ContentLibraryRef references a vSphere content library item
Appears in: - VSphereImageSource
| Field | Description | Default | Validation |
|---|---|---|---|
library string | Library is the name of the content library | MaxLength: 255 | |
item string | Item is the name of the library item | MaxLength: 255 | |
version string | Version specifies the item version (optional) |
CustomizationStatus¶
CustomizationStatus contains customization operation status
Appears in: - VMCloneStatus
| Field | Description | Default | Validation |
|---|---|---|---|
started boolean | Started indicates if customization has started | ||
completed boolean | Completed indicates if customization has completed | ||
completedSteps string array | CompletedSteps lists completed customization steps | ||
failedSteps string array | FailedSteps lists failed customization steps | ||
currentStep string | CurrentStep is the current customization step | ||
message string | Message provides customization status details |
DHCPConfig¶
DHCPConfig defines DHCP configuration
Appears in: - IPAllocationConfig
| Field | Description | Default | Validation |
|---|---|---|---|
clientID string | ClientID specifies the DHCP client ID | MaxLength: 255 | |
hostname string | Hostname specifies the hostname to request | MaxLength: 255 | |
options object (keys:string, values:string) | Options contains DHCP options | MaxProperties: 20 |
DNSConfig¶
DNSConfig defines DNS configuration
Appears in: - IPAllocationConfig
| Field | Description | Default | Validation |
|---|---|---|---|
servers string array | Servers contains DNS server addresses | MaxItems: 10 | |
searchDomains string array | SearchDomains contains DNS search domains | MaxItems: 10 | |
options object (keys:string, values:string) | Options contains DNS resolver options | MaxProperties: 10 |
DataVolumeImageSource¶
DataVolumeImageSource defines DataVolume-based image configuration
Appears in: - ImageSource
| Field | Description | Default | Validation |
|---|---|---|---|
name string | Name is the name of the DataVolume | MaxLength: 253 Pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ | |
namespace string | Namespace is the namespace of the DataVolume (defaults to image namespace) | MaxLength: 63 Pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ |
DatastoreAffinityRule¶
DatastoreAffinityRule defines datastore affinity rules
Appears in: - AffinityRules
| Field | Description | Default | Validation |
|---|---|---|---|
enabled boolean | Enabled indicates if datastore affinity is enabled | ||
preferredDatastores string array | PreferredDatastores lists preferred datastores | MaxItems: 50 | |
scope string | Scope defines the scope of the affinity rule | Enum: [strict preferred] |
DatastoreAntiAffinityRule¶
DatastoreAntiAffinityRule defines datastore anti-affinity rules
Appears in: - AntiAffinityRules
| Field | Description | Default | Validation |
|---|---|---|---|
enabled boolean | Enabled indicates if datastore anti-affinity is enabled | ||
maxVMsPerDatastore integer | MaxVMsPerDatastore limits the number of VMs per datastore | Maximum: 10000 Minimum: 1 | |
scope string | Scope defines the scope of the anti-affinity rule | Enum: [strict preferred] |
DiskCloneProgress¶
DiskCloneProgress shows the progress of cloning a single disk
Appears in: - CloneProgress
| Field | Description | Default | Validation |
|---|---|---|---|
name string | Name is the disk name | ||
totalBytes integer | TotalBytes is the total size of the disk | ||
completedBytes integer | CompletedBytes is the number of bytes completed | ||
percentage integer | Percentage is the completion percentage (0-100) | Maximum: 100 Minimum: 0 | |
transferRate integer | TransferRate is the current transfer rate in bytes per second |
DiskDefaults¶
DiskDefaults provides default disk settings
Appears in: - VMClassSpec
| Field | Description | Default | Validation |
|---|---|---|---|
type DiskType | Type specifies the default disk type | thin | Enum: [thin thick eagerzeroedthick ssd hdd nvme] |
size Quantity | Size specifies the default root disk size | 40Gi | |
iops integer | IOPS specifies the default IOPS limit | Maximum: 100000 Minimum: 100 | |
storageClass string | StorageClass specifies the default storage class | MaxLength: 253 |
DiskSpec¶
DiskSpec defines a disk configuration
Appears in: - MigrationTarget - VMCloneTarget - VirtualMachineSpec
| Field | Description | Default | Validation |
|---|---|---|---|
name string | Name is the disk identifier | MaxLength: 63 Pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ | |
sizeGiB integer | SizeGiB is the size of the disk in GiB | Maximum: 65536 Minimum: 1 | |
type string | Type specifies the disk type (provider-specific) | thin | Enum: [thin thick eagerzeroedthick ssd hdd] |
expandPolicy string | ExpandPolicy defines how the disk can be expanded | Offline | Enum: [Online Offline] |
storageClass string | StorageClass specifies the storage class (optional) |
DiskType¶
Underlying type: string
DiskType represents the type of disk provisioning
Validation: - Enum: [thin thick eagerzeroedthick ssd hdd nvme]
Appears in: - CloneStorageOptions - DiskDefaults
| Field | Description |
|---|---|
thin | DiskTypeThin indicates thin provisioned disks |
thick | DiskTypeThick indicates thick provisioned disks |
eagerzeroedthick | DiskTypeEagerZeroedThick indicates eager zeroed thick provisioned disks |
ssd | DiskTypeSSD indicates SSD storage |
hdd | DiskTypeHDD indicates HDD storage |
nvme | DiskTypeNVMe indicates NVMe storage |
DistributedSwitchConfig¶
DistributedSwitchConfig defines distributed virtual switch configuration
Appears in: - VSphereNetworkConfig
| Field | Description | Default | Validation |
|---|---|---|---|
name string | Name is the name of the distributed switch | MaxLength: 255 | |
uuid string | UUID is the UUID of the distributed switch (optional) | ||
portgroupType string | PortgroupType specifies the type of portgroup | Enum: [ephemeral distributed] |
DomainJoinSpec¶
DomainJoinSpec defines domain join configuration
Appears in: - SysprepCustomization
| Field | Description | Default | Validation |
|---|---|---|---|
domain string | Domain is the domain name to join | MaxLength: 255 | |
username string | Username is the domain join username | MaxLength: 255 | |
password PasswordSpec | Password is the domain join password | ||
organizationalUnit string | OrganizationalUnit specifies the OU for the computer account | MaxLength: 500 |
EncryptionPolicy¶
EncryptionPolicy defines VM encryption settings
Appears in: - SecurityProfile
| Field | Description | Default | Validation |
|---|---|---|---|
enabled boolean | Enabled indicates if encryption should be used | false | |
keyProvider string | KeyProvider specifies the encryption key provider | Enum: [standard hardware external] | |
requireEncryption boolean | RequireEncryption mandates encryption (fails if not available) | false |
ExecAction¶
ExecAction describes a command to be executed
Appears in: - LifecycleHandler
| Field | Description | Default | Validation |
|---|---|---|---|
command string array | Command is the command line to execute | MinItems: 1 |
FirewallConfig¶
FirewallConfig defines firewall configuration
Appears in: - NetworkSecurityConfig
| Field | Description | Default | Validation |
|---|---|---|---|
enabled boolean | Enabled indicates if firewall is enabled | false | |
defaultPolicy string | DefaultPolicy specifies the default firewall policy | ACCEPT | Enum: [ACCEPT DROP REJECT] |
rules FirewallRule array | Rules contains firewall rules | MaxItems: 100 |
FirewallRule¶
FirewallRule defines a firewall rule
Appears in: - FirewallConfig
| Field | Description | Default | Validation |
|---|---|---|---|
name string | Name is the rule name | MaxLength: 255 | |
action string | Action specifies the rule action | Enum: [ACCEPT DROP REJECT] | |
direction string | Direction specifies the traffic direction | Enum: [in out inout] | |
protocol string | Protocol specifies the protocol | Enum: [tcp udp icmp all] | |
sourceCIDR string | SourceCIDR specifies the source CIDR | ||
destinationCIDR string | DestinationCIDR specifies the destination CIDR | ||
ports PortRange | Ports specifies the port range | ||
priority integer | Priority specifies the rule priority | Maximum: 1000 Minimum: 1 |
FirmwareType¶
Underlying type: string
FirmwareType represents the firmware type for VMs
Validation: - Enum: [BIOS UEFI EFI]
Appears in: - VMClassSpec
| Field | Description |
|---|---|
BIOS | FirmwareTypeBIOS indicates BIOS firmware |
UEFI | FirmwareTypeUEFI indicates UEFI firmware |
EFI | FirmwareTypeEFI indicates EFI firmware (alias for UEFI) |
GPUConfig¶
GPUConfig defines GPU configuration for a VM
Appears in: - VirtualMachineResources
| Field | Description | Default | Validation |
|---|---|---|---|
count integer | Count specifies the number of GPUs to assign | Maximum: 8 Minimum: 1 | |
type string | Type specifies the GPU type (provider-specific) | Pattern: ^[a-zA-Z0-9-_]+$ | |
memory integer | Memory specifies GPU memory in MiB | Minimum: 512 |
GuestCommand¶
GuestCommand defines a command to run in the guest OS
Appears in: - VMCustomization
| Field | Description | Default | Validation |
|---|---|---|---|
command string | Command is the command to execute | MaxLength: 1000 | |
arguments string array | Arguments contains command arguments | MaxItems: 20 | |
workingDirectory string | WorkingDirectory specifies the working directory | MaxLength: 500 | |
runAsUser string | RunAsUser specifies the user to run the command as | MaxLength: 255 | |
timeout Duration | Timeout specifies the command timeout | 5m | |
stage string | Stage specifies when to run the command | post-customization | Enum: [pre-customization post-customization first-boot] |
GuestToolsPolicy¶
Underlying type: string
GuestToolsPolicy represents the guest tools installation policy
Validation: - Enum: [install skip upgrade uninstall]
Appears in: - VMClassSpec
| Field | Description |
|---|---|
install | GuestToolsPolicyInstall installs guest tools if not present |
skip | GuestToolsPolicySkip skips guest tools installation |
upgrade | GuestToolsPolicyUpgrade upgrades guest tools if present |
uninstall | GuestToolsPolicyUninstall removes guest tools if present |
HTTPAuthentication¶
HTTPAuthentication defines HTTP authentication options
Appears in: - HTTPImageSource
| Field | Description | Default | Validation |
|---|---|---|---|
basicAuth BasicAuthConfig | BasicAuth contains basic authentication configuration | ||
bearer BearerTokenConfig | Bearer contains bearer token authentication | ||
clientCert ClientCertConfig | ClientCert contains client certificate authentication |
HTTPGetAction¶
HTTPGetAction describes an HTTP GET request
Appears in: - LifecycleHandler
| Field | Description | Default | Validation |
|---|---|---|---|
path string | Path is the HTTP path to access | ||
port integer | Port is the port to access | Maximum: 65535 Minimum: 1 | |
host string | Host name to connect to (defaults to VM IP) | ||
scheme string | Scheme to use for connecting (HTTP or HTTPS) | HTTP | Enum: [HTTP HTTPS] |
HTTPImageSource¶
HTTPImageSource defines HTTP/HTTPS download configuration
Appears in: - ImageSource
| Field | Description | Default | Validation |
|---|---|---|---|
url string | URL is the HTTP/HTTPS URL to download the image | Pattern: ^https?://.* | |
headers object (keys:string, values:string) | Headers contains HTTP headers to include in the request | MaxProperties: 20 | |
checksum string | Checksum provides expected checksum for verification | ||
checksumType ChecksumType | ChecksumType specifies the checksum algorithm | sha256 | Enum: [md5 sha1 sha256 sha512] |
authentication HTTPAuthentication | Authentication contains authentication configuration | ||
timeout Duration | Timeout specifies the download timeout | 30m |
HostAffinityRule¶
HostAffinityRule defines host affinity rules
Appears in: - AffinityRules
| Field | Description | Default | Validation |
|---|---|---|---|
enabled boolean | Enabled indicates if host affinity is enabled | ||
preferredHosts string array | PreferredHosts lists preferred hosts | MaxItems: 50 | |
scope string | Scope defines the scope of the affinity rule | Enum: [strict preferred] |
HostAntiAffinityRule¶
HostAntiAffinityRule defines host anti-affinity rules
Appears in: - AntiAffinityRules
| Field | Description | Default | Validation |
|---|---|---|---|
enabled boolean | Enabled indicates if host anti-affinity is enabled | ||
maxVMsPerHost integer | MaxVMsPerHost limits the number of VMs per host | Maximum: 1000 Minimum: 1 | |
scope string | Scope defines the scope of the anti-affinity rule | Enum: [strict preferred] |
IPAllocation¶
IPAllocation represents an IP allocation
Appears in: - VMNetworkAttachmentStatus
| Field | Description | Default | Validation |
|---|---|---|---|
vm string | VM is the VM name that has the IP allocated | ||
ip string | IP is the allocated IP address | ||
mac string | MAC is the allocated MAC address | ||
allocatedAt Time | AllocatedAt is when the IP was allocated | ||
leaseExpiry Time | LeaseExpiry is when the IP lease expires (for DHCP) |
IPAllocationConfig¶
IPAllocationConfig defines IP address allocation settings
Appears in: - VMNetworkAttachmentSpec
| Field | Description | Default | Validation |
|---|---|---|---|
type IPAllocationType | Type specifies the IP allocation type | DHCP | Enum: [DHCP Static Pool None] |
staticConfig StaticIPConfig | StaticConfig contains static IP configuration | ||
poolConfig IPPoolConfig | PoolConfig contains IP pool configuration | ||
dhcpConfig DHCPConfig | DHCPConfig contains DHCP configuration | ||
dnsConfig DNSConfig | DNSConfig contains DNS configuration |
IPAllocationType¶
Underlying type: string
IPAllocationType represents the type of IP allocation
Validation: - Enum: [DHCP Static Pool None]
Appears in: - IPAllocationConfig
| Field | Description |
|---|---|
DHCP | IPAllocationTypeDHCP uses DHCP for IP allocation |
Static | IPAllocationTypeStatic uses static IP allocation |
Pool | IPAllocationTypePool uses an IP pool for allocation |
None | IPAllocationTypeNone disables IP allocation |
IPPoolConfig¶
IPPoolConfig defines IP pool configuration
Appears in: - IPAllocationConfig
| Field | Description | Default | Validation |
|---|---|---|---|
poolRef LocalObjectReference | PoolRef references an IP pool resource | ||
preferredIP string | PreferredIP requests a preferred IP from the pool | Pattern: ^((25[0-5]\|2[0-4][0-9]\|[01]?[0-9][0-9]?)\.)\{3\}(25[0-5]\|2[0-4][0-9]\|[01]?[0-9][0-9]?)$ |
Ignition¶
Ignition defines Ignition configuration
Appears in: - UserData
| Field | Description | Default | Validation |
|---|---|---|---|
inline string | Inline contains inline Ignition data | ||
secretRef LocalObjectReference | SecretRef references a Secret containing Ignition data |
ImageFormat¶
Underlying type: string
ImageFormat represents the format of a VM image
Validation: - Enum: [qcow2 raw vmdk vhd vhdx iso ova ovf]
Appears in: - ImageOptimization - LibvirtImageSource - RegistryImageSource - StoragePrepareOptions - VMImageStatus
| Field | Description |
|---|---|
qcow2 | ImageFormatQCOW2 indicates QEMU QCOW2 format |
raw | ImageFormatRaw indicates raw disk format |
vmdk | ImageFormatVMDK indicates VMware VMDK format |
vhd | ImageFormatVHD indicates Microsoft VHD format |
vhdx | ImageFormatVHDX indicates Microsoft VHDX format |
iso | ImageFormatISO indicates ISO format |
ova | ImageFormatOVA indicates OVA format |
ovf | ImageFormatOVF indicates OVF format |
ImageImportProgress¶
ImageImportProgress tracks the progress of image import operations
Appears in: - VMImageStatus
| Field | Description | Default | Validation |
|---|---|---|---|
totalBytes integer | TotalBytes is the total size of the image being imported | ||
transferredBytes integer | TransferredBytes is the number of bytes transferred so far | ||
percentage integer | Percentage is the completion percentage (0-100) | Maximum: 100 Minimum: 0 | |
transferRate integer | TransferRate is the current transfer rate in bytes per second | ||
eta Duration | ETA is the estimated time to completion | ||
startTime Time | StartTime is when the import started |
ImageMetadata¶
ImageMetadata contains image metadata and annotations
Appears in: - VMImageSpec
| Field | Description | Default | Validation |
|---|---|---|---|
displayName string | DisplayName is a human-readable name for the image | MaxLength: 255 | |
description string | Description provides a description of the image | MaxLength: 1024 | |
version string | Version specifies the image version | MaxLength: 100 | |
architecture string | Architecture specifies the CPU architecture | amd64 | Enum: [amd64 arm64 x86_64 aarch64] |
tags object (keys:string, values:string) | Tags are key-value pairs for categorizing the image | MaxProperties: 50 | |
annotations object (keys:string, values:string) | Annotations are additional metadata annotations | MaxProperties: 50 |
ImageMissingAction¶
Underlying type: string
ImageMissingAction defines actions to take when an image is missing
Validation: - Enum: [Import Fail Wait]
Appears in: - ImagePrepare
| Field | Description |
|---|---|
Import | ImageMissingActionImport imports the missing image |
Fail | ImageMissingActionFail fails when the image is missing |
Wait | ImageMissingActionWait waits for the image to become available |
ImageOptimization¶
ImageOptimization defines image optimization options
Appears in: - ImagePrepare
| Field | Description | Default | Validation |
|---|---|---|---|
enableCompression boolean | EnableCompression enables image compression | false | |
removeUnusedSpace boolean | RemoveUnusedSpace removes unused space from the image | false | |
convertFormat ImageFormat | ConvertFormat converts the image to a more optimal format | Enum: [qcow2 raw vmdk vhd vhdx iso ova ovf] | |
enableDeltaSync boolean | EnableDeltaSync enables delta synchronization for updates | false |
ImagePhase¶
Underlying type: string
ImagePhase represents the phase of image preparation
Validation: - Enum: [Pending Downloading Importing Converting Optimizing Ready Failed]
Appears in: - VMImageStatus
| Field | Description |
|---|---|
Pending | ImagePhasePending indicates the image is waiting to be processed |
Downloading | ImagePhaseDownloading indicates the image is being downloaded |
Importing | ImagePhaseImporting indicates the image is being imported |
Converting | ImagePhaseConverting indicates the image is being converted |
Optimizing | ImagePhaseOptimizing indicates the image is being optimized |
Ready | ImagePhaseReady indicates the image is ready for use |
Failed | ImagePhaseFailed indicates the image preparation failed |
ImagePrepare¶
ImagePrepare defines optional image preparation steps
Appears in: - VMImageSpec
| Field | Description | Default | Validation |
|---|---|---|---|
onMissing ImageMissingAction | OnMissing defines the action to take when image is missing | Import | Enum: [Import Fail Wait] |
validateChecksum boolean | ValidateChecksum validates the image checksum | true | |
timeout Duration | Timeout defines the maximum time to wait for preparation | 30m | |
retries integer | Retries defines the number of retry attempts for failed operations | 3 | Maximum: 10 Minimum: 0 |
force boolean | Force forces re-import even if image exists | ||
storage StoragePrepareOptions | Storage defines storage-specific preparation options | ||
optimization ImageOptimization | Optimization defines image optimization options |
ImageSource¶
ImageSource defines the source of the VM image
Appears in: - VMImageSpec
| Field | Description | Default | Validation |
|---|---|---|---|
vsphere VSphereImageSource | VSphere contains vSphere-specific image configuration | ||
libvirt LibvirtImageSource | Libvirt contains Libvirt-specific image configuration | ||
http HTTPImageSource | HTTP contains HTTP/HTTPS download configuration | ||
registry RegistryImageSource | Registry contains container registry image configuration | ||
dataVolume DataVolumeImageSource | DataVolume contains DataVolume-based image configuration | ||
proxmox ProxmoxImageSource | Proxmox contains Proxmox VE-specific image configuration |
ImportedDiskRef¶
ImportedDiskRef references a disk that was imported via migration or other means. This allows VMs to be created from pre-existing disk images rather than templates.
Appears in: - VirtualMachineSpec
| Field | Description | Default | Validation |
|---|---|---|---|
diskID string | DiskID is the provider-specific disk identifier. For libvirt, this is typically the volume name. | MaxLength: 253 MinLength: 1 Required: {} | |
path string | Path is the optional disk path on the provider (e.g., /var/lib/libvirt/images/disk.qcow2). If not specified, the provider will determine the path based on DiskID. | ||
format string | Format specifies the disk format (qcow2, vmdk, raw, etc.). | qcow2 | Enum: [qcow2 vmdk raw vdi vhdx] |
source string | Source indicates where the disk came from. | Enum: [migration clone import snapshot manual] | |
migrationRef LocalObjectReference | MigrationRef references the VMMigration that imported this disk. This provides traceability and audit trail for migrated disks. | ||
sizeGiB integer | SizeGiB specifies the expected disk size in GiB. Used for validation and capacity planning. | Minimum: 1 |
KernelInfo¶
KernelInfo contains kernel information
Appears in: - OSDistribution
| Field | Description | Default | Validation |
|---|---|---|---|
version string | Version is the kernel version | ||
type string | Type is the kernel type | Enum: [linux windows freebsd other] |
LibvirtImageSource¶
LibvirtImageSource defines Libvirt-specific image configuration
Appears in: - ImageSource
| Field | Description | Default | Validation |
|---|---|---|---|
path string | Path specifies the path to the image file on the host | ||
url string | URL provides a URL to download the image | Pattern: ^(https?\|ftp)://.* | |
format ImageFormat | Format specifies the image format | qcow2 | Enum: [qcow2 raw vmdk vhd vhdx iso ova ovf] |
checksum string | Checksum provides expected checksum for verification | ||
checksumType ChecksumType | ChecksumType specifies the checksum algorithm | sha256 | Enum: [md5 sha1 sha256 sha512] |
storagePool string | StoragePool specifies the libvirt storage pool | MaxLength: 255 |
LibvirtNetworkConfig¶
LibvirtNetworkConfig defines Libvirt-specific network configuration
Appears in: - NetworkConfig
| Field | Description | Default | Validation |
|---|---|---|---|
networkName string | NetworkName specifies the Libvirt network name | MaxLength: 255 | |
bridge BridgeConfig | Bridge specifies the bridge configuration | ||
model string | Model specifies the network device model | virtio | Enum: [virtio e1000 e1000e rtl8139 pcnet ne2k_pci] |
driver NetworkDriverConfig | Driver specifies the network driver configuration | ||
filterRef NetworkFilterRef | FilterRef specifies network filter configuration |
LibvirtStorageOptions¶
LibvirtStorageOptions defines Libvirt storage preparation options
Appears in: - StoragePrepareOptions
| Field | Description | Default | Validation |
|---|---|---|---|
storagePool string | StoragePool specifies the target storage pool for import | MaxLength: 255 | |
allocationPolicy string | AllocationPolicy defines how storage is allocated | Enum: [eager lazy] | |
preallocation string | Preallocation specifies preallocation mode | Enum: [off metadata falloc full] |
LifecycleHandler¶
LifecycleHandler defines a specific action that should be taken
Appears in: - VirtualMachineLifecycle
| Field | Description | Default | Validation |
|---|---|---|---|
exec ExecAction | Exec specifies a command to execute | ||
httpGet HTTPGetAction | HTTPGet specifies an HTTP GET request | ||
snapshot SnapshotAction | Snapshot specifies a snapshot to create |
LocalObjectReference¶
LocalObjectReference represents a reference to an object in the same namespace
Appears in: - BasicAuthConfig - BearerTokenConfig - CertificateSpec - ClientCertConfig - CloneSource - CloudInit - CloudInitMetaData - IPPoolConfig - Ignition - ImportedDiskRef - MigrationSource - MigrationTarget - NetworkEncryptionConfig - PasswordSpec - RegistryImageSource - SnapshotEncryption - VMCloneStatus - VMCloneTarget - VMMigrationStatus - VMPlacementPolicyStatus - VMSnapshotOperation - VMSnapshotSpec - VSphereImageSource - VirtualMachineSpec
| Field | Description | Default | Validation |
|---|---|---|---|
name string | Name of the referenced object | MaxLength: 253 Pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ |
MetaData¶
MetaData defines cloud-init metadata configuration
Appears in: - VirtualMachineSpec
| Field | Description | Default | Validation |
|---|---|---|---|
cloudInit CloudInitMetaData | CloudInit contains cloud-init metadata configuration |
MigrationDiskInfo¶
MigrationDiskInfo contains information about the migrated disk
Appears in: - VMMigrationStatus
| Field | Description | Default | Validation |
|---|---|---|---|
sourceDiskID string | SourceDiskID is the source disk identifier | ||
sourceFormat string | SourceFormat is the source disk format | ||
sourceSize Quantity | SourceSize is the source disk size in bytes | ||
targetDiskID string | TargetDiskID is the target disk identifier | ||
targetFormat string | TargetFormat is the target disk format | ||
targetSize Quantity | TargetSize is the target disk size in bytes | ||
checksum string | Checksum is the SHA256 checksum of the disk | ||
sourceChecksum string | SourceChecksum is the SHA256 checksum of the source disk | ||
targetChecksum string | TargetChecksum is the SHA256 checksum of the target disk |
MigrationMetadata¶
MigrationMetadata contains migration metadata
Appears in: - VMMigrationSpec
| Field | Description | Default | Validation |
|---|---|---|---|
purpose string | Purpose describes the purpose of the migration | Enum: [disaster-recovery cloud-migration provider-change testing maintenance] | |
createdBy string | CreatedBy identifies who or what created the migration | MaxLength: 255 | |
project string | Project identifies the project this migration belongs to | MaxLength: 255 | |
environment string | Environment specifies the environment | Enum: [dev staging prod test] | |
tags object (keys:string, values:string) | Tags are key-value pairs for categorizing the migration | MaxProperties: 50 |
MigrationOptions¶
MigrationOptions defines migration options
Appears in: - VMMigrationSpec
| Field | Description | Default | Validation |
|---|---|---|---|
diskFormat string | DiskFormat specifies the desired disk format for the target | Enum: [qcow2 vmdk raw] | |
compress boolean | Compress enables compression during transfer | false | |
verifyChecksums boolean | VerifyChecksums enables checksum verification | true | |
timeout Duration | Timeout defines the maximum time for the entire migration | 4h | |
retryPolicy MigrationRetryPolicy | RetryPolicy defines retry behavior for failed operations | ||
cleanupPolicy string | CleanupPolicy defines cleanup behavior | OnSuccess | Enum: [Always OnSuccess Never] |
validationChecks ValidationChecks | ValidationChecks defines validation checks to perform |
MigrationPhase¶
Underlying type: string
MigrationPhase represents the phase of a migration operation
Validation: - Enum: [Pending Validating Snapshotting Exporting Transferring Converting Importing Creating Validating-Target Ready Failed]
Appears in: - MigrationProgress - VMMigrationStatus
| Field | Description |
|---|---|
Pending | MigrationPhasePending indicates the migration is waiting to be processed |
Validating | MigrationPhaseValidating indicates the migration is being validated |
Snapshotting | MigrationPhaseSnapshotting indicates a snapshot is being created |
Exporting | MigrationPhaseExporting indicates the disk is being exported |
Transferring | MigrationPhaseTransferring indicates the disk is being transferred |
Converting | MigrationPhaseConverting indicates the disk format is being converted |
Importing | MigrationPhaseImporting indicates the disk is being imported |
Creating | MigrationPhaseCreating indicates the target VM is being created |
Validating-Target | MigrationPhaseValidatingTarget indicates the target VM is being validated |
Ready | MigrationPhaseReady indicates the migration is complete |
Failed | MigrationPhaseFailed indicates the migration failed |
MigrationProgress¶
MigrationProgress shows the migration operation progress
Appears in: - VMMigrationStatus
| Field | Description | Default | Validation |
|---|---|---|---|
currentPhase MigrationPhase | CurrentPhase is the current phase being executed | Enum: [Pending Validating Snapshotting Exporting Transferring Converting Importing Creating Validating-Target Ready Failed] | |
totalBytes integer | TotalBytes is the total bytes to transfer | ||
transferredBytes integer | TransferredBytes is the bytes transferred so far | ||
percentage integer | Percentage is the overall completion percentage (0-100) | Maximum: 100 Minimum: 0 | |
eta Duration | ETA is the estimated time to completion | ||
transferRate integer | TransferRate is the current transfer rate in bytes per second | ||
phaseStartTime Time | PhaseStartTime is when the current phase started |
MigrationRetryPolicy¶
MigrationRetryPolicy defines retry behavior for failed operations
Appears in: - MigrationOptions
| Field | Description | Default | Validation |
|---|---|---|---|
maxRetries integer | MaxRetries is the maximum number of retry attempts | 3 | Maximum: 10 Minimum: 0 |
retryDelay Duration | RetryDelay is the delay between retry attempts | 5m | |
backoffMultiplier integer | BackoffMultiplier is the multiplier for exponential backoff | 2 | Maximum: 10 Minimum: 1 |
MigrationSource¶
MigrationSource defines the source VM for migration
Appears in: - VMMigrationSpec
| Field | Description | Default | Validation |
|---|---|---|---|
vmRef LocalObjectReference | VMRef references the source virtual machine | ||
providerRef ObjectRef | ProviderRef explicitly specifies the source provider (optional, auto-detected from VM) | ||
snapshotRef LocalObjectReference | SnapshotRef references a specific snapshot to migrate from | ||
createSnapshot boolean | CreateSnapshot indicates whether to create a snapshot before migration | true | |
powerOffBeforeMigration boolean | PowerOffBeforeMigration ensures VM is powered off before migration | false | |
deleteAfterMigration boolean | DeleteAfterMigration deletes source VM after successful migration | false |
MigrationStorage¶
MigrationStorage defines storage backend configuration
Appears in: - VMMigrationSpec
| Field | Description | Default | Validation |
|---|---|---|---|
type string | Type specifies the storage backend type | pvc | Enum: [pvc] |
pvc PVCStorageConfig | PVC specifies PVC-based storage configuration |
MigrationStorageInfo¶
MigrationStorageInfo contains information about intermediate storage
Appears in: - VMMigrationStatus
| Field | Description | Default | Validation |
|---|---|---|---|
url string | URL is the intermediate storage URL | ||
size Quantity | Size is the size of data in intermediate storage | ||
uploadedAt Time | UploadedAt is when the data was uploaded | ||
cleanedUp boolean | CleanedUp indicates if intermediate storage was cleaned up |
MigrationTarget¶
MigrationTarget defines the target provider and VM configuration
Appears in: - VMMigrationSpec
| Field | Description | Default | Validation |
|---|---|---|---|
name string | Name is the name for the target VM | MaxLength: 253 Pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ | |
namespace string | Namespace is the namespace for the target VM (defaults to source namespace) | MaxLength: 63 Pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ | |
providerRef ObjectRef | ProviderRef references the target provider | ||
classRef LocalObjectReference | ClassRef references the VM class for resource allocation | ||
imageRef LocalObjectReference | ImageRef references the VM image (usually not needed for migration) | ||
networks VMNetworkRef array | Networks defines network configuration for target VM | MaxItems: 10 | |
disks DiskSpec array | Disks defines disk configuration overrides | MaxItems: 20 | |
placementRef LocalObjectReference | PlacementRef references placement policy for the target VM | ||
powerOn boolean | PowerOn indicates whether to power on the target VM after migration | false | |
labels object (keys:string, values:string) | Labels defines labels to apply to the target VM | MaxProperties: 50 | |
annotations object (keys:string, values:string) | Annotations defines annotations to apply to the target VM | MaxProperties: 50 |
NetworkAttachmentPhase¶
Underlying type: string
NetworkAttachmentPhase represents the phase of network attachment
Validation: - Enum: [Pending Configuring Ready Failed]
Appears in: - VMNetworkAttachmentStatus
| Field | Description |
|---|---|
Pending | NetworkAttachmentPhasePending indicates the network is being prepared |
Configuring | NetworkAttachmentPhaseConfiguring indicates the network is being configured |
Ready | NetworkAttachmentPhaseReady indicates the network is ready |
Failed | NetworkAttachmentPhaseFailed indicates the network configuration failed |
NetworkConfig¶
NetworkConfig defines the underlying network configuration
Appears in: - VMNetworkAttachmentSpec
| Field | Description | Default | Validation |
|---|---|---|---|
vsphere VSphereNetworkConfig | VSphere contains vSphere-specific network configuration | ||
libvirt LibvirtNetworkConfig | Libvirt contains Libvirt-specific network configuration | ||
proxmox ProxmoxNetworkConfig | Proxmox contains Proxmox VE-specific network configuration | ||
type NetworkType | Type specifies the network type | bridged | Enum: [bridged nat isolated host-only external] |
mtu integer | MTU specifies the Maximum Transmission Unit | 1500 | Maximum: 9000 Minimum: 68 |
NetworkCustomization¶
NetworkCustomization defines network-specific customization
Appears in: - VMCustomization
| Field | Description | Default | Validation |
|---|---|---|---|
name string | Name identifies the network to customize | MaxLength: 255 | |
ipAddress string | IPAddress sets a static IP address | Pattern: ^((25[0-5]\|2[0-4][0-9]\|[01]?[0-9][0-9]?)\.)\{3\}(25[0-5]\|2[0-4][0-9]\|[01]?[0-9][0-9]?)$ | |
subnetMask string | SubnetMask sets the subnet mask | Pattern: ^((25[0-5]\|2[0-4][0-9]\|[01]?[0-9][0-9]?)\.)\{3\}(25[0-5]\|2[0-4][0-9]\|[01]?[0-9][0-9]?)$ | |
gateway string | Gateway sets the network gateway | Pattern: ^((25[0-5]\|2[0-4][0-9]\|[01]?[0-9][0-9]?)\.)\{3\}(25[0-5]\|2[0-4][0-9]\|[01]?[0-9][0-9]?)$ | |
dns string array | DNS sets DNS servers | MaxItems: 5 | |
macAddress string | MACAddress sets a custom MAC address | Pattern: ^([0-9A-Fa-f]\{2\}[:-])\{5\}([0-9A-Fa-f]\{2\})$ | |
dhcp boolean | DHCP enables DHCP for this network |
NetworkDriverConfig¶
NetworkDriverConfig defines network driver configuration
Appears in: - LibvirtNetworkConfig
| Field | Description | Default | Validation |
|---|---|---|---|
name string | Name is the driver name | Enum: [kvm vfio uio] | |
queues integer | Queues specifies the number of queues | Maximum: 16 Minimum: 1 | |
txMode string | TxMode specifies the TX mode | Enum: [iothread timer] | |
ioEventFD boolean | IOEventFD enables IO event file descriptor | ||
eventIDX boolean | EventIDX enables event index |
NetworkEncryptionConfig¶
NetworkEncryptionConfig defines network encryption settings
Appears in: - NetworkSecurityConfig
| Field | Description | Default | Validation |
|---|---|---|---|
enabled boolean | Enabled indicates if encryption is enabled | false | |
protocol string | Protocol specifies the encryption protocol | Enum: [ipsec wireguard openvpn] | |
keyRef LocalObjectReference | KeyRef references encryption keys |
NetworkFilterRef¶
NetworkFilterRef references a network filter
Appears in: - LibvirtNetworkConfig
| Field | Description | Default | Validation |
|---|---|---|---|
filter string | Filter is the filter name | MaxLength: 255 | |
parameters object (keys:string, values:string) | Parameters contains filter parameters | MaxProperties: 20 |
NetworkIsolationConfig¶
NetworkIsolationConfig defines network isolation settings
Appears in: - NetworkSecurityConfig
| Field | Description | Default | Validation |
|---|---|---|---|
mode string | Mode specifies the isolation mode | Enum: [none strict custom] | |
allowedNetworks string array | AllowedNetworks contains allowed network CIDRs | MaxItems: 50 | |
deniedNetworks string array | DeniedNetworks contains denied network CIDRs | MaxItems: 50 |
NetworkMetadata¶
NetworkMetadata contains network metadata and labels
Appears in: - VMNetworkAttachmentSpec
| Field | Description | Default | Validation |
|---|---|---|---|
displayName string | DisplayName is a human-readable name | MaxLength: 255 | |
description string | Description provides a description | MaxLength: 1024 | |
environment string | Environment specifies the environment (dev, staging, prod) | Enum: [dev staging prod test] | |
tags object (keys:string, values:string) | Tags are key-value pairs for categorizing | MaxProperties: 50 |
NetworkQoSConfig¶
NetworkQoSConfig defines Quality of Service settings
Appears in: - VMNetworkAttachmentSpec
| Field | Description | Default | Validation |
|---|---|---|---|
ingressLimit integer | IngressLimit limits inbound traffic in bits per second | Minimum: 1000 | |
egressLimit integer | EgressLimit limits outbound traffic in bits per second | Minimum: 1000 | |
priority integer | Priority specifies traffic priority | Maximum: 7 Minimum: 0 | |
dscp integer | DSCP specifies DSCP marking | Maximum: 63 Minimum: 0 |
NetworkSecurityConfig¶
NetworkSecurityConfig defines network security settings
Appears in: - VMNetworkAttachmentSpec
| Field | Description | Default | Validation |
|---|---|---|---|
firewall FirewallConfig | Firewall contains firewall configuration | ||
isolation NetworkIsolationConfig | Isolation contains network isolation settings | ||
encryption NetworkEncryptionConfig | Encryption contains network encryption settings |
NetworkType¶
Underlying type: string
NetworkType represents the type of network
Validation: - Enum: [bridged nat isolated host-only external]
Appears in: - NetworkConfig
| Field | Description |
|---|---|
bridged | NetworkTypeBridged indicates a bridged network |
nat | NetworkTypeNAT indicates a NAT network |
isolated | NetworkTypeIsolated indicates an isolated network |
host-only | NetworkTypeHostOnly indicates a host-only network |
external | NetworkTypeExternal indicates an external network |
NetworkUsageStats¶
NetworkUsageStats represents network usage statistics
Appears in: - ProviderResourceUsage
| Field | Description | Default | Validation |
|---|---|---|---|
bytesReceived integer | BytesReceived is the total bytes received | ||
bytesSent integer | BytesSent is the total bytes sent | ||
packetsReceived integer | PacketsReceived is the total packets received | ||
packetsSent integer | PacketsSent is the total packets sent |
OSDistribution¶
OSDistribution contains OS distribution information
Appears in: - VMImageSpec
| Field | Description | Default | Validation |
|---|---|---|---|
name string | Name is the OS distribution name | Enum: [ubuntu centos rhel fedora debian suse windows freebsd coreos other] | |
version string | Version is the distribution version | MaxLength: 100 | |
variant string | Variant is the distribution variant (e.g., server, desktop) | MaxLength: 100 | |
family string | Family is the OS family | Enum: [linux windows bsd other] | |
kernel KernelInfo | Kernel specifies kernel information |
ObjectRef¶
ObjectRef represents a reference to another object
Appears in: - CloneSource - MigrationSource - MigrationTarget - ProviderSpec - VMCloneTarget - VMNetworkRef - VirtualMachineSpec
| Field | Description | Default | Validation |
|---|---|---|---|
name string | Name of the referenced object | MaxLength: 253 Pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ | |
namespace string | Namespace of the referenced object (defaults to current namespace) | MaxLength: 63 Pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ |
PVCStorageConfig¶
PVCStorageConfig defines PVC storage configuration
Appears in: - MigrationStorage
| Field | Description | Default | Validation |
|---|---|---|---|
name string | Name of an existing PVC to use for migration storage If not specified, a temporary PVC will be created | ||
storageClassName string | StorageClassName for auto-created PVC Required if Name is not specified | ||
size string | Size for auto-created PVC (e.g., "100Gi") Required if Name is not specified | Pattern: ^[0-9]+(\.[0-9]+)?(Ei?\|Pi?\|Ti?\|Gi?\|Mi?\|Ki?)$ | |
accessMode string | AccessMode for auto-created PVC | ReadWriteMany | Enum: [ReadWriteOnce ReadWriteMany ReadOnlyMany] |
mountPath string | MountPath within pods where PVC is mounted | /mnt/migration-storage |
PasswordSpec¶
PasswordSpec defines password configuration
Appears in: - DomainJoinSpec - SysprepCustomization
| Field | Description | Default | Validation |
|---|---|---|---|
value string | Value is the plaintext password (not recommended for production) | ||
secretRef LocalObjectReference | SecretRef references a secret containing the password | ||
secretKey string | SecretKey is the key in the secret containing the password | password |
PerformanceProfile¶
PerformanceProfile defines performance-related settings
Appears in: - VMClassSpec
| Field | Description | Default | Validation |
|---|---|---|---|
latencySensitivity string | LatencySensitivity configures latency sensitivity | normal | Enum: [low normal high] |
cpuHotAddEnabled boolean | CPUHotAddEnabled allows adding CPUs while VM is running | false | |
memoryHotAddEnabled boolean | MemoryHotAddEnabled allows adding memory while VM is running | false | |
virtualizationBasedSecurity boolean | VirtualizationBasedSecurity enables VBS features | false | |
nestedVirtualization boolean | NestedVirtualization enables nested virtualization | false | |
hyperThreadingPolicy string | HyperThreadingPolicy controls hyperthreading usage | auto | Enum: [auto prefer avoid require] |
PersistentVolumeClaimRetentionPolicyType¶
Underlying type: string
PersistentVolumeClaimRetentionPolicyType defines the retention policy type
Validation: - Enum: [Retain Delete]
Appears in: - VMSetPersistentVolumeClaimRetentionPolicy
| Field | Description |
|---|---|
Retain | RetainPersistentVolumeClaimRetentionPolicyType retains PVCs |
Delete | DeletePersistentVolumeClaimRetentionPolicyType deletes PVCs |
PersistentVolumeClaimTemplate¶
PersistentVolumeClaimTemplate describes a PVC template for VMSet VMs
Appears in: - VMSetSpec
| Field | Description | Default | Validation |
|---|---|---|---|
metadata ObjectMeta | Refer to Kubernetes API documentation for fields of metadata. | ||
spec PersistentVolumeClaimSpec | Spec is the desired characteristics of the volume |
Placement¶
Placement provides hints for VM placement
Appears in: - VirtualMachineSpec
| Field | Description | Default | Validation |
|---|---|---|---|
cluster string | Cluster specifies the target cluster | ||
host string | Host specifies the target host | ||
datastore string | Datastore specifies the target datastore | ||
folder string | Folder specifies the target folder | ||
resourcePool string | ResourcePool specifies the target resource pool |
PlacementConstraints¶
PlacementConstraints defines resource placement constraints
Appears in: - VMPlacementPolicySpec
| Field | Description | Default | Validation |
|---|---|---|---|
clusters string array | Clusters specifies allowed clusters for VM placement | MaxItems: 50 | |
datastores string array | Datastores specifies allowed datastores for VM placement | MaxItems: 100 | |
hosts string array | Hosts specifies allowed hosts for VM placement | MaxItems: 200 | |
folders string array | Folders specifies allowed folders for VM placement | MaxItems: 50 | |
resourcePools string array | ResourcePools specifies allowed resource pools for VM placement | MaxItems: 100 | |
networks string array | Networks specifies allowed networks for VM placement | MaxItems: 50 | |
zones string array | Zones specifies allowed availability zones | MaxItems: 20 | |
regions string array | Regions specifies allowed regions | MaxItems: 20 | |
nodeSelector object (keys:string, values:string) | NodeSelector specifies node selection criteria for libvirt provider | MaxProperties: 20 | |
tolerations VMToleration array | Tolerations specifies tolerations for node placement | MaxItems: 20 | |
excludedClusters string array | ExcludedClusters specifies clusters to exclude from placement | MaxItems: 50 | |
excludedHosts string array | ExcludedHosts specifies hosts to exclude from placement | MaxItems: 200 | |
excludedDatastores string array | ExcludedDatastores specifies datastores to exclude from placement | MaxItems: 100 |
PlacementStatistics¶
PlacementStatistics provides statistics about VM placements
Appears in: - VMPlacementPolicyStatus
| Field | Description | Default | Validation |
|---|---|---|---|
totalPlacements integer | TotalPlacements is the total number of VM placements using this policy | ||
successfulPlacements integer | SuccessfulPlacements is the number of successful placements | ||
failedPlacements integer | FailedPlacements is the number of failed placements | ||
averagePlacementTime Duration | AveragePlacementTime is the average time for VM placement | ||
constraintViolations integer | ConstraintViolations is the number of constraint violations | ||
lastPlacementTime Time | LastPlacementTime is when the last VM was placed using this policy | ||
placementDistribution object (keys:string, values:integer) | PlacementDistribution shows how VMs are distributed across hosts/clusters |
PolicyConflict¶
PolicyConflict represents a conflict between policies
Appears in: - VMPlacementPolicyStatus
| Field | Description | Default | Validation |
|---|---|---|---|
policyName string | PolicyName is the name of the conflicting policy | ||
conflictType string | ConflictType describes the type of conflict | Enum: [hard soft resource security affinity] | |
description string | Description provides details about the conflict | ||
severity string | Severity indicates the severity of the conflict | Enum: [low medium high critical] | |
resolutionSuggestion string | ResolutionSuggestion provides suggestions for resolving the conflict |
PolicyValidationResult¶
PolicyValidationResult represents a validation result for a provider
Appears in: - VMPlacementPolicyStatus
| Field | Description | Default | Validation |
|---|---|---|---|
valid boolean | Valid indicates if the policy is valid for the provider | ||
message string | Message provides details about the validation result | ||
warnings string array | Warnings lists any validation warnings | MaxItems: 20 | |
errors string array | Errors lists any validation errors | MaxItems: 20 | |
supportedFeatures string array | SupportedFeatures lists features supported by the provider | MaxItems: 50 | |
unsupportedFeatures string array | UnsupportedFeatures lists features not supported by the provider | MaxItems: 50 | |
lastValidated Time | LastValidated is when this validation was last performed |
PortRange¶
PortRange defines a port range
Appears in: - FirewallRule
| Field | Description | Default | Validation |
|---|---|---|---|
start integer | Start is the starting port | Maximum: 65535 Minimum: 1 | |
end integer | End is the ending port (optional, defaults to start) | Maximum: 65535 Minimum: 1 |
PortgroupSecurityConfig¶
PortgroupSecurityConfig defines portgroup security settings
Appears in: - VSphereNetworkConfig
| Field | Description | Default | Validation |
|---|---|---|---|
allowPromiscuous boolean | AllowPromiscuous allows promiscuous mode | false | |
allowMACChanges boolean | AllowMACChanges allows MAC address changes | true | |
allowForgedTransmits boolean | AllowForgedTransmits allows forged transmits | true |
PowerState¶
Underlying type: string
PowerState represents the desired power state of a VM
Validation: - Enum: [On Off OffGraceful]
Appears in: - VirtualMachineSpec - VirtualMachineStatus
| Field | Description |
|---|---|
On | PowerStateOn indicates the VM should be powered on |
Off | PowerStateOff indicates the VM should be powered off |
OffGraceful | PowerStateOffGraceful indicates the VM should be gracefully shut down |
Provider¶
Provider is the Schema for the providers API
Appears in: - ProviderList
| Field | Description | Default | Validation |
|---|---|---|---|
apiVersion string | infra.virtrigaud.io/v1beta1 | ||
kind string | Provider | ||
metadata ObjectMeta | Refer to Kubernetes API documentation for fields of metadata. | ||
spec ProviderSpec | |||
status ProviderStatus |
ProviderAdoptionStatus¶
ProviderAdoptionStatus tracks VM adoption progress
Appears in: - ProviderStatus
| Field | Description | Default | Validation |
|---|---|---|---|
lastDiscoveryTime Time | LastDiscoveryTime is when VMs were last discovered | ||
discoveredVMs integer | DiscoveredVMs is the count of VMs found in provider | ||
adoptedVMs integer | AdoptedVMs is the count of VMs successfully adopted | ||
failedAdoptions integer | FailedAdoptions is the count of failed adoption attempts | ||
message string | Message provides details about adoption status |
ProviderCapability¶
Underlying type: string
ProviderCapability represents a provider capability
Validation: - Enum: [VirtualMachines Snapshots Cloning LiveMigration ConsoleAccess DiskManagement NetworkManagement GPUPassthrough HighAvailability Backup Templates]
Appears in: - ProviderStatus
| Field | Description |
|---|---|
VirtualMachines | ProviderCapabilityVirtualMachines indicates basic VM management |
Snapshots | ProviderCapabilitySnapshots indicates snapshot support |
Cloning | ProviderCapabilityCloning indicates VM cloning support |
LiveMigration | ProviderCapabilityLiveMigration indicates live migration support |
ConsoleAccess | ProviderCapabilityConsoleAccess indicates console access support |
DiskManagement | ProviderCapabilityDiskManagement indicates disk management support |
NetworkManagement | ProviderCapabilityNetworkManagement indicates network management support |
GPUPassthrough | ProviderCapabilityGPUPassthrough indicates GPU passthrough support |
HighAvailability | ProviderCapabilityHighAvailability indicates HA support |
Backup | ProviderCapabilityBackup indicates backup support |
Templates | ProviderCapabilityTemplates indicates template management support |
ProviderDefaults¶
ProviderDefaults provides default settings for VMs
Appears in: - ProviderSpec
| Field | Description | Default | Validation |
|---|---|---|---|
datastore string | Datastore specifies the default datastore | MaxLength: 255 | |
cluster string | Cluster specifies the default cluster | MaxLength: 255 | |
folder string | Folder specifies the default folder | MaxLength: 255 | |
resourcePool string | ResourcePool specifies the default resource pool | MaxLength: 255 | |
network string | Network specifies the default network | MaxLength: 255 |
ProviderHealthCheck¶
ProviderHealthCheck defines health checking configuration
Appears in: - ProviderSpec
| Field | Description | Default | Validation |
|---|---|---|---|
enabled boolean | Enabled indicates whether health checking is enabled | true | |
interval Duration | Interval defines how often to check provider health | 30s | |
timeout Duration | Timeout defines the timeout for health checks | 10s | |
failureThreshold integer | FailureThreshold is the number of consecutive failures before marking unhealthy | 3 | Maximum: 10 Minimum: 1 |
successThreshold integer | SuccessThreshold is the number of consecutive successes before marking healthy | 1 | Maximum: 10 Minimum: 1 |
ProviderImageStatus¶
ProviderImageStatus contains provider-specific image status
Appears in: - VMImageStatus
| Field | Description | Default | Validation |
|---|---|---|---|
available boolean | Available indicates if the image is available on this provider | ||
id string | ID is the provider-specific image identifier | ||
path string | Path is the provider-specific image path | ||
size Quantity | Size is the image size on this provider | ||
lastUpdated Time | LastUpdated is when the status was last updated | ||
message string | Message provides provider-specific status information |
ProviderList¶
ProviderList contains a list of Provider
| Field | Description | Default | Validation |
|---|---|---|---|
apiVersion string | infra.virtrigaud.io/v1beta1 | ||
kind string | ProviderList | ||
metadata ListMeta | Refer to Kubernetes API documentation for fields of metadata. | ||
items Provider array |
ProviderNetworkStatus¶
ProviderNetworkStatus contains provider-specific network status
Appears in: - VMNetworkAttachmentStatus
| Field | Description | Default | Validation |
|---|---|---|---|
available boolean | Available indicates if the network is available on this provider | ||
id string | ID is the provider-specific network identifier | ||
state string | State is the provider-specific network state | ||
lastUpdated Time | LastUpdated is when the status was last updated | ||
message string | Message provides provider-specific status information |
ProviderResourceUsage¶
ProviderResourceUsage provides resource usage statistics
Appears in: - ProviderStatus
| Field | Description | Default | Validation |
|---|---|---|---|
cpu ResourceUsageStats | CPU usage statistics | ||
memory ResourceUsageStats | Memory usage statistics | ||
storage ResourceUsageStats | Storage usage statistics | ||
network NetworkUsageStats | Network usage statistics |
ProviderRuntimeMode¶
Underlying type: string
ProviderRuntimeMode specifies how the provider is executed
Validation: - Enum: [Remote]
Appears in: - ProviderRuntimeSpec - ProviderRuntimeStatus
| Field | Description |
|---|---|
Remote | RuntimeModeRemote runs the provider as a separate deployment |
ProviderRuntimePhase¶
Underlying type: string
ProviderRuntimePhase represents the phase of provider runtime
Validation: - Enum: [Pending Starting Running Stopping Failed]
Appears in: - ProviderRuntimeStatus
| Field | Description |
|---|---|
Pending | ProviderRuntimePhasePending indicates the runtime is being prepared |
Starting | ProviderRuntimePhaseStarting indicates the runtime is starting |
Running | ProviderRuntimePhaseRunning indicates the runtime is operational |
Stopping | ProviderRuntimePhaseStopping indicates the runtime is stopping |
Failed | ProviderRuntimePhaseFailed indicates the runtime has failed |
ProviderRuntimeSpec¶
ProviderRuntimeSpec defines the runtime configuration for providers
Appears in: - ProviderSpec
| Field | Description | Default | Validation |
|---|---|---|---|
mode ProviderRuntimeMode | Mode specifies the runtime mode (always Remote) | Remote | Enum: [Remote] |
image string | Image is the container image for remote providers (required) | Pattern: ^[a-zA-Z0-9._/-]+:[a-zA-Z0-9._-]+$ | |
imagePullPolicy PullPolicy | ImagePullPolicy defines the image pull policy | IfNotPresent | Enum: [Always Never IfNotPresent] |
imagePullSecrets LocalObjectReference array | ImagePullSecrets are references to secrets for pulling images | MaxItems: 10 | |
replicas integer | Replicas is the number of provider instances (default 1) | 1 | Maximum: 10 Minimum: 1 |
service ProviderServiceSpec | Service defines the service configuration | ||
resources ResourceRequirements | Resources defines resource requirements for provider pods | ||
nodeSelector object (keys:string, values:string) | NodeSelector is a selector which must be true for the pod to fit on a node | ||
tolerations Toleration array | Tolerations allow pods to schedule onto nodes with matching taints | MaxItems: 20 | |
affinity Affinity | Affinity defines scheduling constraints | ||
securityContext SecurityContext | SecurityContext defines security context for provider pods | ||
env EnvVar array | Env defines additional environment variables for provider pods | MaxItems: 50 | |
livenessProbe Probe | LivenessProbe defines the liveness probe for provider pods | ||
readinessProbe Probe | ReadinessProbe defines the readiness probe for provider pods |
ProviderRuntimeStatus¶
ProviderRuntimeStatus defines the runtime status for providers
Appears in: - ProviderStatus
| Field | Description | Default | Validation |
|---|---|---|---|
mode ProviderRuntimeMode | Mode indicates the current runtime mode | Enum: [Remote] | |
endpoint string | Endpoint is the gRPC endpoint (host:port) for remote providers | ||
serviceRef LocalObjectReference | ServiceRef references the Kubernetes service for remote providers | ||
phase ProviderRuntimePhase | Phase indicates the runtime phase | Enum: [Pending Starting Running Stopping Failed] | |
message string | Message provides additional details about the runtime status | ||
readyReplicas integer | ReadyReplicas is the number of ready provider replicas | ||
availableReplicas integer | AvailableReplicas is the number of available provider replicas |
ProviderServiceSpec¶
ProviderServiceSpec defines the service configuration for remote providers
Appears in: - ProviderRuntimeSpec
| Field | Description | Default | Validation |
|---|---|---|---|
port integer | Port is the gRPC service port | 9443 | Maximum: 65535 Minimum: 1024 |
tls ProviderTLSSpec | TLS defines TLS configuration for the service |
ProviderSnapshotStatus¶
ProviderSnapshotStatus contains provider-specific snapshot status
Appears in: - VMSnapshotStatus
| Field | Description | Default | Validation |
|---|---|---|---|
available boolean | Available indicates if the snapshot is available on this provider | ||
id string | ID is the provider-specific snapshot identifier | ||
path string | Path is the provider-specific snapshot path | ||
state string | State is the provider-specific snapshot state | ||
lastUpdated Time | LastUpdated is when the status was last updated | ||
message string | Message provides provider-specific status information |
ProviderSpec¶
ProviderSpec defines the desired state of Provider
Appears in: - Provider
| Field | Description | Default | Validation |
|---|---|---|---|
type ProviderType | Type specifies the provider type | Enum: [vsphere libvirt firecracker qemu proxmox] | |
endpoint string | Endpoint is the provider endpoint URI Supports multiple protocols: HTTP(S), TCP, gRPC for general providers and LibVirt-specific schemes: qemu://, qemu+ssh://, qemu+tcp://, qemu+tls:// | Pattern: ^((https?://[a-zA-Z0-9.-]+(:[0-9]+)?(/.*)?\|(tcp\|grpc)://[a-zA-Z0-9.-]+:[0-9]+(/.*)?)\|qemu(\+ssh\|\+tcp\|\+tls)?://([a-zA-Z0-9@.-]+(:[0-9]+)?)?(/.*))$ | |
credentialSecretRef ObjectRef | CredentialSecretRef references the Secret containing credentials | ||
insecureSkipVerify boolean | InsecureSkipVerify disables TLS verification (deprecated, use runtime.service.tls.insecureSkipVerify) | false | |
defaults ProviderDefaults | Defaults provides default placement settings | ||
rateLimit RateLimit | RateLimit configures API rate limiting | ||
runtime ProviderRuntimeSpec | Runtime defines how the provider is executed (required) | ||
healthCheck ProviderHealthCheck | HealthCheck defines health checking configuration | ||
connectionPooling ConnectionPooling | ConnectionPooling defines connection pooling settings |
ProviderStatus¶
ProviderStatus defines the observed state of Provider
Appears in: - Provider
| Field | Description | Default | Validation |
|---|---|---|---|
healthy boolean | Healthy indicates if the provider is healthy | ||
lastHealthCheck Time | LastHealthCheck records the last health check time | ||
runtime ProviderRuntimeStatus | Runtime provides runtime status information | ||
conditions Condition array | Conditions represent the latest available observations | ||
observedGeneration integer | ObservedGeneration reflects the generation observed by the controller | ||
capabilities ProviderCapability array | Capabilities lists the provider's supported capabilities | Enum: [VirtualMachines Snapshots Cloning LiveMigration ConsoleAccess DiskManagement NetworkManagement GPUPassthrough HighAvailability Backup Templates] | |
version string | Version reports the provider version | ||
connectedVMs integer | ConnectedVMs is the number of VMs currently managed by this provider | ||
resourceUsage ProviderResourceUsage | ResourceUsage provides resource usage statistics | ||
adoption ProviderAdoptionStatus | Adoption tracks VM adoption status |
ProviderTLSSpec¶
ProviderTLSSpec defines TLS configuration for provider communication
Appears in: - ProviderServiceSpec
| Field | Description | Default | Validation |
|---|---|---|---|
enabled boolean | Enabled determines if TLS is enabled for provider communication | true | |
secretRef LocalObjectReference | SecretRef references a secret containing tls.crt, tls.key, and ca.crt | ||
insecureSkipVerify boolean | InsecureSkipVerify disables TLS certificate verification | false |
ProviderType¶
Underlying type: string
ProviderType represents the type of virtualization provider
Validation: - Enum: [vsphere libvirt firecracker qemu proxmox]
Appears in: - ProviderSpec
| Field | Description |
|---|---|
vsphere | ProviderTypeVSphere indicates a VMware vSphere provider |
libvirt | ProviderTypeLibvirt indicates a libvirt provider |
firecracker | ProviderTypeFirecracker indicates a Firecracker provider |
qemu | ProviderTypeQEMU indicates a QEMU provider |
proxmox | ProviderTypeProxmox indicates a Proxmox VE provider |
ProxmoxImageSource¶
ProxmoxImageSource defines Proxmox VE-specific image configuration
Appears in: - ImageSource
| Field | Description | Default | Validation |
|---|---|---|---|
templateID integer | TemplateID specifies an existing Proxmox template VMID | Maximum: 9.99999999e+08 Minimum: 100 | |
templateName string | TemplateName specifies an existing Proxmox template name | MaxLength: 255 | |
storage string | Storage specifies the Proxmox storage for cloning Examples: "local-lvm", "vms", "nfs-storage" | MaxLength: 255 | |
node string | Node specifies the Proxmox node where the template exists | MaxLength: 255 | |
format string | Format specifies the disk format | qcow2 | Enum: [raw qcow2 vmdk] |
fullClone boolean | FullClone determines if this should be a full clone (default) or linked clone | true |
ProxmoxNetworkConfig¶
ProxmoxNetworkConfig defines Proxmox VE-specific network configuration
Appears in: - NetworkConfig
| Field | Description | Default | Validation |
|---|---|---|---|
bridge string | Bridge specifies the Linux bridge Examples: "vmbr0", "vmbr1", "vmbr2" | MaxLength: 15 Pattern: ^vmbr[0-9]+$ | |
model string | Model specifies the network card model | virtio | Enum: [virtio e1000 rtl8139 vmxnet3] |
vlanTag integer | VLANTag specifies the VLAN tag | Maximum: 4094 Minimum: 1 | |
firewall boolean | Firewall enables the Proxmox firewall for this interface | false | |
rateLimit integer | RateLimit specifies the bandwidth limit in MB/s | Minimum: 1 | |
mtu integer | MTU specifies the Maximum Transmission Unit | Maximum: 65520 Minimum: 68 |
RateLimit¶
RateLimit configures API rate limiting
Appears in: - ProviderSpec
| Field | Description | Default | Validation |
|---|---|---|---|
qps integer | QPS specifies queries per second | 10 | Maximum: 1000 Minimum: 1 |
burst integer | Burst specifies the burst capacity | 20 | Maximum: 2000 Minimum: 1 |
RegistryImageSource¶
RegistryImageSource defines container registry image configuration
Appears in: - ImageSource
| Field | Description | Default | Validation |
|---|---|---|---|
image string | Image is the container image reference | Pattern: ^[a-zA-Z0-9._/-]+:[a-zA-Z0-9._-]+$ | |
pullSecretRef LocalObjectReference | PullSecretRef references a secret for pulling the image | ||
format ImageFormat | Format specifies the expected image format | qcow2 | Enum: [qcow2 raw vmdk vhd vhdx iso ova ovf] |
ResourceConstraints¶
ResourceConstraints defines resource-based placement constraints
Appears in: - VMPlacementPolicySpec
| Field | Description | Default | Validation |
|---|---|---|---|
minCPUPerHost integer | MinCPUPerHost specifies minimum CPU available per host | Minimum: 1 | |
minMemoryPerHost Quantity | MinMemoryPerHost specifies minimum memory available per host | ||
minDiskSpacePerHost Quantity | MinDiskSpacePerHost specifies minimum disk space available per host | ||
maxCPUUtilization integer | MaxCPUUtilization specifies maximum allowed CPU utilization | Maximum: 100 Minimum: 0 | |
maxMemoryUtilization integer | MaxMemoryUtilization specifies maximum allowed memory utilization | Maximum: 100 Minimum: 0 | |
maxDiskUtilization integer | MaxDiskUtilization specifies maximum allowed disk utilization | Maximum: 100 Minimum: 0 | |
requiredFeatures string array | RequiredFeatures lists required hardware features | MaxItems: 20 | |
preferredFeatures string array | PreferredFeatures lists preferred hardware features | MaxItems: 20 |
ResourceUsageStats¶
ResourceUsageStats represents usage statistics for a resource
Appears in: - ProviderResourceUsage
| Field | Description | Default | Validation |
|---|---|---|---|
total integer | Total available capacity | ||
used integer | Used capacity | ||
available integer | Available capacity | ||
usagePercent integer | Usage percentage (0-100) |
RollingUpdateVMSetStrategy¶
RollingUpdateVMSetStrategy defines parameters for rolling updates
Appears in: - VMSetUpdateStrategy
| Field | Description | Default | Validation |
|---|---|---|---|
maxUnavailable IntOrString | MaxUnavailable is the maximum number of VMs that can be unavailable during update | 25% | |
maxSurge IntOrString | MaxSurge is the maximum number of VMs that can be created above desired replica count | 25% | |
partition integer | Partition indicates the ordinal at which the VMSet should be partitioned for updates | Minimum: 0 | |
podManagementPolicy VMSetPodManagementPolicyType | PodManagementPolicy controls how VMs are created during initial scale up, when replacing VMs on nodes, or when scaling down | OrderedReady | Enum: [OrderedReady Parallel] |
SecurityConstraints¶
SecurityConstraints defines security-based placement constraints
Appears in: - VMPlacementPolicySpec
| Field | Description | Default | Validation |
|---|---|---|---|
requireSecureBoot boolean | RequireSecureBoot requires hosts that support secure boot | ||
requireTPM boolean | RequireTPM requires hosts that support TPM | ||
requireEncryptedStorage boolean | RequireEncryptedStorage requires hosts that support encrypted storage | ||
requireNUMATopology boolean | RequireNUMATopology requires hosts that support NUMA topology | ||
allowedSecurityGroups string array | AllowedSecurityGroups lists allowed security groups | MaxItems: 20 | |
deniedSecurityGroups string array | DeniedSecurityGroups lists denied security groups | MaxItems: 20 | |
isolationLevel string | IsolationLevel specifies the required isolation level | Enum: [none basic strict maximum] | |
trustLevel string | TrustLevel specifies the required trust level | Enum: [untrusted basic trusted highly-trusted] |
SecurityProfile¶
SecurityProfile defines security-related settings
Appears in: - VMClassSpec
| Field | Description | Default | Validation |
|---|---|---|---|
secureBoot boolean | SecureBoot enables secure boot functionality | false | |
tpmEnabled boolean | TPMEnabled enables TPM (Trusted Platform Module) | false | |
tpmVersion string | TPMVersion specifies the TPM version | Enum: [1.2 2] | |
vtdEnabled boolean | VTDEnabled enables Intel VT-d or AMD-Vi | false | |
encryptionPolicy EncryptionPolicy | EncryptionPolicy defines VM encryption settings |
SnapshotAction¶
SnapshotAction describes a snapshot operation
Appears in: - LifecycleHandler
| Field | Description | Default | Validation |
|---|---|---|---|
name string | Name is the name hint for the snapshot | ||
includeMemory boolean | IncludeMemory indicates whether to include memory state | ||
description string | Description provides context for the snapshot |
SnapshotConfig¶
SnapshotConfig defines snapshot configuration options
Appears in: - VMSnapshotSpec
| Field | Description | Default | Validation |
|---|---|---|---|
name string | Name provides a name hint for the snapshot (provider may modify) | MaxLength: 255 Pattern: ^[a-zA-Z0-9]([a-zA-Z0-9\-_]*[a-zA-Z0-9])?$ | |
description string | Description provides additional context for the snapshot | MaxLength: 1024 | |
includeMemory boolean | IncludeMemory indicates whether to include memory state in the snapshot | false | |
quiesce boolean | Quiesce indicates whether to quiesce the file system before snapshotting | true | |
type SnapshotType | Type specifies the snapshot type | Standard | Enum: [Standard Crash Application] |
compression boolean | Compression enables snapshot compression | false | |
encryption SnapshotEncryption | Encryption enables snapshot encryption | ||
consistencyLevel string | ConsistencyLevel defines the consistency level required | FilesystemConsistent | Enum: [CrashConsistent FilesystemConsistent ApplicationConsistent] |
SnapshotEncryption¶
SnapshotEncryption defines snapshot encryption settings
Appears in: - SnapshotConfig
| Field | Description | Default | Validation |
|---|---|---|---|
enabled boolean | Enabled indicates if encryption should be used | false | |
keyProvider string | KeyProvider specifies the encryption key provider | Enum: [standard hardware external] | |
keyRef LocalObjectReference | KeyRef references encryption keys |
SnapshotMetadata¶
SnapshotMetadata contains snapshot metadata
Appears in: - VMSnapshotSpec
| Field | Description | Default | Validation |
|---|---|---|---|
tags object (keys:string, values:string) | Tags are key-value pairs for categorizing the snapshot | MaxProperties: 50 | |
pinned boolean | Pinned indicates whether the snapshot is pinned (protected from automatic deletion) | false | |
application string | Application specifies the application that created the snapshot | MaxLength: 255 | |
purpose string | Purpose describes the purpose of the snapshot | Enum: [backup testing migration restore-point update other] | |
environment string | Environment specifies the environment | Enum: [dev staging prod test] |
SnapshotPhase¶
Underlying type: string
SnapshotPhase represents the phase of a snapshot
Validation: - Enum: [Pending Creating Ready Deleting Failed Expired]
Appears in: - VMSnapshotStatus
| Field | Description |
|---|---|
Pending | SnapshotPhasePending indicates the snapshot is waiting to be processed |
Creating | SnapshotPhaseCreating indicates the snapshot is being created |
Ready | SnapshotPhaseReady indicates the snapshot is ready for use |
Deleting | SnapshotPhaseDeleting indicates the snapshot is being deleted |
Failed | SnapshotPhaseFailed indicates the snapshot operation failed |
Expired | SnapshotPhaseExpired indicates the snapshot has expired |
SnapshotProgress¶
SnapshotProgress shows the snapshot creation progress
Appears in: - VMSnapshotStatus
| Field | Description | Default | Validation |
|---|---|---|---|
totalBytes integer | TotalBytes is the total number of bytes to snapshot | ||
completedBytes integer | CompletedBytes is the number of bytes completed | ||
percentage integer | Percentage is the completion percentage (0-100) | Maximum: 100 Minimum: 0 | |
startTime Time | StartTime is when the snapshot creation started | ||
eta Duration | ETA is the estimated time to completion |
SnapshotRef¶
SnapshotRef references a snapshot
Appears in: - VMSnapshotStatus
| Field | Description | Default | Validation |
|---|---|---|---|
name string | Name is the snapshot name | ||
namespace string | Namespace is the snapshot namespace | ||
uid string | UID is the snapshot UID |
SnapshotRetentionPolicy¶
SnapshotRetentionPolicy defines snapshot retention rules
Appears in: - VMSnapshotSpec
| Field | Description | Default | Validation |
|---|---|---|---|
maxAge Duration | MaxAge is the maximum age before snapshot should be deleted | ||
maxCount integer | MaxCount is the maximum number of snapshots to retain | Maximum: 100 Minimum: 1 | |
deleteOnVMDelete boolean | DeleteOnVMDelete indicates whether to delete snapshot when VM is deleted | true | |
preservePinned boolean | PreservePinned indicates whether to preserve pinned snapshots | true | |
gracePeriod Duration | GracePeriod is the grace period before deletion | 24h |
SnapshotSchedule¶
SnapshotSchedule defines automated snapshot scheduling
Appears in: - VMSnapshotSpec
| Field | Description | Default | Validation |
|---|---|---|---|
enabled boolean | Enabled indicates if scheduled snapshots are enabled | false | |
cronSpec string | CronSpec defines the schedule in cron format | Pattern: ^(@(annually\|yearly\|monthly\|weekly\|daily\|hourly\|reboot))\|(@every (\d+(ns\|us\|µs\|ms\|s\|m\|h))+)\|((((\d+,)+\d+\|(\d+(\/\|-)\d+)\|\d+\|\*) ?)\{5,7\})$ | |
timezone string | Timezone specifies the timezone for the schedule | UTC | |
suspend boolean | Suspend indicates whether to suspend scheduled snapshots | false | |
concurrencyPolicy string | ConcurrencyPolicy specifies how to handle concurrent snapshot jobs | Forbid | Enum: [Allow Forbid Replace] |
successfulJobsHistoryLimit integer | SuccessfulJobsHistoryLimit limits retained successful jobs | 3 | Maximum: 100 Minimum: 0 |
failedJobsHistoryLimit integer | FailedJobsHistoryLimit limits retained failed jobs | 1 | Maximum: 100 Minimum: 0 |
SnapshotType¶
Underlying type: string
SnapshotType represents the type of snapshot
Validation: - Enum: [Standard Crash Application]
Appears in: - SnapshotConfig
| Field | Description |
|---|---|
Standard | SnapshotTypeStandard indicates a standard snapshot |
Crash | SnapshotTypeCrash indicates a crash-consistent snapshot |
Application | SnapshotTypeApplication indicates an application-consistent snapshot |
StaticIPConfig¶
StaticIPConfig defines static IP configuration
Appears in: - IPAllocationConfig
| Field | Description | Default | Validation |
|---|---|---|---|
address string | Address is the static IP address (CIDR notation) | Pattern: ^((25[0-5]\|2[0-4][0-9]\|[01]?[0-9][0-9]?)\.)\{3\}(25[0-5]\|2[0-4][0-9]\|[01]?[0-9][0-9]?)/([0-9]\|[1-2][0-9]\|3[0-2])$ | |
gateway string | Gateway is the default gateway | Pattern: ^((25[0-5]\|2[0-4][0-9]\|[01]?[0-9][0-9]?)\.)\{3\}(25[0-5]\|2[0-4][0-9]\|[01]?[0-9][0-9]?)$ | |
routes StaticRoute array | Routes contains static routes | MaxItems: 20 |
StaticRoute¶
StaticRoute defines a static route
Appears in: - StaticIPConfig
| Field | Description | Default | Validation |
|---|---|---|---|
destination string | Destination is the destination network (CIDR notation) | Pattern: ^((25[0-5]\|2[0-4][0-9]\|[01]?[0-9][0-9]?)\.)\{3\}(25[0-5]\|2[0-4][0-9]\|[01]?[0-9][0-9]?)/([0-9]\|[1-2][0-9]\|3[0-2])$ | |
gateway string | Gateway is the route gateway | Pattern: ^((25[0-5]\|2[0-4][0-9]\|[01]?[0-9][0-9]?)\.)\{3\}(25[0-5]\|2[0-4][0-9]\|[01]?[0-9][0-9]?)$ | |
metric integer | Metric is the route metric | Maximum: 65535 Minimum: 0 |
StoragePrepareOptions¶
StoragePrepareOptions defines storage-specific preparation options
Appears in: - ImagePrepare
| Field | Description | Default | Validation |
|---|---|---|---|
vsphere VSphereStorageOptions | VSphere storage options | ||
libvirt LibvirtStorageOptions | Libvirt storage options | ||
preferredFormat ImageFormat | PreferredFormat specifies the preferred target format | Enum: [qcow2 raw vmdk vhd vhdx iso ova ovf] | |
compression boolean | Compression enables compression during import | false |
SysprepCustomization¶
SysprepCustomization defines Windows sysprep customization
Appears in: - VMCustomization
| Field | Description | Default | Validation |
|---|---|---|---|
enabled boolean | Enabled indicates if sysprep should be run | false | |
productKey string | ProductKey specifies the Windows product key | ||
organization string | Organization specifies the organization name | MaxLength: 255 | |
owner string | Owner specifies the owner name | MaxLength: 255 | |
adminPassword PasswordSpec | AdminPassword specifies the administrator password | ||
joinDomain DomainJoinSpec | JoinDomain specifies domain join configuration | ||
customCommands string array | CustomCommands specifies custom commands to run during sysprep | MaxItems: 20 |
TrafficShapingConfig¶
TrafficShapingConfig defines traffic shaping settings
Appears in: - VSphereNetworkConfig
| Field | Description | Default | Validation |
|---|---|---|---|
enabled boolean | Enabled indicates if traffic shaping is enabled | false | |
averageBandwidth integer | AverageBandwidth is the average bandwidth in bits per second | Minimum: 1000 | |
peakBandwidth integer | PeakBandwidth is the peak bandwidth in bits per second | Minimum: 1000 | |
burstSize integer | BurstSize is the burst size in bytes | Minimum: 1024 |
UserData¶
UserData defines cloud-init configuration
Appears in: - VMCustomization - VirtualMachineSpec
| Field | Description | Default | Validation |
|---|---|---|---|
cloudInit CloudInit | CloudInit contains cloud-init configuration | ||
ignition Ignition | Ignition contains Ignition configuration for CoreOS/RHEL |
VLANConfig¶
VLANConfig defines VLAN configuration
Appears in: - VSphereNetworkConfig
| Field | Description | Default | Validation |
|---|---|---|---|
type string | Type specifies the VLAN type | none | Enum: [none vlan pvlan trunk] |
vlanID integer | VlanID specifies the VLAN ID for VLAN type | Maximum: 4094 Minimum: 1 | |
trunkVlanIDs integer array | TrunkVlanIDs specifies VLAN IDs for trunk type | MaxItems: 100 | |
primaryVlanID integer | PrimaryVlanID specifies the primary VLAN ID for PVLAN | Maximum: 4094 Minimum: 1 | |
secondaryVlanID integer | SecondaryVlanID specifies the secondary VLAN ID for PVLAN | Maximum: 4094 Minimum: 1 |
VMAffinity¶
VMAffinity defines affinity rules between VMs
Appears in: - AffinityRules
| Field | Description | Default | Validation |
|---|---|---|---|
requiredDuringScheduling VMAffinityTerm array | RequiredDuringScheduling specifies hard affinity rules | MaxItems: 20 | |
preferredDuringScheduling WeightedVMAffinityTerm array | PreferredDuringScheduling specifies soft affinity rules | MaxItems: 20 |
VMAffinityTerm¶
VMAffinityTerm defines a VM affinity term
Appears in: - VMAffinity - VMAntiAffinity - WeightedVMAffinityTerm
| Field | Description | Default | Validation |
|---|---|---|---|
labelSelector LabelSelector | LabelSelector selects VMs for affinity rules | ||
namespaces string array | Namespaces specifies which namespaces to consider | MaxItems: 20 | |
namespaceSelector LabelSelector | NamespaceSelector selects namespaces using label selectors | ||
topologyKey string | TopologyKey specifies the topology domain for the rule | MaxLength: 253 | |
matchExpressions VMSelectorRequirement array | MatchExpressions is a list of VM selector requirements | MaxItems: 20 |
VMAntiAffinity¶
VMAntiAffinity defines anti-affinity rules between VMs
Appears in: - AntiAffinityRules
| Field | Description | Default | Validation |
|---|---|---|---|
requiredDuringScheduling VMAffinityTerm array | RequiredDuringScheduling specifies hard anti-affinity rules | MaxItems: 20 | |
preferredDuringScheduling WeightedVMAffinityTerm array | PreferredDuringScheduling specifies soft anti-affinity rules | MaxItems: 20 |
VMClass¶
VMClass is the Schema for the vmclasses API
Appears in: - VMClassList
| Field | Description | Default | Validation |
|---|---|---|---|
apiVersion string | infra.virtrigaud.io/v1beta1 | ||
kind string | VMClass | ||
metadata ObjectMeta | Refer to Kubernetes API documentation for fields of metadata. | ||
spec VMClassSpec | |||
status VMClassStatus |
VMClassList¶
VMClassList contains a list of VMClass
| Field | Description | Default | Validation |
|---|---|---|---|
apiVersion string | infra.virtrigaud.io/v1beta1 | ||
kind string | VMClassList | ||
metadata ListMeta | Refer to Kubernetes API documentation for fields of metadata. | ||
items VMClass array |
VMClassSpec¶
VMClassSpec defines the desired state of VMClass
Appears in: - VMClass
| Field | Description | Default | Validation |
|---|---|---|---|
cpu integer | CPU specifies the number of virtual CPUs | Maximum: 128 Minimum: 1 | |
memory Quantity | Memory specifies memory allocation using Kubernetes resource quantities | ||
firmware FirmwareType | Firmware specifies the firmware type | BIOS | Enum: [BIOS UEFI EFI] |
diskDefaults DiskDefaults | DiskDefaults provides default disk settings | ||
guestToolsPolicy GuestToolsPolicy | GuestToolsPolicy specifies guest tools installation policy | install | Enum: [install skip upgrade uninstall] |
extraConfig object (keys:string, values:string) | ExtraConfig contains provider-specific extra configuration | MaxProperties: 50 | |
resourceLimits VMResourceLimits | ResourceLimits defines resource limits and reservations | ||
performanceProfile PerformanceProfile | PerformanceProfile defines performance-related settings | ||
securityProfile SecurityProfile | SecurityProfile defines security-related settings |
VMClassStatus¶
VMClassStatus defines the observed state of VMClass
Appears in: - VMClass
| Field | Description | Default | Validation |
|---|---|---|---|
conditions Condition array | Conditions represent the latest available observations | ||
observedGeneration integer | ObservedGeneration reflects the generation observed by the controller | ||
usedByVMs integer | UsedByVMs is the number of VMs currently using this class | ||
supportedProviders string array | SupportedProviders lists the providers that support this class | ||
validationResults object (keys:string, values:ValidationResult) | ValidationResults contains validation results for different providers |
VMClone¶
VMClone is the Schema for the vmclones API
Appears in: - VMCloneList
| Field | Description | Default | Validation |
|---|---|---|---|
apiVersion string | infra.virtrigaud.io/v1beta1 | ||
kind string | VMClone | ||
metadata ObjectMeta | Refer to Kubernetes API documentation for fields of metadata. | ||
spec VMCloneSpec | |||
status VMCloneStatus |
VMCloneList¶
VMCloneList contains a list of VMClone
| Field | Description | Default | Validation |
|---|---|---|---|
apiVersion string | infra.virtrigaud.io/v1beta1 | ||
kind string | VMCloneList | ||
metadata ListMeta | Refer to Kubernetes API documentation for fields of metadata. | ||
items VMClone array |
VMCloneSpec¶
VMCloneSpec defines the desired state of VMClone
Appears in: - VMClone
| Field | Description | Default | Validation |
|---|---|---|---|
source CloneSource | Source defines the source for cloning | ||
target VMCloneTarget | Target defines the target VM configuration | ||
options CloneOptions | Options defines cloning options | ||
customization VMCustomization | Customization defines VM customization options | ||
metadata CloneMetadata | Refer to Kubernetes API documentation for fields of metadata. |
VMCloneStatus¶
VMCloneStatus defines the observed state of VMClone
Appears in: - VMClone
| Field | Description | Default | Validation |
|---|---|---|---|
targetRef LocalObjectReference | TargetRef references the created target VM | ||
phase ClonePhase | Phase represents the current phase of the clone operation | Enum: [Pending Preparing Cloning Customizing Powering-On Ready Failed] | |
message string | Message provides additional details about the current state | ||
taskRef string | TaskRef tracks any ongoing async operations | ||
startTime Time | StartTime is when the clone operation started | ||
completionTime Time | CompletionTime is when the clone operation completed | ||
actualCloneType CloneType | ActualCloneType indicates the actual clone type that was used | Enum: [FullClone LinkedClone InstantClone] | |
progress CloneProgress | Progress shows the clone operation progress | ||
conditions Condition array | Conditions represent the current service state | ||
observedGeneration integer | ObservedGeneration reflects the generation observed by the controller | ||
retryCount integer | RetryCount is the number of times the clone has been retried | ||
lastRetryTime Time | LastRetryTime is when the clone was last retried | ||
customizationStatus CustomizationStatus | CustomizationStatus contains customization operation status |
VMCloneTarget¶
VMCloneTarget defines the target VM configuration
Appears in: - VMCloneSpec
| Field | Description | Default | Validation |
|---|---|---|---|
name string | Name is the name of the target VM | MaxLength: 253 Pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ | |
namespace string | Namespace is the namespace for the target VM (defaults to source namespace) | MaxLength: 63 Pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ | |
providerRef ObjectRef | ProviderRef references the target provider (defaults to source provider) | ||
classRef LocalObjectReference | ClassRef references the VM class for resource allocation | ||
placementRef LocalObjectReference | PlacementRef references placement policy for the target VM | ||
networks VMNetworkRef array | Networks defines network configuration overrides | MaxItems: 10 | |
disks DiskSpec array | Disks defines disk configuration overrides | MaxItems: 20 | |
labels object (keys:string, values:string) | Labels defines labels to apply to the target VM | MaxProperties: 50 | |
annotations object (keys:string, values:string) | Annotations defines annotations to apply to the target VM | MaxProperties: 50 |
VMCustomization¶
VMCustomization defines VM customization options
Appears in: - VMCloneSpec
| Field | Description | Default | Validation |
|---|---|---|---|
hostname string | Hostname sets the target VM hostname | MaxLength: 255 Pattern: ^[a-zA-Z0-9]([a-zA-Z0-9\-]*[a-zA-Z0-9])?$ | |
domain string | Domain sets the domain name | MaxLength: 255 | |
timeZone string | TimeZone sets the timezone | MaxLength: 100 | |
networks NetworkCustomization array | Networks defines network customization | MaxItems: 10 | |
userData UserData | UserData provides cloud-init or similar customization data | ||
sysprep SysprepCustomization | Sysprep provides Windows sysprep customization | ||
tags string array | Tags defines additional tags for the cloned VM | MaxItems: 50 | |
guestCommands GuestCommand array | GuestCommands defines commands to run in the guest OS | MaxItems: 20 | |
certificates CertificateSpec array | Certificates defines certificates to install | MaxItems: 10 |
VMImage¶
VMImage is the Schema for the vmimages API
Appears in: - VMImageList
| Field | Description | Default | Validation |
|---|---|---|---|
apiVersion string | infra.virtrigaud.io/v1beta1 | ||
kind string | VMImage | ||
metadata ObjectMeta | Refer to Kubernetes API documentation for fields of metadata. | ||
spec VMImageSpec | |||
status VMImageStatus |
VMImageList¶
VMImageList contains a list of VMImage
| Field | Description | Default | Validation |
|---|---|---|---|
apiVersion string | infra.virtrigaud.io/v1beta1 | ||
kind string | VMImageList | ||
metadata ListMeta | Refer to Kubernetes API documentation for fields of metadata. | ||
items VMImage array |
VMImageSpec¶
VMImageSpec defines the desired state of VMImage
Appears in: - VMImage
| Field | Description | Default | Validation |
|---|---|---|---|
source ImageSource | Source defines the image source configuration | ||
prepare ImagePrepare | Prepare contains optional image preparation steps | ||
metadata ImageMetadata | Refer to Kubernetes API documentation for fields of metadata. | ||
distribution OSDistribution | Distribution contains OS distribution information |
VMImageStatus¶
VMImageStatus defines the observed state of VMImage
Appears in: - VMImage
| Field | Description | Default | Validation |
|---|---|---|---|
ready boolean | Ready indicates if the image is ready for use | ||
phase ImagePhase | Phase represents the current phase of image preparation | Enum: [Pending Downloading Importing Converting Optimizing Ready Failed] | |
message string | Message provides additional details about the current state | ||
availableOn string array | AvailableOn lists the providers where the image is available | ||
conditions Condition array | Conditions represent the latest available observations | ||
observedGeneration integer | ObservedGeneration reflects the generation observed by the controller | ||
lastPrepareTime Time | LastPrepareTime records when the image was last prepared | ||
prepareTaskRef string | PrepareTaskRef tracks any ongoing image preparation operations | ||
importProgress ImageImportProgress | ImportProgress shows the progress of image import operations | ||
size Quantity | Size is the size of the prepared image | ||
checksum string | Checksum is the actual checksum of the prepared image | ||
format ImageFormat | Format is the actual format of the prepared image | Enum: [qcow2 raw vmdk vhd vhdx iso ova ovf] | |
providerStatus object (keys:string, values:ProviderImageStatus) | ProviderStatus contains provider-specific status information |
VMMigration¶
VMMigration is the Schema for the vmmigrations API
Appears in: - VMMigrationList
| Field | Description | Default | Validation |
|---|---|---|---|
apiVersion string | infra.virtrigaud.io/v1beta1 | ||
kind string | VMMigration | ||
metadata ObjectMeta | Refer to Kubernetes API documentation for fields of metadata. | ||
spec VMMigrationSpec | |||
status VMMigrationStatus |
VMMigrationList¶
VMMigrationList contains a list of VMMigration
| Field | Description | Default | Validation |
|---|---|---|---|
apiVersion string | infra.virtrigaud.io/v1beta1 | ||
kind string | VMMigrationList | ||
metadata ListMeta | Refer to Kubernetes API documentation for fields of metadata. | ||
items VMMigration array |
VMMigrationSpec¶
VMMigrationSpec defines the desired state of VMMigration
Appears in: - VMMigration
| Field | Description | Default | Validation |
|---|---|---|---|
source MigrationSource | Source defines the source VM to migrate from | ||
target MigrationTarget | Target defines the target provider and configuration | ||
options MigrationOptions | Options defines migration options | ||
storage MigrationStorage | Storage defines storage backend configuration for transfer | ||
metadata MigrationMetadata | Refer to Kubernetes API documentation for fields of metadata. |
VMMigrationStatus¶
VMMigrationStatus defines the observed state of VMMigration
Appears in: - VMMigration
| Field | Description | Default | Validation |
|---|---|---|---|
phase MigrationPhase | Phase represents the current phase of the migration | Enum: [Pending Validating Snapshotting Exporting Transferring Converting Importing Creating Validating-Target Ready Failed] | |
message string | Message provides additional details about the current state | ||
targetVMRef LocalObjectReference | TargetVMRef references the created target VM | ||
snapshotRef string | SnapshotRef references the source snapshot used for migration | ||
snapshotID string | SnapshotID is the provider-specific snapshot identifier | ||
exportID string | ExportID is the export operation identifier | ||
importID string | ImportID is the import operation identifier | ||
taskRef string | TaskRef is the current task reference for async operations | ||
targetVMID string | TargetVMID is the provider-specific target VM identifier | ||
startTime Time | StartTime is when the migration started | ||
completionTime Time | CompletionTime is when the migration completed | ||
progress MigrationProgress | Progress shows the migration operation progress | ||
diskInfo MigrationDiskInfo | DiskInfo contains information about the migrated disk | ||
storageInfo MigrationStorageInfo | StorageInfo contains information about intermediate storage | ||
storagePVCName string | StoragePVCName is the name of the PVC used for migration storage | ||
conditions Condition array | Conditions represent the current service state | ||
observedGeneration integer | ObservedGeneration reflects the generation observed by the controller | ||
retryCount integer | RetryCount is the number of times the migration has been retried | ||
lastRetryTime Time | LastRetryTime is when the migration was last retried | ||
validationResults ValidationResults | ValidationResults contains results of validation checks |
VMNetworkAttachment¶
VMNetworkAttachment is the Schema for the vmnetworkattachments API
Appears in: - VMNetworkAttachmentList
| Field | Description | Default | Validation |
|---|---|---|---|
apiVersion string | infra.virtrigaud.io/v1beta1 | ||
kind string | VMNetworkAttachment | ||
metadata ObjectMeta | Refer to Kubernetes API documentation for fields of metadata. | ||
spec VMNetworkAttachmentSpec | |||
status VMNetworkAttachmentStatus |
VMNetworkAttachmentList¶
VMNetworkAttachmentList contains a list of VMNetworkAttachment
| Field | Description | Default | Validation |
|---|---|---|---|
apiVersion string | infra.virtrigaud.io/v1beta1 | ||
kind string | VMNetworkAttachmentList | ||
metadata ListMeta | Refer to Kubernetes API documentation for fields of metadata. | ||
items VMNetworkAttachment array |
VMNetworkAttachmentSpec¶
VMNetworkAttachmentSpec defines the desired state of VMNetworkAttachment
Appears in: - VMNetworkAttachment
| Field | Description | Default | Validation |
|---|---|---|---|
network NetworkConfig | Network defines the underlying network configuration | ||
ipAllocation IPAllocationConfig | IPAllocation defines IP address allocation settings | ||
security NetworkSecurityConfig | Security defines network security settings | ||
qos NetworkQoSConfig | QoS defines Quality of Service settings | ||
metadata NetworkMetadata | Refer to Kubernetes API documentation for fields of metadata. |
VMNetworkAttachmentStatus¶
VMNetworkAttachmentStatus defines the observed state of VMNetworkAttachment
Appears in: - VMNetworkAttachment
| Field | Description | Default | Validation |
|---|---|---|---|
ready boolean | Ready indicates if the network is ready for use | ||
phase NetworkAttachmentPhase | Phase represents the current phase | Enum: [Pending Configuring Ready Failed] | |
message string | Message provides additional details about the current state | ||
availableOn string array | AvailableOn lists the providers where the network is available | ||
conditions Condition array | Conditions represent the latest available observations | ||
observedGeneration integer | ObservedGeneration reflects the generation observed by the controller | ||
connectedVMs integer | ConnectedVMs is the number of VMs using this network | ||
ipAllocations IPAllocation array | IPAllocations contains current IP allocations | ||
providerStatus object (keys:string, values:ProviderNetworkStatus) | ProviderStatus contains provider-specific status information |
VMNetworkRef¶
VMNetworkRef represents a reference to a network attachment
Appears in: - MigrationTarget - VMCloneTarget - VirtualMachineSpec
| Field | Description | Default | Validation |
|---|---|---|---|
name string | Name is the name of this network attachment | MaxLength: 63 Pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ | |
networkRef ObjectRef | NetworkRef references the VMNetworkAttachment | ||
ipAddress string | IPAddress specifies a static IP address (optional) | Pattern: ^((25[0-5]\|2[0-4][0-9]\|[01]?[0-9][0-9]?)\.)\{3\}(25[0-5]\|2[0-4][0-9]\|[01]?[0-9][0-9]?)$ | |
macAddress string | MACAddress specifies a static MAC address (optional) | Pattern: ^([0-9A-Fa-f]\{2\}[:-])\{5\}([0-9A-Fa-f]\{2\})$ |
VMPlacementPolicy¶
VMPlacementPolicy is the Schema for the vmplacementpolicies API
Appears in: - VMPlacementPolicyList
| Field | Description | Default | Validation |
|---|---|---|---|
apiVersion string | infra.virtrigaud.io/v1beta1 | ||
kind string | VMPlacementPolicy | ||
metadata ObjectMeta | Refer to Kubernetes API documentation for fields of metadata. | ||
spec VMPlacementPolicySpec | |||
status VMPlacementPolicyStatus |
VMPlacementPolicyList¶
VMPlacementPolicyList contains a list of VMPlacementPolicy
| Field | Description | Default | Validation |
|---|---|---|---|
apiVersion string | infra.virtrigaud.io/v1beta1 | ||
kind string | VMPlacementPolicyList | ||
metadata ListMeta | Refer to Kubernetes API documentation for fields of metadata. | ||
items VMPlacementPolicy array |
VMPlacementPolicySpec¶
VMPlacementPolicySpec defines the desired state of VMPlacementPolicy
Appears in: - VMPlacementPolicy
| Field | Description | Default | Validation |
|---|---|---|---|
hard PlacementConstraints | Hard constraints that must be satisfied for VM placement | ||
soft PlacementConstraints | Soft constraints that should be satisfied if possible | ||
antiAffinity AntiAffinityRules | AntiAffinity defines anti-affinity rules for VMs | ||
affinity AffinityRules | Affinity defines affinity rules for VMs | ||
resourceConstraints ResourceConstraints | ResourceConstraints defines resource-based placement constraints | ||
securityConstraints SecurityConstraints | SecurityConstraints defines security-based placement constraints | ||
priority integer | Priority defines the priority of this placement policy | Maximum: 1000 Minimum: 0 | |
weight integer | Weight defines the weight of this placement policy | Maximum: 100 Minimum: 1 |
VMPlacementPolicyStatus¶
VMPlacementPolicyStatus defines the observed state of VMPlacementPolicy
Appears in: - VMPlacementPolicy
| Field | Description | Default | Validation |
|---|---|---|---|
observedGeneration integer | ObservedGeneration is the most recent generation observed by the controller | ||
usedByVMs LocalObjectReference array | UsedByVMs lists VMs currently using this policy | MaxItems: 1000 | |
conditions Condition array | Conditions represent the current service state | ||
validationResults object (keys:string, values:PolicyValidationResult) | ValidationResults contains validation results for different providers | ||
placementStats PlacementStatistics | PlacementStats provides statistics about VM placements using this policy | ||
conflictingPolicies PolicyConflict array | ConflictingPolicies lists policies that conflict with this policy | MaxItems: 50 |
VMResourceLimits¶
VMResourceLimits defines resource limits and reservations
Appears in: - VMClassSpec
| Field | Description | Default | Validation |
|---|---|---|---|
cpuLimit integer | CPULimit is the maximum CPU usage limit (in MHz or percentage) | Maximum: 100000 Minimum: 100 | |
cpuReservation integer | CPUReservation is the guaranteed CPU allocation (in MHz) | Maximum: 100000 Minimum: 0 | |
memoryLimit Quantity | MemoryLimit is the maximum memory usage limit | ||
memoryReservation Quantity | MemoryReservation is the guaranteed memory allocation | ||
cpuShares integer | CPUShares defines the relative CPU priority (higher = more priority) | Maximum: 1e+06 Minimum: 1 |
VMSelectorOperator¶
Underlying type: string
VMSelectorOperator represents a selector operator
Validation: - Enum: [In NotIn Exists DoesNotExist]
Appears in: - VMSelectorRequirement
| Field | Description |
|---|---|
In | VMSelectorOpIn means the key must be in the set of values |
NotIn | VMSelectorOpNotIn means the key must not be in the set of values |
Exists | VMSelectorOpExists means the key must exist |
DoesNotExist | VMSelectorOpDoesNotExist means the key must not exist |
VMSelectorRequirement¶
VMSelectorRequirement defines a VM selector requirement
Appears in: - VMAffinityTerm
| Field | Description | Default | Validation |
|---|---|---|---|
key string | Key is the label key that the selector applies to | MaxLength: 253 | |
operator VMSelectorOperator | Operator represents a key's relationship to a set of values | Enum: [In NotIn Exists DoesNotExist] | |
values string array | Values is an array of string values | MaxItems: 50 |
VMSet¶
VMSet is the Schema for the vmsets API
Appears in: - VMSetList
| Field | Description | Default | Validation |
|---|---|---|---|
apiVersion string | infra.virtrigaud.io/v1beta1 | ||
kind string | VMSet | ||
metadata ObjectMeta | Refer to Kubernetes API documentation for fields of metadata. | ||
spec VMSetSpec | |||
status VMSetStatus |
VMSetFailedVM¶
VMSetFailedVM represents a VM that failed to update
Appears in: - VMSetUpdateStatus
| Field | Description | Default | Validation |
|---|---|---|---|
name string | Name is the name of the failed VM | ||
reason string | Reason provides the reason for failure | ||
message string | Message provides additional details about the failure | ||
lastAttempt Time | LastAttempt is when the last update attempt was made | ||
retryCount integer | RetryCount is the number of retry attempts |
VMSetList¶
VMSetList contains a list of VMSet
| Field | Description | Default | Validation |
|---|---|---|---|
apiVersion string | infra.virtrigaud.io/v1beta1 | ||
kind string | VMSetList | ||
metadata ListMeta | Refer to Kubernetes API documentation for fields of metadata. | ||
items VMSet array |
VMSetOrdinals¶
VMSetOrdinals configures the sequential ordering of VM indices
Appears in: - VMSetSpec
| Field | Description | Default | Validation |
|---|---|---|---|
start integer | Start is the number representing the first replica's index | 0 | Maximum: 999999 Minimum: 0 |
VMSetPersistentVolumeClaimRetentionPolicy¶
VMSetPersistentVolumeClaimRetentionPolicy defines the retention policy for PVCs
Appears in: - VMSetSpec
| Field | Description | Default | Validation |
|---|---|---|---|
whenDeleted PersistentVolumeClaimRetentionPolicyType | WhenDeleted specifies what happens to PVCs created from VMSet VolumeClaimTemplates when the VMSet is deleted | Retain | Enum: [Retain Delete] |
whenScaled PersistentVolumeClaimRetentionPolicyType | WhenScaled specifies what happens to PVCs created from VMSet VolumeClaimTemplates when the VMSet is scaled down | Retain | Enum: [Retain Delete] |
VMSetPodManagementPolicyType¶
Underlying type: string
VMSetPodManagementPolicyType defines the policy for creating VMs
Validation: - Enum: [OrderedReady Parallel]
Appears in: - RollingUpdateVMSetStrategy
| Field | Description |
|---|---|
OrderedReady | OrderedReadyVMSetPodManagementPolicy creates VMs in order and waits for each to be ready |
Parallel | ParallelVMSetPodManagementPolicy creates VMs in parallel |
VMSetSpec¶
VMSetSpec defines the desired state of VMSet
Appears in: - VMSet
| Field | Description | Default | Validation |
|---|---|---|---|
replicas integer | Replicas is the desired number of VMs in the set | 1 | Maximum: 1000 Minimum: 0 |
selector LabelSelector | Selector is a label query over VMs that should match the replica count | ||
template VMSetTemplate | Template is the object that describes the VM that will be created | ||
updateStrategy VMSetUpdateStrategy | UpdateStrategy defines how to replace existing VMs with new ones | ||
minReadySeconds integer | MinReadySeconds is the minimum number of seconds for which a newly created VM should be ready without any of its containers crashing | Maximum: 3600 Minimum: 0 | |
revisionHistoryLimit integer | RevisionHistoryLimit is the number of old VMSets to retain | 10 | Maximum: 100 Minimum: 0 |
persistentVolumeClaimRetentionPolicy VMSetPersistentVolumeClaimRetentionPolicy | PersistentVolumeClaimRetentionPolicy defines the retention policy for PVCs | ||
ordinals VMSetOrdinals | Ordinals configures the sequential ordering of VM indices | ||
serviceName string | ServiceName is the name of the service that governs this VMSet | MaxLength: 253 | |
volumeClaimTemplates PersistentVolumeClaimTemplate array | VolumeClaimTemplates defines a list of claims that VMs are allowed to reference | MaxItems: 20 |
VMSetStatus¶
VMSetStatus defines the observed state of VMSet
Appears in: - VMSet
| Field | Description | Default | Validation |
|---|---|---|---|
observedGeneration integer | ObservedGeneration is the most recent generation observed by the controller | ||
replicas integer | Replicas is the number of VMs created by the VMSet controller | ||
readyReplicas integer | ReadyReplicas is the number of VMs that are ready | ||
availableReplicas integer | AvailableReplicas is the number of VMs that are available | ||
updatedReplicas integer | UpdatedReplicas is the number of VMs that have been updated | ||
currentRevision string | CurrentRevision is the revision of the current VMSet | ||
updateRevision string | UpdateRevision is the revision of the updated VMSet | ||
collisionCount integer | CollisionCount is the count of hash collisions for the VMSet | ||
conditions Condition array | Conditions represent the current service state | ||
currentReplicas integer | CurrentReplicas is the number of VMs currently running | ||
updateStatus VMSetUpdateStatus | UpdateStatus provides detailed update operation status | ||
vmStatus VMSetVMStatus array | VMStatus provides per-VM status information | MaxItems: 1000 |
VMSetTemplate¶
VMSetTemplate defines the template for VMs in a VMSet
Appears in: - VMSetSpec
| Field | Description | Default | Validation |
|---|---|---|---|
metadata ObjectMeta | Refer to Kubernetes API documentation for fields of metadata. | ||
spec VirtualMachineSpec | Spec is the VM specification |
VMSetUpdatePhase¶
Underlying type: string
VMSetUpdatePhase represents the phase of a VMSet update
Validation: - Enum: [Pending InProgress Paused Completed Failed]
Appears in: - VMSetUpdateStatus
| Field | Description |
|---|---|
Pending | VMSetUpdatePhasePending indicates the update is pending |
InProgress | VMSetUpdatePhaseInProgress indicates the update is in progress |
Paused | VMSetUpdatePhasePaused indicates the update is paused |
Completed | VMSetUpdatePhaseCompleted indicates the update is completed |
Failed | VMSetUpdatePhaseFailed indicates the update failed |
VMSetUpdateStatus¶
VMSetUpdateStatus provides detailed update operation status
Appears in: - VMSetStatus
| Field | Description | Default | Validation |
|---|---|---|---|
phase VMSetUpdatePhase | Phase represents the current phase of the update | Enum: [Pending InProgress Paused Completed Failed] | |
message string | Message provides additional details about the update | ||
startTime Time | StartTime is when the update started | ||
completionTime Time | CompletionTime is when the update completed | ||
updatedVMs string array | UpdatedVMs lists VMs that have been updated | MaxItems: 1000 | |
pendingVMs string array | PendingVMs lists VMs that are pending update | MaxItems: 1000 | |
failedVMs VMSetFailedVM array | FailedVMs lists VMs that failed to update | MaxItems: 1000 |
VMSetUpdateStrategy¶
VMSetUpdateStrategy defines the update strategy for a VMSet
Appears in: - VMSetSpec
| Field | Description | Default | Validation |
|---|---|---|---|
type VMSetUpdateStrategyType | Type can be "RollingUpdate" or "OnDelete" | RollingUpdate | Enum: [RollingUpdate OnDelete Recreate] |
rollingUpdate RollingUpdateVMSetStrategy | RollingUpdate is used when Type is RollingUpdate |
VMSetUpdateStrategyType¶
Underlying type: string
VMSetUpdateStrategyType defines the type of update strategy
Validation: - Enum: [RollingUpdate OnDelete Recreate]
Appears in: - VMSetUpdateStrategy
| Field | Description |
|---|---|
RollingUpdate | RollingUpdateVMSetStrategyType replaces VMs one by one |
OnDelete | OnDeleteVMSetStrategyType replaces VMs only when manually deleted |
Recreate | RecreateVMSetStrategyType deletes all VMs before creating new ones |
VMSetVMStatus¶
VMSetVMStatus provides per-VM status information
Appears in: - VMSetStatus
| Field | Description | Default | Validation |
|---|---|---|---|
name string | Name is the VM name | ||
phase VirtualMachinePhase | Phase is the VM phase | Enum: [Pending Provisioning Running Stopped Reconfiguring Deleting Failed] | |
ready boolean | Ready indicates if the VM is ready | ||
revision string | Revision is the VM revision | ||
creationTime Time | CreationTime is when the VM was created | ||
lastUpdateTime Time | LastUpdateTime is when the VM was last updated | ||
message string | Message provides additional VM status information |
VMSnapshot¶
VMSnapshot is the Schema for the vmsnapshots API
Appears in: - VMSnapshotList
| Field | Description | Default | Validation |
|---|---|---|---|
apiVersion string | infra.virtrigaud.io/v1beta1 | ||
kind string | VMSnapshot | ||
metadata ObjectMeta | Refer to Kubernetes API documentation for fields of metadata. | ||
spec VMSnapshotSpec | |||
status VMSnapshotStatus |
VMSnapshotInfo¶
VMSnapshotInfo provides information about a VM snapshot
Appears in: - VirtualMachineStatus
| Field | Description | Default | Validation |
|---|---|---|---|
id string | ID is the provider-specific snapshot identifier | ||
name string | Name is the snapshot name | ||
creationTime Time | CreationTime is when the snapshot was created | ||
description string | Description provides additional context | ||
sizeBytes integer | SizeBytes is the size of the snapshot | ||
hasMemory boolean | HasMemory indicates if memory state is included |
VMSnapshotList¶
VMSnapshotList contains a list of VMSnapshot
| Field | Description | Default | Validation |
|---|---|---|---|
apiVersion string | infra.virtrigaud.io/v1beta1 | ||
kind string | VMSnapshotList | ||
metadata ListMeta | Refer to Kubernetes API documentation for fields of metadata. | ||
items VMSnapshot array |
VMSnapshotOperation¶
VMSnapshotOperation defines snapshot operations in VM spec
Appears in: - VirtualMachineSpec
| Field | Description | Default | Validation |
|---|---|---|---|
revertToRef LocalObjectReference | RevertToRef specifies a snapshot to revert to |
VMSnapshotSpec¶
VMSnapshotSpec defines the desired state of VMSnapshot
Appears in: - VMSnapshot
| Field | Description | Default | Validation |
|---|---|---|---|
vmRef LocalObjectReference | VMRef references the virtual machine to snapshot | ||
snapshotConfig SnapshotConfig | SnapshotConfig defines snapshot configuration options | ||
retentionPolicy SnapshotRetentionPolicy | RetentionPolicy defines how long to keep this snapshot | ||
schedule SnapshotSchedule | Schedule defines automated snapshot scheduling | ||
metadata SnapshotMetadata | Refer to Kubernetes API documentation for fields of metadata. |
VMSnapshotStatus¶
VMSnapshotStatus defines the observed state of VMSnapshot
Appears in: - VMSnapshot
| Field | Description | Default | Validation |
|---|---|---|---|
snapshotID string | SnapshotID is the provider-specific identifier for the snapshot | ||
phase SnapshotPhase | Phase represents the current phase of the snapshot | Enum: [Pending Creating Ready Deleting Failed Expired] | |
message string | Message provides additional details about the current state | ||
creationTime Time | CreationTime is when the snapshot was created | ||
completionTime Time | CompletionTime is when the snapshot creation completed | ||
size Quantity | Size is the size of the snapshot | ||
virtualSize Quantity | VirtualSize is the virtual size of the snapshot | ||
taskRef string | TaskRef tracks any ongoing async operations | ||
conditions Condition array | Conditions represent the current service state | ||
observedGeneration integer | ObservedGeneration reflects the generation observed by the controller | ||
progress SnapshotProgress | Progress shows the snapshot creation progress | ||
providerStatus object (keys:string, values:ProviderSnapshotStatus) | ProviderStatus contains provider-specific status information | ||
children SnapshotRef array | Children lists child snapshots (for snapshot trees) | ||
parent SnapshotRef | Parent references the parent snapshot (for snapshot trees) | ||
expiryTime Time | ExpiryTime is when the snapshot will expire (based on retention policy) |
VMTaintEffect¶
Underlying type: string
VMTaintEffect represents the effect of a taint
Validation: - Enum: [NoSchedule PreferNoSchedule NoExecute]
Appears in: - VMToleration
| Field | Description |
|---|---|
NoSchedule | VMTaintEffectNoSchedule means no new VMs will be scheduled |
PreferNoSchedule | VMTaintEffectPreferNoSchedule means avoid scheduling if possible |
NoExecute | VMTaintEffectNoExecute means existing VMs will be evicted |
VMToleration¶
VMToleration represents a toleration for VM placement
Appears in: - PlacementConstraints
| Field | Description | Default | Validation |
|---|---|---|---|
key string | Key is the taint key that the toleration applies to | MaxLength: 253 | |
operator VMTolerationOperator | Operator represents the relationship between the key and value | Equal | Enum: [Exists Equal] |
value string | Value is the taint value the toleration matches to | MaxLength: 253 | |
effect VMTaintEffect | Effect indicates the taint effect to match | Enum: [NoSchedule PreferNoSchedule NoExecute] | |
tolerationSeconds integer | TolerationSeconds represents the period of time the toleration tolerates the taint | Minimum: 0 |
VMTolerationOperator¶
Underlying type: string
VMTolerationOperator represents the operator for toleration
Validation: - Enum: [Exists Equal]
Appears in: - VMToleration
| Field | Description |
|---|---|
Exists | VMTolerationOpExists means the toleration exists |
Equal | VMTolerationOpEqual means the toleration equals the value |
VSphereImageSource¶
VSphereImageSource defines vSphere-specific image configuration
Appears in: - ImageSource
| Field | Description | Default | Validation |
|---|---|---|---|
templateName string | TemplateName references an existing vSphere template | MaxLength: 255 | |
contentLibrary ContentLibraryRef | ContentLibrary references a vSphere content library item | ||
ovaURL string | OVAURL provides a URL to an OVA file to import | Pattern: ^https?://.*\.(ova\|ovf)$ | |
checksum string | Checksum provides expected checksum for verification | ||
checksumType ChecksumType | ChecksumType specifies the checksum algorithm | sha256 | Enum: [md5 sha1 sha256 sha512] |
providerRef LocalObjectReference | ProviderRef references the vSphere provider for importing |
VSphereNetworkConfig¶
VSphereNetworkConfig defines vSphere-specific network configuration
Appears in: - NetworkConfig
| Field | Description | Default | Validation |
|---|---|---|---|
portgroup string | Portgroup specifies the vSphere portgroup name | MaxLength: 255 | |
distributedSwitch DistributedSwitchConfig | DistributedSwitch specifies the distributed virtual switch | ||
vlan VLANConfig | VLAN specifies the VLAN configuration | ||
security PortgroupSecurityConfig | Security defines portgroup security settings | ||
trafficShaping TrafficShapingConfig | TrafficShaping defines traffic shaping settings |
VSphereStorageOptions¶
VSphereStorageOptions defines vSphere storage preparation options
Appears in: - StoragePrepareOptions
| Field | Description | Default | Validation |
|---|---|---|---|
datastore string | Datastore specifies the target datastore for import | MaxLength: 255 | |
folder string | Folder specifies the target folder for import | MaxLength: 255 | |
thinProvisioned boolean | ThinProvisioned indicates whether to use thin provisioning | ||
diskType string | DiskType specifies the disk provisioning type | Enum: [thin thick eagerzeroedthick] |
ValidationChecks¶
ValidationChecks defines validation checks to perform
Appears in: - MigrationOptions
| Field | Description | Default | Validation |
|---|---|---|---|
checkDiskSize boolean | CheckDiskSize verifies disk size matches | true | |
checkChecksum boolean | CheckChecksum verifies checksums match | true | |
checkBoot boolean | CheckBoot verifies VM boots successfully | false | |
checkConnectivity boolean | CheckConnectivity tests network connectivity | false |
ValidationResult¶
ValidationResult represents a validation result for a provider
Appears in: - VMClassStatus
| Field | Description | Default | Validation |
|---|---|---|---|
valid boolean | Valid indicates if the class is valid for the provider | ||
message string | Message provides details about the validation result | ||
warnings string array | Warnings lists any validation warnings | ||
lastValidated Time | LastValidated is when this validation was last performed |
ValidationResults¶
ValidationResults contains results of validation checks
Appears in: - VMMigrationStatus
| Field | Description | Default | Validation |
|---|---|---|---|
diskSizeMatch boolean | DiskSizeMatch indicates if disk sizes match | ||
checksumMatch boolean | ChecksumMatch indicates if checksums match | ||
bootSuccess boolean | BootSuccess indicates if the target VM booted successfully | ||
connectivitySuccess boolean | ConnectivitySuccess indicates if network connectivity works | ||
validationErrors string array | ValidationErrors lists any validation errors |
VirtualMachine¶
VirtualMachine is the Schema for the virtualmachines API
Appears in: - VirtualMachineList
| Field | Description | Default | Validation |
|---|---|---|---|
apiVersion string | infra.virtrigaud.io/v1beta1 | ||
kind string | VirtualMachine | ||
metadata ObjectMeta | Refer to Kubernetes API documentation for fields of metadata. | ||
spec VirtualMachineSpec | |||
status VirtualMachineStatus |
VirtualMachineLifecycle¶
VirtualMachineLifecycle defines lifecycle configuration for a VM
Appears in: - VirtualMachineSpec
| Field | Description | Default | Validation |
|---|---|---|---|
preStop LifecycleHandler | PreStop defines actions to take before stopping the VM | ||
postStart LifecycleHandler | PostStart defines actions to take after starting the VM | ||
gracefulShutdownTimeout Duration | GracefulShutdownTimeout defines how long to wait for graceful shutdown | 60s |
VirtualMachineList¶
VirtualMachineList contains a list of VirtualMachine
| Field | Description | Default | Validation |
|---|---|---|---|
apiVersion string | infra.virtrigaud.io/v1beta1 | ||
kind string | VirtualMachineList | ||
metadata ListMeta | Refer to Kubernetes API documentation for fields of metadata. | ||
items VirtualMachine array |
VirtualMachinePhase¶
Underlying type: string
VirtualMachinePhase represents the phase of a VM
Validation: - Enum: [Pending Provisioning Running Stopped Reconfiguring Deleting Failed]
Appears in: - VMSetVMStatus - VirtualMachineStatus
| Field | Description |
|---|---|
Pending | VirtualMachinePhasePending indicates the VM is waiting to be processed |
Provisioning | VirtualMachinePhaseProvisioning indicates the VM is being created |
Running | VirtualMachinePhaseRunning indicates the VM is running |
Stopped | VirtualMachinePhaseStopped indicates the VM is stopped |
Reconfiguring | VirtualMachinePhaseReconfiguring indicates the VM is being reconfigured |
Deleting | VirtualMachinePhaseDeleting indicates the VM is being deleted |
Failed | VirtualMachinePhaseFailed indicates the VM is in a failed state |
VirtualMachineResources¶
VirtualMachineResources defines resource overrides for a VM
Appears in: - VirtualMachineSpec - VirtualMachineStatus
| Field | Description | Default | Validation |
|---|---|---|---|
cpu integer | CPU specifies the number of virtual CPUs | Maximum: 128 Minimum: 1 | |
memoryMiB integer | MemoryMiB specifies the amount of memory in MiB | Maximum: 1.048576e+06 Minimum: 128 | |
gpu GPUConfig | GPU specifies GPU configuration |
VirtualMachineSpec¶
VirtualMachineSpec defines the desired state of VirtualMachine.
Appears in: - VMSetTemplate - VirtualMachine
| Field | Description | Default | Validation |
|---|---|---|---|
providerRef ObjectRef | ProviderRef references the Provider that manages this VM | ||
classRef ObjectRef | ClassRef references the VMClass that defines resource allocation | ||
imageRef ObjectRef | ImageRef references the VMImage to use as base template. Either ImageRef or ImportedDisk must be specified, but not both. | ||
importedDisk ImportedDiskRef | ImportedDisk references a pre-imported disk (e.g., from migration). Either ImageRef or ImportedDisk must be specified, but not both. | ||
networks VMNetworkRef array | Networks specifies network attachments for the VM | MaxItems: 10 | |
disks DiskSpec array | Disks specifies additional disks beyond the root disk | MaxItems: 20 | |
userData UserData | UserData contains cloud-init configuration | ||
metaData MetaData | MetaData contains cloud-init metadata configuration | ||
placement Placement | Placement provides hints for VM placement | ||
powerState PowerState | PowerState specifies the desired power state | Enum: [On Off OffGraceful] | |
tags string array | Tags are applied to the VM for organization | MaxItems: 50 | |
resources VirtualMachineResources | Resources allows overriding resource allocation from the VMClass | ||
placementRef LocalObjectReference | PlacementRef references a VMPlacementPolicy for advanced placement rules | ||
snapshot VMSnapshotOperation | Snapshot defines snapshot-related operations | ||
lifecycle VirtualMachineLifecycle | Lifecycle defines VM lifecycle configuration |
VirtualMachineStatus¶
VirtualMachineStatus defines the observed state of VirtualMachine.
Appears in: - VirtualMachine
| Field | Description | Default | Validation |
|---|---|---|---|
id string | ID is the provider-specific identifier for this VM | ||
powerState PowerState | PowerState reflects the current power state | Enum: [On Off OffGraceful] | |
ips string array | IPs contains the IP addresses assigned to the VM | ||
consoleURL string | ConsoleURL provides access to the VM console | ||
conditions Condition array | Conditions represent the latest available observations | ||
observedGeneration integer | ObservedGeneration reflects the generation observed by the controller | ||
lastTaskRef string | LastTaskRef references the last async operation | ||
provider object (keys:string, values:string) | Provider contains provider-specific details | ||
reconfigureTaskRef string | ReconfigureTaskRef tracks reconfiguration operations | ||
lastReconfigureTime Time | LastReconfigureTime records when the last reconfiguration occurred | ||
currentResources VirtualMachineResources | CurrentResources shows the current resource allocation | ||
snapshots VMSnapshotInfo array | Snapshots lists available snapshots for this VM | ||
phase VirtualMachinePhase | Phase represents the current phase of the VM | Enum: [Pending Provisioning Running Stopped Reconfiguring Deleting Failed] | |
message string | Message provides additional details about the current state |
WeightedVMAffinityTerm¶
WeightedVMAffinityTerm defines a weighted VM affinity term
Appears in: - VMAffinity - VMAntiAffinity
| Field | Description | Default | Validation |
|---|---|---|---|
weight integer | Weight associated with matching the corresponding VMAffinityTerm | Maximum: 100 Minimum: 1 | |
vmAffinityTerm VMAffinityTerm | VMAffinityTerm defines the VM affinity term |
ZoneAffinityRule¶
ZoneAffinityRule defines zone affinity rules
Appears in: - AffinityRules
| Field | Description | Default | Validation |
|---|---|---|---|
enabled boolean | Enabled indicates if zone affinity is enabled | ||
preferredZones string array | PreferredZones lists preferred zones | MaxItems: 10 | |
scope string | Scope defines the scope of the affinity rule | Enum: [strict preferred] |
ZoneAntiAffinityRule¶
ZoneAntiAffinityRule defines zone anti-affinity rules
Appears in: - AntiAffinityRules
| Field | Description | Default | Validation |
|---|---|---|---|
enabled boolean | Enabled indicates if zone anti-affinity is enabled | ||
maxVMsPerZone integer | MaxVMsPerZone limits the number of VMs per zone | Maximum: 10000 Minimum: 1 | |
scope string | Scope defines the scope of the anti-affinity rule | Enum: [strict preferred] |