v1beta1

package
v1.12.0-beta.0 Latest Latest
Warning

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

Go to latest
Published: Nov 6, 2024 License: Apache-2.0 Imports: 7 Imported by: 13

Documentation

Overview

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

Package v1beta1 contains API types.

Index

Constants

View Source
const (
	// ResourcePolicyReadyCondition reports the successful creation of a
	// Resource Policy.
	ResourcePolicyReadyCondition clusterv1.ConditionType = "ResourcePolicyReady"

	// ResourcePolicyCreationFailedReason used when any errors occur during
	// ResourcePolicy creation.
	ResourcePolicyCreationFailedReason = "ResourcePolicyCreationFailed"
)
View Source
const (
	// ClusterNetworkReadyCondition reports the successful provision of a
	// Cluster Network.
	ClusterNetworkReadyCondition clusterv1.ConditionType = "ClusterNetworkReady"

	// ClusterNetworkProvisionStartedReason is used when waiting for Cluster
	// Network to be Ready.
	ClusterNetworkProvisionStartedReason = "ClusterNetworkProvisionStarted"
	// ClusterNetworkProvisionFailedReason is used when any errors occur
	// during network provision.
	ClusterNetworkProvisionFailedReason = "ClusterNetworkProvisionFailed"
)
View Source
const (
	// LoadBalancerReadyCondition reports the successful reconciliation of
	// a static control plane endpoint.
	LoadBalancerReadyCondition clusterv1.ConditionType = "LoadBalancerReady"

	// LoadBalancerCreationFailedReason is used when load balancer related
	// resources creation fails.
	LoadBalancerCreationFailedReason = "LoadBalancerCreationFailed"
	// WaitingForLoadBalancerIPReason is used when waiting for load
	// balancer IP to exist.
	WaitingForLoadBalancerIPReason = "WaitingForLoadBalancerIP"
)
View Source
const (
	// ConditionType VMProvisionedCondition is shared with infrav1.VSPhereMachine
	// VMCreationFailedReason reports that creating VM CRD or corresponding bootstrap ConfigMap failed.
	VMCreationFailedReason = "VMCreationFailed"
	// VMProvisionStartedReason documents (Severity=Info) a Virtual Machine currently is in creation process.
	VMProvisionStartedReason = "VMProvisionStarted"
	// PoweringOnReason documents (Severity=Info) a Virtual Machine currently executing the power on sequence.
	PoweringOnReason = "PoweringOn"
	// WaitingForNetworkAddressReason (Severity=Info) documents a VSphereMachine waiting for the machine network
	// settings to be reported after machine being powered on.
	WaitingForNetworkAddressReason = "WaitingForNetworkAddress"
	// WaitingForBIOSUUIDReason (Severity=Info) documents a VSphereMachine waiting for the machine to have a BIOS UUID.
	WaitingForBIOSUUIDReason = "WaitingForBIOSUUID"
)

Conditions and condition Reasons for VSphereMachine.

View Source
const (
	// ProviderServiceAccountsReadyCondition documents the status of provider service accounts
	// and related Roles, RoleBindings and Secrets are created.
	ProviderServiceAccountsReadyCondition clusterv1.ConditionType = "ProviderServiceAccountsReady"

	// ProviderServiceAccountsReconciliationFailedReason reports that provider service accounts related resources reconciliation failed.
	ProviderServiceAccountsReconciliationFailedReason = "ProviderServiceAccountsReconciliationFailed"
)
View Source
const (
	// SupervisorLoadBalancerSvcNamespace is the namespace for the Supervisor load balancer service.
	SupervisorLoadBalancerSvcNamespace = "kube-system"
	// SupervisorLoadBalancerSvcName is the name for the Supervisor load balancer service.
	SupervisorLoadBalancerSvcName = "kube-apiserver-lb-svc"
	// SupervisorAPIServerPort is the port for the Supervisor apiserver when using the load balancer service.
	SupervisorAPIServerPort = 6443
	// SupervisorHeadlessSvcNamespace is the namespace for the Supervisor headless service.
	SupervisorHeadlessSvcNamespace = "default"
	// SupervisorHeadlessSvcName is the name for the Supervisor headless service.
	SupervisorHeadlessSvcName = "supervisor"
	// SupervisorHeadlessSvcPort is the port for the Supervisor apiserver when using the headless service.
	SupervisorHeadlessSvcPort = 6443

	// ServiceDiscoveryReadyCondition documents the status of service discoveries.
	ServiceDiscoveryReadyCondition clusterv1.ConditionType = "ServiceDiscoveryReady"

	// SupervisorHeadlessServiceSetupFailedReason documents the headless service setup for svc api server failed.
	SupervisorHeadlessServiceSetupFailedReason = "SupervisorHeadlessServiceSetupFailed"
)
View Source
const (
	// Version is the API version.
	Version = "v1beta1"

	// GroupName is the name of the API group.
	GroupName = "vmware.infrastructure.cluster.x-k8s.io"
)
View Source
const (
	// VirtualMachineStateNotFound is the string representing a VM that cannot be located.
	VirtualMachineStateNotFound = VirtualMachineState("notfound")

	// VirtualMachineStateCreated is the string representing a VM that's been created.
	VirtualMachineStateCreated = VirtualMachineState("created")

	// VirtualMachineStatePoweredOn is the string representing a VM that has successfully powered on.
	VirtualMachineStatePoweredOn = VirtualMachineState("poweredon")

	// VirtualMachineStatePending is the string representing a VM with an in-flight task.
	VirtualMachineStatePending = VirtualMachineState("pending")

	// VirtualMachineStateReady is the string representing a powered-on VM with reported IP addresses.
	VirtualMachineStateReady = VirtualMachineState("ready")

	// VirtualMachineStateDeleting is the string representing a machine that still exists, but has a deleteTimestamp
	// Note that once a VirtualMachine is finally deleted, its state will be VirtualMachineStateNotFound.
	VirtualMachineStateDeleting = VirtualMachineState("deleting")

	// VirtualMachineStateError is reported if an error occurs determining the status.
	VirtualMachineStateError = VirtualMachineState("error")
)
View Source
const (
	// ClusterFinalizer allows ReconcileVSphereCluster to clean up vSphere
	// resources associated with VSphereCluster before removing it from the
	// API server.
	ClusterFinalizer = "vspherecluster.vmware.infrastructure.cluster.x-k8s.io"

	// ProviderServiceAccountFinalizer allows ServiceAccountReconciler to clean up service accounts
	// resources associated with VSphereCluster from the SERVICE_ACCOUNTS_CM (service accounts ConfigMap).
	//
	// Deprecated: ProviderServiceAccountFinalizer will be removed in a future release.
	ProviderServiceAccountFinalizer = "providerserviceaccount.vmware.infrastructure.cluster.x-k8s.io"
)
View Source
const (
	// VSphereResourceCPU defines Resource type CPU for VSphereMachines.
	VSphereResourceCPU corev1.ResourceName = "cpu"

	// VSphereResourceMemory defines Resource type memory for VSphereMachines.
	VSphereResourceMemory corev1.ResourceName = "memory"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects.
	GroupVersion = schema.GroupVersion{Group: GroupName, Version: Version}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = schemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type ProviderServiceAccount

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

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

ProviderServiceAccount is the schema for the ProviderServiceAccount API.

func (*ProviderServiceAccount) DeepCopy

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

func (*ProviderServiceAccount) DeepCopyInto

func (in *ProviderServiceAccount) DeepCopyInto(out *ProviderServiceAccount)

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

func (*ProviderServiceAccount) DeepCopyObject

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

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

type ProviderServiceAccountList

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

ProviderServiceAccountList contains a list of ProviderServiceAccount.

func (*ProviderServiceAccountList) DeepCopy

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

func (*ProviderServiceAccountList) DeepCopyInto

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

func (*ProviderServiceAccountList) DeepCopyObject

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

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

type ProviderServiceAccountSpec

type ProviderServiceAccountSpec struct {
	// Ref specifies the reference to the VSphereCluster for which the ProviderServiceAccount needs to be realized.
	Ref *corev1.ObjectReference `json:"ref"`

	// Rules specifies the privileges that need to be granted to the service account.
	Rules []rbacv1.PolicyRule `json:"rules"`

	// TargetNamespace is the namespace in the target cluster where the secret containing the generated service account
	// token needs to be created.
	TargetNamespace string `json:"targetNamespace"`

	// TargetSecretName is the name of the secret in the target cluster that contains the generated service account
	// token.
	TargetSecretName string `json:"targetSecretName"`
}

ProviderServiceAccountSpec defines the desired state of ProviderServiceAccount.

func (*ProviderServiceAccountSpec) DeepCopy

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

func (*ProviderServiceAccountSpec) DeepCopyInto

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

type ProviderServiceAccountStatus

type ProviderServiceAccountStatus struct {
	Ready    bool   `json:"ready,omitempty"`
	ErrorMsg string `json:"errorMsg,omitempty"`
}

ProviderServiceAccountStatus defines the observed state of ProviderServiceAccount.

func (*ProviderServiceAccountStatus) DeepCopy

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

func (*ProviderServiceAccountStatus) DeepCopyInto

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

type VSphereCluster

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

	Spec   VSphereClusterSpec   `json:"spec,omitempty"`
	Status VSphereClusterStatus `json:"status,omitempty"`
}

VSphereCluster is the Schema for the VSphereClusters API.

func (*VSphereCluster) DeepCopy

func (in *VSphereCluster) DeepCopy() *VSphereCluster

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

func (*VSphereCluster) DeepCopyInto

func (in *VSphereCluster) DeepCopyInto(out *VSphereCluster)

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

func (*VSphereCluster) DeepCopyObject

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

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

func (*VSphereCluster) GetConditions

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

GetConditions returns conditions for VSphereCluster.

func (*VSphereCluster) SetConditions

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

SetConditions sets conditions on the VSphereCluster.

type VSphereClusterList

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

VSphereClusterList contains a list of VSphereCluster.

func (*VSphereClusterList) DeepCopy

func (in *VSphereClusterList) DeepCopy() *VSphereClusterList

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

func (*VSphereClusterList) DeepCopyInto

func (in *VSphereClusterList) DeepCopyInto(out *VSphereClusterList)

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

func (*VSphereClusterList) DeepCopyObject

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

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

type VSphereClusterSpec

type VSphereClusterSpec struct {
	// +optional
	ControlPlaneEndpoint clusterv1.APIEndpoint `json:"controlPlaneEndpoint"`
}

VSphereClusterSpec defines the desired state of VSphereCluster.

func (*VSphereClusterSpec) DeepCopy

func (in *VSphereClusterSpec) DeepCopy() *VSphereClusterSpec

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

func (*VSphereClusterSpec) DeepCopyInto

func (in *VSphereClusterSpec) DeepCopyInto(out *VSphereClusterSpec)

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

type VSphereClusterStatus

type VSphereClusterStatus struct {
	// Ready indicates the infrastructure required to deploy this cluster is
	// ready.
	// +optional
	Ready bool `json:"ready"`

	// ResourcePolicyName is the name of the VirtualMachineSetResourcePolicy for
	// the cluster, if one exists
	// +optional
	ResourcePolicyName string `json:"resourcePolicyName,omitempty"`

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

	// FailureDomains is a list of failure domain objects synced from the
	// infrastructure provider.
	FailureDomains clusterv1.FailureDomains `json:"failureDomains,omitempty"`
}

VSphereClusterStatus defines the observed state of VSphereClusterSpec.

func (*VSphereClusterStatus) DeepCopy

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

func (*VSphereClusterStatus) DeepCopyInto

func (in *VSphereClusterStatus) DeepCopyInto(out *VSphereClusterStatus)

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

type VSphereClusterTemplate

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

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

VSphereClusterTemplate is the Schema for the vsphereclustertemplates API.

func (*VSphereClusterTemplate) DeepCopy

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

func (*VSphereClusterTemplate) DeepCopyInto

func (in *VSphereClusterTemplate) DeepCopyInto(out *VSphereClusterTemplate)

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

func (*VSphereClusterTemplate) DeepCopyObject

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

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

type VSphereClusterTemplateList

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

VSphereClusterTemplateList contains a list of VSphereClusterTemplate.

func (*VSphereClusterTemplateList) DeepCopy

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

func (*VSphereClusterTemplateList) DeepCopyInto

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

func (*VSphereClusterTemplateList) DeepCopyObject

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

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

type VSphereClusterTemplateResource

type VSphereClusterTemplateResource struct {
	Spec VSphereClusterSpec `json:"spec"`
}

VSphereClusterTemplateResource defines the template structure.

func (*VSphereClusterTemplateResource) DeepCopy

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

func (*VSphereClusterTemplateResource) DeepCopyInto

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

type VSphereClusterTemplateSpec

type VSphereClusterTemplateSpec struct {
	Template VSphereClusterTemplateResource `json:"template"`
}

VSphereClusterTemplateSpec defines the desired state of VSphereClusterTemplate.

func (*VSphereClusterTemplateSpec) DeepCopy

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

func (*VSphereClusterTemplateSpec) DeepCopyInto

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

type VSphereMachine

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

	Spec   VSphereMachineSpec   `json:"spec,omitempty"`
	Status VSphereMachineStatus `json:"status,omitempty"`
}

VSphereMachine is the Schema for the vspheremachines API

+kubebuilder:object:root=true +kubebuilder:resource:path=vspheremachines,scope=Namespaced,categories=cluster-api +kubebuilder:storageversion +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Zone",type="string",JSONPath=".spec.failureDomain",description="Zone" +kubebuilder:printcolumn:name="ProviderID",type="string",JSONPath=".spec.providerID",description="Provider ID" +kubebuilder:printcolumn:name="IPAddr",type="string",JSONPath=".status.vmIp",description="IP address"

func (*VSphereMachine) DeepCopy

func (in *VSphereMachine) DeepCopy() *VSphereMachine

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

func (*VSphereMachine) DeepCopyInto

func (in *VSphereMachine) DeepCopyInto(out *VSphereMachine)

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

func (*VSphereMachine) DeepCopyObject

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

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

func (*VSphereMachine) GetConditions

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

GetConditions returns the conditions for the VSphereMachine.

func (*VSphereMachine) SetConditions

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

SetConditions sets conditions on the VSphereMachine.

type VSphereMachineList

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

VSphereMachineList contains a list of VSphereMachine.

func (*VSphereMachineList) DeepCopy

func (in *VSphereMachineList) DeepCopy() *VSphereMachineList

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

func (*VSphereMachineList) DeepCopyInto

func (in *VSphereMachineList) DeepCopyInto(out *VSphereMachineList)

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

func (*VSphereMachineList) DeepCopyObject

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

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

type VSphereMachineSpec

type VSphereMachineSpec struct {
	// ProviderID is the virtual machine's BIOS UUID formatted as
	// vsphere://12345678-1234-1234-1234-123456789abc.
	// This is required at runtime by CAPI. Do not remove this field.
	// +optional
	ProviderID *string `json:"providerID,omitempty"`

	// FailureDomain is the failure domain the machine will be created in.
	// Must match a key in the FailureDomains map stored on the cluster object.
	// +optional
	FailureDomain *string `json:"failureDomain,omitempty"`

	// ImageName is the name of the base image used when specifying the
	// underlying virtual machine
	ImageName string `json:"imageName"`

	// ClassName is the name of the class used when specifying the underlying
	// virtual machine
	ClassName string `json:"className"`

	// StorageClass is the name of the storage class used when specifying the
	// underlying virtual machine.
	// +optional
	StorageClass string `json:"storageClass,omitempty"`

	// Volumes is the set of PVCs to be created and attached to the VSphereMachine
	// +optional
	Volumes []VSphereMachineVolume `json:"volumes,omitempty"`

	// PowerOffMode describes the desired behavior when powering off a VM.
	//
	// There are three, supported power off modes: hard, soft, and
	// trySoft. The first mode, hard, is the equivalent of a physical
	// system's power cord being ripped from the wall. The soft mode
	// requires the VM's guest to have VM Tools installed and attempts to
	// gracefully shut down the VM. Its variant, trySoft, first attempts
	// a graceful shutdown, and if that fails or the VM is not in a powered off
	// state after reaching 5 minutes timeout, the VM is halted.
	//
	// If omitted, the mode defaults to hard.
	//
	// +optional
	// +kubebuilder:default=hard
	PowerOffMode VirtualMachinePowerOpMode `json:"powerOffMode,omitempty"`

	// MinHardwareVersion specifies the desired minimum hardware version
	// for this VM. Setting this field will ensure that the hardware version
	// of the VM is at least set to the specified value.
	// The expected format of the field is vmx-15.
	//
	// +optional
	MinHardwareVersion string `json:"minHardwareVersion,omitempty"`

	// NamingStrategy allows configuring the naming strategy used when calculating the name of the VirtualMachine.
	// +optional
	NamingStrategy *VirtualMachineNamingStrategy `json:"namingStrategy,omitempty"`
}

VSphereMachineSpec defines the desired state of VSphereMachine.

func (*VSphereMachineSpec) DeepCopy

func (in *VSphereMachineSpec) DeepCopy() *VSphereMachineSpec

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

func (*VSphereMachineSpec) DeepCopyInto

func (in *VSphereMachineSpec) DeepCopyInto(out *VSphereMachineSpec)

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

type VSphereMachineStatus

type VSphereMachineStatus struct {
	// Ready is true when the provider resource is ready.
	// This is required at runtime by CAPI. Do not remove this field.
	// +optional
	Ready bool `json:"ready"`

	// Addresses contains the instance associated addresses.
	Addresses []corev1.NodeAddress `json:"addresses,omitempty"`

	// ID is used to identify the virtual machine.
	// +optional
	ID *string `json:"vmID,omitempty"`

	// IPAddr is the IP address used to access the virtual machine.
	// +optional
	IPAddr string `json:"vmIp,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.
	//
	// This field should not be set for transitive errors that a controller
	// faces that are expected to be fixed automatically over
	// time (like service outages), but instead indicate that something is
	// fundamentally wrong with the Machine's spec or the configuration of
	// the controller, and that manual intervention is required. Examples
	// of terminal errors would be invalid combinations of settings in the
	// spec, values that are unsupported by the controller, or the
	// responsible controller itself being critically misconfigured.
	//
	// Any transient errors that occur during the reconciliation of Machines
	// can be added as events to the Machine object and/or logged in the
	// controller's output.
	// +optional
	FailureReason *errors.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.
	//
	// This field should not be set for transitive errors that a controller
	// faces that are expected to be fixed automatically over
	// time (like service outages), but instead indicate that something is
	// fundamentally wrong with the Machine's spec or the configuration of
	// the controller, and that manual intervention is required. Examples
	// of terminal errors would be invalid combinations of settings in the
	// spec, values that are unsupported by the controller, or the
	// responsible controller itself being critically misconfigured.
	//
	// Any transient errors that occur during the reconciliation of Machines
	// can be added as events to the Machine object and/or logged in the
	// controller's output.
	// +optional
	FailureMessage *string `json:"failureMessage,omitempty"`

	// VMStatus is used to identify the virtual machine status.
	// +optional
	VMStatus VirtualMachineState `json:"vmstatus,omitempty"`

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

VSphereMachineStatus defines the observed state of VSphereMachine.

func (*VSphereMachineStatus) DeepCopy

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

func (*VSphereMachineStatus) DeepCopyInto

func (in *VSphereMachineStatus) DeepCopyInto(out *VSphereMachineStatus)

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

type VSphereMachineTemplate

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

	Spec   VSphereMachineTemplateSpec   `json:"spec,omitempty"`
	Status VSphereMachineTemplateStatus `json:"status,omitempty"`
}

VSphereMachineTemplate is the Schema for the vspheremachinetemplates API.

func (*VSphereMachineTemplate) DeepCopy

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

func (*VSphereMachineTemplate) DeepCopyInto

func (in *VSphereMachineTemplate) DeepCopyInto(out *VSphereMachineTemplate)

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

func (*VSphereMachineTemplate) DeepCopyObject

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

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

type VSphereMachineTemplateList

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

VSphereMachineTemplateList contains a list of VSphereMachineTemplate.

func (*VSphereMachineTemplateList) DeepCopy

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

func (*VSphereMachineTemplateList) DeepCopyInto

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

func (*VSphereMachineTemplateList) DeepCopyObject

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

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

type VSphereMachineTemplateResource

type VSphereMachineTemplateResource struct {
	// Spec is the specification of the desired behavior of the machine.
	Spec VSphereMachineSpec `json:"spec"`
}

VSphereMachineTemplateResource describes the data needed to create a VSphereMachine from a template.

func (*VSphereMachineTemplateResource) DeepCopy

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

func (*VSphereMachineTemplateResource) DeepCopyInto

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

type VSphereMachineTemplateSpec

type VSphereMachineTemplateSpec struct {
	Template VSphereMachineTemplateResource `json:"template"`
}

VSphereMachineTemplateSpec defines the desired state of VSphereMachineTemplate.

func (*VSphereMachineTemplateSpec) DeepCopy

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

func (*VSphereMachineTemplateSpec) DeepCopyInto

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

type VSphereMachineTemplateStatus added in v1.11.1

type VSphereMachineTemplateStatus struct {
	// Capacity defines the resource capacity for this VSphereMachineTemplate.
	// 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"`
}

VSphereMachineTemplateStatus defines the observed state of VSphereMachineTemplate.

func (*VSphereMachineTemplateStatus) DeepCopy added in v1.11.1

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

func (*VSphereMachineTemplateStatus) DeepCopyInto added in v1.11.1

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

type VSphereMachineVolume

type VSphereMachineVolume struct {
	// Name is suffix used to name this PVC as: VSphereMachine.Name + "-" + Name
	Name string `json:"name"`
	// Capacity is the PVC capacity
	Capacity corev1.ResourceList `json:"capacity"`
	// StorageClass defaults to VSphereMachineSpec.StorageClass
	// +optional
	StorageClass string `json:"storageClass,omitempty"`
}

VSphereMachineVolume defines a PVC attachment.

func (*VSphereMachineVolume) DeepCopy

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

func (*VSphereMachineVolume) DeepCopyInto

func (in *VSphereMachineVolume) DeepCopyInto(out *VSphereMachineVolume)

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

type VirtualMachineNamingStrategy added in v1.11.0

type VirtualMachineNamingStrategy struct {
	// Template defines the template to use for generating the name of the VirtualMachine object.
	// If not defined, it will fall back to `{{ .machine.name }}`.
	// The templating has the following data available:
	// * `.machine.name`: The name of the Machine object.
	// The templating also has the following funcs available:
	// * `trimSuffix`: same as strings.TrimSuffix
	// * `trunc`: truncates a string, e.g. `trunc 2 "hello"` or `trunc -2 "hello"`
	// Notes:
	// * While the template offers some flexibility, we would like the name to link to the Machine name
	//   to ensure better user experience when troubleshooting
	// * Generated names must be valid Kubernetes names as they are used to create a VirtualMachine object
	//   and usually also as the name of the Node object.
	// * Names are automatically truncated at 63 characters. Please note that this can lead to name conflicts,
	//   so we highly recommend to use a template which leads to a name shorter than 63 characters.
	// +optional
	Template *string `json:"template,omitempty"`
}

VirtualMachineNamingStrategy defines the naming strategy for the VirtualMachines.

func (*VirtualMachineNamingStrategy) DeepCopy added in v1.11.0

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

func (*VirtualMachineNamingStrategy) DeepCopyInto added in v1.11.0

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

type VirtualMachinePowerOpMode added in v1.8.0

type VirtualMachinePowerOpMode string

VirtualMachinePowerOpMode represents the various power operation modes when powering off or suspending a VM. +kubebuilder:validation:Enum=hard;soft;trySoft

const (
	// VirtualMachinePowerOpModeHard indicates to halt a VM when powering it
	// off or when suspending a VM to not involve the guest.
	VirtualMachinePowerOpModeHard VirtualMachinePowerOpMode = "hard"

	// VirtualMachinePowerOpModeSoft indicates to ask VM Tools running
	// inside of a VM's guest to shutdown the guest gracefully when powering
	// off a VM or when suspending a VM to allow the guest to participate.
	//
	// If this mode is set on a VM whose guest does not have VM Tools or if
	// VM Tools is present but the operation fails, the VM may never realize
	// the desired power state. This can prevent a VM from being deleted as well
	// as many other unexpected issues. It is recommended to use trySoft
	// instead.
	VirtualMachinePowerOpModeSoft VirtualMachinePowerOpMode = "soft"

	// VirtualMachinePowerOpModeTrySoft indicates to first attempt a Soft
	// operation and fall back to hard if VM Tools is not present in the guest,
	// if the soft operation fails, or if the VM is not in the desired power
	// state within the configured timeout (default 5m).
	VirtualMachinePowerOpModeTrySoft VirtualMachinePowerOpMode = "trySoft"
)

type VirtualMachineState

type VirtualMachineState string

VirtualMachineState describes the state of a VM.

Jump to

Keyboard shortcuts

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