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
- Variables
- type ProviderServiceAccount
- type ProviderServiceAccountList
- type ProviderServiceAccountSpec
- type ProviderServiceAccountStatus
- type VSphereCluster
- func (in *VSphereCluster) DeepCopy() *VSphereCluster
- func (in *VSphereCluster) DeepCopyInto(out *VSphereCluster)
- func (in *VSphereCluster) DeepCopyObject() runtime.Object
- func (r *VSphereCluster) GetConditions() clusterv1.Conditions
- func (r *VSphereCluster) SetConditions(conditions clusterv1.Conditions)
- type VSphereClusterList
- type VSphereClusterSpec
- type VSphereClusterStatus
- type VSphereClusterTemplate
- type VSphereClusterTemplateList
- type VSphereClusterTemplateResource
- type VSphereClusterTemplateSpec
- type VSphereMachine
- func (in *VSphereMachine) DeepCopy() *VSphereMachine
- func (in *VSphereMachine) DeepCopyInto(out *VSphereMachine)
- func (in *VSphereMachine) DeepCopyObject() runtime.Object
- func (r *VSphereMachine) GetConditions() clusterv1.Conditions
- func (r *VSphereMachine) SetConditions(conditions clusterv1.Conditions)
- type VSphereMachineList
- type VSphereMachineSpec
- type VSphereMachineStatus
- type VSphereMachineTemplate
- type VSphereMachineTemplateList
- type VSphereMachineTemplateResource
- type VSphereMachineTemplateSpec
- type VSphereMachineTemplateStatus
- type VSphereMachineVolume
- type VirtualMachineNamingStrategy
- type VirtualMachinePowerOpMode
- type VirtualMachineState
Constants ¶
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" )
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" )
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" )
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.
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" )
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" )
const ( // Version is the API version. Version = "v1beta1" // GroupName is the name of the API group. GroupName = "vmware.infrastructure.cluster.x-k8s.io" )
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") )
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" )
const ( // VSphereResourceCPU defines Resource type CPU for VSphereMachines. VSphereResourceCPU corev1.ResourceName = "cpu" // VSphereResourceMemory defines Resource type memory for VSphereMachines. VSphereResourceMemory corev1.ResourceName = "memory" )
Variables ¶
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 ¶
func (in *ProviderServiceAccount) DeepCopy() *ProviderServiceAccount
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 ¶
func (in *ProviderServiceAccountList) DeepCopy() *ProviderServiceAccountList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProviderServiceAccountList.
func (*ProviderServiceAccountList) DeepCopyInto ¶
func (in *ProviderServiceAccountList) DeepCopyInto(out *ProviderServiceAccountList)
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 ¶
func (in *ProviderServiceAccountSpec) DeepCopy() *ProviderServiceAccountSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProviderServiceAccountSpec.
func (*ProviderServiceAccountSpec) DeepCopyInto ¶
func (in *ProviderServiceAccountSpec) DeepCopyInto(out *ProviderServiceAccountSpec)
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 ¶
func (in *ProviderServiceAccountStatus) DeepCopy() *ProviderServiceAccountStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProviderServiceAccountStatus.
func (*ProviderServiceAccountStatus) DeepCopyInto ¶
func (in *ProviderServiceAccountStatus) DeepCopyInto(out *ProviderServiceAccountStatus)
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 ¶
func (in *VSphereClusterStatus) DeepCopy() *VSphereClusterStatus
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 ¶
func (in *VSphereClusterTemplate) DeepCopy() *VSphereClusterTemplate
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 ¶
func (in *VSphereClusterTemplateList) DeepCopy() *VSphereClusterTemplateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VSphereClusterTemplateList.
func (*VSphereClusterTemplateList) DeepCopyInto ¶
func (in *VSphereClusterTemplateList) DeepCopyInto(out *VSphereClusterTemplateList)
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 ¶
func (in *VSphereClusterTemplateResource) DeepCopy() *VSphereClusterTemplateResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VSphereClusterTemplateResource.
func (*VSphereClusterTemplateResource) DeepCopyInto ¶
func (in *VSphereClusterTemplateResource) DeepCopyInto(out *VSphereClusterTemplateResource)
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 ¶
func (in *VSphereClusterTemplateSpec) DeepCopy() *VSphereClusterTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VSphereClusterTemplateSpec.
func (*VSphereClusterTemplateSpec) DeepCopyInto ¶
func (in *VSphereClusterTemplateSpec) DeepCopyInto(out *VSphereClusterTemplateSpec)
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 ¶
func (in *VSphereMachineStatus) DeepCopy() *VSphereMachineStatus
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 ¶
func (in *VSphereMachineTemplate) DeepCopy() *VSphereMachineTemplate
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 ¶
func (in *VSphereMachineTemplateList) DeepCopy() *VSphereMachineTemplateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VSphereMachineTemplateList.
func (*VSphereMachineTemplateList) DeepCopyInto ¶
func (in *VSphereMachineTemplateList) DeepCopyInto(out *VSphereMachineTemplateList)
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 ¶
func (in *VSphereMachineTemplateResource) DeepCopy() *VSphereMachineTemplateResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VSphereMachineTemplateResource.
func (*VSphereMachineTemplateResource) DeepCopyInto ¶
func (in *VSphereMachineTemplateResource) DeepCopyInto(out *VSphereMachineTemplateResource)
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 ¶
func (in *VSphereMachineTemplateSpec) DeepCopy() *VSphereMachineTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VSphereMachineTemplateSpec.
func (*VSphereMachineTemplateSpec) DeepCopyInto ¶
func (in *VSphereMachineTemplateSpec) DeepCopyInto(out *VSphereMachineTemplateSpec)
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
func (in *VSphereMachineTemplateStatus) DeepCopy() *VSphereMachineTemplateStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VSphereMachineTemplateStatus.
func (*VSphereMachineTemplateStatus) DeepCopyInto ¶ added in v1.11.1
func (in *VSphereMachineTemplateStatus) DeepCopyInto(out *VSphereMachineTemplateStatus)
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 ¶
func (in *VSphereMachineVolume) DeepCopy() *VSphereMachineVolume
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
func (in *VirtualMachineNamingStrategy) DeepCopy() *VirtualMachineNamingStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineNamingStrategy.
func (*VirtualMachineNamingStrategy) DeepCopyInto ¶ added in v1.11.0
func (in *VirtualMachineNamingStrategy) DeepCopyInto(out *VirtualMachineNamingStrategy)
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.