Documentation ¶
Overview ¶
Package v1beta1 contains API Schema definitions for the infrastructure v1beta1 API group +kubebuilder:object:generate=true +groupName=infrastructure.cluster.x-k8s.io
Index ¶
- Constants
- Variables
- type APIEndpoint
- type AllowedNamespaces
- type CloneMode
- type ClusterModule
- type DHCPOverrides
- type FailureDomain
- type FailureDomainHosts
- type FailureDomainType
- type Network
- type NetworkConfiguration
- type NetworkDeviceSpec
- type NetworkRouteSpec
- type NetworkSpec
- type NetworkStatus
- type OS
- type PCIDeviceSpec
- type PlacementConstraint
- type SSHUser
- type Topology
- type VCenterVersion
- type VSphereCluster
- func (in *VSphereCluster) DeepCopy() *VSphereCluster
- func (in *VSphereCluster) DeepCopyInto(out *VSphereCluster)
- func (in *VSphereCluster) DeepCopyObject() runtime.Object
- func (c *VSphereCluster) GetConditions() clusterv1.Conditions
- func (*VSphereCluster) Hub()
- func (c *VSphereCluster) SetConditions(conditions clusterv1.Conditions)
- type VSphereClusterIdentity
- func (in *VSphereClusterIdentity) DeepCopy() *VSphereClusterIdentity
- func (in *VSphereClusterIdentity) DeepCopyInto(out *VSphereClusterIdentity)
- func (in *VSphereClusterIdentity) DeepCopyObject() runtime.Object
- func (c *VSphereClusterIdentity) GetConditions() clusterv1.Conditions
- func (*VSphereClusterIdentity) Hub()
- func (c *VSphereClusterIdentity) SetConditions(conditions clusterv1.Conditions)
- type VSphereClusterIdentityList
- type VSphereClusterIdentitySpec
- type VSphereClusterIdentityStatus
- type VSphereClusterList
- type VSphereClusterSpec
- type VSphereClusterStatus
- type VSphereClusterTemplate
- type VSphereClusterTemplateList
- type VSphereClusterTemplateResource
- type VSphereClusterTemplateSpec
- type VSphereDeploymentZone
- func (in *VSphereDeploymentZone) DeepCopy() *VSphereDeploymentZone
- func (in *VSphereDeploymentZone) DeepCopyInto(out *VSphereDeploymentZone)
- func (in *VSphereDeploymentZone) DeepCopyObject() runtime.Object
- func (z *VSphereDeploymentZone) GetConditions() clusterv1.Conditions
- func (*VSphereDeploymentZone) Hub()
- func (z *VSphereDeploymentZone) SetConditions(conditions clusterv1.Conditions)
- type VSphereDeploymentZoneList
- type VSphereDeploymentZoneSpec
- type VSphereDeploymentZoneStatus
- type VSphereFailureDomain
- type VSphereFailureDomainList
- type VSphereFailureDomainSpec
- type VSphereIdentityKind
- type VSphereIdentityReference
- type VSphereMachine
- func (in *VSphereMachine) DeepCopy() *VSphereMachine
- func (in *VSphereMachine) DeepCopyInto(out *VSphereMachine)
- func (in *VSphereMachine) DeepCopyObject() runtime.Object
- func (m *VSphereMachine) GetConditions() clusterv1.Conditions
- func (*VSphereMachine) Hub()
- func (m *VSphereMachine) SetConditions(conditions clusterv1.Conditions)
- type VSphereMachineList
- type VSphereMachineProviderConditionType
- type VSphereMachineSpec
- type VSphereMachineStatus
- type VSphereMachineTemplate
- type VSphereMachineTemplateList
- type VSphereMachineTemplateResource
- type VSphereMachineTemplateSpec
- type VSphereVM
- type VSphereVMList
- type VSphereVMSpec
- type VSphereVMStatus
- type VirtualMachine
- type VirtualMachineCloneSpec
- type VirtualMachinePowerOpMode
- type VirtualMachinePowerState
- type VirtualMachineState
Constants ¶
const ( // FailureDomainsAvailableCondition documents the status of the failure domains // associated to the VSphereCluster. FailureDomainsAvailableCondition clusterv1.ConditionType = "FailureDomainsAvailable" // FailureDomainsSkippedReason (Severity=Info) documents that some of the failure domain statuses // associated to the VSphereCluster are reported as not ready. FailureDomainsSkippedReason = "FailureDomainsSkipped" // WaitingForFailureDomainStatusReason (Severity=Info) documents that some of the failure domains // associated to the VSphereCluster are not reporting the Ready status. // Instead of reporting a false ready status, these failure domains are still under the process of reconciling // and hence not yet reporting their status. WaitingForFailureDomainStatusReason = "WaitingForFailureDomainStatus" )
const ( // VMProvisionedCondition documents the status of the provisioning of a VSphereMachine and its underlying VSphereVM. VMProvisionedCondition clusterv1.ConditionType = "VMProvisioned" // WaitingForClusterInfrastructureReason (Severity=Info) documents a VSphereMachine waiting for the cluster // infrastructure to be ready before starting the provisioning process. // // NOTE: This reason does not apply to VSphereVM (this state happens before the VSphereVM is actually created). WaitingForClusterInfrastructureReason = "WaitingForClusterInfrastructure" // WaitingForBootstrapDataReason (Severity=Info) documents a VSphereMachine waiting for the bootstrap // script to be ready before starting the provisioning process. // // NOTE: This reason does not apply to VSphereVM (this state happens before the VSphereVM is actually created). WaitingForBootstrapDataReason = "WaitingForBootstrapData" // WaitingForStaticIPAllocationReason (Severity=Info) documents a VSphereVM waiting for the allocation of // a static IP address. WaitingForStaticIPAllocationReason = "WaitingForStaticIPAllocation" // WaitingForIPAllocationReason (Severity=Info) documents a VSphereVM waiting for the allocation of // an IP address. // This is used when the dhcp4 or dhcp6 for a VSphereVM is set and the VSphereVM is waiting for the // relevant IP address to show up on the VM. WaitingForIPAllocationReason = "WaitingForIPAllocation" // CloningReason documents (Severity=Info) a VSphereMachine/VSphereVM currently executing the clone operation. CloningReason = "Cloning" // CloningFailedReason (Severity=Warning) documents a VSphereMachine/VSphereVM controller detecting // an error while provisioning; those kind of errors are usually transient and failed provisioning // are automatically re-tried by the controller. CloningFailedReason = "CloningFailed" // PoweringOnReason documents (Severity=Info) a VSphereMachine/VSphereVM currently executing the power on sequence. PoweringOnReason = "PoweringOn" // PoweringOnFailedReason (Severity=Warning) documents a VSphereMachine/VSphereVM controller detecting // an error while powering on; those kind of errors are usually transient and failed provisioning // are automatically re-tried by the controller. PoweringOnFailedReason = "PoweringOnFailed" // NotFoundByBIOSUUIDReason (Severity=Warning) documents a VSphereVM which can't be found by BIOS UUID. // Those kind of errors could be transient sometimes and failed VSphereVM are automatically // reconciled by the controller. NotFoundByBIOSUUIDReason = "NotFoundByBIOSUUID" // TaskFailure (Severity=Warning) documents a VSphereMachine/VSphere task failure; the reconcile look will automatically // retry the operation, but a user intervention might be required to fix the problem. TaskFailure = "TaskFailure" // WaitingForNetworkAddressesReason (Severity=Info) documents a VSphereMachine waiting for the machine network // settings to be reported after machine being powered on. // // NOTE: This reason does not apply to VSphereVM (this state happens after the VSphereVM is in ready state). WaitingForNetworkAddressesReason = "WaitingForNetworkAddresses" // TagsAttachmentFailedReason (Severity=Error) documents a VSphereMachine/VSphereVM tags attachment failure. TagsAttachmentFailedReason = "TagsAttachmentFailed" // PCIDevicesDetachedCondition documents the status of the attached PCI devices on the VSphereVM. // It is a negative condition to notify the user that the device(s) is no longer attached to // the underlying VM and would require manual intervention to fix the situation. // // NOTE: This condition does not apply to VSphereMachine. PCIDevicesDetachedCondition clusterv1.ConditionType = "PCIDevicesDetached" // NotFoundReason (Severity=Warning) documents the VSphereVM not having the PCI device attached during VM startup. // This would indicate that the PCI devices were removed out of band by an external entity. NotFoundReason = "NotFound" )
const ( // VCenterAvailableCondition documents the connectivity with vcenter // for a given resource. VCenterAvailableCondition clusterv1.ConditionType = "VCenterAvailable" // VCenterUnreachableReason (Severity=Error) documents a controller detecting // issues with VCenter reachability. VCenterUnreachableReason = "VCenterUnreachable" )
Conditions and Reasons related to utilizing a VSphereIdentity to make connections to a VCenter. Can currently be used by VSphereCluster and VSphereVM.
const ( // ClusterModulesAvailableCondition documents the availability of cluster modules for the VSphereCluster object. ClusterModulesAvailableCondition clusterv1.ConditionType = "ClusterModulesAvailable" // MissingVCenterVersionReason (Severity=Warning) documents a controller detecting // the scenario in which the vCenter version is not set in the status of the VSphereCluster object. MissingVCenterVersionReason = "MissingVCenterVersion" // VCenterVersionIncompatibleReason (Severity=Info) documents the case where the vCenter version of the // VSphereCluster object does not support cluster modules. VCenterVersionIncompatibleReason = "VCenterVersionIncompatible" // ClusterModuleSetupFailedReason (Severity=Warning) documents a controller detecting // issues when setting up anti-affinity constraints via cluster modules for objects // belonging to the cluster. ClusterModuleSetupFailedReason = "ClusterModuleSetupFailed" )
const ( // CredentialsAvailableCondidtion is used by VSphereClusterIdentity when a credential // secret is available and unused by other VSphereClusterIdentities. CredentialsAvailableCondidtion clusterv1.ConditionType = "CredentialsAvailable" // SecretNotAvailableReason is used when the secret referenced by the VSphereClusterIdentity cannot be found. SecretNotAvailableReason = "SecretNotAvailable" // SecretOwnerReferenceFailedReason is used for errors while updating the owner reference of the secret. SecretOwnerReferenceFailedReason = "SecretOwnerReferenceFailed" // SecretAlreadyInUseReason is used when another VSphereClusterIdentity is using the secret. SecretAlreadyInUseReason = "SecretInUse" )
const ( // PlacementConstraintMetCondition documents whether the placement constraint is configured correctly or not. PlacementConstraintMetCondition clusterv1.ConditionType = "PlacementConstraintMet" // ResourcePoolNotFoundReason (Severity=Error) documents that the resource pool in the placement constraint // associated to the VSphereDeploymentZone is misconfigured. ResourcePoolNotFoundReason = "ResourcePoolNotFound" // FolderNotFoundReason (Severity=Error) documents that the folder in the placement constraint // associated to the VSphereDeploymentZone is misconfigured. FolderNotFoundReason = "FolderNotFound" )
const ( // VSphereFailureDomainValidatedCondition documents whether the failure domain for the deployment zone is configured correctly or not. VSphereFailureDomainValidatedCondition clusterv1.ConditionType = "VSphereFailureDomainValidated" // RegionMisconfiguredReason (Severity=Error) documents that the region for the Failure Domain associated to // the VSphereDeploymentZone is misconfigured. RegionMisconfiguredReason = "FailureDomainRegionMisconfigured" // ZoneMisconfiguredReason (Severity=Error) documents that the zone for the Failure Domain associated to // the VSphereDeploymentZone is misconfigured. ZoneMisconfiguredReason = "FailureDomainZoneMisconfigured" // ComputeClusterNotFoundReason (Severity=Error) documents that the Compute Cluster for the Failure Domain // associated to the VSphereDeploymentZone cannot be found. ComputeClusterNotFoundReason = "ComputeClusterNotFound" // HostsMisconfiguredReason (Severity=Error) documents that the VM & Host Group details for the Failure Domain // associated to the VSphereDeploymentZone are misconfigured. HostsMisconfiguredReason = "HostsMisconfigured" // HostsAffinityMisconfiguredReason (Severity=Warning) documents that the VM & Host Group affinity rule for the FailureDomain is disabled. HostsAffinityMisconfiguredReason = "HostsAffinityMisconfigured" // NetworkNotFoundReason (Severity=Error) documents that the networks in the topology for the Failure Domain // associated to the VSphereDeploymentZone are misconfigured. NetworkNotFoundReason = "NetworkNotFound" // DatastoreNotFoundReason (Severity=Error) documents that the datastore in the topology for the Failure Domain // associated to the VSphereDeploymentZone is misconfigured. DatastoreNotFoundReason = "DatastoreNotFound" )
const ( // IPAddressClaimedCondition documents the status of claiming an IP address // from an IPAM provider. IPAddressClaimedCondition clusterv1.ConditionType = "IPAddressClaimed" // IPAddressClaimsBeingCreatedReason (Severity=Info) documents that claims for the // IP addresses required by the VSphereVM are being created. IPAddressClaimsBeingCreatedReason = "IPAddressClaimsBeingCreated" // WaitingForIPAddressReason (Severity=Info) documents that the VSphereVM is // currently waiting for an IP address to be provisioned. WaitingForIPAddressReason = "WaitingForIPAddress" // IPAddressInvalidReason (Severity=Error) documents that the IP address // provided by the IPAM provider is not valid. IPAddressInvalidReason = "IPAddressInvalid" // IPAddressClaimNotFoundReason (Severity=Error) documents that the IPAddressClaim // cannot be found. IPAddressClaimNotFoundReason = "IPAddressClaimNotFound" )
const ( // GuestSoftPowerOffSucceededCondition documents the status of performing guest initiated // graceful shutdown. GuestSoftPowerOffSucceededCondition clusterv1.ConditionType = "GuestSoftPowerOffSucceeded" // GuestSoftPowerOffInProgressReason (Severity=Info) documents that the guest receives // a graceful shutdown request. GuestSoftPowerOffInProgressReason = "GuestSoftPowerOffInProgress" // GuestSoftPowerOffFailedReason (Severity=Warning) documents that the graceful // shutdown request fails. GuestSoftPowerOffFailedReason = "GuestSoftPowerOffFailed" )
const ( // Version is the API version. Version = "v1beta1" // GroupName is the name of the API group. GroupName = "infrastructure.cluster.x-k8s.io" )
const ( // AnnotationClusterInfrastructureReady indicates the cluster's // infrastructure sources are ready and machines may be created. AnnotationClusterInfrastructureReady = "vsphere.infrastructure.cluster.x-k8s.io/infrastructure-ready" // AnnotationControlPlaneReady indicates the cluster's control plane is // ready. AnnotationControlPlaneReady = "vsphere.infrastructure.cluster.x-k8s.io/control-plane-ready" // ValueReady is the ready value for *Ready annotations. ValueReady = "true" )
const ( // VirtualMachineStateNotFound is the string representing a VM that // cannot be located. VirtualMachineStateNotFound VirtualMachineState = "notfound" // VirtualMachineStatePending is the string representing a VM with an in-flight task. VirtualMachineStatePending = "pending" // VirtualMachineStateReady is the string representing a powered-on VM with reported IP addresses. VirtualMachineStateReady = "ready" )
const ( // VirtualMachinePowerStatePoweredOn is the string representing a VM in powered on state. VirtualMachinePowerStatePoweredOn VirtualMachinePowerState = "poweredOn" // VirtualMachinePowerStatePoweredOff is the string representing a VM in powered off state. VirtualMachinePowerStatePoweredOff = "poweredOff" // VirtualMachinePowerStateSuspended is the string representing a VM in suspended state. VirtualMachinePowerStateSuspended = "suspended" )
const ( // SecretIdentitySetFinalizer is the finalizer for VSphereCluster credentials secrets . SecretIdentitySetFinalizer = "vspherecluster/infrastructure.cluster.x-k8s.io" // VSphereClusterIdentityFinalizer is the finalizer for VSphereClusterIdentity credentials secrets. VSphereClusterIdentityFinalizer = "vsphereclusteridentity/infrastructure.cluster.x-k8s.io" )
const ( // VMFinalizer allows the reconciler to clean up resources associated // with a VSphereVM before removing it from the API Server. VMFinalizer = "vspherevm.infrastructure.cluster.x-k8s.io" // IPAddressClaimFinalizer allows the reconciler to prevent deletion of an // IPAddressClaim that is in use. IPAddressClaimFinalizer = "vspherevm.infrastructure.cluster.x-k8s.io/ip-claim-protection" // GuestSoftPowerOffDefaultTimeout is the default timeout to wait for // shutdown finishes in the guest VM before powering off the VM forcibly // Only effective when the powerOffMode is set to trySoft. GuestSoftPowerOffDefaultTimeout = 5 * time.Minute )
const ( // ClusterFinalizer allows ReconcileVSphereCluster to clean up vSphere // resources associated with VSphereCluster before removing it from the // API server. ClusterFinalizer = "vspherecluster.infrastructure.cluster.x-k8s.io" )
const ( // DeploymentZoneFinalizer allows ReconcileVSphereDeploymentZone to // check for dependents associated with VSphereDeploymentZone // before removing it from the API Server. DeploymentZoneFinalizer = "vspheredeploymentzone.infrastructure.cluster.x-k8s.io" )
const ( // MachineFinalizer allows ReconcileVSphereMachine to clean up VSphere // resources associated with VSphereMachine before removing it from the // API Server. MachineFinalizer = "vspheremachine.infrastructure.cluster.x-k8s.io" )
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 )
var ( // VSphereClusterIdentityKind is used when a VSphereClusterIdentity is referenced in a VSphereCluster. VSphereClusterIdentityKind = VSphereIdentityKind("VSphereClusterIdentity") // SecretKind is used when a secret is referenced directly in a VSphereCluster. SecretKind = VSphereIdentityKind("Secret") )
Functions ¶
This section is empty.
Types ¶
type APIEndpoint ¶
type APIEndpoint struct { // The hostname on which the API server is serving. Host string `json:"host"` // The port on which the API server is serving. Port int32 `json:"port"` }
APIEndpoint represents a reachable Kubernetes API endpoint.
func (*APIEndpoint) DeepCopy ¶
func (in *APIEndpoint) DeepCopy() *APIEndpoint
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIEndpoint.
func (*APIEndpoint) DeepCopyInto ¶
func (in *APIEndpoint) DeepCopyInto(out *APIEndpoint)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (APIEndpoint) IsZero ¶
func (v APIEndpoint) IsZero() bool
IsZero returns true if either the host or the port are zero values.
func (APIEndpoint) String ¶
func (v APIEndpoint) String() string
String returns a formatted version HOST:PORT of this APIEndpoint.
type AllowedNamespaces ¶
type AllowedNamespaces struct { // Selector is a standard Kubernetes LabelSelector. A label query over a set of resources. // +optional Selector metav1.LabelSelector `json:"selector"` }
AllowedNamespaces restricts the namespaces this VSphereClusterIdentity can be used from.
func (*AllowedNamespaces) DeepCopy ¶
func (in *AllowedNamespaces) DeepCopy() *AllowedNamespaces
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllowedNamespaces.
func (*AllowedNamespaces) DeepCopyInto ¶
func (in *AllowedNamespaces) DeepCopyInto(out *AllowedNamespaces)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CloneMode ¶
type CloneMode string
CloneMode is the type of clone operation used to clone a VM from a template.
const ( // FullClone indicates a VM will have no relationship to the source of the // clone operation once the operation is complete. This is the safest clone // mode, but it is not the fastest. FullClone CloneMode = "fullClone" // LinkedClone means resulting VMs will be dependent upon the snapshot of // the source VM/template from which the VM was cloned. This is the fastest // clone mode, but it also prevents expanding a VMs disk beyond the size of // the source VM/template. LinkedClone CloneMode = "linkedClone" )
type ClusterModule ¶ added in v1.3.2
type ClusterModule struct { // ControlPlane indicates whether the referred object is responsible for control plane nodes. // Currently, only the KubeadmControlPlane objects have this flag set to true. // Only a single object in the slice can have this value set to true. ControlPlane bool `json:"controlPlane"` // TargetObjectName points to the object that uses the Cluster Module information to enforce // anti-affinity amongst its descendant VM objects. TargetObjectName string `json:"targetObjectName"` // ModuleUUID is the unique identifier of the `ClusterModule` used by the object. ModuleUUID string `json:"moduleUUID"` }
ClusterModule holds the anti affinity construct `ClusterModule` identifier in use by the VMs owned by the object referred by the TargetObjectName field.
func (*ClusterModule) DeepCopy ¶ added in v1.3.2
func (in *ClusterModule) DeepCopy() *ClusterModule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterModule.
func (*ClusterModule) DeepCopyInto ¶ added in v1.3.2
func (in *ClusterModule) DeepCopyInto(out *ClusterModule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DHCPOverrides ¶ added in v1.5.0
type DHCPOverrides struct { // Hostname is the name which will be sent to the DHCP server instead of // the machine's hostname. // +optional Hostname *string `json:"hostname,omitempty"` // RouteMetric is used to prioritize routes for devices. A lower metric for // an interface will have a higher priority. // +optional RouteMetric *int `json:"routeMetric,omitempty"` // SendHostname when `true`, the hostname of the machine will be sent to the // DHCP server. // +optional SendHostname *bool `json:"sendHostname,omitempty"` // UseDNS when `true`, the DNS servers in the DHCP server will be used and // take precedence. // +optional UseDNS *bool `json:"useDNS,omitempty"` // UseDomains can take the values `true`, `false`, or `route`. When `true`, // the domain name from the DHCP server will be used as the DNS search // domain for this device. When `route`, the domain name from the DHCP // response will be used for routing DNS only, not for searching. // +optional UseDomains *string `json:"useDomains,omitempty"` // UseHostname when `true`, the hostname from the DHCP server will be set // as the transient hostname of the machine. // +optional UseHostname *bool `json:"useHostname,omitempty"` // UseMTU when `true`, the MTU from the DHCP server will be set as the // MTU of the device. // +optional UseMTU *bool `json:"useMTU,omitempty"` // UseNTP when `true`, the NTP servers from the DHCP server will be used // by systemd-timesyncd and take precedence. // +optional UseNTP *bool `json:"useNTP,omitempty"` // UseRoutes when `true`, the routes from the DHCP server will be installed // in the routing table. // +optional UseRoutes *string `json:"useRoutes,omitempty"` }
DHCPOverrides allows for the control over several DHCP behaviors. Overrides will only be applied when the corresponding DHCP flag is set. Only configured values will be sent, omitted values will default to distribution defaults. Dependent on support in the network stack for your distribution. For more information see the netplan reference (https://netplan.io/reference#dhcp-overrides)
func (*DHCPOverrides) DeepCopy ¶ added in v1.5.0
func (in *DHCPOverrides) DeepCopy() *DHCPOverrides
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DHCPOverrides.
func (*DHCPOverrides) DeepCopyInto ¶ added in v1.5.0
func (in *DHCPOverrides) DeepCopyInto(out *DHCPOverrides)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FailureDomain ¶
type FailureDomain struct { // Name is the name of the tag that represents this failure domain Name string `json:"name"` // Type is the type of failure domain, the current values are "Datacenter", "ComputeCluster" and "HostGroup" // +kubebuilder:validation:Enum=Datacenter;ComputeCluster;HostGroup Type FailureDomainType `json:"type"` // TagCategory is the category used for the tag TagCategory string `json:"tagCategory"` // AutoConfigure tags the Type which is specified in the Topology // // Deprecated: This field is going to be removed in a future release. AutoConfigure *bool `json:"autoConfigure,omitempty"` }
FailureDomain contains data to identify and configure a failure domain.
func (*FailureDomain) DeepCopy ¶
func (in *FailureDomain) DeepCopy() *FailureDomain
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FailureDomain.
func (*FailureDomain) DeepCopyInto ¶
func (in *FailureDomain) DeepCopyInto(out *FailureDomain)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FailureDomainHosts ¶
type FailureDomainHosts struct { // VMGroupName is the name of the VM group VMGroupName string `json:"vmGroupName"` // HostGroupName is the name of the Host group HostGroupName string `json:"hostGroupName"` }
FailureDomainHosts has information required for placement of machines on VSphere hosts.
func (*FailureDomainHosts) DeepCopy ¶
func (in *FailureDomainHosts) DeepCopy() *FailureDomainHosts
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FailureDomainHosts.
func (*FailureDomainHosts) DeepCopyInto ¶
func (in *FailureDomainHosts) DeepCopyInto(out *FailureDomainHosts)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FailureDomainType ¶
type FailureDomainType string
FailureDomainType defines the VCenter object the failure domain represents.
const ( // HostGroupFailureDomain is a failure domain for a host group. HostGroupFailureDomain FailureDomainType = "HostGroup" // ComputeClusterFailureDomain is a failure domain for a compute cluster. ComputeClusterFailureDomain FailureDomainType = "ComputeCluster" // DatacenterFailureDomain is a failure domain for a datacenter. DatacenterFailureDomain FailureDomainType = "Datacenter" )
type Network ¶
type Network struct { // Name is the network name for this machine's VM. Name string `json:"name,omitempty"` // DHCP4 is a flag that indicates whether or not to use DHCP for IPv4 // +optional DHCP4 *bool `json:"dhcp4,omitempty"` // DHCP6 indicates whether or not to use DHCP for IPv6 // +optional DHCP6 *bool `json:"dhcp6,omitempty"` }
Network holds information about the network.
func (*Network) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Network.
func (*Network) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkConfiguration ¶
type NetworkConfiguration struct { // NetworkName is the network name for this machine's VM. // +kubebuilder:validation:Required NetworkName string `json:"networkName"` // DHCP4 is a flag that indicates whether or not to use DHCP for IPv4. // +optional DHCP4 *bool `json:"dhcp4,omitempty"` // DHCP6 is a flag that indicates whether or not to use DHCP for IPv6. // +optional DHCP6 *bool `json:"dhcp6,omitempty"` // Nameservers is a list of IPv4 and/or IPv6 addresses used as DNS // nameservers. // Please note that Linux allows only three nameservers (https://linux.die.net/man/5/resolv.conf). // +optional Nameservers []string `json:"nameservers,omitempty"` // SearchDomains is a list of search domains used when resolving IP // addresses with DNS. // +optional SearchDomains []string `json:"searchDomains,omitempty"` // DHCP4Overrides allows for the control over several DHCP behaviors. // Overrides will only be applied when the corresponding DHCP flag is set. // Only configured values will be sent, omitted values will default to // distribution defaults. // Dependent on support in the network stack for your distribution. // For more information see the netplan reference (https://netplan.io/reference#dhcp-overrides) // +optional DHCP4Overrides *DHCPOverrides `json:"dhcp4Overrides,omitempty"` // DHCP6Overrides allows for the control over several DHCP behaviors. // Overrides will only be applied when the corresponding DHCP flag is set. // Only configured values will be sent, omitted values will default to // distribution defaults. // Dependent on support in the network stack for your distribution. // For more information see the netplan reference (https://netplan.io/reference#dhcp-overrides) // +optional DHCP6Overrides *DHCPOverrides `json:"dhcp6Overrides,omitempty"` // AddressesFromPools is a list of IPAddressPools that should be assigned // to IPAddressClaims. The machine's cloud-init metadata will be populated // with IPAddresses fulfilled by an IPAM provider. // +optional AddressesFromPools []corev1.TypedLocalObjectReference `json:"addressesFromPools,omitempty"` }
NetworkConfiguration defines a network configuration that should be used when consuming a failure domain.
func (*NetworkConfiguration) DeepCopy ¶
func (in *NetworkConfiguration) DeepCopy() *NetworkConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkConfiguration.
func (*NetworkConfiguration) DeepCopyInto ¶
func (in *NetworkConfiguration) DeepCopyInto(out *NetworkConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkDeviceSpec ¶
type NetworkDeviceSpec struct { // NetworkName is the name, managed object reference or the managed // object ID of the vSphere network to which the device will be connected. NetworkName string `json:"networkName"` // DeviceName may be used to explicitly assign a name to the network device // as it exists in the guest operating system. // +optional DeviceName string `json:"deviceName,omitempty"` // DHCP4 is a flag that indicates whether or not to use DHCP for IPv4 // on this device. // If true then IPAddrs should not contain any IPv4 addresses. // +optional DHCP4 bool `json:"dhcp4,omitempty"` // DHCP6 is a flag that indicates whether or not to use DHCP for IPv6 // on this device. // If true then IPAddrs should not contain any IPv6 addresses. // +optional DHCP6 bool `json:"dhcp6,omitempty"` // Gateway4 is the IPv4 gateway used by this device. // Required when DHCP4 is false. // +optional Gateway4 string `json:"gateway4,omitempty"` // Gateway4 is the IPv4 gateway used by this device. // +optional Gateway6 string `json:"gateway6,omitempty"` // IPAddrs is a list of one or more IPv4 and/or IPv6 addresses to assign // to this device. IP addresses must also specify the segment length in // CIDR notation. // Required when DHCP4, DHCP6 and SkipIPAllocation are false. // +optional IPAddrs []string `json:"ipAddrs,omitempty"` // MTU is the device’s Maximum Transmission Unit size in bytes. // +optional MTU *int64 `json:"mtu,omitempty"` // MACAddr is the MAC address used by this device. // It is generally a good idea to omit this field and allow a MAC address // to be generated. // Please note that this value must use the VMware OUI to work with the // in-tree vSphere cloud provider. // +optional MACAddr string `json:"macAddr,omitempty"` // Nameservers is a list of IPv4 and/or IPv6 addresses used as DNS // nameservers. // Please note that Linux allows only three nameservers (https://linux.die.net/man/5/resolv.conf). // +optional Nameservers []string `json:"nameservers,omitempty"` // Routes is a list of optional, static routes applied to the device. // +optional Routes []NetworkRouteSpec `json:"routes,omitempty"` // SearchDomains is a list of search domains used when resolving IP // addresses with DNS. // +optional SearchDomains []string `json:"searchDomains,omitempty"` // AddressesFromPools is a list of IPAddressPools that should be assigned // to IPAddressClaims. The machine's cloud-init metadata will be populated // with IPAddresses fulfilled by an IPAM provider. // +optional AddressesFromPools []corev1.TypedLocalObjectReference `json:"addressesFromPools,omitempty"` // DHCP4Overrides allows for the control over several DHCP behaviors. // Overrides will only be applied when the corresponding DHCP flag is set. // Only configured values will be sent, omitted values will default to // distribution defaults. // Dependent on support in the network stack for your distribution. // For more information see the netplan reference (https://netplan.io/reference#dhcp-overrides) // +optional DHCP4Overrides *DHCPOverrides `json:"dhcp4Overrides,omitempty"` // DHCP6Overrides allows for the control over several DHCP behaviors. // Overrides will only be applied when the corresponding DHCP flag is set. // Only configured values will be sent, omitted values will default to // distribution defaults. // Dependent on support in the network stack for your distribution. // For more information see the netplan reference (https://netplan.io/reference#dhcp-overrides) // +optional DHCP6Overrides *DHCPOverrides `json:"dhcp6Overrides,omitempty"` // SkipIPAllocation allows the device to not have IP address or DHCP configured. // This is suitable for devices for which IP allocation is handled externally, eg. using Multus CNI. // If true, CAPV will not verify IP address allocation. // +optional SkipIPAllocation bool `json:"skipIPAllocation,omitempty"` }
NetworkDeviceSpec defines the network configuration for a virtual machine's network device.
func (*NetworkDeviceSpec) DeepCopy ¶
func (in *NetworkDeviceSpec) DeepCopy() *NetworkDeviceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDeviceSpec.
func (*NetworkDeviceSpec) DeepCopyInto ¶
func (in *NetworkDeviceSpec) DeepCopyInto(out *NetworkDeviceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkRouteSpec ¶
type NetworkRouteSpec struct { // To is an IPv4 or IPv6 address. To string `json:"to"` // Via is an IPv4 or IPv6 address. Via string `json:"via"` // Metric is the weight/priority of the route. Metric int32 `json:"metric"` }
NetworkRouteSpec defines a static network route.
func (*NetworkRouteSpec) DeepCopy ¶
func (in *NetworkRouteSpec) DeepCopy() *NetworkRouteSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkRouteSpec.
func (*NetworkRouteSpec) DeepCopyInto ¶
func (in *NetworkRouteSpec) DeepCopyInto(out *NetworkRouteSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkSpec ¶
type NetworkSpec struct { // Devices is the list of network devices used by the virtual machine. // // TODO(akutz) Make sure at least one network matches the ClusterSpec.CloudProviderConfiguration.Network.Name Devices []NetworkDeviceSpec `json:"devices"` // Routes is a list of optional, static routes applied to the virtual // machine. // +optional Routes []NetworkRouteSpec `json:"routes,omitempty"` // PreferredAPIServeCIDR is the preferred CIDR for the Kubernetes API // server endpoint on this machine // +optional // // Deprecated: This field is going to be removed in a future release. PreferredAPIServerCIDR string `json:"preferredAPIServerCidr,omitempty"` }
NetworkSpec defines the virtual machine's network configuration.
func (*NetworkSpec) DeepCopy ¶
func (in *NetworkSpec) DeepCopy() *NetworkSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkSpec.
func (*NetworkSpec) DeepCopyInto ¶
func (in *NetworkSpec) DeepCopyInto(out *NetworkSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkStatus ¶
type NetworkStatus struct { // Connected is a flag that indicates whether this network is currently // connected to the VM. Connected bool `json:"connected,omitempty"` // IPAddrs is one or more IP addresses reported by vm-tools. // +optional IPAddrs []string `json:"ipAddrs,omitempty"` // MACAddr is the MAC address of the network device. MACAddr string `json:"macAddr"` // NetworkName is the name of the network. // +optional NetworkName string `json:"networkName,omitempty"` }
NetworkStatus provides information about one of a VM's networks.
func (*NetworkStatus) DeepCopy ¶
func (in *NetworkStatus) DeepCopy() *NetworkStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkStatus.
func (*NetworkStatus) DeepCopyInto ¶
func (in *NetworkStatus) DeepCopyInto(out *NetworkStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OS ¶ added in v1.4.0
type OS string
OS is the type of Operating System the virtual machine uses.
type PCIDeviceSpec ¶ added in v1.3.0
type PCIDeviceSpec struct { // DeviceID is the device ID of a virtual machine's PCI, in integer. // Defaults to the eponymous property value in the template from which the // virtual machine is cloned. // Mutually exclusive with VGPUProfile as VGPUProfile and DeviceID + VendorID // are two independent ways to define PCI devices. // +optional DeviceID *int32 `json:"deviceId,omitempty"` // VendorId is the vendor ID of a virtual machine's PCI, in integer. // Defaults to the eponymous property value in the template from which the // virtual machine is cloned. // Mutually exclusive with VGPUProfile as VGPUProfile and DeviceID + VendorID // are two independent ways to define PCI devices. // +optional VendorID *int32 `json:"vendorId,omitempty"` // VGPUProfile is the profile name of a virtual machine's vGPU, in string. // Defaults to the eponymous property value in the template from which the // virtual machine is cloned. // Mutually exclusive with DeviceID and VendorID as VGPUProfile and DeviceID + VendorID // are two independent ways to define PCI devices. // +optional VGPUProfile string `json:"vGPUProfile,omitempty"` // CustomLabel is the hardware label of a virtual machine's PCI device. // Defaults to the eponymous property value in the template from which the // virtual machine is cloned. // +optional CustomLabel string `json:"customLabel,omitempty"` }
PCIDeviceSpec defines virtual machine's PCI configuration.
func (*PCIDeviceSpec) DeepCopy ¶ added in v1.3.0
func (in *PCIDeviceSpec) DeepCopy() *PCIDeviceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PCIDeviceSpec.
func (*PCIDeviceSpec) DeepCopyInto ¶ added in v1.3.0
func (in *PCIDeviceSpec) DeepCopyInto(out *PCIDeviceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PlacementConstraint ¶
type PlacementConstraint struct { // ResourcePool is the name or inventory path of the resource pool in which // the virtual machine is created/located. // +optional ResourcePool string `json:"resourcePool,omitempty"` // Folder is the name or inventory path of the folder in which the // virtual machine is created/located. // +optional Folder string `json:"folder,omitempty"` }
PlacementConstraint is the context information for VM placements within a failure domain.
func (*PlacementConstraint) DeepCopy ¶
func (in *PlacementConstraint) DeepCopy() *PlacementConstraint
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PlacementConstraint.
func (*PlacementConstraint) DeepCopyInto ¶
func (in *PlacementConstraint) DeepCopyInto(out *PlacementConstraint)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SSHUser ¶
type SSHUser struct { // Name is the name of the SSH user. Name string `json:"name"` // AuthorizedKeys is one or more public SSH keys that grant remote access. AuthorizedKeys []string `json:"authorizedKeys"` }
SSHUser is granted remote access to a system.
func (*SSHUser) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSHUser.
func (*SSHUser) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Topology ¶
type Topology struct { // Datacenter as the failure domain. // +kubebuilder:validation:Required Datacenter string `json:"datacenter"` // ComputeCluster as the failure domain // +optional ComputeCluster *string `json:"computeCluster,omitempty"` // Hosts has information required for placement of machines on VSphere hosts. // +optional Hosts *FailureDomainHosts `json:"hosts,omitempty"` // Networks is the list of networks within this failure domain // +optional Networks []string `json:"networks,omitempty"` // NetworkConfigurations is a list of network configurations within this failure domain. // +optional // +listType=map // +listMapKey=networkName NetworkConfigurations []NetworkConfiguration `json:"networkConfigurations,omitempty"` // Datastore is the name or inventory path of the datastore in which the // virtual machine is created/located. // +optional Datastore string `json:"datastore,omitempty"` }
Topology describes a given failure domain using vSphere constructs.
func (*Topology) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Topology.
func (*Topology) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VCenterVersion ¶ added in v1.3.2
type VCenterVersion string
VCenterVersion conveys the API version of the vCenter instance.
func NewVCenterVersion ¶ added in v1.3.2
func NewVCenterVersion(version string) VCenterVersion
NewVCenterVersion returns a VCenterVersion for the passed string.
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 (c *VSphereCluster) GetConditions() clusterv1.Conditions
GetConditions returns the conditions for the VSphereCluster.
func (*VSphereCluster) Hub ¶
func (*VSphereCluster) Hub()
Hub marks VSphereCluster as a conversion hub.
func (*VSphereCluster) SetConditions ¶
func (c *VSphereCluster) SetConditions(conditions clusterv1.Conditions)
SetConditions sets conditions on the VSphereCluster.
type VSphereClusterIdentity ¶
type VSphereClusterIdentity struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec VSphereClusterIdentitySpec `json:"spec,omitempty"` Status VSphereClusterIdentityStatus `json:"status,omitempty"` }
VSphereClusterIdentity defines the account to be used for reconciling clusters.
func (*VSphereClusterIdentity) DeepCopy ¶
func (in *VSphereClusterIdentity) DeepCopy() *VSphereClusterIdentity
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VSphereClusterIdentity.
func (*VSphereClusterIdentity) DeepCopyInto ¶
func (in *VSphereClusterIdentity) DeepCopyInto(out *VSphereClusterIdentity)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VSphereClusterIdentity) DeepCopyObject ¶
func (in *VSphereClusterIdentity) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*VSphereClusterIdentity) GetConditions ¶
func (c *VSphereClusterIdentity) GetConditions() clusterv1.Conditions
GetConditions returns the conditions for the VSphereClusterIdentity.
func (*VSphereClusterIdentity) Hub ¶
func (*VSphereClusterIdentity) Hub()
Hub marks VSphereClusterIdentity as a conversion hub.
func (*VSphereClusterIdentity) SetConditions ¶
func (c *VSphereClusterIdentity) SetConditions(conditions clusterv1.Conditions)
SetConditions sets the conditions on the VSphereClusterIdentity.
type VSphereClusterIdentityList ¶
type VSphereClusterIdentityList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []VSphereClusterIdentity `json:"items"` }
VSphereClusterIdentityList contains a list of VSphereClusterIdentity.
func (*VSphereClusterIdentityList) DeepCopy ¶
func (in *VSphereClusterIdentityList) DeepCopy() *VSphereClusterIdentityList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VSphereClusterIdentityList.
func (*VSphereClusterIdentityList) DeepCopyInto ¶
func (in *VSphereClusterIdentityList) DeepCopyInto(out *VSphereClusterIdentityList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VSphereClusterIdentityList) DeepCopyObject ¶
func (in *VSphereClusterIdentityList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*VSphereClusterIdentityList) Hub ¶
func (*VSphereClusterIdentityList) Hub()
Hub marks VSphereClusterIdentityList as a conversion hub.
type VSphereClusterIdentitySpec ¶
type VSphereClusterIdentitySpec struct { // SecretName references a Secret inside the controller namespace with the credentials to use // +kubebuilder:validation:MinLength=1 SecretName string `json:"secretName,omitempty"` // AllowedNamespaces is used to identify which namespaces are allowed to use this account. // Namespaces can be selected with a label selector. // If this object is nil, no namespaces will be allowed // +optional AllowedNamespaces *AllowedNamespaces `json:"allowedNamespaces,omitempty"` }
VSphereClusterIdentitySpec contains a secret reference and a group of allowed namespaces.
func (*VSphereClusterIdentitySpec) DeepCopy ¶
func (in *VSphereClusterIdentitySpec) DeepCopy() *VSphereClusterIdentitySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VSphereClusterIdentitySpec.
func (*VSphereClusterIdentitySpec) DeepCopyInto ¶
func (in *VSphereClusterIdentitySpec) DeepCopyInto(out *VSphereClusterIdentitySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VSphereClusterIdentityStatus ¶
type VSphereClusterIdentityStatus struct { // +optional Ready bool `json:"ready,omitempty"` // Conditions defines current service state of the VSphereCluster. // +optional Conditions clusterv1.Conditions `json:"conditions,omitempty"` }
VSphereClusterIdentityStatus contains the status of the VSphereClusterIdentity.
func (*VSphereClusterIdentityStatus) DeepCopy ¶
func (in *VSphereClusterIdentityStatus) DeepCopy() *VSphereClusterIdentityStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VSphereClusterIdentityStatus.
func (*VSphereClusterIdentityStatus) DeepCopyInto ¶
func (in *VSphereClusterIdentityStatus) DeepCopyInto(out *VSphereClusterIdentityStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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.
func (*VSphereClusterList) Hub ¶
func (*VSphereClusterList) Hub()
Hub marks VSphereClusterList as a conversion hub.
type VSphereClusterSpec ¶
type VSphereClusterSpec struct { // Server is the address of the vSphere endpoint. Server string `json:"server,omitempty"` // Thumbprint is the colon-separated SHA-1 checksum of the given vCenter server's host certificate // +optional Thumbprint string `json:"thumbprint,omitempty"` // ControlPlaneEndpoint represents the endpoint used to communicate with the control plane. // +optional ControlPlaneEndpoint APIEndpoint `json:"controlPlaneEndpoint"` // IdentityRef is a reference to either a Secret or VSphereClusterIdentity that contains // the identity to use when reconciling the cluster. // +optional IdentityRef *VSphereIdentityReference `json:"identityRef,omitempty"` // ClusterModules hosts information regarding the anti-affinity vSphere constructs // for each of the objects responsible for creation of VM objects belonging to the cluster. // +optional ClusterModules []ClusterModule `json:"clusterModules,omitempty"` // DisableClusterModule is used to explicitly turn off the ClusterModule feature. // This should work along side NodeAntiAffinity feature flag. // If the NodeAntiAffinity feature flag is turned off, this will be disregarded. // +optional DisableClusterModule bool `json:"disableClusterModule,omitempty"` // FailureDomainSelector is the label selector to use for failure domain selection // for the control plane nodes of the cluster. // If not set (`nil`), selecting failure domains will be disabled. // An empty value (`{}`) selects all existing failure domains. // A valid selector will select all failure domains which match the selector. // +optional FailureDomainSelector *metav1.LabelSelector `json:"failureDomainSelector,omitempty"` }
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 { // +optional Ready bool `json:"ready,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"` // VCenterVersion defines the version of the vCenter server defined in the spec. VCenterVersion VCenterVersion `json:"vCenterVersion,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.
func (*VSphereClusterTemplate) Hub ¶
func (*VSphereClusterTemplate) Hub()
Hub marks VSphereClusterIdentity as a conversion hub.
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.
func (*VSphereClusterTemplateList) Hub ¶
func (*VSphereClusterTemplateList) Hub()
Hub marks VSphereClusterIdentityList as a conversion hub.
type VSphereClusterTemplateResource ¶
type VSphereClusterTemplateResource struct {
Spec VSphereClusterSpec `json:"spec"`
}
VSphereClusterTemplateResource describes the data for creating a VSphereCluster from a template.
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 VSphereDeploymentZone ¶
type VSphereDeploymentZone struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec VSphereDeploymentZoneSpec `json:"spec,omitempty"` Status VSphereDeploymentZoneStatus `json:"status,omitempty"` }
VSphereDeploymentZone is the Schema for the vspheredeploymentzones API.
func (*VSphereDeploymentZone) DeepCopy ¶
func (in *VSphereDeploymentZone) DeepCopy() *VSphereDeploymentZone
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VSphereDeploymentZone.
func (*VSphereDeploymentZone) DeepCopyInto ¶
func (in *VSphereDeploymentZone) DeepCopyInto(out *VSphereDeploymentZone)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VSphereDeploymentZone) DeepCopyObject ¶
func (in *VSphereDeploymentZone) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*VSphereDeploymentZone) GetConditions ¶
func (z *VSphereDeploymentZone) GetConditions() clusterv1.Conditions
GetConditions returns the conditions for the VSphereDeploymentZone.
func (*VSphereDeploymentZone) Hub ¶
func (*VSphereDeploymentZone) Hub()
Hub marks VSphereDeploymentZone as a conversion hub.
func (*VSphereDeploymentZone) SetConditions ¶
func (z *VSphereDeploymentZone) SetConditions(conditions clusterv1.Conditions)
SetConditions sets the conditions on the VSphereDeploymentZone.
type VSphereDeploymentZoneList ¶
type VSphereDeploymentZoneList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []VSphereDeploymentZone `json:"items"` }
VSphereDeploymentZoneList contains a list of VSphereDeploymentZone.
func (*VSphereDeploymentZoneList) DeepCopy ¶
func (in *VSphereDeploymentZoneList) DeepCopy() *VSphereDeploymentZoneList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VSphereDeploymentZoneList.
func (*VSphereDeploymentZoneList) DeepCopyInto ¶
func (in *VSphereDeploymentZoneList) DeepCopyInto(out *VSphereDeploymentZoneList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VSphereDeploymentZoneList) DeepCopyObject ¶
func (in *VSphereDeploymentZoneList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*VSphereDeploymentZoneList) Hub ¶
func (*VSphereDeploymentZoneList) Hub()
Hub marks VSphereDeploymentZoneList as a conversion hub.
type VSphereDeploymentZoneSpec ¶
type VSphereDeploymentZoneSpec struct { // Server is the address of the vSphere endpoint. Server string `json:"server,omitempty"` // FailureDomain is the name of the VSphereFailureDomain used for this VSphereDeploymentZone FailureDomain string `json:"failureDomain,omitempty"` // ControlPlane determines if this failure domain is suitable for use by control plane machines. // +optional ControlPlane *bool `json:"controlPlane,omitempty"` // PlacementConstraint encapsulates the placement constraints // used within this deployment zone. PlacementConstraint PlacementConstraint `json:"placementConstraint"` }
VSphereDeploymentZoneSpec defines the desired state of VSphereDeploymentZone.
func (*VSphereDeploymentZoneSpec) DeepCopy ¶
func (in *VSphereDeploymentZoneSpec) DeepCopy() *VSphereDeploymentZoneSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VSphereDeploymentZoneSpec.
func (*VSphereDeploymentZoneSpec) DeepCopyInto ¶
func (in *VSphereDeploymentZoneSpec) DeepCopyInto(out *VSphereDeploymentZoneSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VSphereDeploymentZoneStatus ¶
type VSphereDeploymentZoneStatus struct { // Ready is true when the VSphereDeploymentZone resource is ready. // If set to false, it will be ignored by VSphereClusters // +optional Ready *bool `json:"ready,omitempty"` // Conditions defines current service state of the VSphereMachine. // +optional Conditions clusterv1.Conditions `json:"conditions,omitempty"` }
VSphereDeploymentZoneStatus contains the status for a VSphereDeploymentZone.
func (*VSphereDeploymentZoneStatus) DeepCopy ¶
func (in *VSphereDeploymentZoneStatus) DeepCopy() *VSphereDeploymentZoneStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VSphereDeploymentZoneStatus.
func (*VSphereDeploymentZoneStatus) DeepCopyInto ¶
func (in *VSphereDeploymentZoneStatus) DeepCopyInto(out *VSphereDeploymentZoneStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VSphereFailureDomain ¶
type VSphereFailureDomain struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec VSphereFailureDomainSpec `json:"spec,omitempty"` }
VSphereFailureDomain is the Schema for the vspherefailuredomains API.
func (*VSphereFailureDomain) DeepCopy ¶
func (in *VSphereFailureDomain) DeepCopy() *VSphereFailureDomain
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VSphereFailureDomain.
func (*VSphereFailureDomain) DeepCopyInto ¶
func (in *VSphereFailureDomain) DeepCopyInto(out *VSphereFailureDomain)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VSphereFailureDomain) DeepCopyObject ¶
func (in *VSphereFailureDomain) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*VSphereFailureDomain) Hub ¶
func (*VSphereFailureDomain) Hub()
Hub marks VSphereFailureDomain as a conversion hub.
type VSphereFailureDomainList ¶
type VSphereFailureDomainList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []VSphereFailureDomain `json:"items"` }
VSphereFailureDomainList contains a list of VSphereFailureDomain.
func (*VSphereFailureDomainList) DeepCopy ¶
func (in *VSphereFailureDomainList) DeepCopy() *VSphereFailureDomainList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VSphereFailureDomainList.
func (*VSphereFailureDomainList) DeepCopyInto ¶
func (in *VSphereFailureDomainList) DeepCopyInto(out *VSphereFailureDomainList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VSphereFailureDomainList) DeepCopyObject ¶
func (in *VSphereFailureDomainList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*VSphereFailureDomainList) Hub ¶
func (*VSphereFailureDomainList) Hub()
Hub marks VSphereFailureDomainList as a conversion hub.
type VSphereFailureDomainSpec ¶
type VSphereFailureDomainSpec struct { // Region defines the name and type of a region Region FailureDomain `json:"region"` // Zone defines the name and type of a zone Zone FailureDomain `json:"zone"` // Topology describes a given failure domain using vSphere constructs Topology Topology `json:"topology"` }
VSphereFailureDomainSpec defines the desired state of VSphereFailureDomain.
func (*VSphereFailureDomainSpec) DeepCopy ¶
func (in *VSphereFailureDomainSpec) DeepCopy() *VSphereFailureDomainSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VSphereFailureDomainSpec.
func (*VSphereFailureDomainSpec) DeepCopyInto ¶
func (in *VSphereFailureDomainSpec) DeepCopyInto(out *VSphereFailureDomainSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VSphereIdentityKind ¶
type VSphereIdentityKind string
VSphereIdentityKind is the kind of mechanism used to handle credentials for the VCenter API.
type VSphereIdentityReference ¶
type VSphereIdentityReference struct { // Kind of the identity. Can either be VSphereClusterIdentity or Secret // +kubebuilder:validation:Enum=VSphereClusterIdentity;Secret Kind VSphereIdentityKind `json:"kind"` // Name of the identity. // +kubebuilder:validation:MinLength=1 Name string `json:"name"` }
VSphereIdentityReference is the mechanism used to handle credentials for the VCenter API.
func (*VSphereIdentityReference) DeepCopy ¶
func (in *VSphereIdentityReference) DeepCopy() *VSphereIdentityReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VSphereIdentityReference.
func (*VSphereIdentityReference) DeepCopyInto ¶
func (in *VSphereIdentityReference) DeepCopyInto(out *VSphereIdentityReference)
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.
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 (m *VSphereMachine) GetConditions() clusterv1.Conditions
GetConditions returns the conditions for a VSphereMachine.
func (*VSphereMachine) Hub ¶
func (*VSphereMachine) Hub()
Hub marks VSphereMachine as a conversion hub.
func (*VSphereMachine) SetConditions ¶
func (m *VSphereMachine) SetConditions(conditions clusterv1.Conditions)
SetConditions sets the conditions on a 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.
func (*VSphereMachineList) Hub ¶
func (*VSphereMachineList) Hub()
Hub marks VSphereMachineList as a conversion hub.
type VSphereMachineProviderConditionType ¶
type VSphereMachineProviderConditionType string
VSphereMachineProviderConditionType is a valid value for VSphereMachineProviderCondition.Type.
const ( // MachineCreated indicates whether the machine has been created or not. If not, // it should include a reason and message for the failure. MachineCreated VSphereMachineProviderConditionType = "MachineCreated" )
Valid conditions for an VSphere machine instance.
type VSphereMachineSpec ¶
type VSphereMachineSpec struct { VirtualMachineCloneSpec `json:",inline"` // ProviderID is the virtual machine's BIOS UUID formated as // vsphere://12345678-1234-1234-1234-123456789abc // +optional ProviderID *string `json:"providerID,omitempty"` // FailureDomain is the failure domain unique identifier this Machine should be attached to, as defined in Cluster API. // For this infrastructure provider, the name is equivalent to the name of the VSphereDeploymentZone. FailureDomain *string `json:"failureDomain,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 the GuestSoftPowerOffTimeout, the VM is halted. // // If omitted, the mode defaults to hard. // // +optional // +kubebuilder:default=hard PowerOffMode VirtualMachinePowerOpMode `json:"powerOffMode,omitempty"` // GuestSoftPowerOffTimeout sets the wait timeout for shutdown in the VM guest. // The VM will be powered off forcibly after the timeout if the VM is still // up and running when the PowerOffMode is set to trySoft. // // This parameter only applies when the PowerOffMode is set to trySoft. // // If omitted, the timeout defaults to 5 minutes. // // +optional GuestSoftPowerOffTimeout *metav1.Duration `json:"guestSoftPowerOffTimeout,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. // +optional Ready bool `json:"ready"` // Addresses contains the VSphere instance associated addresses. Addresses []clusterv1.MachineAddress `json:"addresses,omitempty"` // Network returns the network status for each of the machine's configured // network interfaces. // +optional Network []NetworkStatus `json:"network,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"` // 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"` }
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.
func (*VSphereMachineTemplate) Hub ¶
func (*VSphereMachineTemplate) Hub()
Hub marks VSphereMachineTemplate as a conversion hub.
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.
func (*VSphereMachineTemplateList) Hub ¶
func (*VSphereMachineTemplateList) Hub()
Hub marks VSphereMachineTemplateList as a conversion hub.
type VSphereMachineTemplateResource ¶
type VSphereMachineTemplateResource struct { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional ObjectMeta clusterv1.ObjectMeta `json:"metadata,omitempty"` // 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 VSphereVM ¶
type VSphereVM struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec VSphereVMSpec `json:"spec,omitempty"` Status VSphereVMStatus `json:"status,omitempty"` }
VSphereVM is the Schema for the vspherevms API.
func (*VSphereVM) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VSphereVM.
func (*VSphereVM) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VSphereVM) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*VSphereVM) GetConditions ¶
func (r *VSphereVM) GetConditions() clusterv1.Conditions
GetConditions returns the conditions for a VSphereVM.
func (*VSphereVM) SetConditions ¶
func (r *VSphereVM) SetConditions(conditions clusterv1.Conditions)
SetConditions sets the conditions on a VSphereVM.
type VSphereVMList ¶
type VSphereVMList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []VSphereVM `json:"items"` }
VSphereVMList contains a list of VSphereVM.
func (*VSphereVMList) DeepCopy ¶
func (in *VSphereVMList) DeepCopy() *VSphereVMList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VSphereVMList.
func (*VSphereVMList) DeepCopyInto ¶
func (in *VSphereVMList) DeepCopyInto(out *VSphereVMList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VSphereVMList) DeepCopyObject ¶
func (in *VSphereVMList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*VSphereVMList) Hub ¶
func (*VSphereVMList) Hub()
Hub marks VSphereVMList as a conversion hub.
type VSphereVMSpec ¶
type VSphereVMSpec struct { VirtualMachineCloneSpec `json:",inline"` // BootstrapRef is a reference to a bootstrap provider-specific resource // that holds configuration details. // This field is optional in case no bootstrap data is required to create // a VM. // +optional BootstrapRef *corev1.ObjectReference `json:"bootstrapRef,omitempty"` // BiosUUID is the VM's BIOS UUID that is assigned at runtime after // the VM has been created. // This field is required at runtime for other controllers that read // this CRD as unstructured data. // +optional BiosUUID string `json:"biosUUID,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 the GuestSoftPowerOffTimeout, the VM is halted. // // If omitted, the mode defaults to hard. // // +optional // +kubebuilder:default=hard PowerOffMode VirtualMachinePowerOpMode `json:"powerOffMode,omitempty"` // GuestSoftPowerOffTimeout sets the wait timeout for shutdown in the VM guest. // The VM will be powered off forcibly after the timeout if the VM is still // up and running when the PowerOffMode is set to trySoft. // // This parameter only applies when the PowerOffMode is set to trySoft. // // If omitted, the timeout defaults to 5 minutes. // // +optional GuestSoftPowerOffTimeout *metav1.Duration `json:"guestSoftPowerOffTimeout,omitempty"` }
VSphereVMSpec defines the desired state of VSphereVM.
func (*VSphereVMSpec) DeepCopy ¶
func (in *VSphereVMSpec) DeepCopy() *VSphereVMSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VSphereVMSpec.
func (*VSphereVMSpec) DeepCopyInto ¶
func (in *VSphereVMSpec) DeepCopyInto(out *VSphereVMSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VSphereVMStatus ¶
type VSphereVMStatus struct { // Host describes the hostname or IP address of the infrastructure host // that the VSphereVM is residing on. // +optional Host string `json:"host,omitempty"` // Ready is true when the provider resource is ready. // This field is required at runtime for other controllers that read // this CRD as unstructured data. // +optional Ready bool `json:"ready,omitempty"` // Addresses is a list of the VM's IP addresses. // This field is required at runtime for other controllers that read // this CRD as unstructured data. // +optional Addresses []string `json:"addresses,omitempty"` // CloneMode is the type of clone operation used to clone this VM. Since // LinkedMode is the default but fails gracefully if the source of the // clone has no snapshots, this field may be used to determine the actual // type of clone operation used to create this VM. // +optional CloneMode CloneMode `json:"cloneMode,omitempty"` // Snapshot is the name of the snapshot from which the VM was cloned if // LinkedMode is enabled. // +optional Snapshot string `json:"snapshot,omitempty"` // RetryAfter tracks the time we can retry queueing a task // +optional RetryAfter metav1.Time `json:"retryAfter,omitempty"` // TaskRef is a managed object reference to a Task related to the machine. // This value is set automatically at runtime and should not be set or // modified by users. // +optional TaskRef string `json:"taskRef,omitempty"` // Network returns the network status for each of the machine's configured // network interfaces. // +optional Network []NetworkStatus `json:"network,omitempty"` // FailureReason will be set in the event that there is a terminal problem // reconciling the vspherevm and will contain a succinct value suitable // for vm 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 vm. // // Any transient errors that occur during the reconciliation of vspherevms // can be added as events to the vspherevm 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 vspherevm 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 vm. // // Any transient errors that occur during the reconciliation of vspherevms // can be added as events to the vspherevm object and/or logged in the // controller's output. // +optional FailureMessage *string `json:"failureMessage,omitempty"` // Conditions defines current service state of the VSphereVM. // +optional Conditions clusterv1.Conditions `json:"conditions,omitempty"` // ModuleUUID is the unique identifier for the vCenter cluster module construct // which is used to configure anti-affinity. Objects with the same ModuleUUID // will be anti-affined, meaning that the vCenter DRS will best effort schedule // the VMs on separate hosts. // +optional ModuleUUID *string `json:"moduleUUID,omitempty"` // VMRef is the VM's Managed Object Reference on vSphere. It can be used by consumers // to programatically get this VM representation on vSphere in case of the need to retrieve informations. // This field is set once the machine is created and should not be changed // +optional VMRef string `json:"vmRef,omitempty"` }
VSphereVMStatus defines the observed state of VSphereVM.
func (*VSphereVMStatus) DeepCopy ¶
func (in *VSphereVMStatus) DeepCopy() *VSphereVMStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VSphereVMStatus.
func (*VSphereVMStatus) DeepCopyInto ¶
func (in *VSphereVMStatus) DeepCopyInto(out *VSphereVMStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachine ¶
type VirtualMachine struct { // Name is the VM's name. Name string `json:"name"` // BiosUUID is the VM's BIOS UUID. BiosUUID string `json:"biosUUID"` // State is the VM's state. State VirtualMachineState `json:"state"` // Network is the status of the VM's network devices. Network []NetworkStatus `json:"network"` // VMRef is the VM's Managed Object Reference on vSphere. VMRef string `json:"vmRef"` }
VirtualMachine represents data about a vSphere virtual machine object.
func (*VirtualMachine) DeepCopy ¶
func (in *VirtualMachine) DeepCopy() *VirtualMachine
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachine.
func (*VirtualMachine) DeepCopyInto ¶
func (in *VirtualMachine) DeepCopyInto(out *VirtualMachine)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineCloneSpec ¶
type VirtualMachineCloneSpec struct { // Template is the name, inventory path, managed object reference or the managed // object ID of the template used to clone the virtual machine. // +kubebuilder:validation:MinLength=1 Template string `json:"template"` // CloneMode specifies the type of clone operation. // The LinkedClone mode is only support for templates that have at least // one snapshot. If the template has no snapshots, then CloneMode defaults // to FullClone. // When LinkedClone mode is enabled the DiskGiB field is ignored as it is // not possible to expand disks of linked clones. // Defaults to LinkedClone, but fails gracefully to FullClone if the source // of the clone operation has no snapshots. // +optional CloneMode CloneMode `json:"cloneMode,omitempty"` // Snapshot is the name of the snapshot from which to create a linked clone. // This field is ignored if LinkedClone is not enabled. // Defaults to the source's current snapshot. // +optional Snapshot string `json:"snapshot,omitempty"` // Server is the IP address or FQDN of the vSphere server on which // the virtual machine is created/located. // +optional Server string `json:"server,omitempty"` // Thumbprint is the colon-separated SHA-1 checksum of the given vCenter server's host certificate // When this is set to empty, this VirtualMachine would be created // without TLS certificate validation of the communication between Cluster API Provider vSphere // and the VMware vCenter server. // +optional Thumbprint string `json:"thumbprint,omitempty"` // Datacenter is the name, inventory path, managed object reference or the managed // object ID of the datacenter in which the virtual machine is created/located. // Defaults to * which selects the default datacenter. // +optional Datacenter string `json:"datacenter,omitempty"` // Folder is the name, inventory path, managed object reference or the managed // object ID of the folder in which the virtual machine is created/located. // +optional Folder string `json:"folder,omitempty"` // Datastore is the name, inventory path, managed object reference or the managed // object ID of the datastore in which the virtual machine is created/located. // +optional Datastore string `json:"datastore,omitempty"` // StoragePolicyName of the storage policy to use with this // Virtual Machine // +optional StoragePolicyName string `json:"storagePolicyName,omitempty"` // ResourcePool is the name, inventory path, managed object reference or the managed // object ID in which the virtual machine is created/located. // +optional ResourcePool string `json:"resourcePool,omitempty"` // Network is the network configuration for this machine's VM. Network NetworkSpec `json:"network"` // NumCPUs is the number of virtual processors in a virtual machine. // Defaults to the eponymous property value in the template from which the // virtual machine is cloned. // +optional NumCPUs int32 `json:"numCPUs,omitempty"` // NumCPUs is the number of cores among which to distribute CPUs in this // virtual machine. // Defaults to the eponymous property value in the template from which the // virtual machine is cloned. // +optional NumCoresPerSocket int32 `json:"numCoresPerSocket,omitempty"` // MemoryMiB is the size of a virtual machine's memory, in MiB. // Defaults to the eponymous property value in the template from which the // virtual machine is cloned. // +optional MemoryMiB int64 `json:"memoryMiB,omitempty"` // DiskGiB is the size of a virtual machine's disk, in GiB. // Defaults to the eponymous property value in the template from which the // virtual machine is cloned. // +optional DiskGiB int32 `json:"diskGiB,omitempty"` // AdditionalDisksGiB holds the sizes of additional disks of the virtual machine, in GiB // Defaults to the eponymous property value in the template from which the // virtual machine is cloned. // +optional AdditionalDisksGiB []int32 `json:"additionalDisksGiB,omitempty"` // CustomVMXKeys is a dictionary of advanced VMX options that can be set on VM // Defaults to empty map // +optional CustomVMXKeys map[string]string `json:"customVMXKeys,omitempty"` // TagIDs is an optional set of tags to add to an instance. Specified tagIDs // must use URN-notation instead of display names. // +optional TagIDs []string `json:"tagIDs,omitempty"` // PciDevices is the list of pci devices used by the virtual machine. // +optional PciDevices []PCIDeviceSpec `json:"pciDevices,omitempty"` // OS is the Operating System of the virtual machine // Defaults to Linux // +optional OS OS `json:"os,omitempty"` // HardwareVersion is the hardware version of the virtual machine. // Defaults to the eponymous property value in the template from which the // virtual machine is cloned. // Check the compatibility with the ESXi version before setting the value. // +optional HardwareVersion string `json:"hardwareVersion,omitempty"` }
VirtualMachineCloneSpec is information used to clone a virtual machine.
func (*VirtualMachineCloneSpec) DeepCopy ¶
func (in *VirtualMachineCloneSpec) DeepCopy() *VirtualMachineCloneSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineCloneSpec.
func (*VirtualMachineCloneSpec) DeepCopyInto ¶
func (in *VirtualMachineCloneSpec) DeepCopyInto(out *VirtualMachineCloneSpec)
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 VirtualMachinePowerState ¶
type VirtualMachinePowerState string
VirtualMachinePowerState describe the power state of a VM.
type VirtualMachineState ¶
type VirtualMachineState string
VirtualMachineState describes the state of a VM.
Source Files ¶
- condition_consts.go
- doc.go
- groupversion_info.go
- types.go
- vspherecluster_conversion.go
- vspherecluster_types.go
- vsphereclusteridentity_conversion.go
- vsphereclusteridentity_types.go
- vsphereclustertemplate_conversion.go
- vsphereclustertemplate_types.go
- vspheredeploymentzone_conversion.go
- vspheredeploymentzone_types.go
- vspherefailuredomain_conversion.go
- vspherefailuredomain_types.go
- vspheremachine_conversion.go
- vspheremachine_types.go
- vspheremachinetemplate_conversion.go
- vspheremachinetemplate_types.go
- vspherevm_conversion.go
- vspherevm_types.go
- zz_generated.deepcopy.go