Documentation ¶
Overview ¶
+kubebuilder:object:generate=true +groupName=vm.crossplane.io +versionName=v1alpha1
Index ¶
- Constants
- Variables
- type CustomizationObservation
- type CustomizationParameters
- type DiskObservation
- type DiskParameters
- type InternalDiskObservation
- type InternalDiskParameters
- type MetadataEntryObservation
- type MetadataEntryParameters
- type NetworkObservation
- type NetworkParameters
- type OverrideTemplateDiskObservation
- type OverrideTemplateDiskParameters
- type VM
- func (in *VM) DeepCopy() *VM
- func (in *VM) DeepCopyInto(out *VM)
- func (in *VM) DeepCopyObject() runtime.Object
- func (mg *VM) GetCondition(ct xpv1.ConditionType) xpv1.Condition
- func (tr *VM) GetConnectionDetailsMapping() map[string]string
- func (mg *VM) GetDeletionPolicy() xpv1.DeletionPolicy
- func (tr *VM) GetID() string
- func (mg *VM) GetManagementPolicy() xpv1.ManagementPolicy
- func (tr *VM) GetObservation() (map[string]any, error)
- func (tr *VM) GetParameters() (map[string]any, error)
- func (mg *VM) GetProviderConfigReference() *xpv1.Reference
- func (mg *VM) GetProviderReference() *xpv1.Reference
- func (mg *VM) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo
- func (mg *VM) GetTerraformResourceType() string
- func (tr *VM) GetTerraformSchemaVersion() int
- func (mg *VM) GetWriteConnectionSecretToReference() *xpv1.SecretReference
- func (tr *VM) LateInitialize(attrs []byte) (bool, error)
- func (mg *VM) ResolveReferences(ctx context.Context, c client.Reader) error
- func (mg *VM) SetConditions(c ...xpv1.Condition)
- func (mg *VM) SetDeletionPolicy(r xpv1.DeletionPolicy)
- func (mg *VM) SetManagementPolicy(r xpv1.ManagementPolicy)
- func (tr *VM) SetObservation(obs map[string]any) error
- func (tr *VM) SetParameters(params map[string]any) error
- func (mg *VM) SetProviderConfigReference(r *xpv1.Reference)
- func (mg *VM) SetProviderReference(r *xpv1.Reference)
- func (mg *VM) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)
- func (mg *VM) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)
- type VMList
- type VMObservation
- type VMParameters
- type VMSpec
- type VMStatus
Constants ¶
const ( CRDGroup = "vm.crossplane.io" CRDVersion = "v1alpha1" )
Package type metadata.
Variables ¶
var ( // CRDGroupVersion is the API Group Version used to register the objects CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
var ( VM_Kind = "VM" VM_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: VM_Kind}.String() VM_KindAPIVersion = VM_Kind + "." + CRDGroupVersion.String() VM_GroupVersionKind = CRDGroupVersion.WithKind(VM_Kind) )
Repository type metadata.
Functions ¶
This section is empty.
Types ¶
type CustomizationObservation ¶
type CustomizationObservation struct { // Allow local administrator password AllowLocalAdminPassword *bool `json:"allowLocalAdminPassword,omitempty" tf:"allow_local_admin_password,omitempty"` // Auto generate password AutoGeneratePassword *bool `json:"autoGeneratePassword,omitempty" tf:"auto_generate_password,omitempty"` // 'true' value will change SID. Applicable only for Windows VMs ChangeSid *bool `json:"changeSid,omitempty" tf:"change_sid,omitempty"` // 'true' value will enable guest customization. It may occur on first boot or when 'force' is used Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"` // 'true' value will cause the VM to reboot on every 'apply' operation Force *bool `json:"force,omitempty" tf:"force,omitempty"` // Script to run on initial boot or with customization.force=true set Initscript *string `json:"initscript,omitempty" tf:"initscript,omitempty"` // Enable this VM to join a domain JoinDomain *bool `json:"joinDomain,omitempty" tf:"join_domain,omitempty"` // Account organizational unit for domain name join JoinDomainAccountOu *string `json:"joinDomainAccountOu,omitempty" tf:"join_domain_account_ou,omitempty"` // Custom domain name for join JoinDomainName *string `json:"joinDomainName,omitempty" tf:"join_domain_name,omitempty"` // Username for custom domain name join JoinDomainUser *string `json:"joinDomainUser,omitempty" tf:"join_domain_user,omitempty"` // Use organization's domain for joining JoinOrgDomain *bool `json:"joinOrgDomain,omitempty" tf:"join_org_domain,omitempty"` // Require Administrator to change password on first login MustChangePasswordOnFirstLogin *bool `json:"mustChangePasswordOnFirstLogin,omitempty" tf:"must_change_password_on_first_login,omitempty"` // Number of times to log on automatically. '0' - disabled. NumberOfAutoLogons *float64 `json:"numberOfAutoLogons,omitempty" tf:"number_of_auto_logons,omitempty"` }
func (*CustomizationObservation) DeepCopy ¶
func (in *CustomizationObservation) DeepCopy() *CustomizationObservation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomizationObservation.
func (*CustomizationObservation) DeepCopyInto ¶
func (in *CustomizationObservation) DeepCopyInto(out *CustomizationObservation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CustomizationParameters ¶
type CustomizationParameters struct { // Manually specify admin password // +kubebuilder:validation:Optional AdminPasswordSecretRef *v1.SecretKeySelector `json:"adminPasswordSecretRef,omitempty" tf:"-"` // Allow local administrator password // +kubebuilder:validation:Optional AllowLocalAdminPassword *bool `json:"allowLocalAdminPassword,omitempty" tf:"allow_local_admin_password,omitempty"` // Auto generate password // +kubebuilder:validation:Optional AutoGeneratePassword *bool `json:"autoGeneratePassword,omitempty" tf:"auto_generate_password,omitempty"` // 'true' value will change SID. Applicable only for Windows VMs // +kubebuilder:validation:Optional ChangeSid *bool `json:"changeSid,omitempty" tf:"change_sid,omitempty"` // 'true' value will enable guest customization. It may occur on first boot or when 'force' is used // +kubebuilder:validation:Optional Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"` // 'true' value will cause the VM to reboot on every 'apply' operation // +kubebuilder:validation:Optional Force *bool `json:"force,omitempty" tf:"force,omitempty"` // Script to run on initial boot or with customization.force=true set // +kubebuilder:validation:Optional Initscript *string `json:"initscript,omitempty" tf:"initscript,omitempty"` // Enable this VM to join a domain // +kubebuilder:validation:Optional JoinDomain *bool `json:"joinDomain,omitempty" tf:"join_domain,omitempty"` // Account organizational unit for domain name join // +kubebuilder:validation:Optional JoinDomainAccountOu *string `json:"joinDomainAccountOu,omitempty" tf:"join_domain_account_ou,omitempty"` // Custom domain name for join // +kubebuilder:validation:Optional JoinDomainName *string `json:"joinDomainName,omitempty" tf:"join_domain_name,omitempty"` // Password for custom domain name join // +kubebuilder:validation:Optional JoinDomainPasswordSecretRef *v1.SecretKeySelector `json:"joinDomainPasswordSecretRef,omitempty" tf:"-"` // Username for custom domain name join // +kubebuilder:validation:Optional JoinDomainUser *string `json:"joinDomainUser,omitempty" tf:"join_domain_user,omitempty"` // Use organization's domain for joining // +kubebuilder:validation:Optional JoinOrgDomain *bool `json:"joinOrgDomain,omitempty" tf:"join_org_domain,omitempty"` // Require Administrator to change password on first login // +kubebuilder:validation:Optional MustChangePasswordOnFirstLogin *bool `json:"mustChangePasswordOnFirstLogin,omitempty" tf:"must_change_password_on_first_login,omitempty"` // Number of times to log on automatically. '0' - disabled. // +kubebuilder:validation:Optional NumberOfAutoLogons *float64 `json:"numberOfAutoLogons,omitempty" tf:"number_of_auto_logons,omitempty"` }
func (*CustomizationParameters) DeepCopy ¶
func (in *CustomizationParameters) DeepCopy() *CustomizationParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomizationParameters.
func (*CustomizationParameters) DeepCopyInto ¶
func (in *CustomizationParameters) DeepCopyInto(out *CustomizationParameters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DiskObservation ¶
type DiskObservation struct { // Bus number on which to place the disk controller BusNumber *string `json:"busNumber,omitempty" tf:"bus_number,omitempty"` // Independent disk name Name *string `json:"name,omitempty" tf:"name,omitempty"` // The size of the disk in MB. SizeInMb *float64 `json:"sizeInMb,omitempty" tf:"size_in_mb,omitempty"` // Unit number (slot) on the bus specified by BusNumber UnitNumber *string `json:"unitNumber,omitempty" tf:"unit_number,omitempty"` }
func (*DiskObservation) DeepCopy ¶
func (in *DiskObservation) DeepCopy() *DiskObservation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskObservation.
func (*DiskObservation) DeepCopyInto ¶
func (in *DiskObservation) DeepCopyInto(out *DiskObservation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DiskParameters ¶
type DiskParameters struct { // Bus number on which to place the disk controller // +kubebuilder:validation:Required BusNumber *string `json:"busNumber" tf:"bus_number,omitempty"` // Independent disk name // +crossplane:generate:reference:type=github.com/kirillinda/provider-vcd/apis/independent/v1alpha1.Disk // +crossplane:generate:reference:extractor=github.com/upbound/upjet/pkg/resource.ExtractParamPath("name", true) // +kubebuilder:validation:Optional Name *string `json:"name,omitempty" tf:"name,omitempty"` // Reference to a Disk in independent to populate name. // +kubebuilder:validation:Optional NameRef *v1.Reference `json:"nameRef,omitempty" tf:"-"` // Selector for a Disk in independent to populate name. // +kubebuilder:validation:Optional NameSelector *v1.Selector `json:"nameSelector,omitempty" tf:"-"` // Unit number (slot) on the bus specified by BusNumber // +kubebuilder:validation:Required UnitNumber *string `json:"unitNumber" tf:"unit_number,omitempty"` }
func (*DiskParameters) DeepCopy ¶
func (in *DiskParameters) DeepCopy() *DiskParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskParameters.
func (*DiskParameters) DeepCopyInto ¶
func (in *DiskParameters) DeepCopyInto(out *DiskParameters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InternalDiskObservation ¶
type InternalDiskObservation struct { BusNumber *float64 `json:"busNumber,omitempty" tf:"bus_number,omitempty"` BusType *string `json:"busType,omitempty" tf:"bus_type,omitempty"` DiskID *string `json:"diskId,omitempty" tf:"disk_id,omitempty"` Iops *float64 `json:"iops,omitempty" tf:"iops,omitempty"` SizeInMb *float64 `json:"sizeInMb,omitempty" tf:"size_in_mb,omitempty"` StorageProfile *string `json:"storageProfile,omitempty" tf:"storage_profile,omitempty"` ThinProvisioned *bool `json:"thinProvisioned,omitempty" tf:"thin_provisioned,omitempty"` UnitNumber *float64 `json:"unitNumber,omitempty" tf:"unit_number,omitempty"` }
func (*InternalDiskObservation) DeepCopy ¶
func (in *InternalDiskObservation) DeepCopy() *InternalDiskObservation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InternalDiskObservation.
func (*InternalDiskObservation) DeepCopyInto ¶
func (in *InternalDiskObservation) DeepCopyInto(out *InternalDiskObservation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InternalDiskParameters ¶
type InternalDiskParameters struct { }
func (*InternalDiskParameters) DeepCopy ¶
func (in *InternalDiskParameters) DeepCopy() *InternalDiskParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InternalDiskParameters.
func (*InternalDiskParameters) DeepCopyInto ¶
func (in *InternalDiskParameters) DeepCopyInto(out *InternalDiskParameters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MetadataEntryObservation ¶
type MetadataEntryObservation struct { // Domain for this metadata entry. true if it belongs to SYSTEM, false if it belongs to GENERAL IsSystem *bool `json:"isSystem,omitempty" tf:"is_system,omitempty"` // Key of this metadata entry. Required if the metadata entry is not empty Key *string `json:"key,omitempty" tf:"key,omitempty"` // Type of this metadata entry. One of: 'MetadataStringValue', 'MetadataNumberValue', 'MetadataBooleanValue', 'MetadataDateTimeValue' Type *string `json:"type,omitempty" tf:"type,omitempty"` // User access level for this metadata entry. One of: 'READWRITE', 'READONLY', 'PRIVATE' UserAccess *string `json:"userAccess,omitempty" tf:"user_access,omitempty"` // Value of this metadata entry. Required if the metadata entry is not empty Value *string `json:"value,omitempty" tf:"value,omitempty"` }
func (*MetadataEntryObservation) DeepCopy ¶
func (in *MetadataEntryObservation) DeepCopy() *MetadataEntryObservation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetadataEntryObservation.
func (*MetadataEntryObservation) DeepCopyInto ¶
func (in *MetadataEntryObservation) DeepCopyInto(out *MetadataEntryObservation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MetadataEntryParameters ¶
type MetadataEntryParameters struct { // Domain for this metadata entry. true if it belongs to SYSTEM, false if it belongs to GENERAL // +kubebuilder:validation:Optional IsSystem *bool `json:"isSystem,omitempty" tf:"is_system,omitempty"` // Key of this metadata entry. Required if the metadata entry is not empty // +kubebuilder:validation:Optional Key *string `json:"key,omitempty" tf:"key,omitempty"` // Type of this metadata entry. One of: 'MetadataStringValue', 'MetadataNumberValue', 'MetadataBooleanValue', 'MetadataDateTimeValue' // +kubebuilder:validation:Optional Type *string `json:"type,omitempty" tf:"type,omitempty"` // User access level for this metadata entry. One of: 'READWRITE', 'READONLY', 'PRIVATE' // +kubebuilder:validation:Optional UserAccess *string `json:"userAccess,omitempty" tf:"user_access,omitempty"` // Value of this metadata entry. Required if the metadata entry is not empty // +kubebuilder:validation:Optional Value *string `json:"value,omitempty" tf:"value,omitempty"` }
func (*MetadataEntryParameters) DeepCopy ¶
func (in *MetadataEntryParameters) DeepCopy() *MetadataEntryParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetadataEntryParameters.
func (*MetadataEntryParameters) DeepCopyInto ¶
func (in *MetadataEntryParameters) DeepCopyInto(out *MetadataEntryParameters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkObservation ¶
type NetworkObservation struct { // Network card adapter type. (e.g. 'E1000', 'E1000E', 'SRIOVETHERNETCARD', 'VMXNET3', 'PCNet32') AdapterType *string `json:"adapterType,omitempty" tf:"adapter_type,omitempty"` // It defines if NIC is connected or not. Connected *bool `json:"connected,omitempty" tf:"connected,omitempty"` // IP of the VM. Settings depend on `ip_allocation_mode`. Omitted or empty for DHCP, POOL, NONE. Required for MANUAL IP *string `json:"ip,omitempty" tf:"ip,omitempty"` // IP address allocation mode. One of POOL, DHCP, MANUAL, NONE IPAllocationMode *string `json:"ipAllocationMode,omitempty" tf:"ip_allocation_mode,omitempty"` // Set to true if network interface should be primary. First network card in the list will be primary by default IsPrimary *bool `json:"isPrimary,omitempty" tf:"is_primary,omitempty"` // Mac address of network interface Mac *string `json:"mac,omitempty" tf:"mac,omitempty"` // Name of the network this VM should connect to. Always required except for `type` `NONE` Name *string `json:"name,omitempty" tf:"name,omitempty"` // Network type to use: 'vapp', 'org' or 'none'. Use 'vapp' for vApp network, 'org' to attach Org VDC network. 'none' for empty NIC. Type *string `json:"type,omitempty" tf:"type,omitempty"` }
func (*NetworkObservation) DeepCopy ¶
func (in *NetworkObservation) DeepCopy() *NetworkObservation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkObservation.
func (*NetworkObservation) DeepCopyInto ¶
func (in *NetworkObservation) DeepCopyInto(out *NetworkObservation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkParameters ¶
type NetworkParameters struct { // Network card adapter type. (e.g. 'E1000', 'E1000E', 'SRIOVETHERNETCARD', 'VMXNET3', 'PCNet32') // +kubebuilder:validation:Optional AdapterType *string `json:"adapterType,omitempty" tf:"adapter_type,omitempty"` // It defines if NIC is connected or not. // +kubebuilder:validation:Optional Connected *bool `json:"connected,omitempty" tf:"connected,omitempty"` // IP of the VM. Settings depend on `ip_allocation_mode`. Omitted or empty for DHCP, POOL, NONE. Required for MANUAL // +kubebuilder:validation:Optional IP *string `json:"ip,omitempty" tf:"ip,omitempty"` // IP address allocation mode. One of POOL, DHCP, MANUAL, NONE // +kubebuilder:validation:Optional IPAllocationMode *string `json:"ipAllocationMode,omitempty" tf:"ip_allocation_mode,omitempty"` // Set to true if network interface should be primary. First network card in the list will be primary by default // +kubebuilder:validation:Optional IsPrimary *bool `json:"isPrimary,omitempty" tf:"is_primary,omitempty"` // Mac address of network interface // +kubebuilder:validation:Optional Mac *string `json:"mac,omitempty" tf:"mac,omitempty"` // Name of the network this VM should connect to. Always required except for `type` `NONE` // +crossplane:generate:reference:type=github.com/kirillinda/provider-vcd/apis/vcdnetworkroutedv2/v1alpha1.RoutedV2 // +crossplane:generate:reference:extractor=github.com/upbound/upjet/pkg/resource.ExtractParamPath("name", true) // +kubebuilder:validation:Optional Name *string `json:"name,omitempty" tf:"name,omitempty"` // Reference to a RoutedV2 in vcdnetworkroutedv2 to populate name. // +kubebuilder:validation:Optional NameRef *v1.Reference `json:"nameRef,omitempty" tf:"-"` // Selector for a RoutedV2 in vcdnetworkroutedv2 to populate name. // +kubebuilder:validation:Optional NameSelector *v1.Selector `json:"nameSelector,omitempty" tf:"-"` // Network type to use: 'vapp', 'org' or 'none'. Use 'vapp' for vApp network, 'org' to attach Org VDC network. 'none' for empty NIC. // +kubebuilder:validation:Required Type *string `json:"type" tf:"type,omitempty"` }
func (*NetworkParameters) DeepCopy ¶
func (in *NetworkParameters) DeepCopy() *NetworkParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkParameters.
func (*NetworkParameters) DeepCopyInto ¶
func (in *NetworkParameters) DeepCopyInto(out *NetworkParameters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OverrideTemplateDiskObservation ¶
type OverrideTemplateDiskObservation struct { // The number of the SCSI or IDE controller itself. BusNumber *float64 `json:"busNumber,omitempty" tf:"bus_number,omitempty"` // The type of disk controller. Possible values: ide, parallel( LSI Logic Parallel SCSI), sas(LSI Logic SAS (SCSI)), paravirtual(Paravirtual (SCSI)), sata, nvme BusType *string `json:"busType,omitempty" tf:"bus_type,omitempty"` // Specifies the IOPS for the disk. Default is 0. Iops *float64 `json:"iops,omitempty" tf:"iops,omitempty"` // The size of the disk in MB. SizeInMb *float64 `json:"sizeInMb,omitempty" tf:"size_in_mb,omitempty"` // Storage profile to override the VM default one StorageProfile *string `json:"storageProfile,omitempty" tf:"storage_profile,omitempty"` // The device number on the SCSI or IDE controller of the disk. UnitNumber *float64 `json:"unitNumber,omitempty" tf:"unit_number,omitempty"` }
func (*OverrideTemplateDiskObservation) DeepCopy ¶
func (in *OverrideTemplateDiskObservation) DeepCopy() *OverrideTemplateDiskObservation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OverrideTemplateDiskObservation.
func (*OverrideTemplateDiskObservation) DeepCopyInto ¶
func (in *OverrideTemplateDiskObservation) DeepCopyInto(out *OverrideTemplateDiskObservation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OverrideTemplateDiskParameters ¶
type OverrideTemplateDiskParameters struct { // The number of the SCSI or IDE controller itself. // +kubebuilder:validation:Required BusNumber *float64 `json:"busNumber" tf:"bus_number,omitempty"` // The type of disk controller. Possible values: ide, parallel( LSI Logic Parallel SCSI), sas(LSI Logic SAS (SCSI)), paravirtual(Paravirtual (SCSI)), sata, nvme // +kubebuilder:validation:Required BusType *string `json:"busType" tf:"bus_type,omitempty"` // Specifies the IOPS for the disk. Default is 0. // +kubebuilder:validation:Optional Iops *float64 `json:"iops,omitempty" tf:"iops,omitempty"` // The size of the disk in MB. // +kubebuilder:validation:Required SizeInMb *float64 `json:"sizeInMb" tf:"size_in_mb,omitempty"` // Storage profile to override the VM default one // +kubebuilder:validation:Optional StorageProfile *string `json:"storageProfile,omitempty" tf:"storage_profile,omitempty"` // The device number on the SCSI or IDE controller of the disk. // +kubebuilder:validation:Required UnitNumber *float64 `json:"unitNumber" tf:"unit_number,omitempty"` }
func (*OverrideTemplateDiskParameters) DeepCopy ¶
func (in *OverrideTemplateDiskParameters) DeepCopy() *OverrideTemplateDiskParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OverrideTemplateDiskParameters.
func (*OverrideTemplateDiskParameters) DeepCopyInto ¶
func (in *OverrideTemplateDiskParameters) DeepCopyInto(out *OverrideTemplateDiskParameters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VM ¶
type VM struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'ObserveOnly' || has(self.forProvider.name)",message="name is a required parameter" Spec VMSpec `json:"spec"` Status VMStatus `json:"status,omitempty"` }
VM is the Schema for the VMs API. Provides a VMware Cloud Director standalone VM resource. This can be used to create, modify, and delete Standalone VMs. +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,vcd}
func (*VM) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VM.
func (*VM) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VM) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*VM) GetCondition ¶
func (mg *VM) GetCondition(ct xpv1.ConditionType) xpv1.Condition
GetCondition of this VM.
func (*VM) GetConnectionDetailsMapping ¶
GetConnectionDetailsMapping for this VM
func (*VM) GetDeletionPolicy ¶
func (mg *VM) GetDeletionPolicy() xpv1.DeletionPolicy
GetDeletionPolicy of this VM.
func (*VM) GetManagementPolicy ¶
func (mg *VM) GetManagementPolicy() xpv1.ManagementPolicy
GetManagementPolicy of this VM.
func (*VM) GetObservation ¶
GetObservation of this VM
func (*VM) GetParameters ¶
GetParameters of this VM
func (*VM) GetProviderConfigReference ¶
GetProviderConfigReference of this VM.
func (*VM) GetProviderReference ¶
GetProviderReference of this VM. Deprecated: Use GetProviderConfigReference.
func (*VM) GetPublishConnectionDetailsTo ¶
func (mg *VM) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo
GetPublishConnectionDetailsTo of this VM.
func (*VM) GetTerraformResourceType ¶
GetTerraformResourceType returns Terraform resource type for this VM
func (*VM) GetTerraformSchemaVersion ¶
GetTerraformSchemaVersion returns the associated Terraform schema version
func (*VM) GetWriteConnectionSecretToReference ¶
func (mg *VM) GetWriteConnectionSecretToReference() *xpv1.SecretReference
GetWriteConnectionSecretToReference of this VM.
func (*VM) LateInitialize ¶
LateInitialize this VM using its observed tfState. returns True if there are any spec changes for the resource.
func (*VM) ResolveReferences ¶
ResolveReferences of this VM.
func (*VM) SetConditions ¶
SetConditions of this VM.
func (*VM) SetDeletionPolicy ¶
func (mg *VM) SetDeletionPolicy(r xpv1.DeletionPolicy)
SetDeletionPolicy of this VM.
func (*VM) SetManagementPolicy ¶
func (mg *VM) SetManagementPolicy(r xpv1.ManagementPolicy)
SetManagementPolicy of this VM.
func (*VM) SetObservation ¶
SetObservation for this VM
func (*VM) SetParameters ¶
SetParameters for this VM
func (*VM) SetProviderConfigReference ¶
SetProviderConfigReference of this VM.
func (*VM) SetProviderReference ¶
SetProviderReference of this VM. Deprecated: Use SetProviderConfigReference.
func (*VM) SetPublishConnectionDetailsTo ¶
func (mg *VM) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)
SetPublishConnectionDetailsTo of this VM.
func (*VM) SetWriteConnectionSecretToReference ¶
func (mg *VM) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)
SetWriteConnectionSecretToReference of this VM.
type VMList ¶
type VMList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []VM `json:"items"` }
VMList contains a list of VMs
func (*VMList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VMList.
func (*VMList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VMList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type VMObservation ¶
type VMObservation struct { // Automatically accept EULA if OVA has it AcceptAllEulas *bool `json:"acceptAllEulas,omitempty" tf:"accept_all_eulas,omitempty"` // Media name to add as boot image. BootImage *string `json:"bootImage,omitempty" tf:"boot_image,omitempty"` // The URN of the media to use as boot image. BootImageID *string `json:"bootImageId,omitempty" tf:"boot_image_id,omitempty"` // The number of cores per socket CPUCores *float64 `json:"cpuCores,omitempty" tf:"cpu_cores,omitempty"` // True if the virtual machine supports addition of virtual CPUs while powered on. CPUHotAddEnabled *bool `json:"cpuHotAddEnabled,omitempty" tf:"cpu_hot_add_enabled,omitempty"` // The limit for how much of CPU can be consumed on the underlying virtualization infrastructure. This is only valid when the resource allocation is not unlimited. CPULimit *float64 `json:"cpuLimit,omitempty" tf:"cpu_limit,omitempty"` // Pre-determined relative priorities according to which the non-reserved portion of this resource is made available to the virtualized workload CPUPriority *string `json:"cpuPriority,omitempty" tf:"cpu_priority,omitempty"` // The amount of MHz reservation on the underlying virtualization infrastructure CPUReservation *float64 `json:"cpuReservation,omitempty" tf:"cpu_reservation,omitempty"` CPUShares *float64 `json:"cpuShares,omitempty" tf:"cpu_shares,omitempty"` // The catalog name in which to find the given vApp Template or media for boot_image CatalogName *string `json:"catalogName,omitempty" tf:"catalog_name,omitempty"` // Computer name to assign to this virtual machine ComputerName *string `json:"computerName,omitempty" tf:"computer_name,omitempty"` // The number of virtual CPUs to allocate to the VM Cpus *float64 `json:"cpus,omitempty" tf:"cpus,omitempty"` // Guest customization block Customization []CustomizationObservation `json:"customization,omitempty" tf:"customization,omitempty"` // The VM description Description *string `json:"description,omitempty" tf:"description,omitempty"` Disk []DiskObservation `json:"disk,omitempty" tf:"disk,omitempty"` // Expose hardware-assisted CPU virtualization to guest OS. ExposeHardwareVirtualization *bool `json:"exposeHardwareVirtualization,omitempty" tf:"expose_hardware_virtualization,omitempty"` // Key/value settings for guest properties GuestProperties map[string]*string `json:"guestProperties,omitempty" tf:"guest_properties,omitempty"` // Virtual Hardware Version (e.g.`vmx-14`, `vmx-13`, `vmx-12`, etc.) HardwareVersion *string `json:"hardwareVersion,omitempty" tf:"hardware_version,omitempty"` // VM Hyper Reference Href *string `json:"href,omitempty" tf:"href,omitempty"` ID *string `json:"id,omitempty" tf:"id,omitempty"` // A block will show internal disk details InternalDisk []InternalDiskObservation `json:"internalDisk,omitempty" tf:"internal_disk,omitempty"` // The amount of RAM (in MB) to allocate to the VM Memory *float64 `json:"memory,omitempty" tf:"memory,omitempty"` // True if the virtual machine supports addition of memory while powered on. MemoryHotAddEnabled *bool `json:"memoryHotAddEnabled,omitempty" tf:"memory_hot_add_enabled,omitempty"` // The limit for how much of memory can be consumed on the underlying virtualization infrastructure. This is only valid when the resource allocation is not unlimited. MemoryLimit *float64 `json:"memoryLimit,omitempty" tf:"memory_limit,omitempty"` // Pre-determined relative priorities according to which the non-reserved portion of this resource is made available to the virtualized workload MemoryPriority *string `json:"memoryPriority,omitempty" tf:"memory_priority,omitempty"` // The amount of RAM (in MB) reservation on the underlying virtualization infrastructure MemoryReservation *float64 `json:"memoryReservation,omitempty" tf:"memory_reservation,omitempty"` MemoryShares *float64 `json:"memoryShares,omitempty" tf:"memory_shares,omitempty"` // Key value map of metadata to assign to this VM Metadata map[string]*string `json:"metadata,omitempty" tf:"metadata,omitempty"` // Metadata entries for the given VM MetadataEntry []MetadataEntryObservation `json:"metadataEntry,omitempty" tf:"metadata_entry,omitempty"` // A name for the VM, unique within the vApp Name *string `json:"name,omitempty" tf:"name,omitempty"` // A block to define network interface. Multiple can be used. Network []NetworkObservation `json:"network,omitempty" tf:"network,omitempty"` // Optional number of seconds to try and wait for DHCP IP (valid for 'network' block only) NetworkDHCPWaitSeconds *float64 `json:"networkDhcpWaitSeconds,omitempty" tf:"network_dhcp_wait_seconds,omitempty"` // The name of organization to use, optional if defined at provider level. Useful when connected as sysadmin working across different organizations Org *string `json:"org,omitempty" tf:"org,omitempty"` // Operating System type. Possible values can be found in documentation. OsType *string `json:"osType,omitempty" tf:"os_type,omitempty"` // A block to match internal_disk interface in template. Multiple can be used. Disk will be matched by bus_type, bus_number and unit_number. OverrideTemplateDisk []OverrideTemplateDiskObservation `json:"overrideTemplateDisk,omitempty" tf:"override_template_disk,omitempty"` // VM placement policy ID. Has to be assigned to Org VDC. PlacementPolicyID *string `json:"placementPolicyId,omitempty" tf:"placement_policy_id,omitempty"` // A boolean value stating if this VM should be powered on PowerOn *bool `json:"powerOn,omitempty" tf:"power_on,omitempty"` // True if the update of resource should fail when virtual machine power off needed. PreventUpdatePowerOff *bool `json:"preventUpdatePowerOff,omitempty" tf:"prevent_update_power_off,omitempty"` // Security tags to assign to this VM SecurityTags []*string `json:"securityTags,omitempty" tf:"security_tags,omitempty"` // VM sizing policy ID. Has to be assigned to Org VDC. SizingPolicyID *string `json:"sizingPolicyId,omitempty" tf:"sizing_policy_id,omitempty"` // Shows the status code of the VM Status *float64 `json:"status,omitempty" tf:"status,omitempty"` // Shows the status of the VM StatusText *string `json:"statusText,omitempty" tf:"status_text,omitempty"` // Storage profile to override the default one StorageProfile *string `json:"storageProfile,omitempty" tf:"storage_profile,omitempty"` // The name of the vApp Template to use TemplateName *string `json:"templateName,omitempty" tf:"template_name,omitempty"` // The name of the VM in vApp Template to use. In cases when vApp template has more than one VM VMNameInTemplate *string `json:"vmNameInTemplate,omitempty" tf:"vm_name_in_template,omitempty"` // Type of VM: either 'vcd_vapp_vm' or 'vcd_vm' VMType *string `json:"vmType,omitempty" tf:"vm_type,omitempty"` // The vApp this VM belongs to - Required, unless it is a standalone VM VappName *string `json:"vappName,omitempty" tf:"vapp_name,omitempty"` // The URN of the vApp Template to use VappTemplateID *string `json:"vappTemplateId,omitempty" tf:"vapp_template_id,omitempty"` // The name of VDC to use, optional if defined at provider level Vdc *string `json:"vdc,omitempty" tf:"vdc,omitempty"` }
func (*VMObservation) DeepCopy ¶
func (in *VMObservation) DeepCopy() *VMObservation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VMObservation.
func (*VMObservation) DeepCopyInto ¶
func (in *VMObservation) DeepCopyInto(out *VMObservation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VMParameters ¶
type VMParameters struct { // Automatically accept EULA if OVA has it // +kubebuilder:validation:Optional AcceptAllEulas *bool `json:"acceptAllEulas,omitempty" tf:"accept_all_eulas,omitempty"` // Media name to add as boot image. // +kubebuilder:validation:Optional BootImage *string `json:"bootImage,omitempty" tf:"boot_image,omitempty"` // The URN of the media to use as boot image. // +kubebuilder:validation:Optional BootImageID *string `json:"bootImageId,omitempty" tf:"boot_image_id,omitempty"` // The number of cores per socket // +kubebuilder:validation:Optional CPUCores *float64 `json:"cpuCores,omitempty" tf:"cpu_cores,omitempty"` // True if the virtual machine supports addition of virtual CPUs while powered on. // +kubebuilder:validation:Optional CPUHotAddEnabled *bool `json:"cpuHotAddEnabled,omitempty" tf:"cpu_hot_add_enabled,omitempty"` // The limit for how much of CPU can be consumed on the underlying virtualization infrastructure. This is only valid when the resource allocation is not unlimited. // +kubebuilder:validation:Optional CPULimit *float64 `json:"cpuLimit,omitempty" tf:"cpu_limit,omitempty"` // Pre-determined relative priorities according to which the non-reserved portion of this resource is made available to the virtualized workload // +kubebuilder:validation:Optional CPUPriority *string `json:"cpuPriority,omitempty" tf:"cpu_priority,omitempty"` // The amount of MHz reservation on the underlying virtualization infrastructure // +kubebuilder:validation:Optional CPUReservation *float64 `json:"cpuReservation,omitempty" tf:"cpu_reservation,omitempty"` // +kubebuilder:validation:Optional CPUShares *float64 `json:"cpuShares,omitempty" tf:"cpu_shares,omitempty"` // The catalog name in which to find the given vApp Template or media for boot_image // +kubebuilder:validation:Optional CatalogName *string `json:"catalogName,omitempty" tf:"catalog_name,omitempty"` // Computer name to assign to this virtual machine // +kubebuilder:validation:Optional ComputerName *string `json:"computerName,omitempty" tf:"computer_name,omitempty"` // The number of virtual CPUs to allocate to the VM // +kubebuilder:validation:Optional Cpus *float64 `json:"cpus,omitempty" tf:"cpus,omitempty"` // Guest customization block // +kubebuilder:validation:Optional Customization []CustomizationParameters `json:"customization,omitempty" tf:"customization,omitempty"` // The VM description // +kubebuilder:validation:Optional Description *string `json:"description,omitempty" tf:"description,omitempty"` // +kubebuilder:validation:Optional Disk []DiskParameters `json:"disk,omitempty" tf:"disk,omitempty"` // Expose hardware-assisted CPU virtualization to guest OS. // +kubebuilder:validation:Optional ExposeHardwareVirtualization *bool `json:"exposeHardwareVirtualization,omitempty" tf:"expose_hardware_virtualization,omitempty"` // Key/value settings for guest properties // +kubebuilder:validation:Optional GuestProperties map[string]*string `json:"guestProperties,omitempty" tf:"guest_properties,omitempty"` // Virtual Hardware Version (e.g.`vmx-14`, `vmx-13`, `vmx-12`, etc.) // +kubebuilder:validation:Optional HardwareVersion *string `json:"hardwareVersion,omitempty" tf:"hardware_version,omitempty"` // VM Hyper Reference // +kubebuilder:validation:Optional Href *string `json:"href,omitempty" tf:"href,omitempty"` // The amount of RAM (in MB) to allocate to the VM // +kubebuilder:validation:Optional Memory *float64 `json:"memory,omitempty" tf:"memory,omitempty"` // True if the virtual machine supports addition of memory while powered on. // +kubebuilder:validation:Optional MemoryHotAddEnabled *bool `json:"memoryHotAddEnabled,omitempty" tf:"memory_hot_add_enabled,omitempty"` // The limit for how much of memory can be consumed on the underlying virtualization infrastructure. This is only valid when the resource allocation is not unlimited. // +kubebuilder:validation:Optional MemoryLimit *float64 `json:"memoryLimit,omitempty" tf:"memory_limit,omitempty"` // Pre-determined relative priorities according to which the non-reserved portion of this resource is made available to the virtualized workload // +kubebuilder:validation:Optional MemoryPriority *string `json:"memoryPriority,omitempty" tf:"memory_priority,omitempty"` // The amount of RAM (in MB) reservation on the underlying virtualization infrastructure // +kubebuilder:validation:Optional MemoryReservation *float64 `json:"memoryReservation,omitempty" tf:"memory_reservation,omitempty"` // +kubebuilder:validation:Optional MemoryShares *float64 `json:"memoryShares,omitempty" tf:"memory_shares,omitempty"` // Key value map of metadata to assign to this VM // +kubebuilder:validation:Optional Metadata map[string]*string `json:"metadata,omitempty" tf:"metadata,omitempty"` // Metadata entries for the given VM // +kubebuilder:validation:Optional MetadataEntry []MetadataEntryParameters `json:"metadataEntry,omitempty" tf:"metadata_entry,omitempty"` // A name for the VM, unique within the vApp // +kubebuilder:validation:Optional Name *string `json:"name,omitempty" tf:"name,omitempty"` // A block to define network interface. Multiple can be used. // +kubebuilder:validation:Optional Network []NetworkParameters `json:"network,omitempty" tf:"network,omitempty"` // Optional number of seconds to try and wait for DHCP IP (valid for 'network' block only) // +kubebuilder:validation:Optional NetworkDHCPWaitSeconds *float64 `json:"networkDhcpWaitSeconds,omitempty" tf:"network_dhcp_wait_seconds,omitempty"` // The name of organization to use, optional if defined at provider level. Useful when connected as sysadmin working across different organizations // +kubebuilder:validation:Optional Org *string `json:"org,omitempty" tf:"org,omitempty"` // Operating System type. Possible values can be found in documentation. // +kubebuilder:validation:Optional OsType *string `json:"osType,omitempty" tf:"os_type,omitempty"` // A block to match internal_disk interface in template. Multiple can be used. Disk will be matched by bus_type, bus_number and unit_number. // +kubebuilder:validation:Optional OverrideTemplateDisk []OverrideTemplateDiskParameters `json:"overrideTemplateDisk,omitempty" tf:"override_template_disk,omitempty"` // VM placement policy ID. Has to be assigned to Org VDC. // +kubebuilder:validation:Optional PlacementPolicyID *string `json:"placementPolicyId,omitempty" tf:"placement_policy_id,omitempty"` // A boolean value stating if this VM should be powered on // +kubebuilder:validation:Optional PowerOn *bool `json:"powerOn,omitempty" tf:"power_on,omitempty"` // True if the update of resource should fail when virtual machine power off needed. // +kubebuilder:validation:Optional PreventUpdatePowerOff *bool `json:"preventUpdatePowerOff,omitempty" tf:"prevent_update_power_off,omitempty"` // Security tags to assign to this VM // +kubebuilder:validation:Optional SecurityTags []*string `json:"securityTags,omitempty" tf:"security_tags,omitempty"` // VM sizing policy ID. Has to be assigned to Org VDC. // +kubebuilder:validation:Optional SizingPolicyID *string `json:"sizingPolicyId,omitempty" tf:"sizing_policy_id,omitempty"` // Storage profile to override the default one // +kubebuilder:validation:Optional StorageProfile *string `json:"storageProfile,omitempty" tf:"storage_profile,omitempty"` // The name of the vApp Template to use // +kubebuilder:validation:Optional TemplateName *string `json:"templateName,omitempty" tf:"template_name,omitempty"` // The name of the VM in vApp Template to use. In cases when vApp template has more than one VM // +kubebuilder:validation:Optional VMNameInTemplate *string `json:"vmNameInTemplate,omitempty" tf:"vm_name_in_template,omitempty"` // The vApp this VM belongs to - Required, unless it is a standalone VM // +kubebuilder:validation:Optional VappName *string `json:"vappName,omitempty" tf:"vapp_name,omitempty"` // The URN of the vApp Template to use // +kubebuilder:validation:Optional VappTemplateID *string `json:"vappTemplateId,omitempty" tf:"vapp_template_id,omitempty"` // The name of VDC to use, optional if defined at provider level // +kubebuilder:validation:Optional Vdc *string `json:"vdc,omitempty" tf:"vdc,omitempty"` }
func (*VMParameters) DeepCopy ¶
func (in *VMParameters) DeepCopy() *VMParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VMParameters.
func (*VMParameters) DeepCopyInto ¶
func (in *VMParameters) DeepCopyInto(out *VMParameters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VMSpec ¶
type VMSpec struct { v1.ResourceSpec `json:",inline"` ForProvider VMParameters `json:"forProvider"` }
VMSpec defines the desired state of VM
func (*VMSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VMSpec.
func (*VMSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VMStatus ¶
type VMStatus struct { v1.ResourceStatus `json:",inline"` AtProvider VMObservation `json:"atProvider,omitempty"` }
VMStatus defines the observed state of VM.
func (*VMStatus) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VMStatus.
func (*VMStatus) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.