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() capiv1beta1.Conditions
- func (ncl *NutanixCluster) GetNamespacedName() string
- func (ncl *NutanixCluster) GetPrismCentralCredentialRef() (*credentialTypes.NutanixCredentialReference, error)
- func (ncl *NutanixCluster) GetPrismCentralTrustBundle() *credentialTypes.NutanixTrustBundleReference
- func (ncl *NutanixCluster) GetV1Beta2Conditions() []metav1.Condition
- func (*NutanixCluster) Hub()
- func (ncl *NutanixCluster) SetConditions(conditions capiv1beta1.Conditions)
- func (ncl *NutanixCluster) SetV1Beta2Conditions(conditions []metav1.Condition)
- type NutanixClusterList
- type NutanixClusterSpec
- type NutanixClusterStatus
- type NutanixClusterTemplate
- type NutanixClusterTemplateList
- type NutanixClusterTemplateResource
- type NutanixClusterTemplateSpec
- type NutanixClusterV1Beta2Status
- type NutanixFailureDomain
- func (in *NutanixFailureDomain) DeepCopy() *NutanixFailureDomain
- func (in *NutanixFailureDomain) DeepCopyInto(out *NutanixFailureDomain)
- func (in *NutanixFailureDomain) DeepCopyObject() runtime.Object
- func (nfd *NutanixFailureDomain) GetConditions() capiv1beta1.Conditions
- func (ncl *NutanixFailureDomain) GetV1Beta2Conditions() []metav1.Condition
- func (nfd *NutanixFailureDomain) SetConditions(conditions capiv1beta1.Conditions)
- func (ncl *NutanixFailureDomain) SetV1Beta2Conditions(conditions []metav1.Condition)
- type NutanixFailureDomainConfigdeprecated
- type NutanixFailureDomainList
- type NutanixFailureDomainSpec
- type NutanixFailureDomainStatus
- type NutanixFailureDomainV1Beta2Status
- 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() capiv1beta1.Conditions
- func (ncl *NutanixMachine) GetV1Beta2Conditions() []metav1.Condition
- func (*NutanixMachine) Hub()
- func (nm *NutanixMachine) SetConditions(conditions capiv1beta1.Conditions)
- func (ncl *NutanixMachine) SetV1Beta2Conditions(conditions []metav1.Condition)
- type NutanixMachineDiskAdapterType
- type NutanixMachineDiskDeviceType
- type NutanixMachineDiskMode
- type NutanixMachineList
- type NutanixMachineSpec
- type NutanixMachineStatus
- type NutanixMachineTemplate
- type NutanixMachineTemplateDefaulter
- type NutanixMachineTemplateList
- type NutanixMachineTemplateResource
- type NutanixMachineTemplateSpec
- type NutanixMachineV1Beta2Status
- 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 ( Succeeded = "Succeeded" 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 capiv1beta1.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 capiv1beta1.ConditionType = "NoFailureDomainsConfigured" // FailureDomainsValidatedCondition indicates whether the failure domains are configured correctly or not. FailureDomainsValidatedCondition capiv1beta1.ConditionType = "FailureDomainsValidated" // FailureDomainsMisconfiguredReason (Severity=Warning) indicates that some of the failure domains // are misconfigured. FailureDomainsMisconfiguredReason = "FailureDomainsMisconfigured" // FailureDomainsValidatedCondition indicates that the failure domains are being validated. FailureDomainsValidationInProgressReason = "FailureDomainsValidationInProgress" )
Conditions and Reasons releated to failure domain
const ( // ClusterCategoryCreatedCondition indicates the status of the category linked to the NutanixCluster ClusterCategoryCreatedCondition capiv1beta1.ConditionType = "ClusterCategoryCreated" ClusterCategoryCreationFailed = "ClusterCategoryCreationFailed" )
const ( // PrismCentralClientCondition indicates the status of the client used to connect to Prism Central PrismCentralClientCondition capiv1beta1.ConditionType = "PrismClientInit" PrismCentralConvergedV4ClientCondition capiv1beta1.ConditionType = "PrismClientConvergedV4Init" PrismCentralClientInitializationFailed = "PrismClientInitFailed" PrismCentralConvergedV4ClientInitializationFailed = "PrismClientConvergedV4InitFailed" )
const ( // VMProvisionedCondition shows the status of the VM provisioning process VMProvisionedCondition capiv1beta1.ConditionType = "VMProvisioned" VMProvisionedTaskFailed = "FailedVMTask" // VMAddressesAssignedCondition shows the status of the process of assigning the VM addresses VMAddressesAssignedCondition capiv1beta1.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 capiv1beta1.ConditionType = "ProjectAssigned" ProjectAssignationFailed = "ProjectAssignationFailed" )
const ( // CredentialRefSecretOwnerSetCondition shows the status of setting the Owner CredentialRefSecretOwnerSetCondition capiv1beta1.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 ( // ImageNamePlaceholder is the placeholder value set for image.name when type is "name" // but name is not provided. It is clearly identifiable as a non-real value. ImageNamePlaceholder = "PLACEHOLDER" // ImageUUIDPlaceholder is the placeholder UUID set for image.uuid when type is "uuid" // but uuid is not provided. It uses the nil UUID format (all zeros) which is a valid // UUID format that satisfies the CEL rule requiring 36 characters and a dash. ImageUUIDPlaceholder = "00000000-0000-0000-0000-000000000000" )
Placeholder values for brownfield compatibility. These are injected by the defaulting webhook when a NutanixMachineTemplate has spec.template.spec.image with type set but the corresponding name/uuid value missing. This can happen with legacy objects created before the CEL validation rules were added. The placeholders satisfy CEL validation at admission time; the actual image resolution is expected to be handled later by ClusterClass variable patches or the controller.
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() capiv1beta1.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) GetV1Beta2Conditions ¶ added in v1.9.0
func (ncl *NutanixCluster) GetV1Beta2Conditions() []metav1.Condition
GetV1Beta2Conditions returns the set of v1beta2 conditions for this object.
func (*NutanixCluster) Hub ¶
func (*NutanixCluster) Hub()
Hub marks NutanixCluster as a conversion hub.
func (*NutanixCluster) SetConditions ¶
func (ncl *NutanixCluster) SetConditions(conditions capiv1beta1.Conditions)
SetConditions sets the conditions on this object.
func (*NutanixCluster) SetV1Beta2Conditions ¶ added in v1.9.0
func (ncl *NutanixCluster) SetV1Beta2Conditions(conditions []metav1.Condition)
SetV1Beta2Conditions sets the v1beta2 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 capiv1beta1.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 capiv1beta1.FailureDomains `json:"failureDomains,omitempty"`
// Conditions defines current service state of the NutanixCluster.
// +optional
Conditions capiv1beta1.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"`
// v1beta2 groups all the fields that will be added or modified in NutanixCluster's status with the v1beta2 version.
// +optional
V1Beta2 *NutanixClusterV1Beta2Status `json:"v1beta2,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 NutanixClusterV1Beta2Status ¶ added in v1.9.0
type NutanixClusterV1Beta2Status struct {
// conditions represents the observations of a NutanixCluster's current state.
// +optional
// +listType=map
// +listMapKey=type
// +kubebuilder:validation:MaxItems=32
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
NutanixClusterV1Beta2Status groups all the fields that will be added or modified in NutanixClusterStatus with the v1beta2 version. See https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/proposals/20240916-improve-status-in-CAPI-resources.md for more context.
func (*NutanixClusterV1Beta2Status) DeepCopy ¶ added in v1.9.0
func (in *NutanixClusterV1Beta2Status) DeepCopy() *NutanixClusterV1Beta2Status
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixClusterV1Beta2Status.
func (*NutanixClusterV1Beta2Status) DeepCopyInto ¶ added in v1.9.0
func (in *NutanixClusterV1Beta2Status) DeepCopyInto(out *NutanixClusterV1Beta2Status)
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() capiv1beta1.Conditions
GetConditions returns the set of conditions for this object.
func (*NutanixFailureDomain) GetV1Beta2Conditions ¶ added in v1.9.0
func (ncl *NutanixFailureDomain) GetV1Beta2Conditions() []metav1.Condition
GetV1Beta2Conditions returns the set of conditions for this object.
func (*NutanixFailureDomain) SetConditions ¶ added in v1.7.0
func (nfd *NutanixFailureDomain) SetConditions(conditions capiv1beta1.Conditions)
SetConditions sets the conditions on this object.
func (*NutanixFailureDomain) SetV1Beta2Conditions ¶ added in v1.9.0
func (ncl *NutanixFailureDomain) SetV1Beta2Conditions(conditions []metav1.Condition)
SetV1Beta2Conditions sets the v1beta2 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
// +kubebuilder:validation:MaxItems=32
Subnets []NutanixResourceIdentifier `json:"subnets"`
}
NutanixFailureDomainSpec defines the desired state of NutanixFailureDomain. +kubebuilder:validation:XValidation:rule="size(self.subnets) > 1 ? self.subnets.all(x, self.subnets.exists_one(y, x == y)) : true",message="each subnet must be unique"
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 []capiv1beta1.Condition `json:"conditions,omitempty"`
// v1beta2 groups all the fields that will be added or modified in NutanixCluster's status with the v1beta2 version.
// +optional
V1Beta2 *NutanixFailureDomainV1Beta2Status `json:"v1beta2,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 NutanixFailureDomainV1Beta2Status ¶ added in v1.9.0
type NutanixFailureDomainV1Beta2Status struct {
// conditions represents the observations of a NutanixFailureDomain's current state.
// +optional
// +listType=map
// +listMapKey=type
// +kubebuilder:validation:MaxItems=32
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
NutanixFailureDomainV1Beta2Status groups all the fields that will be added or modified in NutanixFailureDomainStatus with the v1beta2 version. See https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/proposals/20240916-improve-status-in-CAPI-resources.md for more context.
func (*NutanixFailureDomainV1Beta2Status) DeepCopy ¶ added in v1.9.0
func (in *NutanixFailureDomainV1Beta2Status) DeepCopy() *NutanixFailureDomainV1Beta2Status
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixFailureDomainV1Beta2Status.
func (*NutanixFailureDomainV1Beta2Status) DeepCopyInto ¶ added in v1.9.0
func (in *NutanixFailureDomainV1Beta2Status) DeepCopyInto(out *NutanixFailureDomainV1Beta2Status)
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() capiv1beta1.Conditions
GetConditions returns the set of conditions for this object.
func (*NutanixMachine) GetV1Beta2Conditions ¶ added in v1.9.0
func (ncl *NutanixMachine) GetV1Beta2Conditions() []metav1.Condition
GetV1Beta2Conditions 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 capiv1beta1.Conditions)
SetConditions sets the conditions on this object.
func (*NutanixMachine) SetV1Beta2Conditions ¶ added in v1.9.0
func (ncl *NutanixMachine) SetV1Beta2Conditions(conditions []metav1.Condition)
SetV1Beta2Conditions sets the v1beta2 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:MaxItems=32
// +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" +kubebuilder:validation:XValidation:rule="has(self.subnet) && size(self.subnet) > 1 ? self.subnet.all(x, self.subnet.exists_one(y, x == y)) : true",message="each subnet must be unique"
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 []capiv1beta1.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 capiv1beta1.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"`
// v1beta2 groups all the fields that will be added or modified in NutanixMachine's status with the v1beta2 version.
// +optional
V1Beta2 *NutanixMachineV1Beta2Status `json:"v1beta2,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 NutanixMachineTemplateDefaulter ¶ added in v1.9.1
type NutanixMachineTemplateDefaulter struct{}
NutanixMachineTemplateDefaulter implements a defaulting webhook for NutanixMachineTemplate.
This is a brownfield compatibility workaround: existing NutanixMachineTemplate objects in production may have spec.template.spec.image with type set to "name" or "uuid" but the corresponding value field (name or uuid) unset. The CEL validation rules on NutanixResourceIdentifier require these fields to be present. This webhook fills in placeholder values at admission time so the CEL rules pass, without weakening the API contract globally.
The defaulter is idempotent and will not overwrite valid user-provided values.
Each defaulting behavior is individually controlled via a Kubernetes feature gate:
- feature.DefaultToPlaceholderImageName controls defaulting for type "name"
- feature.DefaultToPlaceholderImageUUID controls defaulting for type "uuid"
Enable via: --feature-gates=DefaultToPlaceholderImageName=true,DefaultToPlaceholderImageUUID=true
+kubebuilder:object:generate=false
func (*NutanixMachineTemplateDefaulter) Default ¶ added in v1.9.1
Default implements webhook.CustomDefaulter. It normalizes spec.template.spec.image for brownfield NutanixMachineTemplate objects that have the image type set but the corresponding identifier value missing. Each defaulting behavior is controlled by its respective feature gate.
func (*NutanixMachineTemplateDefaulter) SetupWebhookWithManager ¶ added in v1.9.1
func (d *NutanixMachineTemplateDefaulter) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager registers the defaulting webhook for NutanixMachineTemplate.
+kubebuilder:webhook:path=/mutate-infrastructure-cluster-x-k8s-io-v1beta1-nutanixmachinetemplate,mutating=true,failurePolicy=fail,sideEffects=None,groups=infrastructure.cluster.x-k8s.io,resources=nutanixmachinetemplates,verbs=create;update,versions=v1beta1,name=default.nutanixmachinetemplate.infrastructure.cluster.x-k8s.io,admissionReviewVersions=v1
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 capiv1beta1.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 NutanixMachineV1Beta2Status ¶ added in v1.9.0
type NutanixMachineV1Beta2Status struct {
// conditions represents the observations of a NutanixMachine's current state.
// +optional
// +listType=map
// +listMapKey=type
// +kubebuilder:validation:MaxItems=32
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
NutanixMachineV1Beta2Status groups all the fields that will be added or modified in NutanixMachineStatus with the v1beta2 version. See https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/proposals/20240916-improve-status-in-CAPI-resources.md for more context.
func (*NutanixMachineV1Beta2Status) DeepCopy ¶ added in v1.9.0
func (in *NutanixMachineV1Beta2Status) DeepCopy() *NutanixMachineV1Beta2Status
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixMachineV1Beta2Status.
func (*NutanixMachineV1Beta2Status) DeepCopyInto ¶ added in v1.9.0
func (in *NutanixMachineV1Beta2Status) DeepCopyInto(out *NutanixMachineV1Beta2Status)
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
// +kubebuilder:validation:Format=uuid
// +kubebuilder:validation:MaxLength=36
// +kubebuilder:validation:MinLength=36
UUID *string `json:"uuid,omitempty"`
// name is the resource name in the PC
// +optional
// +kubebuilder:validation:MinLength=1
Name *string `json:"name,omitempty"`
}
NutanixResourceIdentifier holds the identity of a Nutanix PC resource (cluster, image, subnet, etc.) +union +kubebuilder:validation:XValidation:rule="self.type == 'name' ? has(self.name) : !has(self.name)",message="'name' must be set when type is 'name', and forbidden otherwise" +kubebuilder:validation:XValidation:rule="self.type == 'uuid' ? has(self.uuid) && self.uuid.contains('-') : !has(self.uuid)",message="'uuid' must be set when type is 'uuid', and forbidden otherwise"
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
- nutanixmachinetemplate_webhook.go
- zz_generated.deepcopy.go