v1beta1

package
v0.5.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 30, 2022 License: Apache-2.0 Imports: 9 Imported by: 5

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

View Source
const (
	// ClusterCategoryCreatedCondition indicates the status of the category linked to the NutanixCluster
	ClusterCategoryCreatedCondition capiv1.ConditionType = "ClusterCategoryCreated"

	ClusterCategoryCreationFailed = "ClusterCategoryCreationFailed"
)
View Source
const (
	//PrismCentralClientCondition indicates the status of the client used to connect to Prism Central
	PrismCentralClientCondition capiv1.ConditionType = "PrismClientInit"

	PrismCentralClientInitializationFailed = "PrismClientInitFailed"
)
View Source
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"
)
View Source
const (
	// VMAddressesAssignedCondition shows the status of the process of assigning the VMs to a project
	ProjectAssignedCondition capiv1.ConditionType = "ProjectAssigned"

	ProjectAssignationFailed = "ProjectAssignationFailed"
)
View Source
const (
	// CredentialRefSecretOwnerSetCondition shows the status of setting the Owner
	CredentialRefSecretOwnerSetCondition capiv1.ConditionType = "CredentialRefSecretOwnerSet"

	CredentialRefSecretOwnerSetFailed = "CredentialRefSecretOwnerSetFailed"
)
View Source
const (
	// Version is the API version.
	Version = "v1beta1"

	// GroupName is the name of the API group.
	GroupName = "infrastructure.cluster.x-k8s.io"
)
View Source
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"

	// NutanixIdentifierBootTypeLegacy is a resource identifier identifying the legacy boot type for virtual machines.
	NutanixIdentifierBootTypeLegacy NutanixIdentifierType = "legacy"

	// NutanixIdentifierBootTypeUEFI is a resource identifier identifying the UEFI boot type for virtual machines.
	NutanixIdentifierBootTypeUEFI NutanixIdentifierType = "uefi"

	// DefaultCAPICategoryPrefix is the default category prefix used for CAPI clusters.
	DefaultCAPICategoryPrefix = "kubernetes-io-cluster-"

	// DefaultCAPICategoryDescription is the default category description used for CAPI clusters.
	DefaultCAPICategoryDescription = "Managed by CAPX"

	// DefaultCAPICategoryOwnedValue is the default category value used for CAPI clusters.
	DefaultCAPICategoryOwnedValue = "owned"
)
View Source
const (
	// NutanixClusterFinalizer allows NutanixClusterReconciler to clean up AHV
	// resources associated with NutanixCluster before removing it from the
	// API Server.
	NutanixClusterFinalizer           = "nutanixcluster.infrastructure.cluster.x-k8s.io"
	NutanixClusterCredentialFinalizer = "nutanixcluster/infrastructure.cluster.x-k8s.io"
)
View Source
const (
	DeletionFailed = "DeletionFailed"
)
View Source
const (
	// NutanixMachineFinalizer allows NutanixMachineReconciler to clean up AHV
	// resources associated with NutanixMachine before removing it from the
	// API Server.
	NutanixMachineFinalizer = "nutanixmachine.infrastructure.cluster.x-k8s.io"
)

Variables

View Source
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 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

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixCategoryIdentifier.

func (*NutanixCategoryIdentifier) DeepCopyInto

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) 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"`
}

NutanixClusterSpec defines the desired state of NutanixCluster

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 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 *errors.ClusterStatusError `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

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 NutanixIdentifierType

type NutanixIdentifierType string

NutanixIdentifierType is an enumeration of different resource identifier types.

type NutanixMachine

type NutanixMachine struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   NutanixMachineSpec   `json:"spec,omitempty"`
	Status NutanixMachineStatus `json:"status,omitempty"`
}

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 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 string `json:"providerID"`
	// 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 rhcos 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:Required
	Image NutanixResourceIdentifier `json:"image"`
	// 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"`
	// 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:Required
	// +kubebuilder:validation:MinItems=1
	Subnets []NutanixResourceIdentifier `json:"subnet"`
	// 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"`
	// Add the machine resources to a Prism Central project
	// +optional
	Project *NutanixResourceIdentifier `json:"project"`
	// Defines the boot type of the virtual machine. Only supports UEFI and Legacy
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Enum:=legacy;uefi
	BootType string `json:"bootType"`

	// 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"`

	// BootstrapRef is a reference to a bootstrap provider-specific resource
	// that holds configuration details.
	// +optional
	BootstrapRef *corev1.ObjectReference `json:"bootstrapRef,omitempty"`
}

NutanixMachineSpec defines the desired state of NutanixMachine

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.
	// +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 *errors.MachineStatusError `json:"failureReason,omitempty"`

	// Will be set in case of failure of Machine instance
	// +optional
	FailureMessage *string `json:"failureMessage,omitempty"`
}

NutanixMachineStatus defines the observed state of NutanixMachine

func (*NutanixMachineStatus) DeepCopy

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

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

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixMachineTemplateList.

func (*NutanixMachineTemplateList) DeepCopyInto

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

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

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixMachineTemplateResource.

func (*NutanixMachineTemplateResource) DeepCopyInto

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

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixMachineTemplateSpec.

func (*NutanixMachineTemplateSpec) DeepCopyInto

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

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixResourceIdentifier.

func (*NutanixResourceIdentifier) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL