Documentation
¶
Overview ¶
Package v1beta1 contains the v1beta1 API implementation.
Package v1beta1 contains API Schema definitions for the infrastructure v1beta1 API group +kubebuilder:object:generate=true +groupName=infrastructure.cluster.x-k8s.io
Index ¶
- Constants
- Variables
- type NutanixBootType
- type NutanixCategoryIdentifier
- type NutanixCluster
- func (in *NutanixCluster) DeepCopy() *NutanixCluster
- func (in *NutanixCluster) DeepCopyInto(out *NutanixCluster)
- func (in *NutanixCluster) DeepCopyObject() runtime.Object
- func (ncl *NutanixCluster) GetConditions() capiv1.Conditions
- func (ncl *NutanixCluster) GetNamespacedName() string
- func (ncl *NutanixCluster) GetPrismCentralCredentialRef() (*credentialTypes.NutanixCredentialReference, error)
- func (ncl *NutanixCluster) GetPrismCentralTrustBundle() *credentialTypes.NutanixTrustBundleReference
- func (*NutanixCluster) Hub()
- func (ncl *NutanixCluster) SetConditions(conditions capiv1.Conditions)
- type NutanixClusterList
- type NutanixClusterSpec
- type NutanixClusterStatus
- type NutanixClusterTemplate
- type NutanixClusterTemplateList
- type NutanixClusterTemplateResource
- type NutanixClusterTemplateSpec
- type NutanixFailureDomain
- func (in *NutanixFailureDomain) DeepCopy() *NutanixFailureDomain
- func (in *NutanixFailureDomain) DeepCopyInto(out *NutanixFailureDomain)
- func (in *NutanixFailureDomain) DeepCopyObject() runtime.Object
- func (nfd *NutanixFailureDomain) GetConditions() capiv1.Conditions
- func (nfd *NutanixFailureDomain) SetConditions(conditions capiv1.Conditions)
- type NutanixFailureDomainConfigdeprecated
- type NutanixFailureDomainList
- type NutanixFailureDomainSpec
- type NutanixFailureDomainStatus
- type NutanixGPU
- type NutanixGPUIdentifierType
- type NutanixIdentifierType
- type NutanixImageLookup
- type NutanixMachine
- func (in *NutanixMachine) DeepCopy() *NutanixMachine
- func (in *NutanixMachine) DeepCopyInto(out *NutanixMachine)
- func (in *NutanixMachine) DeepCopyObject() runtime.Object
- func (nm *NutanixMachine) GetConditions() capiv1.Conditions
- func (*NutanixMachine) Hub()
- func (nm *NutanixMachine) SetConditions(conditions capiv1.Conditions)
- type NutanixMachineDiskAdapterType
- type NutanixMachineDiskDeviceType
- type NutanixMachineDiskMode
- type NutanixMachineList
- type NutanixMachineSpec
- type NutanixMachineStatus
- type NutanixMachineTemplate
- type NutanixMachineTemplateList
- type NutanixMachineTemplateResource
- type NutanixMachineTemplateSpec
- type NutanixMachineVMDisk
- type NutanixMachineVMDiskDeviceProperties
- type NutanixMachineVMStorageConfig
- type NutanixResourceIdentifier
- func (in *NutanixResourceIdentifier) DeepCopy() *NutanixResourceIdentifier
- func (in *NutanixResourceIdentifier) DeepCopyInto(out *NutanixResourceIdentifier)
- func (nri NutanixResourceIdentifier) DisplayString() string
- func (nri NutanixResourceIdentifier) EqualTo(other *NutanixResourceIdentifier) bool
- func (nri NutanixResourceIdentifier) IsName() bool
- func (nri NutanixResourceIdentifier) IsUUID() bool
- func (nri NutanixResourceIdentifier) String() string
Constants ¶
const ( DeletionFailed = "DeletionFailed" VolumeGroupDetachFailed = "VolumeGroupDetachFailed" )
const ( // FailureDomainSafeForDeletionCondition indicates whether the failure domain object is safe for deletion, // ie., when it is not used or referenced by other resources FailureDomainSafeForDeletionCondition capiv1.ConditionType = "FailureDomainSafeForDeletion" // FailureDomainInUseReason indicates that the failure domain is used by // Machines and/or referenced by cluster FailureDomainInUseReason = "FailureDomainInUse" // NoFailureDomainsConfiguredCondition indicates no failure domains have been configured NoFailureDomainsConfiguredCondition capiv1.ConditionType = "NoFailureDomainsConfigured" // FailureDomainsValidatedCondition indicates whether the failure domains are configured correctly or not. FailureDomainsValidatedCondition capiv1.ConditionType = "FailureDomainsValidated" // FailureDomainsMisconfiguredReason (Severity=Warning) indicates that some of the failure domains // are misconfigured. FailureDomainsMisconfiguredReason = "FailureDomainsMisconfigured" )
Conditions and Reasons releated to failure domain
const ( // ClusterCategoryCreatedCondition indicates the status of the category linked to the NutanixCluster ClusterCategoryCreatedCondition capiv1.ConditionType = "ClusterCategoryCreated" ClusterCategoryCreationFailed = "ClusterCategoryCreationFailed" )
const ( // PrismCentralClientCondition indicates the status of the client used to connect to Prism Central PrismCentralClientCondition capiv1.ConditionType = "PrismClientInit" PrismCentralV4ClientCondition capiv1.ConditionType = "PrismClientV4Init" PrismCentralClientInitializationFailed = "PrismClientInitFailed" PrismCentralV4ClientInitializationFailed = "PrismClientV4InitFailed" )
const ( // VMProvisionedCondition shows the status of the VM provisioning process VMProvisionedCondition capiv1.ConditionType = "VMProvisioned" VMProvisionedTaskFailed = "FailedVMTask" // VMAddressesAssignedCondition shows the status of the process of assigning the VM addresses VMAddressesAssignedCondition capiv1.ConditionType = "VMAddressesAssigned" VMAddressesFailed = "VMAddressesFailed" VMBootTypeInvalid = "VMBootTypeInvalid" ClusterInfrastructureNotReady = "ClusterInfrastructureNotReady" BootstrapDataNotReady = "BootstrapDataNotReady" ControlplaneNotInitialized = "ControlplaneNotInitialized" )
const ( // VMAddressesAssignedCondition shows the status of the process of assigning the VMs to a project ProjectAssignedCondition capiv1.ConditionType = "ProjectAssigned" ProjectAssignationFailed = "ProjectAssignationFailed" )
const ( // CredentialRefSecretOwnerSetCondition shows the status of setting the Owner CredentialRefSecretOwnerSetCondition capiv1.ConditionType = "CredentialRefSecretOwnerSet" CredentialRefSecretOwnerSetFailed = "CredentialRefSecretOwnerSetFailed" TrustBundleSecretOwnerSetCondition = "TrustBundleSecretOwnerSet" TrustBundleSecretOwnerSetFailed = "TrustBundleSecretOwnerSetFailed" )
const ( // Version is the API version. Version = "v1beta1" // GroupName is the name of the API group. GroupName = "infrastructure.cluster.x-k8s.io" )
const ( // NutanixIdentifierUUID is a resource identifier identifying the object by UUID. NutanixIdentifierUUID NutanixIdentifierType = "uuid" // NutanixIdentifierName is a resource identifier identifying the object by Name. NutanixIdentifierName NutanixIdentifierType = "name" // NutanixBootTypeLegacy is a resource identifier identifying the legacy boot type for virtual machines. NutanixBootTypeLegacy NutanixBootType = "legacy" // NutanixBootTypeUEFI is a resource identifier identifying the UEFI boot type for virtual machines. NutanixBootTypeUEFI NutanixBootType = "uefi" // NutanixGPUIdentifierName is a resource identifier identifying a GPU by Name. NutanixGPUIdentifierName NutanixGPUIdentifierType = "name" // NutanixGPUIdentifierDeviceID is a resource identifier identifying a GPU using device ID. NutanixGPUIdentifierDeviceID NutanixGPUIdentifierType = "deviceID" // ObsoleteDefaultCAPICategoryPrefix is the obsolete default category prefix used for CAPI clusters. ObsoleteDefaultCAPICategoryPrefix = "kubernetes-io-cluster-" // DefaultCAPICategoryKeyForName is the default category key used for CAPI clusters for cluster names. DefaultCAPICategoryKeyForName = "KubernetesClusterName" // DefaultCAPICategoryDescription is the default category description used for CAPI clusters. DefaultCAPICategoryDescription = "Managed by CAPX" // ObsoleteDefaultCAPICategoryOwnedValue is the obsolete default category value used for CAPI clusters. ObsoleteDefaultCAPICategoryOwnedValue = "owned" )
const ( // NutanixClusterKind represents the Kind of NutanixCluster NutanixClusterKind = "NutanixCluster" // NutanixClusterFinalizer allows NutanixClusterReconciler to clean up AHV // resources associated with NutanixCluster before removing it from the // API Server. NutanixClusterFinalizer = "infrastructure.cluster.x-k8s.io/nutanixcluster" DeprecatedNutanixClusterFinalizer = "nutanixcluster.infrastructure.cluster.x-k8s.io" NutanixClusterCredentialFinalizer = "infrastructure.cluster.x-k8s.io/nutanixclustercredential" DeprecatedNutanixClusterCredentialFinalizer = "nutanixcluster/infrastructure.cluster.x-k8s.io" )
const ( // NutanixFailureDomainKind represents the Kind of NutanixFailureDomain NutanixFailureDomainKind = "NutanixFailureDomain" // NutanixFailureDomainFinalizer is the finalizer used by the NutanixFailureDomain controller to block // deletion of the NutanixFailureDomain object if there are references to this object by other resources. NutanixFailureDomainFinalizer = "infrastructure.cluster.x-k8s.io/nutanixfailuredomain" )
const ( // NutanixMachineKind represents the Kind of NutanixMachine NutanixMachineKind = "NutanixMachine" // NutanixMachineFinalizer allows NutanixMachineReconciler to clean up AHV // resources associated with NutanixMachine before removing it from the // API Server. NutanixMachineFinalizer = "infrastructure.cluster.x-k8s.io/nutanixmachine" DeprecatedNutanixMachineFinalizer = "nutanixmachine.infrastructure.cluster.x-k8s.io" // NutanixMachineBootstrapRefKindSecret represents the Kind of Secret // referenced by NutanixMachine's BootstrapRef. NutanixMachineBootstrapRefKindSecret = "Secret" // NutanixMachineBootstrapRefKindImage represents the Kind of Image // referenced by NutanixMachine's BootstrapRef. If the BootstrapRef.Kind is set // to Image, the NutanixMachine will be created with the image mounted // as a CD-ROM. NutanixMachineBootstrapRefKindImage = "Image" // NutanixMachineDiskModeStandard represents the standard disk mode. NutanixMachineDiskModeStandard NutanixMachineDiskMode = "Standard" // NutanixMachineDiskModeFlash represents the flash disk mode. NutanixMachineDiskModeFlash NutanixMachineDiskMode = "Flash" // NutanixMachineDiskDeviceTypeDisk represents the disk device type. NutanixMachineDiskDeviceTypeDisk NutanixMachineDiskDeviceType = "Disk" // NutanixMachineDiskDeviceTypeCDRom represents the CD-ROM device type. NutanixMachineDiskDeviceTypeCDRom NutanixMachineDiskDeviceType = "CDRom" // NutanixMachineDiskAdapterTypeSCSI represents the SCSI adapter type. NutanixMachineDiskAdapterTypeSCSI NutanixMachineDiskAdapterType = "SCSI" // NutanixMachineDiskAdapterTypeIDE represents the IDE adapter type. NutanixMachineDiskAdapterTypeIDE NutanixMachineDiskAdapterType = "IDE" // NutanixMachineDiskAdapterTypePCI represents the PCI adapter type. NutanixMachineDiskAdapterTypePCI NutanixMachineDiskAdapterType = "PCI" // NutanixMachineDiskAdapterTypeSATA represents the SATA adapter type. NutanixMachineDiskAdapterTypeSATA NutanixMachineDiskAdapterType = "SATA" // NutanixMachineDiskAdapterTypeSPAPR represents the SPAPR adapter type. NutanixMachineDiskAdapterTypeSPAPR NutanixMachineDiskAdapterType = "SPAPR" )
const (
// NutanixMachineTemplateKind represents the Kind of NutanixMachineTemplate
NutanixMachineTemplateKind = "NutanixMachineTemplate"
)
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: GroupName, Version: Version} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type NutanixBootType ¶ added in v1.1.3
type NutanixBootType string
NutanixBootType is an enumeration of different boot types.
type NutanixCategoryIdentifier ¶
type NutanixCategoryIdentifier struct {
// key is the Key of category in PC.
// +optional
Key string `json:"key,omitempty"`
// value is the category value linked to the category key in PC
// +optional
Value string `json:"value,omitempty"`
}
func (*NutanixCategoryIdentifier) DeepCopy ¶
func (in *NutanixCategoryIdentifier) DeepCopy() *NutanixCategoryIdentifier
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixCategoryIdentifier.
func (*NutanixCategoryIdentifier) DeepCopyInto ¶
func (in *NutanixCategoryIdentifier) DeepCopyInto(out *NutanixCategoryIdentifier)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NutanixCluster ¶
type NutanixCluster struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec NutanixClusterSpec `json:"spec,omitempty"`
Status NutanixClusterStatus `json:"status,omitempty"`
}
NutanixCluster is the Schema for the nutanixclusters API
func (*NutanixCluster) DeepCopy ¶
func (in *NutanixCluster) DeepCopy() *NutanixCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixCluster.
func (*NutanixCluster) DeepCopyInto ¶
func (in *NutanixCluster) DeepCopyInto(out *NutanixCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NutanixCluster) DeepCopyObject ¶
func (in *NutanixCluster) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*NutanixCluster) GetConditions ¶
func (ncl *NutanixCluster) GetConditions() capiv1.Conditions
GetConditions returns the set of conditions for this object.
func (*NutanixCluster) GetNamespacedName ¶ added in v1.2.5
func (ncl *NutanixCluster) GetNamespacedName() string
GetNamespacedName returns the namespaced name of the NutanixCluster.
func (*NutanixCluster) GetPrismCentralCredentialRef ¶ added in v1.2.5
func (ncl *NutanixCluster) GetPrismCentralCredentialRef() (*credentialTypes.NutanixCredentialReference, error)
func (*NutanixCluster) GetPrismCentralTrustBundle ¶ added in v1.3.5
func (ncl *NutanixCluster) GetPrismCentralTrustBundle() *credentialTypes.NutanixTrustBundleReference
GetPrismCentralTrustBundle returns the trust bundle reference for the Nutanix Prism Central.
func (*NutanixCluster) Hub ¶
func (*NutanixCluster) Hub()
Hub marks NutanixCluster as a conversion hub.
func (*NutanixCluster) SetConditions ¶
func (ncl *NutanixCluster) SetConditions(conditions capiv1.Conditions)
SetConditions sets the conditions on this object.
type NutanixClusterList ¶
type NutanixClusterList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []NutanixCluster `json:"items"`
}
NutanixClusterList contains a list of NutanixCluster
func (*NutanixClusterList) DeepCopy ¶
func (in *NutanixClusterList) DeepCopy() *NutanixClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixClusterList.
func (*NutanixClusterList) DeepCopyInto ¶
func (in *NutanixClusterList) DeepCopyInto(out *NutanixClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NutanixClusterList) DeepCopyObject ¶
func (in *NutanixClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*NutanixClusterList) Hub ¶
func (*NutanixClusterList) Hub()
Hub marks NutanixClusterList as a conversion hub.
type NutanixClusterSpec ¶
type NutanixClusterSpec struct {
// ControlPlaneEndpoint represents the endpoint used to communicate with the control plane.
// host can be either DNS name or ip address
// +optional
ControlPlaneEndpoint capiv1.APIEndpoint `json:"controlPlaneEndpoint"`
// prismCentral holds the endpoint address and port to access the Nutanix Prism Central.
// When a cluster-wide proxy is installed, by default, this endpoint will be accessed via the proxy.
// Should you wish for communication with this endpoint not to be proxied, please add the endpoint to the
// proxy spec.noProxy list.
// +optional
PrismCentral *credentialTypes.NutanixPrismEndpoint `json:"prismCentral"`
// failureDomains configures failure domains information for the Nutanix platform.
// When set, the failure domains defined here may be used to spread Machines across
// prism element clusters to improve fault tolerance of the cluster.
// +listType=map
// +listMapKey=name
// +optional
//
// Deprecated: This field is replaced by the field controlPlaneFailureDomains and will be removed in the next apiVersion.
//
FailureDomains []NutanixFailureDomainConfig `json:"failureDomains,omitempty"`
// controlPlaneFailureDomains configures references to the NutanixFailureDomain objects
// that the cluster uses to deploy its control-plane machines.
// +listType=map
// +listMapKey=name
// +optional
ControlPlaneFailureDomains []corev1.LocalObjectReference `json:"controlPlaneFailureDomains,omitempty"`
}
NutanixClusterSpec defines the desired state of NutanixCluster +kubebuilder:validation:XValidation:rule="!(has(self.failureDomains) && has(self.controlPlaneFailureDomains))",message="Cannot set both 'failureDomains' and 'controlPlaneFailureDomains' fields simultaneously. Use 'controlPlaneFailureDomains' as 'failureDomains' is deprecated."
func (*NutanixClusterSpec) DeepCopy ¶
func (in *NutanixClusterSpec) DeepCopy() *NutanixClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixClusterSpec.
func (*NutanixClusterSpec) DeepCopyInto ¶
func (in *NutanixClusterSpec) DeepCopyInto(out *NutanixClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NutanixClusterStatus ¶
type NutanixClusterStatus struct {
// +optional
Ready bool `json:"ready,omitempty"`
// failureDomains are a list of failure domains configured in the
// cluster's spec and validated by the cluster controller.
FailureDomains capiv1.FailureDomains `json:"failureDomains,omitempty"`
// Conditions defines current service state of the NutanixCluster.
// +optional
Conditions capiv1.Conditions `json:"conditions,omitempty"`
// Will be set in case of failure of Cluster instance
// +optional
FailureReason *string `json:"failureReason,omitempty"`
// Will be set in case of failure of Cluster instance
// +optional
FailureMessage *string `json:"failureMessage,omitempty"`
}
NutanixClusterStatus defines the observed state of NutanixCluster
func (*NutanixClusterStatus) DeepCopy ¶
func (in *NutanixClusterStatus) DeepCopy() *NutanixClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixClusterStatus.
func (*NutanixClusterStatus) DeepCopyInto ¶
func (in *NutanixClusterStatus) DeepCopyInto(out *NutanixClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NutanixClusterTemplate ¶ added in v1.4.0
type NutanixClusterTemplate struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec NutanixClusterTemplateSpec `json:"spec,omitempty"`
}
NutanixClusterTemplate is the Schema for the nutanixclustertemplates API
func (*NutanixClusterTemplate) DeepCopy ¶ added in v1.4.0
func (in *NutanixClusterTemplate) DeepCopy() *NutanixClusterTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixClusterTemplate.
func (*NutanixClusterTemplate) DeepCopyInto ¶ added in v1.4.0
func (in *NutanixClusterTemplate) DeepCopyInto(out *NutanixClusterTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NutanixClusterTemplate) DeepCopyObject ¶ added in v1.4.0
func (in *NutanixClusterTemplate) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type NutanixClusterTemplateList ¶ added in v1.4.0
type NutanixClusterTemplateList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []NutanixClusterTemplate `json:"items"`
}
NutanixClusterTemplateList contains a list of NutanixClusterTemplate
func (*NutanixClusterTemplateList) DeepCopy ¶ added in v1.4.0
func (in *NutanixClusterTemplateList) DeepCopy() *NutanixClusterTemplateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixClusterTemplateList.
func (*NutanixClusterTemplateList) DeepCopyInto ¶ added in v1.4.0
func (in *NutanixClusterTemplateList) DeepCopyInto(out *NutanixClusterTemplateList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NutanixClusterTemplateList) DeepCopyObject ¶ added in v1.4.0
func (in *NutanixClusterTemplateList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type NutanixClusterTemplateResource ¶ added in v1.4.0
type NutanixClusterTemplateResource struct {
Spec NutanixClusterSpec `json:"spec"`
}
NutanixClusterTemplateResource describes the data needed to create a NutanixCluster from a template.
func (*NutanixClusterTemplateResource) DeepCopy ¶ added in v1.4.0
func (in *NutanixClusterTemplateResource) DeepCopy() *NutanixClusterTemplateResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixClusterTemplateResource.
func (*NutanixClusterTemplateResource) DeepCopyInto ¶ added in v1.4.0
func (in *NutanixClusterTemplateResource) DeepCopyInto(out *NutanixClusterTemplateResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NutanixClusterTemplateSpec ¶ added in v1.4.0
type NutanixClusterTemplateSpec struct {
Template NutanixClusterTemplateResource `json:"template"`
}
NutanixClusterTemplateSpec defines the desired state of NutanixClusterTemplate
func (*NutanixClusterTemplateSpec) DeepCopy ¶ added in v1.4.0
func (in *NutanixClusterTemplateSpec) DeepCopy() *NutanixClusterTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixClusterTemplateSpec.
func (*NutanixClusterTemplateSpec) DeepCopyInto ¶ added in v1.4.0
func (in *NutanixClusterTemplateSpec) DeepCopyInto(out *NutanixClusterTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NutanixFailureDomain ¶ added in v1.3.0
type NutanixFailureDomain struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec NutanixFailureDomainSpec `json:"spec,omitempty"`
Status NutanixFailureDomainStatus `json:"status,omitempty"`
}
NutanixFailureDomain is the Schema for the NutanixFailureDomain API.
func (*NutanixFailureDomain) DeepCopy ¶ added in v1.3.0
func (in *NutanixFailureDomain) DeepCopy() *NutanixFailureDomain
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixFailureDomain.
func (*NutanixFailureDomain) DeepCopyInto ¶ added in v1.3.0
func (in *NutanixFailureDomain) DeepCopyInto(out *NutanixFailureDomain)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NutanixFailureDomain) DeepCopyObject ¶ added in v1.7.0
func (in *NutanixFailureDomain) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*NutanixFailureDomain) GetConditions ¶ added in v1.7.0
func (nfd *NutanixFailureDomain) GetConditions() capiv1.Conditions
GetConditions returns the set of conditions for this object.
func (*NutanixFailureDomain) SetConditions ¶ added in v1.7.0
func (nfd *NutanixFailureDomain) SetConditions(conditions capiv1.Conditions)
SetConditions sets the conditions on this object.
type NutanixFailureDomainConfig
deprecated
added in
v1.7.0
type NutanixFailureDomainConfig struct {
// name defines the unique name of a failure domain.
// Name is required and must be at most 64 characters in length.
// It must consist of only lower case alphanumeric characters and hyphens (-).
// It must start and end with an alphanumeric character.
// This value is arbitrary and is used to identify the failure domain within the platform.
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=64
// +kubebuilder:validation:Pattern=`[a-z0-9]([-a-z0-9]*[a-z0-9])?`
Name string `json:"name"`
// cluster is to identify the cluster (the Prism Element under management of the Prism Central),
// in which the Machine's VM will be created. The cluster identifier (uuid or name) can be obtained
// from the Prism Central console or using the prism_central API.
// +kubebuilder:validation:Required
Cluster NutanixResourceIdentifier `json:"cluster"`
// subnets holds a list of identifiers (one or more) of the cluster's network subnets
// for the Machine's VM to connect to. The subnet identifiers (uuid or name) can be
// obtained from the Prism Central console or using the prism_central API.
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinItems=1
Subnets []NutanixResourceIdentifier `json:"subnets"`
// indicates if a failure domain is suited for control plane nodes
// +kubebuilder:validation:Required
ControlPlane bool `json:"controlPlane,omitempty"`
}
NutanixFailureDomainConfig configures failure domain information for Nutanix.
Deprecated: This type is replaced by the NutanixFailureDomain CRD type and will be removed in the next apiVersion.
func (*NutanixFailureDomainConfig) DeepCopy ¶ added in v1.7.0
func (in *NutanixFailureDomainConfig) DeepCopy() *NutanixFailureDomainConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixFailureDomainConfig.
func (*NutanixFailureDomainConfig) DeepCopyInto ¶ added in v1.7.0
func (in *NutanixFailureDomainConfig) DeepCopyInto(out *NutanixFailureDomainConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NutanixFailureDomainList ¶ added in v1.7.0
type NutanixFailureDomainList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []NutanixFailureDomain `json:"items"`
}
NutanixFailureDomainList contains a list of NutanixFailureDomain
func (*NutanixFailureDomainList) DeepCopy ¶ added in v1.7.0
func (in *NutanixFailureDomainList) DeepCopy() *NutanixFailureDomainList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixFailureDomainList.
func (*NutanixFailureDomainList) DeepCopyInto ¶ added in v1.7.0
func (in *NutanixFailureDomainList) DeepCopyInto(out *NutanixFailureDomainList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NutanixFailureDomainList) DeepCopyObject ¶ added in v1.7.0
func (in *NutanixFailureDomainList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type NutanixFailureDomainSpec ¶ added in v1.7.0
type NutanixFailureDomainSpec struct {
// prismElementCluster is to identify the Prism Element cluster in the Prism Central for the failure domain.
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="prismElementCluster is immutable once set"
// +kubebuilder:validation:Required
PrismElementCluster NutanixResourceIdentifier `json:"prismElementCluster"`
// subnets holds a list of identifiers (one or more) of the PE cluster's network subnets
// for the Machine's VM to connect to.
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="subnets is immutable once set"
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinItems=1
Subnets []NutanixResourceIdentifier `json:"subnets"`
}
NutanixFailureDomainSpec defines the desired state of NutanixFailureDomain.
func (*NutanixFailureDomainSpec) DeepCopy ¶ added in v1.7.0
func (in *NutanixFailureDomainSpec) DeepCopy() *NutanixFailureDomainSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixFailureDomainSpec.
func (*NutanixFailureDomainSpec) DeepCopyInto ¶ added in v1.7.0
func (in *NutanixFailureDomainSpec) DeepCopyInto(out *NutanixFailureDomainSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NutanixFailureDomainStatus ¶ added in v1.7.0
type NutanixFailureDomainStatus struct {
// conditions represent the latest states of the failure domain.
// +optional
Conditions []capiv1.Condition `json:"conditions,omitempty"`
}
NutanixFailureDomainStatus defines the observed state of NutanixFailureDomain resource.
func (*NutanixFailureDomainStatus) DeepCopy ¶ added in v1.7.0
func (in *NutanixFailureDomainStatus) DeepCopy() *NutanixFailureDomainStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixFailureDomainStatus.
func (*NutanixFailureDomainStatus) DeepCopyInto ¶ added in v1.7.0
func (in *NutanixFailureDomainStatus) DeepCopyInto(out *NutanixFailureDomainStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NutanixGPU ¶ added in v1.2.0
type NutanixGPU struct {
// Type is the identifier type to use for this resource.
// +kubebuilder:validation:Required
// +kubebuilder:validation:Enum:=deviceID;name
Type NutanixGPUIdentifierType `json:"type"`
// deviceID is the id of the GPU entity.
// +optional
DeviceID *int64 `json:"deviceID,omitempty"`
// name is the GPU name
// +optional
Name *string `json:"name,omitempty"`
}
func (*NutanixGPU) DeepCopy ¶ added in v1.2.0
func (in *NutanixGPU) DeepCopy() *NutanixGPU
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixGPU.
func (*NutanixGPU) DeepCopyInto ¶ added in v1.2.0
func (in *NutanixGPU) DeepCopyInto(out *NutanixGPU)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NutanixGPUIdentifierType ¶ added in v1.2.0
type NutanixGPUIdentifierType string
NutanixGPUIdentifierType is an enumeration of different resource identifier types for GPU entities.
type NutanixIdentifierType ¶
type NutanixIdentifierType string
NutanixIdentifierType is an enumeration of different resource identifier types.
type NutanixImageLookup ¶ added in v1.6.0
type NutanixImageLookup struct {
// Format is the naming format to look up the image for this
// machine It will be ignored if an explicit image is set. Supports
// substitutions for {{.BaseOS}} and {{.K8sVersion}} with the base OS and
// kubernetes version, respectively. The BaseOS will be the value in
// BaseOS and the K8sVersion is the value in the Machine .spec.version, with the v prefix removed.
// This is effectively the defined by the packages produced by kubernetes/release without v as a
// prefix: 1.13.0, 1.12.5-mybuild.1, or 1.17.3. For example, the default
// image format of {{.BaseOS}}-?{{.K8sVersion}}-* and BaseOS as "rhel-8.10" will end up
// searching for images that match the pattern rhel-8.10-1.30.5-* for a
// Machine that is targeting kubernetes v1.30.5. See
// also: https://golang.org/pkg/text/template/
// +kubebuilder:default:="capx-{{.BaseOS}}-{{.K8sVersion}}-*"
Format *string `json:"format,omitempty"`
// BaseOS is the name of the base operating system to use for
// image lookup.
// +kubebuilder:validation:MinLength:=1
BaseOS string `json:"baseOS"`
}
NutanixImageLookup defines how to fetch images for the cluster using the fields combined.
func (*NutanixImageLookup) DeepCopy ¶ added in v1.6.0
func (in *NutanixImageLookup) DeepCopy() *NutanixImageLookup
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixImageLookup.
func (*NutanixImageLookup) DeepCopyInto ¶ added in v1.6.0
func (in *NutanixImageLookup) DeepCopyInto(out *NutanixImageLookup)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NutanixMachine ¶
type NutanixMachine struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec NutanixMachineSpec `json:"spec,omitempty"`
Status NutanixMachineStatus `json:"status,omitempty"`
}
+kubebuilder:object:root=true +kubebuilder:resource:path=nutanixmachines,shortName=nma,scope=Namespaced,categories=cluster-api +kubebuilder:subresource:status +kubebuilder:storageversion +kubebuilder:printcolumn:name="Address",type="string",JSONPath=".status.addresses[0].address",description="The VM address" +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.ready",description="NutanixMachine ready status" +kubebuilder:printcolumn:name="ProviderID",type="string",JSONPath=".spec.providerID",description="NutanixMachine instance ID" +kubebuilder:printcolumn:name="FailureDomain",type="string",JSONPath=".status.failureDomain",description="NutanixMachine FailureDomain" NutanixMachine is the Schema for the nutanixmachines API
func (*NutanixMachine) DeepCopy ¶
func (in *NutanixMachine) DeepCopy() *NutanixMachine
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixMachine.
func (*NutanixMachine) DeepCopyInto ¶
func (in *NutanixMachine) DeepCopyInto(out *NutanixMachine)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NutanixMachine) DeepCopyObject ¶
func (in *NutanixMachine) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*NutanixMachine) GetConditions ¶
func (nm *NutanixMachine) GetConditions() capiv1.Conditions
GetConditions returns the set of conditions for this object.
func (*NutanixMachine) Hub ¶
func (*NutanixMachine) Hub()
Hub marks NutanixMachine as a conversion hub.
func (*NutanixMachine) SetConditions ¶
func (nm *NutanixMachine) SetConditions(conditions capiv1.Conditions)
SetConditions sets the conditions on this object.
type NutanixMachineDiskAdapterType ¶ added in v1.6.0
type NutanixMachineDiskAdapterType string
NutanixMachineDiskAdapterType is an enumeration of different disk device adapter types. +kubebuilder:validation:Enum:=SCSI;IDE;PCI;SATA;SPAPR
type NutanixMachineDiskDeviceType ¶ added in v1.6.0
type NutanixMachineDiskDeviceType string
NutanixMachineDiskDeviceType is the VM disk device type. +kubebuilder:validation:Enum=Disk;CDRom
type NutanixMachineDiskMode ¶ added in v1.6.0
type NutanixMachineDiskMode string
NutanixMachineDiskMode is an enumeration of different disk modes. +kubebuilder:validation:Enum=Standard;Flash
type NutanixMachineList ¶
type NutanixMachineList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []NutanixMachine `json:"items"`
}
NutanixMachineList contains a list of NutanixMachine
func (*NutanixMachineList) DeepCopy ¶
func (in *NutanixMachineList) DeepCopy() *NutanixMachineList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixMachineList.
func (*NutanixMachineList) DeepCopyInto ¶
func (in *NutanixMachineList) DeepCopyInto(out *NutanixMachineList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NutanixMachineList) DeepCopyObject ¶
func (in *NutanixMachineList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*NutanixMachineList) Hub ¶
func (*NutanixMachineList) Hub()
Hub marks NutanixMachineList as a conversion hub.
type NutanixMachineSpec ¶
type NutanixMachineSpec struct {
// ProviderID is the unique identifier as specified by the cloud provider.
// +optional
ProviderID string `json:"providerID,omitempty"`
// vcpusPerSocket is the number of vCPUs per socket of the VM
// +kubebuilder:validation:Required
// +kubebuilder:validation:Minimum=1
VCPUsPerSocket int32 `json:"vcpusPerSocket"`
// vcpuSockets is the number of vCPU sockets of the VM
// +kubebuilder:validation:Required
// +kubebuilder:validation:Minimum=1
VCPUSockets int32 `json:"vcpuSockets"`
// memorySize is the memory size (in Quantity format) of the VM
// The minimum memorySize is 2Gi bytes
// +kubebuilder:validation:Required
MemorySize resource.Quantity `json:"memorySize"`
// image is to identify the nutanix machine image uploaded to the Prism Central (PC)
// The image identifier (uuid or name) can be obtained from the Prism Central console
// or using the prism_central API.
// +kubebuilder:validation:Optional
// +optional
Image *NutanixResourceIdentifier `json:"image,omitempty"`
// imageLookup is a container that holds how to look up rhcos images for the cluster.
// +kubebuilder:validation:Optional
// +optional
ImageLookup *NutanixImageLookup `json:"imageLookup,omitempty"`
// cluster is to identify the cluster (the Prism Element under management
// of the Prism Central), in which the Machine's VM will be created.
// The cluster identifier (uuid or name) can be obtained from the Prism Central console
// or using the prism_central API.
// +kubebuilder:validation:Optional
Cluster NutanixResourceIdentifier `json:"cluster,omitzero"`
// subnet is to identify the cluster's network subnet to use for the Machine's VM
// The cluster identifier (uuid or name) can be obtained from the Prism Central console
// or using the prism_central API.
// +kubebuilder:validation:Optional
Subnets []NutanixResourceIdentifier `json:"subnet,omitempty"`
// List of categories that need to be added to the machines. Categories must already exist in Prism Central
// +kubebuilder:validation:Optional
AdditionalCategories []NutanixCategoryIdentifier `json:"additionalCategories,omitempty"`
// Add the machine resources to a Prism Central project
// +optional
Project *NutanixResourceIdentifier `json:"project,omitempty"`
// Defines the boot type of the virtual machine. Only supports UEFI and Legacy
// +kubebuilder:validation:Optional
// +kubebuilder:validation:Enum:=legacy;uefi
BootType NutanixBootType `json:"bootType,omitempty"`
// systemDiskSize is size (in Quantity format) of the system disk of the VM
// The minimum systemDiskSize is 20Gi bytes
// +kubebuilder:validation:Required
SystemDiskSize resource.Quantity `json:"systemDiskSize"`
// dataDisks hold the list of data disks to be attached to the VM
// +kubebuilder:validation:Optional
DataDisks []NutanixMachineVMDisk `json:"dataDisks,omitempty"`
// BootstrapRef is a reference to a bootstrap provider-specific resource
// that holds configuration details.
// +optional
BootstrapRef *corev1.ObjectReference `json:"bootstrapRef,omitempty"`
// List of GPU devices that need to be added to the machines.
// +kubebuilder:validation:Optional
GPUs []NutanixGPU `json:"gpus,omitempty"`
}
NutanixMachineSpec defines the desired state of NutanixMachine +kubebuilder:validation:XValidation:rule="has(self.image) != has(self.imageLookup)",message="Either 'image' or 'imageLookup' must be set, but not both"
func (*NutanixMachineSpec) DeepCopy ¶
func (in *NutanixMachineSpec) DeepCopy() *NutanixMachineSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixMachineSpec.
func (*NutanixMachineSpec) DeepCopyInto ¶
func (in *NutanixMachineSpec) DeepCopyInto(out *NutanixMachineSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NutanixMachineStatus ¶
type NutanixMachineStatus struct {
// Ready is true when the provider resource is ready.
// +optional
Ready bool `json:"ready"`
// Addresses contains the Nutanix VM associated addresses.
// Address type is one of Hostname, ExternalIP, InternalIP, ExternalDNS, InternalDNS
Addresses []capiv1.MachineAddress `json:"addresses,omitempty"`
// The Nutanix VM's UUID
// +optional
VmUUID string `json:"vmUUID,omitempty"`
// NodeRef is a reference to the corresponding workload cluster Node if it exists.
// Deprecated: Do not use. Will be removed in a future release.
// +optional
NodeRef *corev1.ObjectReference `json:"nodeRef,omitempty"`
// Conditions defines current service state of the NutanixMachine.
// +optional
Conditions capiv1.Conditions `json:"conditions,omitempty"`
// Will be set in case of failure of Machine instance
// +optional
FailureReason *string `json:"failureReason,omitempty"`
// Will be set in case of failure of Machine instance
// +optional
FailureMessage *string `json:"failureMessage,omitempty"`
// failureDomain is the name of the failure domain where this Machine has been placed in.
// +optional
FailureDomain *string `json:"failureDomain,omitempty"`
}
NutanixMachineStatus defines the observed state of NutanixMachine
func (*NutanixMachineStatus) DeepCopy ¶
func (in *NutanixMachineStatus) DeepCopy() *NutanixMachineStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixMachineStatus.
func (*NutanixMachineStatus) DeepCopyInto ¶
func (in *NutanixMachineStatus) DeepCopyInto(out *NutanixMachineStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NutanixMachineTemplate ¶
type NutanixMachineTemplate struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec NutanixMachineTemplateSpec `json:"spec,omitempty"`
}
NutanixMachineTemplate is the Schema for the nutanixmachinetemplates API
func (*NutanixMachineTemplate) DeepCopy ¶
func (in *NutanixMachineTemplate) DeepCopy() *NutanixMachineTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixMachineTemplate.
func (*NutanixMachineTemplate) DeepCopyInto ¶
func (in *NutanixMachineTemplate) DeepCopyInto(out *NutanixMachineTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NutanixMachineTemplate) DeepCopyObject ¶
func (in *NutanixMachineTemplate) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*NutanixMachineTemplate) Hub ¶
func (*NutanixMachineTemplate) Hub()
Hub marks NutanixMachineTemplate as a conversion hub.
type NutanixMachineTemplateList ¶
type NutanixMachineTemplateList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []NutanixMachineTemplate `json:"items"`
}
NutanixMachineTemplateList contains a list of NutanixMachineTemplate
func (*NutanixMachineTemplateList) DeepCopy ¶
func (in *NutanixMachineTemplateList) DeepCopy() *NutanixMachineTemplateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixMachineTemplateList.
func (*NutanixMachineTemplateList) DeepCopyInto ¶
func (in *NutanixMachineTemplateList) DeepCopyInto(out *NutanixMachineTemplateList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NutanixMachineTemplateList) DeepCopyObject ¶
func (in *NutanixMachineTemplateList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*NutanixMachineTemplateList) Hub ¶
func (*NutanixMachineTemplateList) Hub()
Hub marks NutanixMachineTemplateList as a conversion hub.
type NutanixMachineTemplateResource ¶
type NutanixMachineTemplateResource struct {
// Standard object metadata.
// Ref: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
ObjectMeta capiv1.ObjectMeta `json:"metadata,omitempty"`
// Spec is the specification of the desired behavior of the machine.
Spec NutanixMachineSpec `json:"spec"`
}
NutanixMachineTemplateResource describes the data needed to create a NutanixMachine from a template
func (*NutanixMachineTemplateResource) DeepCopy ¶
func (in *NutanixMachineTemplateResource) DeepCopy() *NutanixMachineTemplateResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixMachineTemplateResource.
func (*NutanixMachineTemplateResource) DeepCopyInto ¶
func (in *NutanixMachineTemplateResource) DeepCopyInto(out *NutanixMachineTemplateResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NutanixMachineTemplateSpec ¶
type NutanixMachineTemplateSpec struct {
Template NutanixMachineTemplateResource `json:"template"`
}
NutanixMachineTemplateSpec defines the desired state of NutanixMachineTemplate
func (*NutanixMachineTemplateSpec) DeepCopy ¶
func (in *NutanixMachineTemplateSpec) DeepCopy() *NutanixMachineTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixMachineTemplateSpec.
func (*NutanixMachineTemplateSpec) DeepCopyInto ¶
func (in *NutanixMachineTemplateSpec) DeepCopyInto(out *NutanixMachineTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NutanixMachineVMDisk ¶ added in v1.6.0
type NutanixMachineVMDisk struct {
// diskSize is the size (in Quantity format) of the disk attached to the VM.
// See https://pkg.go.dev/k8s.io/apimachinery/pkg/api/resource#Format for the Quantity format and example documentation.
// The minimum diskSize is 1GB.
// +kubebuilder:validation:Required
DiskSize resource.Quantity `json:"diskSize"`
// deviceProperties are the properties of the disk device.
// +optional
// +kubebuilder:validation:Optional
DeviceProperties *NutanixMachineVMDiskDeviceProperties `json:"deviceProperties,omitempty"`
// storageConfig are the storage configuration parameters of the VM disks.
// +optional
// +kubebuilder:validation:Optional
StorageConfig *NutanixMachineVMStorageConfig `json:"storageConfig,omitempty"`
// dataSource refers to a data source image for the VM disk.
// +optional
// +kubebuilder:validation:Optional
DataSource *NutanixResourceIdentifier `json:"dataSource,omitempty"`
}
NutanixMachineVMDisk defines the disk configuration for a NutanixMachine
func (*NutanixMachineVMDisk) DeepCopy ¶ added in v1.6.0
func (in *NutanixMachineVMDisk) DeepCopy() *NutanixMachineVMDisk
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixMachineVMDisk.
func (*NutanixMachineVMDisk) DeepCopyInto ¶ added in v1.6.0
func (in *NutanixMachineVMDisk) DeepCopyInto(out *NutanixMachineVMDisk)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NutanixMachineVMDiskDeviceProperties ¶ added in v1.6.0
type NutanixMachineVMDiskDeviceProperties struct {
// deviceType specifies the disk device type.
// The valid values are "Disk" and "CDRom", and the default is "Disk".
// +kubebuilder:default=Disk
// +kubebuilder:validation:Required
DeviceType NutanixMachineDiskDeviceType `json:"deviceType"`
// adapterType is the adapter type of the disk address.
// If the deviceType is "Disk", the valid adapterType can be "SCSI", "IDE", "PCI", "SATA" or "SPAPR".
// If the deviceType is "CDRom", the valid adapterType can be "IDE" or "SATA".
// +kubebuilder:validation:Required
AdapterType NutanixMachineDiskAdapterType `json:"adapterType,omitempty"`
// deviceIndex is the index of the disk address. The valid values are non-negative integers, with the default value 0.
// For a Machine VM, the deviceIndex for the disks with the same deviceType.adapterType combination should
// start from 0 and increase consecutively afterwards. Note that for each Machine VM, the Disk.SCSI.0
// and CDRom.IDE.0 are reserved to be used by the VM's system. So for dataDisks of Disk.SCSI and CDRom.IDE,
// the deviceIndex should start from 1.
// +kubebuilder:default=0
// +kubebuilder:validation:Minimum=0
// +optional
// +kubebuilder:validation:Optional
DeviceIndex int32 `json:"deviceIndex,omitempty"`
}
NutanixMachineVMDiskDeviceProperties defines the device properties for a NutanixMachineVMDisk
func (*NutanixMachineVMDiskDeviceProperties) DeepCopy ¶ added in v1.6.0
func (in *NutanixMachineVMDiskDeviceProperties) DeepCopy() *NutanixMachineVMDiskDeviceProperties
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixMachineVMDiskDeviceProperties.
func (*NutanixMachineVMDiskDeviceProperties) DeepCopyInto ¶ added in v1.6.0
func (in *NutanixMachineVMDiskDeviceProperties) DeepCopyInto(out *NutanixMachineVMDiskDeviceProperties)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NutanixMachineVMStorageConfig ¶ added in v1.6.0
type NutanixMachineVMStorageConfig struct {
// diskMode specifies the disk mode.
// The valid values are Standard and Flash, and the default is Standard.
// +kubebuilder:default=Standard
// +kubebuilder:validation:Required
DiskMode NutanixMachineDiskMode `json:"diskMode"`
// storageContainer refers to the storage_container used by the VM disk.
// +optional
// +kubebuilder:validation:Optional
StorageContainer *NutanixResourceIdentifier `json:"storageContainer"`
}
NutanixMachineVMStorageConfig defines the storage configuration for a NutanixMachineVMDisk
func (*NutanixMachineVMStorageConfig) DeepCopy ¶ added in v1.6.0
func (in *NutanixMachineVMStorageConfig) DeepCopy() *NutanixMachineVMStorageConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixMachineVMStorageConfig.
func (*NutanixMachineVMStorageConfig) DeepCopyInto ¶ added in v1.6.0
func (in *NutanixMachineVMStorageConfig) DeepCopyInto(out *NutanixMachineVMStorageConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NutanixResourceIdentifier ¶
type NutanixResourceIdentifier struct {
// Type is the identifier type to use for this resource.
// +kubebuilder:validation:Required
// +kubebuilder:validation:Enum:=uuid;name
Type NutanixIdentifierType `json:"type"`
// uuid is the UUID of the resource in the PC.
// +optional
UUID *string `json:"uuid,omitempty"`
// name is the resource name in the PC
// +optional
Name *string `json:"name,omitempty"`
}
NutanixResourceIdentifier holds the identity of a Nutanix PC resource (cluster, image, subnet, etc.) +union
func (*NutanixResourceIdentifier) DeepCopy ¶
func (in *NutanixResourceIdentifier) DeepCopy() *NutanixResourceIdentifier
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixResourceIdentifier.
func (*NutanixResourceIdentifier) DeepCopyInto ¶
func (in *NutanixResourceIdentifier) DeepCopyInto(out *NutanixResourceIdentifier)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (NutanixResourceIdentifier) DisplayString ¶ added in v1.7.0
func (nri NutanixResourceIdentifier) DisplayString() string
DisplayString returns a human-readable string representation of the NutanixResourceIdentifier that includes both the type and value, suitable for error messages and logging.
func (NutanixResourceIdentifier) EqualTo ¶ added in v1.7.0
func (nri NutanixResourceIdentifier) EqualTo(other *NutanixResourceIdentifier) bool
EqualTo checks if two NutanixResourceIdentifiers are equal based on their type and value.
func (NutanixResourceIdentifier) IsName ¶ added in v1.5.4
func (nri NutanixResourceIdentifier) IsName() bool
func (NutanixResourceIdentifier) IsUUID ¶ added in v1.5.4
func (nri NutanixResourceIdentifier) IsUUID() bool
func (NutanixResourceIdentifier) String ¶ added in v1.5.4
func (nri NutanixResourceIdentifier) String() string
Source Files
¶
- conditions.go
- doc.go
- groupversion_info.go
- nutanix_types.go
- nutanixcluster_conversion.go
- nutanixcluster_types.go
- nutanixclustertemplate_types.go
- nutanixfailuredomain_types.go
- nutanixmachine_conversion.go
- nutanixmachine_types.go
- nutanixmachinetemplate_conversion.go
- nutanixmachinetemplate_types.go
- zz_generated.deepcopy.go