v1alpha1

package
v1.0.0-alpha.2 Latest Latest
Warning

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

Go to latest
Published: Jul 20, 2023 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the infrastructure v1alpha1 API group +gencrdrefdocs:force +groupName=infrastructure.cluster.x-k8s.io

Package v1alpha1 contains API Schema definitions for the infrastructure v1alpha1 API group +kubebuilder:object:generate=true +groupName=infrastructure.cluster.x-k8s.io

Index

Constants

View Source
const (
	// DeviceReadyCondition reports on current status of the device. Ready indicates the device is in a Running state.
	DeviceReadyCondition clusterv1.ConditionType = "DeviceReady"
	// DeviceNotFoundReason (Severity=Error) documents a HivelocityMachine controller detecting
	// the underlying device cannot be found anymore.
	DeviceNotFoundReason = "DeviceNotFound"
	// DeviceTagsInvalidReason documents a HivelocityMachine controller detecting invalid device tags.
	DeviceTagsInvalidReason = "DeviceTagsInvalid"
)
View Source
const (
	// MachineBootstrapReadyCondition reports on current status of the machine. BootstrapReady indicates the bootstrap is ready.
	MachineBootstrapReadyCondition clusterv1.ConditionType = "MachineBootstrapReady"
	// MachineBootstrapNotReadyReason bootstrap not ready yet.
	MachineBootstrapNotReadyReason = "MachineBootstrapNotReady"
)
View Source
const (
	// HivelocityClusterReady reports on whether the Hivelocity cluster is in ready state.
	HivelocityClusterReady clusterv1.ConditionType = "HivelocityClusterReady"
	// HivelocitySecretUnreachableReason indicates that Hivelocity secret is unreachable.
	HivelocitySecretUnreachableReason = "HivelocitySecretUnreachable" // #nosec
	// HivelocityCredentialsInvalidReason indicates that credentials for Hivelocity are invalid.
	HivelocityCredentialsInvalidReason = "HivelocityCredentialsInvalid" // #nosec
)
View Source
const (
	// RateLimitExceeded reports whether the rate limit has been reached.
	RateLimitExceeded clusterv1.ConditionType = "RateLimitExceeded"
	// RateLimitNotReachedReason indicates that the rate limit is not reached yet.
	RateLimitNotReachedReason = "RateLimitNotReached"
)
View Source
const (
	// FailureMessageDeviceNotFound indicates that the associated device could not be found.
	FailureMessageDeviceNotFound = "device not found"
	// FailureMessageDeviceTagsInvalid indicates that the associated device has invalid tags.
	// This is probably due to a user changing device tags on his own.
	FailureMessageDeviceTagsInvalid = "device tags invalid"
)
View Source
const (
	// PhaseRunning represents the running state during remediation.
	PhaseRunning = "Running"

	// PhaseWaiting represents the state during remediation when the controller has done its job but still waiting for the result of the last remediation step.
	PhaseWaiting = "Waiting"

	// PhaseDeleting represents the state where remediation has failed and the controller is deleting the unhealthy Machine object from the cluster.
	PhaseDeleting = "Deleting machine"
)
View Source
const (
	// ResourceLifecycleOwned is the value we use when tagging resources to indicate
	// that the resource is considered owned and managed by the cluster,
	// and in particular that the lifecycle is tied to the lifecycle of the cluster.
	ResourceLifecycleOwned = ResourceLifecycle("owned")

	// ResourceLifecycleShared is the value we use when tagging resources to indicate
	// that the resource is shared between multiple clusters, and should not be destroyed
	// if the cluster is destroyed.
	ResourceLifecycleShared = ResourceLifecycle("shared")

	// NameKubernetesHivelocityCloudProviderPrefix is the tag name used by the cloud provider to logically
	// separate independent cluster resources. We use it to identify which resources we expect
	// to be permissive about state changes.
	// logically independent clusters running in the same AZ.
	// The tag key = NameKubernetesHivelocityCloudProviderPrefix + clusterID
	// The tag value is an ownership value.
	NameKubernetesHivelocityCloudProviderPrefix = "caphv"

	// NameHivelocityProviderPrefix is the tag prefix we use to differentiate
	// cluster-api-provider-hv owned components from other tooling that
	// uses NameKubernetesClusterPrefix.
	NameHivelocityProviderPrefix = "caphv-"

	// NameHivelocityProviderOwned is the tag name we use to differentiate
	// cluster-api-provider-hv owned components from other tooling that
	// uses NameKubernetesClusterPrefix.
	NameHivelocityProviderOwned = NameHivelocityProviderPrefix + "cluster-"

	// MachineNameTagKey tags related MachineNameTag.
	MachineNameTagKey = "machine." + NameHivelocityProviderPrefix + "name"
)
View Source
const (
	// ClusterFinalizer allows ReconcileHivelocityCluster to clean up Hivelocity
	// resources associated with HivelocityCluster before removing it from the
	// apiserver.
	ClusterFinalizer = "hivelocitycluster.infrastructure.cluster.x-k8s.io"
)
View Source
const (
	// MachineFinalizer allows ReconcileHivelocityMachine to clean up Hivelocity
	// resources associated with HivelocityMachine before removing it from the
	// apiserver.
	MachineFinalizer = "hivelocitymachine.infrastructure.cluster.x-k8s.io"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects.
	GroupVersion = schema.GroupVersion{Group: "infrastructure.cluster.x-k8s.io", Version: "v1alpha1"}

	// 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
)
View Source
var (
	// ErrEmptyProviderID indicates an empty providerID.
	ErrEmptyProviderID = fmt.Errorf("providerID is empty")
	// ErrInvalidProviderID indicates an invalid providerID.
	ErrInvalidProviderID = fmt.Errorf("providerID is invalid")
	// ErrInvalidDeviceID indicates an invalid deviceID.
	ErrInvalidDeviceID = fmt.Errorf("deviceID is invalid")
)

Functions

func ClusterHivelocityCloudProviderTagKey

func ClusterHivelocityCloudProviderTagKey(name string) string

ClusterHivelocityCloudProviderTagKey generates the key for resources associated a cluster's Hivelocity cloud provider.

func ClusterTagKey

func ClusterTagKey(name string) string

ClusterTagKey generates the key for resources associated with a cluster.

Types

type ControllerGeneratedStatus

type ControllerGeneratedStatus struct {
	// Information tracked by the provisioner.
	// +optional
	ProvisioningState ProvisioningState `json:"provisioningState"`

	// Time stamp of last update of status.
	// +optional
	LastUpdated *metav1.Time `json:"lastUpdated,omitempty"`
}

ControllerGeneratedStatus contains all status information which is important to persist.

func (*ControllerGeneratedStatus) DeepCopy

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

func (*ControllerGeneratedStatus) DeepCopyInto

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

type HivelocityCluster

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

	Spec   HivelocityClusterSpec   `json:"spec,omitempty"`
	Status HivelocityClusterStatus `json:"status,omitempty"`
}

HivelocityCluster is the Schema for the hivelocityclusters API.

func (*HivelocityCluster) DeepCopy

func (in *HivelocityCluster) DeepCopy() *HivelocityCluster

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

func (*HivelocityCluster) DeepCopyInto

func (in *HivelocityCluster) DeepCopyInto(out *HivelocityCluster)

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

func (*HivelocityCluster) DeepCopyObject

func (in *HivelocityCluster) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*HivelocityCluster) Default

func (r *HivelocityCluster) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type.

func (*HivelocityCluster) DeviceTag

func (r *HivelocityCluster) DeviceTag() hvtag.DeviceTag

DeviceTag returns a DeviceTag object for the cluster tag.

func (*HivelocityCluster) DeviceTagOwned

func (r *HivelocityCluster) DeviceTagOwned() hvtag.DeviceTag

DeviceTagOwned returns a DeviceTag object for the ResourceLifeCycle tag.

func (*HivelocityCluster) GetConditions

func (r *HivelocityCluster) GetConditions() clusterv1.Conditions

GetConditions returns the observations of the operational state of the HivelocityCluster resource.

func (*HivelocityCluster) SetConditions

func (r *HivelocityCluster) SetConditions(conditions clusterv1.Conditions)

SetConditions sets the underlying service state of the HivelocityCluster to the predescribed clusterv1.Conditions.

func (*HivelocityCluster) SetStatusFailureDomain

func (r *HivelocityCluster) SetStatusFailureDomain(region Region)

SetStatusFailureDomain sets the region for the status.

func (*HivelocityCluster) SetupWebhookWithManager

func (r *HivelocityCluster) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*HivelocityCluster) ValidateCreate

func (r *HivelocityCluster) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*HivelocityCluster) ValidateDelete

func (r *HivelocityCluster) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*HivelocityCluster) ValidateUpdate

func (r *HivelocityCluster) ValidateUpdate(_ runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type HivelocityClusterList

type HivelocityClusterList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []HivelocityCluster `json:"items"`
}

HivelocityClusterList contains a list of HivelocityCluster.

func (*HivelocityClusterList) DeepCopy

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

func (*HivelocityClusterList) DeepCopyInto

func (in *HivelocityClusterList) DeepCopyInto(out *HivelocityClusterList)

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

func (*HivelocityClusterList) DeepCopyObject

func (in *HivelocityClusterList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type HivelocityClusterSpec

type HivelocityClusterSpec struct {
	// ControlPlaneEndpoint represents the endpoint used to communicate with the control plane.
	// +optional
	ControlPlaneEndpoint *clusterv1.APIEndpoint `json:"controlPlaneEndpoint"`

	// ControlPlaneRegion is a Hivelocity Region (LAX2, ...).
	ControlPlaneRegion Region `json:"controlPlaneRegion"`

	// HivelocitySecret is a reference to a Kubernetes Secret.
	HivelocitySecret HivelocitySecretRef `json:"hivelocitySecretRef"`

	// SSHKey is cluster wide. Valid value is a valid SSH key name.
	// +optional
	SSHKey *SSHKey `json:"sshKey,omitempty"`
}

HivelocityClusterSpec defines the desired state of HivelocityCluster.

func (*HivelocityClusterSpec) DeepCopy

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

func (*HivelocityClusterSpec) DeepCopyInto

func (in *HivelocityClusterSpec) DeepCopyInto(out *HivelocityClusterSpec)

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

type HivelocityClusterStatus

type HivelocityClusterStatus struct {
	// +kubebuilder:default=false
	Ready bool `json:"ready"`

	FailureDomains clusterv1.FailureDomains `json:"failureDomains,omitempty"`

	Conditions clusterv1.Conditions `json:"conditions,omitempty"`
}

HivelocityClusterStatus defines the observed state of HivelocityCluster.

func (*HivelocityClusterStatus) DeepCopy

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

func (*HivelocityClusterStatus) DeepCopyInto

func (in *HivelocityClusterStatus) DeepCopyInto(out *HivelocityClusterStatus)

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

type HivelocityClusterTemplate

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

	Spec HivelocityClusterTemplateSpec `json:"spec,omitempty"`
}

HivelocityClusterTemplate is the Schema for the hivelocityclustertemplates API.

func (*HivelocityClusterTemplate) DeepCopy

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

func (*HivelocityClusterTemplate) DeepCopyInto

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

func (*HivelocityClusterTemplate) DeepCopyObject

func (in *HivelocityClusterTemplate) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*HivelocityClusterTemplate) Default

func (r *HivelocityClusterTemplate) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type.

func (*HivelocityClusterTemplate) SetupWebhookWithManager

func (r *HivelocityClusterTemplate) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*HivelocityClusterTemplate) ValidateCreate

func (r *HivelocityClusterTemplate) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*HivelocityClusterTemplate) ValidateDelete

func (r *HivelocityClusterTemplate) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*HivelocityClusterTemplate) ValidateUpdate

func (r *HivelocityClusterTemplate) ValidateUpdate(oldRaw runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type HivelocityClusterTemplateList

type HivelocityClusterTemplateList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []HivelocityClusterTemplate `json:"items"`
}

HivelocityClusterTemplateList contains a list of HivelocityClusterTemplate.

func (*HivelocityClusterTemplateList) DeepCopy

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

func (*HivelocityClusterTemplateList) DeepCopyInto

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

func (*HivelocityClusterTemplateList) DeepCopyObject

func (in *HivelocityClusterTemplateList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type HivelocityClusterTemplateResource

type HivelocityClusterTemplateResource struct {
	// +optional
	ObjectMeta clusterv1.ObjectMeta  `json:"metadata,omitempty"`
	Spec       HivelocityClusterSpec `json:"spec"`
}

HivelocityClusterTemplateResource contains spec for HivelocityClusterSpec.

func (*HivelocityClusterTemplateResource) DeepCopy

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

func (*HivelocityClusterTemplateResource) DeepCopyInto

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

type HivelocityClusterTemplateSpec

type HivelocityClusterTemplateSpec struct {
	Template HivelocityClusterTemplateResource `json:"template"`
}

HivelocityClusterTemplateSpec defines the desired state of HivelocityClusterTemplate.

func (*HivelocityClusterTemplateSpec) DeepCopy

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

func (*HivelocityClusterTemplateSpec) DeepCopyInto

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

type HivelocityDeviceType

type HivelocityDeviceType string

HivelocityDeviceType defines the Hivelocity device type. +kubebuilder:validation:Enum=pool;hvCustom;hvControlPlane;hvWorker;e2eControlPlane;e2eWorker

type HivelocityMachine

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

	Spec   HivelocityMachineSpec   `json:"spec,omitempty"`
	Status HivelocityMachineStatus `json:"status,omitempty"`
}

HivelocityMachine is the Schema for the hivelocitymachines API.

func (*HivelocityMachine) DeepCopy

func (in *HivelocityMachine) DeepCopy() *HivelocityMachine

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

func (*HivelocityMachine) DeepCopyInto

func (in *HivelocityMachine) DeepCopyInto(out *HivelocityMachine)

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

func (*HivelocityMachine) DeepCopyObject

func (in *HivelocityMachine) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*HivelocityMachine) Default

func (r *HivelocityMachine) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type.

func (*HivelocityMachine) DeviceIDFromProviderID

func (r *HivelocityMachine) DeviceIDFromProviderID() (int32, error)

DeviceIDFromProviderID converts the ProviderID (hivelocity://NNNN) to the DeviceID.

func (*HivelocityMachine) DeviceTag

func (r *HivelocityMachine) DeviceTag() hvtag.DeviceTag

DeviceTag returns a DeviceTag object for the machine tag.

func (*HivelocityMachine) GetConditions

func (r *HivelocityMachine) GetConditions() clusterv1.Conditions

GetConditions returns the observations of the operational state of the HivelocityMachine resource.

func (*HivelocityMachine) HivelocityMachineSpec

func (r *HivelocityMachine) HivelocityMachineSpec() *HivelocityMachineSpec

HivelocityMachineSpec returns a DeepCopy.

func (*HivelocityMachine) SetConditions

func (r *HivelocityMachine) SetConditions(conditions clusterv1.Conditions)

SetConditions sets the underlying service state of the HivelocityMachine to the predescribed clusterv1.Conditions.

func (*HivelocityMachine) SetFailure

func (r *HivelocityMachine) SetFailure(reason capierrors.MachineStatusError, message string)

SetFailure sets a failure reason and message.

func (*HivelocityMachine) SetMachineStatus

func (r *HivelocityMachine) SetMachineStatus(device hv.BareMetalDevice)

SetMachineStatus sets the providerID based on a deviceID.

func (*HivelocityMachine) SetProviderID

func (r *HivelocityMachine) SetProviderID(deviceID int32)

SetProviderID sets the providerID based on a deviceID.

func (*HivelocityMachine) SetupWebhookWithManager

func (r *HivelocityMachine) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*HivelocityMachine) ValidateCreate

func (r *HivelocityMachine) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*HivelocityMachine) ValidateDelete

func (r *HivelocityMachine) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*HivelocityMachine) ValidateUpdate

func (r *HivelocityMachine) ValidateUpdate(oldRaw runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type HivelocityMachineList

type HivelocityMachineList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []HivelocityMachine `json:"items"`
}

HivelocityMachineList contains a list of HivelocityMachine.

func (*HivelocityMachineList) DeepCopy

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

func (*HivelocityMachineList) DeepCopyInto

func (in *HivelocityMachineList) DeepCopyInto(out *HivelocityMachineList)

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

func (*HivelocityMachineList) DeepCopyObject

func (in *HivelocityMachineList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type HivelocityMachineSpec

type HivelocityMachineSpec struct {
	// ProviderID is the unique identifier as specified by the cloud provider.
	// +optional
	ProviderID *string `json:"providerID,omitempty"`

	// Type is the Hivelocity Machine Type for this machine.
	Type HivelocityDeviceType `json:"type"`

	// ImageName is the reference to the Machine Image from which to create the device.
	// +kubebuilder:validation:MinLength=1
	ImageName string `json:"imageName"`

	// Status contains all status information of the controller. Do not edit these values!
	// +optional
	Status ControllerGeneratedStatus `json:"status,omitempty"`
}

HivelocityMachineSpec defines the desired state of HivelocityMachine.

func (*HivelocityMachineSpec) DeepCopy

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

func (*HivelocityMachineSpec) DeepCopyInto

func (in *HivelocityMachineSpec) DeepCopyInto(out *HivelocityMachineSpec)

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

type HivelocityMachineStatus

type HivelocityMachineStatus struct {
	// Ready is true when the provider resource is ready.
	// +optional
	Ready bool `json:"ready"`

	// Addresses contains the machine's associated addresses.
	Addresses []clusterv1.MachineAddress `json:"addresses,omitempty"`

	// Region contains the name of the Hivelocity location the device is running.
	Region Region `json:"region,omitempty"`

	// DeviceState is the state of the device for this machine.
	// +optional
	DeviceState string `json:"deviceState,omitempty"`

	// FailureReason will be set in the event that there is a terminal problem
	// reconciling the Machine and will contain a succinct value suitable
	// for machine interpretation.
	// +optional
	FailureReason *capierrors.MachineStatusError `json:"failureReason,omitempty"`

	// FailureMessage will be set in the event that there is a terminal problem
	// reconciling the Machine and will contain a more verbose string suitable
	// for logging and human consumption.
	// +optional
	FailureMessage *string `json:"failureMessage,omitempty"`

	// Conditions defines current service state of the HivelocityMachine.
	// +optional
	Conditions clusterv1.Conditions `json:"conditions,omitempty"`
}

HivelocityMachineStatus defines the observed state of HivelocityMachine.

func (*HivelocityMachineStatus) DeepCopy

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

func (*HivelocityMachineStatus) DeepCopyInto

func (in *HivelocityMachineStatus) DeepCopyInto(out *HivelocityMachineStatus)

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

type HivelocityMachineTemplate

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

	Spec   HivelocityMachineTemplateSpec   `json:"spec,omitempty"`
	Status HivelocityMachineTemplateStatus `json:"status,omitempty"`
}

HivelocityMachineTemplate is the Schema for the hivelocitymachinetemplates API.

func (*HivelocityMachineTemplate) DeepCopy

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

func (*HivelocityMachineTemplate) DeepCopyInto

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

func (*HivelocityMachineTemplate) DeepCopyObject

func (in *HivelocityMachineTemplate) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*HivelocityMachineTemplate) Default

func (r *HivelocityMachineTemplate) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type.

func (*HivelocityMachineTemplate) GetConditions

func (r *HivelocityMachineTemplate) GetConditions() clusterv1.Conditions

GetConditions returns the observations of the operational state of the HivelocityMachine resource.

func (*HivelocityMachineTemplate) SetConditions

func (r *HivelocityMachineTemplate) SetConditions(conditions clusterv1.Conditions)

SetConditions sets the underlying service state of the HivelocityMachine to the predescribed clusterv1.Conditions.

type HivelocityMachineTemplateList

type HivelocityMachineTemplateList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []HivelocityMachineTemplate `json:"items"`
}

HivelocityMachineTemplateList contains a list of HivelocityMachineTemplate.

func (*HivelocityMachineTemplateList) DeepCopy

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

func (*HivelocityMachineTemplateList) DeepCopyInto

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

func (*HivelocityMachineTemplateList) DeepCopyObject

func (in *HivelocityMachineTemplateList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type HivelocityMachineTemplateResource

type HivelocityMachineTemplateResource struct {
	// Standard object's metadata.
	// +optional
	ObjectMeta clusterv1.ObjectMeta `json:"metadata,omitempty"`

	// Spec is the specification of the desired behavior of the machine.
	Spec HivelocityMachineSpec `json:"spec"`
}

HivelocityMachineTemplateResource describes the data needed to create am HivelocityMachine from a template.

func (*HivelocityMachineTemplateResource) DeepCopy

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

func (*HivelocityMachineTemplateResource) DeepCopyInto

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

type HivelocityMachineTemplateSpec

type HivelocityMachineTemplateSpec struct {
	Template HivelocityMachineTemplateResource `json:"template"`
}

HivelocityMachineTemplateSpec defines the desired state of HivelocityMachineTemplate.

func (*HivelocityMachineTemplateSpec) DeepCopy

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

func (*HivelocityMachineTemplateSpec) DeepCopyInto

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

type HivelocityMachineTemplateStatus

type HivelocityMachineTemplateStatus struct {
	// Capacity defines the resource capacity for this machine.
	// This value is used for autoscaling from zero operations as defined in:
	// https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/proposals/20210310-opt-in-autoscaling-from-zero.md
	// +optional
	Capacity corev1.ResourceList `json:"capacity,omitempty"`

	// Conditions defines current service state of the HivelocityMachineTemplate.
	// +optional
	Conditions clusterv1.Conditions `json:"conditions,omitempty"`
}

HivelocityMachineTemplateStatus defines the observed state of HivelocityMachineTemplate.

func (*HivelocityMachineTemplateStatus) DeepCopy

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

func (*HivelocityMachineTemplateStatus) DeepCopyInto

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

type HivelocityMachineTemplateWebhook

type HivelocityMachineTemplateWebhook struct{}

HivelocityMachineTemplateWebhook implements a custom validation webhook for HivelocityMachineTemplate. +kubebuilder:object:generate=false

func (*HivelocityMachineTemplateWebhook) SetupWebhookWithManager

func (r *HivelocityMachineTemplateWebhook) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*HivelocityMachineTemplateWebhook) ValidateCreate

ValidateCreate implements webhook.CustomValidator so a webhook will be registered for the type.

func (*HivelocityMachineTemplateWebhook) ValidateDelete

ValidateDelete implements webhook.CustomValidator so a webhook will be registered for the type.

func (*HivelocityMachineTemplateWebhook) ValidateUpdate

func (r *HivelocityMachineTemplateWebhook) ValidateUpdate(ctx context.Context, oldRaw runtime.Object, newRaw runtime.Object) error

ValidateUpdate implements webhook.CustomValidator so a webhook will be registered for the type.

type HivelocityRemediation

type HivelocityRemediation struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +optional
	Spec HivelocityRemediationSpec `json:"spec,omitempty"`
	// +optional
	Status HivelocityRemediationStatus `json:"status,omitempty"`
}

HivelocityRemediation is the Schema for the hivelocityremediations API.

func (*HivelocityRemediation) DeepCopy

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

func (*HivelocityRemediation) DeepCopyInto

func (in *HivelocityRemediation) DeepCopyInto(out *HivelocityRemediation)

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

func (*HivelocityRemediation) DeepCopyObject

func (in *HivelocityRemediation) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*HivelocityRemediation) Default

func (r *HivelocityRemediation) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type.

func (*HivelocityRemediation) SetupWebhookWithManager

func (r *HivelocityRemediation) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*HivelocityRemediation) ValidateCreate

func (r *HivelocityRemediation) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*HivelocityRemediation) ValidateDelete

func (r *HivelocityRemediation) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*HivelocityRemediation) ValidateUpdate

func (r *HivelocityRemediation) ValidateUpdate(_ runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type HivelocityRemediationList

type HivelocityRemediationList struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []HivelocityRemediation `json:"items"`
}

HivelocityRemediationList contains a list of HivelocityRemediation.

func (*HivelocityRemediationList) DeepCopy

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

func (*HivelocityRemediationList) DeepCopyInto

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

func (*HivelocityRemediationList) DeepCopyObject

func (in *HivelocityRemediationList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type HivelocityRemediationSpec

type HivelocityRemediationSpec struct {
	// Strategy field defines remediation strategy.
	Strategy *RemediationStrategy `json:"strategy,omitempty"`
}

HivelocityRemediationSpec defines the desired state of HivelocityRemediation.

func (*HivelocityRemediationSpec) DeepCopy

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

func (*HivelocityRemediationSpec) DeepCopyInto

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

type HivelocityRemediationStatus

type HivelocityRemediationStatus struct {
	// Phase represents the current phase of machine remediation.
	// E.g. Pending, Running, Done etc.
	// +optional
	Phase string `json:"phase,omitempty"`

	// RetryCount can be used as a counter during the remediation.
	// Field can hold number of reboots etc.
	// +optional
	RetryCount int `json:"retryCount,omitempty"`

	// LastRemediated identifies when the host was last remediated
	// +optional
	LastRemediated *metav1.Time `json:"lastRemediated,omitempty"`
}

HivelocityRemediationStatus defines the observed state of HivelocityRemediation.

func (*HivelocityRemediationStatus) DeepCopy

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

func (*HivelocityRemediationStatus) DeepCopyInto

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

type HivelocityRemediationTemplate

type HivelocityRemediationTemplate struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +optional
	Spec HivelocityRemediationTemplateSpec `json:"spec,omitempty"`
	// +optional
	Status HivelocityRemediationTemplateStatus `json:"status,omitempty"`
}

HivelocityRemediationTemplate is the Schema for the hivelocityremediationtemplates API.

func (*HivelocityRemediationTemplate) DeepCopy

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

func (*HivelocityRemediationTemplate) DeepCopyInto

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

func (*HivelocityRemediationTemplate) DeepCopyObject

func (in *HivelocityRemediationTemplate) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*HivelocityRemediationTemplate) Default

func (r *HivelocityRemediationTemplate) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type.

func (*HivelocityRemediationTemplate) SetupWebhookWithManager

func (r *HivelocityRemediationTemplate) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*HivelocityRemediationTemplate) ValidateCreate

func (r *HivelocityRemediationTemplate) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*HivelocityRemediationTemplate) ValidateDelete

func (r *HivelocityRemediationTemplate) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*HivelocityRemediationTemplate) ValidateUpdate

func (r *HivelocityRemediationTemplate) ValidateUpdate(_ runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type HivelocityRemediationTemplateList

type HivelocityRemediationTemplateList struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []HivelocityRemediationTemplate `json:"items"`
}

HivelocityRemediationTemplateList contains a list of HivelocityRemediationTemplate.

func (*HivelocityRemediationTemplateList) DeepCopy

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

func (*HivelocityRemediationTemplateList) DeepCopyInto

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

func (*HivelocityRemediationTemplateList) DeepCopyObject

func (in *HivelocityRemediationTemplateList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type HivelocityRemediationTemplateResource

type HivelocityRemediationTemplateResource struct {
	// Spec is the specification of the desired behavior of the HivelocityRemediation.
	Spec HivelocityRemediationSpec `json:"spec"`
}

HivelocityRemediationTemplateResource describes the data needed to create a HivelocityRemediation from a template.

func (*HivelocityRemediationTemplateResource) DeepCopy

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

func (*HivelocityRemediationTemplateResource) DeepCopyInto

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

type HivelocityRemediationTemplateSpec

type HivelocityRemediationTemplateSpec struct {
	Template HivelocityRemediationTemplateResource `json:"template"`
}

HivelocityRemediationTemplateSpec defines the desired state of HivelocityRemediationTemplate.

func (*HivelocityRemediationTemplateSpec) DeepCopy

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

func (*HivelocityRemediationTemplateSpec) DeepCopyInto

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

type HivelocityRemediationTemplateStatus

type HivelocityRemediationTemplateStatus struct {
	// HivelocityRemediationStatus defines the observed state of HivelocityRemediation
	Status HivelocityRemediationStatus `json:"status"`
}

HivelocityRemediationTemplateStatus defines the observed state of HivelocityRemediationTemplate.

func (*HivelocityRemediationTemplateStatus) DeepCopy

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

func (*HivelocityRemediationTemplateStatus) DeepCopyInto

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

type HivelocitySecretRef

type HivelocitySecretRef struct {
	// +optional
	// +kubebuilder:default=hivelocity
	Name string `json:"name,omitempty"`

	// +optional
	// +kubebuilder:default=HIVELOCITY_API_KEY
	Key string `json:"key,omitempty"`
}

HivelocitySecretRef defines the name of the Secret and the relevant key in the secret to access the Hivelocity API.

func (*HivelocitySecretRef) DeepCopy

func (in *HivelocitySecretRef) DeepCopy() *HivelocitySecretRef

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

func (*HivelocitySecretRef) DeepCopyInto

func (in *HivelocitySecretRef) DeepCopyInto(out *HivelocitySecretRef)

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

type ProvisioningState

type ProvisioningState string

ProvisioningState defines the states the provisioner will report the host has having.

const (
	// StateNone means the state is unknown.
	StateNone ProvisioningState = ""

	// StateAssociateDevice .
	StateAssociateDevice ProvisioningState = "associate-device"

	// StateVerifyAssociate .
	StateVerifyAssociate ProvisioningState = "verify-associate"

	// StateProvisionDevice .
	StateProvisionDevice ProvisioningState = "provision-device"

	// StateDeviceProvisioned .
	StateDeviceProvisioned ProvisioningState = "provisioned"

	// StateDeleteDeviceDeProvision .
	StateDeleteDeviceDeProvision ProvisioningState = "delete-deprovision"

	// StateDeleteDeviceDissociate .
	StateDeleteDeviceDissociate ProvisioningState = "delete-dissociate"

	// StateDeleteDevice .
	StateDeleteDevice ProvisioningState = "delete"
)

type Region

type Region string

Region is a Hivelocity Location +kubebuilder:validation:Enum=AMS1;ATL2;BOM1;DAL1;DEL1;EDGE-ARN1;EDGE-CDG1;EDGE-FLL1;EDGE-FRA1;EDGE-HKG1;EDGE-IAD1;EDGE-ICN1;EDGE-JFK1;EDGE-LAX1;EDGE-LCY1;EDGE-LIN1;EDGE-NRT1;EDGE-SIN1;EDGE-SNV1;EDGE-SYD1;EDGE-TOJ1;EDGE-YXX1;EDGE-YYZ1;FRA1;IAD3;IND1;LAX2;LHR2;MIA1;NRT2;NYC1;ORD1;PNQ1;POZ1;RIX1;SEA1;SIN1;SLC1;TPA1;TPA2;VNO1;YYZ2

type RemediationStrategy

type RemediationStrategy struct {
	// Type of remediation.
	// +kubebuilder:default=Reboot
	// +optional
	Type RemediationType `json:"type,omitempty"`

	// Sets maximum number of remediation retries.
	// +optional
	RetryLimit int `json:"retryLimit,omitempty"`

	// Sets the timeout between remediation retries.
	Timeout *metav1.Duration `json:"timeout"`
}

RemediationStrategy describes how to remediate machines.

func (*RemediationStrategy) DeepCopy

func (in *RemediationStrategy) DeepCopy() *RemediationStrategy

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

func (*RemediationStrategy) DeepCopyInto

func (in *RemediationStrategy) DeepCopyInto(out *RemediationStrategy)

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

type RemediationType

type RemediationType string

RemediationType defines the type of remediation.

const (
	// RemediationFinalizer allows HivelocityRemediationReconciler to clean up resources associated with HivelocityRemediation before
	// removing it from the apiserver.
	RemediationFinalizer = " hivelocityremediation.infrastructure.cluster.x-k8s.io"

	// RemediationTypeReboot sets RemediationType to Reboot.
	RemediationTypeReboot RemediationType = "Reboot"
)

type ResourceLifecycle

type ResourceLifecycle string

ResourceLifecycle configures the lifecycle of a resource.

type SSHKey

type SSHKey struct {
	// Name of SSH key.
	// +kubebuilder:validation:MinLength=1
	Name string `json:"name"`
}

SSHKey defines the SSHKey for Hivelocity.

func (*SSHKey) DeepCopy

func (in *SSHKey) DeepCopy() *SSHKey

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

func (*SSHKey) DeepCopyInto

func (in *SSHKey) DeepCopyInto(out *SSHKey)

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