Documentation ¶
Overview ¶
Package v1beta2 contains API Schema definitions for the infrastructure v1beta2 API group +kubebuilder:object:generate=true +groupName=infrastructure.cluster.x-k8s.io
Package v1beta2 contains API Schema definitions for the infrastructure v1beta2 API group +kubebuilder:object:generate=true +groupName=infrastructure.cluster.x-k8s.io
Index ¶
- Constants
- Variables
- func FailureDomainHashedMetaName(fdName, clusterName string) string
- func FailureDomainsEqual(fd1, fd2 CloudStackFailureDomainSpec) bool
- func ValidateFailureDomainUpdates(oldFDs, newFDs []CloudStackFailureDomainSpec) *field.Error
- type CloudStackAffinityGroup
- type CloudStackAffinityGroupList
- type CloudStackAffinityGroupSpec
- type CloudStackAffinityGroupStatus
- type CloudStackCluster
- func (r *CloudStackCluster) Default()
- func (*CloudStackCluster) Hub()
- func (r *CloudStackCluster) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *CloudStackCluster) ValidateCreate() error
- func (r *CloudStackCluster) ValidateDelete() error
- func (r *CloudStackCluster) ValidateUpdate(old runtime.Object) error
- type CloudStackClusterList
- type CloudStackClusterSpec
- type CloudStackClusterStatus
- type CloudStackFailureDomain
- type CloudStackFailureDomainList
- type CloudStackFailureDomainSpec
- type CloudStackFailureDomainStatus
- type CloudStackIsolatedNetwork
- type CloudStackIsolatedNetworkList
- type CloudStackIsolatedNetworkSpec
- type CloudStackIsolatedNetworkStatus
- type CloudStackMachine
- func (r *CloudStackMachine) Default()
- func (*CloudStackMachine) Hub()
- func (r *CloudStackMachine) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *CloudStackMachine) ValidateCreate() error
- func (r *CloudStackMachine) ValidateDelete() error
- func (r *CloudStackMachine) ValidateUpdate(old runtime.Object) error
- type CloudStackMachineList
- type CloudStackMachineSpec
- type CloudStackMachineStateChecker
- type CloudStackMachineStateCheckerList
- type CloudStackMachineStateCheckerSpec
- type CloudStackMachineStateCheckerStatus
- type CloudStackMachineStatus
- type CloudStackMachineTemplate
- func (r *CloudStackMachineTemplate) Default()
- func (*CloudStackMachineTemplate) Hub()
- func (r *CloudStackMachineTemplate) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *CloudStackMachineTemplate) ValidateCreate() error
- func (r *CloudStackMachineTemplate) ValidateDelete() error
- func (r *CloudStackMachineTemplate) ValidateUpdate(old runtime.Object) error
- type CloudStackMachineTemplateList
- type CloudStackMachineTemplateResource
- type CloudStackMachineTemplateSpec
- type CloudStackResourceDiskOffering
- type CloudStackResourceIdentifier
- type CloudStackZoneSpec
- type Network
Constants ¶
const ( FailureDomainFinalizer = "cloudstackfailuredomain.infrastructure.cluster.x-k8s.io" FailureDomainLabelName = "cloudstackfailuredomain.infrastructure.cluster.x-k8s.io/name" NetworkTypeIsolated = "Isolated" )
const ( // The presence of a finalizer prevents CAPI from deleting the corresponding CAPI data. MachineFinalizer = "cloudstackmachine.infrastructure.cluster.x-k8s.io" ProAffinity = "pro" AntiAffinity = "anti" NoAffinity = "no" )
const (
AffinityGroupFinalizer = "affinitygroup.infrastructure.cluster.x-k8s.io"
)
const (
ClusterFinalizer = "cloudstackcluster.infrastructure.cluster.x-k8s.io"
)
const (
// The presence of a finalizer prevents CAPI from deleting the corresponding CAPI data.
IsolatedNetworkFinalizer = "cloudstackisolatednetwork.infrastructure.cluster.x-k8s.io"
)
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "infrastructure.cluster.x-k8s.io", Version: "v1beta2"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
var K8sClient client.Client
Functions ¶
func FailureDomainHashedMetaName ¶
FailureDomainHashedMetaName returns an MD5 name generated from the FailureDomain and Cluster name. FailureDomains must have a unique name even when potentially sharing a namespace with other clusters. In the future we may remove the ability to run multiple clusters in a single namespace, but today this is a consequence of being upstream of EKS-A which does run multiple clusters in a single namepace.
func FailureDomainsEqual ¶
func FailureDomainsEqual(fd1, fd2 CloudStackFailureDomainSpec) bool
FailureDomainsEqual is a manual deep equal on failure domains.
func ValidateFailureDomainUpdates ¶
func ValidateFailureDomainUpdates(oldFDs, newFDs []CloudStackFailureDomainSpec) *field.Error
ValidateFailureDomainUpdates verifies that at least one failure domain has not been deleted, and failure domains that are held over have not been modified.
Types ¶
type CloudStackAffinityGroup ¶
type CloudStackAffinityGroup struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec CloudStackAffinityGroupSpec `json:"spec,omitempty"` Status CloudStackAffinityGroupStatus `json:"status,omitempty"` }
CloudStackAffinityGroup is the Schema for the cloudstackaffinitygroups API
func (*CloudStackAffinityGroup) Hub ¶
func (*CloudStackAffinityGroup) Hub()
Hub marks CloudStackAffinityGroup as a conversion hub.
type CloudStackAffinityGroupList ¶
type CloudStackAffinityGroupList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []CloudStackAffinityGroup `json:"items"` }
CloudStackAffinityGroupList contains a list of CloudStackAffinityGroup
func (*CloudStackAffinityGroupList) Hub ¶
func (*CloudStackAffinityGroupList) Hub()
Hub marks CloudStackAffinityGroupList as a conversion hub.
type CloudStackAffinityGroupSpec ¶
type CloudStackAffinityGroupSpec struct { // Mutually exclusive parameter with AffinityGroupIDs. // Can be "host affinity" or "host anti-affinity". Will create an affinity group per machine set. Type string `json:"type,omitempty"` // Name. Name string `json:"name,omitempty"` // ID. //+optional ID string `json:"id,omitempty"` // FailureDomainName -- the name of the FailureDomain the machine is placed in. // +optional // +k8s:conversion-gen=false FailureDomainName string `json:"failureDomainName,omitempty"` }
CloudStackAffinityGroupSpec defines the desired state of CloudStackAffinityGroup
type CloudStackAffinityGroupStatus ¶
type CloudStackAffinityGroupStatus struct { // Reflects the readiness of the CS Affinity Group. Ready bool `json:"ready"` }
CloudStackAffinityGroupStatus defines the observed state of CloudStackAffinityGroup
type CloudStackCluster ¶
type CloudStackCluster struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec CloudStackClusterSpec `json:"spec,omitempty"` // The actual cluster state reported by CloudStack. Status CloudStackClusterStatus `json:"status,omitempty"` }
CloudStackCluster is the Schema for the cloudstackclusters API
func (*CloudStackCluster) Default ¶
func (r *CloudStackCluster) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type
func (*CloudStackCluster) Hub ¶
func (*CloudStackCluster) Hub()
Hub marks CloudStackCluster as a conversion hub.
func (*CloudStackCluster) SetupWebhookWithManager ¶
func (r *CloudStackCluster) SetupWebhookWithManager(mgr ctrl.Manager) error
func (*CloudStackCluster) ValidateCreate ¶
func (r *CloudStackCluster) ValidateCreate() error
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*CloudStackCluster) ValidateDelete ¶
func (r *CloudStackCluster) ValidateDelete() error
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
func (*CloudStackCluster) ValidateUpdate ¶
func (r *CloudStackCluster) ValidateUpdate(old runtime.Object) error
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type
type CloudStackClusterList ¶
type CloudStackClusterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []CloudStackCluster `json:"items"` }
CloudStackClusterList contains a list of CloudStackCluster
func (*CloudStackClusterList) Hub ¶
func (*CloudStackClusterList) Hub()
Hub marks CloudStackClusterList as a conversion hub.
type CloudStackClusterSpec ¶
type CloudStackClusterSpec struct { FailureDomains []CloudStackFailureDomainSpec `json:"failureDomains"` // The kubernetes control plane endpoint. ControlPlaneEndpoint clusterv1.APIEndpoint `json:"controlPlaneEndpoint"` }
CloudStackClusterSpec defines the desired state of CloudStackCluster.
type CloudStackClusterStatus ¶
type CloudStackClusterStatus struct { // CAPI recognizes failure domains as a method to spread machines. // CAPC sets failure domains to indicate functioning CloudStackFailureDomains. // +optional FailureDomains clusterv1.FailureDomains `json:"failureDomains,omitempty"` // Reflects the readiness of the CS cluster. Ready bool `json:"ready"` }
The status of the CloudStackCluster object.
type CloudStackFailureDomain ¶
type CloudStackFailureDomain struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec CloudStackFailureDomainSpec `json:"spec"` Status CloudStackFailureDomainStatus `json:"status,omitempty"` }
CloudStackFailureDomain is the Schema for the cloudstackfailuredomains API
func (*CloudStackFailureDomain) Hub ¶
func (*CloudStackFailureDomain) Hub()
Hub marks CloudStackFailureDomain as a conversion hub.
type CloudStackFailureDomainList ¶
type CloudStackFailureDomainList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []CloudStackFailureDomain `json:"items"` }
CloudStackFailureDomainList contains a list of CloudStackFailureDomain
func (*CloudStackFailureDomainList) Hub ¶
func (*CloudStackFailureDomainList) Hub()
Hub marks CloudStackFailureDomainList as a conversion hub.
type CloudStackFailureDomainSpec ¶
type CloudStackFailureDomainSpec struct { // The failure domain unique name. Name string `json:"name"` // The ACS Zone for this failure domain. Zone CloudStackZoneSpec `json:"zone"` // CloudStack account. // +optional Account string `json:"account,omitempty"` // CloudStack domain. // +optional Domain string `json:"domain,omitempty"` // Apache CloudStack Endpoint secret reference. ACSEndpoint corev1.SecretReference `json:"acsEndpoint"` }
CloudStackFailureDomainSpec defines the desired state of CloudStackFailureDomain
type CloudStackFailureDomainStatus ¶
type CloudStackFailureDomainStatus struct { // Reflects the readiness of the CloudStack Failure Domain. Ready bool `json:"ready"` }
CloudStackFailureDomainStatus defines the observed state of CloudStackFailureDomain
type CloudStackIsolatedNetwork ¶
type CloudStackIsolatedNetwork struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec CloudStackIsolatedNetworkSpec `json:"spec,omitempty"` Status CloudStackIsolatedNetworkStatus `json:"status,omitempty"` }
CloudStackIsolatedNetwork is the Schema for the cloudstackisolatednetworks API
func (*CloudStackIsolatedNetwork) Hub ¶
func (*CloudStackIsolatedNetwork) Hub()
Hub marks CloudStackIsolatedNetwork as a conversion hub.
func (*CloudStackIsolatedNetwork) Network ¶
func (n *CloudStackIsolatedNetwork) Network() *Network
type CloudStackIsolatedNetworkList ¶
type CloudStackIsolatedNetworkList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []CloudStackIsolatedNetwork `json:"items"` }
CloudStackIsolatedNetworkList contains a list of CloudStackIsolatedNetwork
func (*CloudStackIsolatedNetworkList) Hub ¶
func (*CloudStackIsolatedNetworkList) Hub()
Hub marks CloudStackIsolatedNetworkList as a conversion hub.
type CloudStackIsolatedNetworkSpec ¶
type CloudStackIsolatedNetworkSpec struct { // Name. //+optional Name string `json:"name,omitempty"` // ID. //+optional ID string `json:"id,omitempty"` // The kubernetes control plane endpoint. ControlPlaneEndpoint clusterv1.APIEndpoint `json:"controlPlaneEndpoint"` //+k8s:conversion-gen=false // FailureDomainName -- the FailureDomain the network is placed in. FailureDomainName string `json:"failureDomainName"` }
CloudStackIsolatedNetworkSpec defines the desired state of CloudStackIsolatedNetwork
type CloudStackIsolatedNetworkStatus ¶
type CloudStackIsolatedNetworkStatus struct { // The CS public IP ID to use for the k8s endpoint. PublicIPID string `json:"publicIPID,omitempty"` // The ID of the lb rule used to assign VMs to the lb. LBRuleID string `json:"loadBalancerRuleID,omitempty"` // Ready indicates the readiness of this provider resource. Ready bool `json:"ready"` }
CloudStackIsolatedNetworkStatus defines the observed state of CloudStackIsolatedNetwork
type CloudStackMachine ¶
type CloudStackMachine struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec CloudStackMachineSpec `json:"spec,omitempty"` Status CloudStackMachineStatus `json:"status,omitempty"` }
CloudStackMachine is the Schema for the cloudstackmachines API
func (*CloudStackMachine) Default ¶
func (r *CloudStackMachine) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type
func (*CloudStackMachine) Hub ¶
func (*CloudStackMachine) Hub()
Hub marks CloudStackMachine as a conversion hub.
func (*CloudStackMachine) SetupWebhookWithManager ¶
func (r *CloudStackMachine) SetupWebhookWithManager(mgr ctrl.Manager) error
func (*CloudStackMachine) ValidateCreate ¶
func (r *CloudStackMachine) ValidateCreate() error
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*CloudStackMachine) ValidateDelete ¶
func (r *CloudStackMachine) ValidateDelete() error
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
func (*CloudStackMachine) ValidateUpdate ¶
func (r *CloudStackMachine) ValidateUpdate(old runtime.Object) error
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type
type CloudStackMachineList ¶
type CloudStackMachineList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []CloudStackMachine `json:"items"` }
CloudStackMachineList contains a list of CloudStackMachine
func (*CloudStackMachineList) Hub ¶
func (*CloudStackMachineList) Hub()
Hub marks CloudStackMachineList as a conversion hub.
type CloudStackMachineSpec ¶
type CloudStackMachineSpec struct { // Name. //+optional Name string `json:"name,omitempty"` // ID. //+optional ID string `json:"id,omitempty"` // Instance ID. Should only be useful to modify an existing instance. InstanceID *string `json:"instanceID,omitempty"` // CloudStack compute offering. Offering CloudStackResourceIdentifier `json:"offering"` // CloudStack template to use. Template CloudStackResourceIdentifier `json:"template"` // CloudStack disk offering to use. // +optional DiskOffering CloudStackResourceDiskOffering `json:"diskOffering,omitempty"` // CloudStack ssh key to use. // +optional SSHKey string `json:"sshKey"` // Optional details map for deployVirtualMachine Details map[string]string `json:"details,omitempty"` // Optional affinitygroupids for deployVirtualMachine // +optional AffinityGroupIDs []string `json:"affinityGroupIDs,omitempty"` // Mutually exclusive parameter with AffinityGroupIDs. // Defaults to `no`. Can be `pro` or `anti`. Will create an affinity group per machine set. // +optional Affinity string `json:"affinity,omitempty"` // Mutually exclusive parameter with AffinityGroupIDs. // Is a reference to a CloudStack affinity group CRD. // +optional AffinityGroupRef *corev1.ObjectReference `json:"cloudstackAffinityRef,omitempty"` // The CS specific unique identifier. Of the form: fmt.Sprintf("cloudstack:///%s", CS Machine ID) // +optional ProviderID *string `json:"providerID,omitempty"` // FailureDomainName -- the name of the FailureDomain the machine is placed in. // +optional // +k8s:conversion-gen=false FailureDomainName string `json:"failureDomainName,omitempty"` }
CloudStackMachineSpec defines the desired state of CloudStackMachine
type CloudStackMachineStateChecker ¶
type CloudStackMachineStateChecker struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec CloudStackMachineStateCheckerSpec `json:"spec,omitempty"` Status CloudStackMachineStateCheckerStatus `json:"status,omitempty"` }
CloudStackMachineStateChecker is the Schema for the cloudstackmachinestatecheckers API
func (*CloudStackMachineStateChecker) Hub ¶
func (*CloudStackMachineStateChecker) Hub()
Hub marks CloudStackMachineStateChecker as a conversion hub.
type CloudStackMachineStateCheckerList ¶
type CloudStackMachineStateCheckerList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []CloudStackMachineStateChecker `json:"items"` }
CloudStackMachineStateCheckerList contains a list of CloudStackMachineStateChecker
func (*CloudStackMachineStateCheckerList) Hub ¶
func (*CloudStackMachineStateCheckerList) Hub()
Hub marks CloudStackMachineStateCheckerList as a conversion hub.
type CloudStackMachineStateCheckerSpec ¶
type CloudStackMachineStateCheckerSpec struct { // CloudStack machine instance ID InstanceID string `json:"instanceID,omitempty"` }
CloudStackMachineStateCheckerSpec
type CloudStackMachineStateCheckerStatus ¶
type CloudStackMachineStateCheckerStatus struct { // Reflects the readiness of the Machine State Checker. Ready bool `json:"ready"` }
CloudStackMachineStateCheckerStatus defines the observed state of CloudStackMachineStateChecker
type CloudStackMachineStatus ¶
type CloudStackMachineStatus struct { // Addresses contains a CloudStack VM instance's IP addresses. Addresses []corev1.NodeAddress `json:"addresses,omitempty"` // InstanceState is the state of the CloudStack instance for this machine. // +optional InstanceState string `json:"instanceState,omitempty"` // InstanceStateLastUpdated is the time the instance state was last updated. // +optional InstanceStateLastUpdated metav1.Time `json:"instanceStateLastUpdated,omitempty"` // Ready indicates the readiness of the provider resource. Ready bool `json:"ready"` }
Type pulled mostly from the CloudStack API.
func (*CloudStackMachineStatus) TimeSinceLastStateChange ¶
func (s *CloudStackMachineStatus) TimeSinceLastStateChange() time.Duration
TimeSinceLastStateChange returns the amount of time that's elapsed since the state was last updated. If the state hasn't ever been updated, it returns a negative value.
type CloudStackMachineTemplate ¶
type CloudStackMachineTemplate struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec CloudStackMachineTemplateSpec `json:"spec,omitempty"` }
CloudStackMachineTemplate is the Schema for the cloudstackmachinetemplates API
func (*CloudStackMachineTemplate) Default ¶
func (r *CloudStackMachineTemplate) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type
func (*CloudStackMachineTemplate) Hub ¶
func (*CloudStackMachineTemplate) Hub()
Hub marks CloudStackMachineTemplate as a conversion hub.
func (*CloudStackMachineTemplate) SetupWebhookWithManager ¶
func (r *CloudStackMachineTemplate) SetupWebhookWithManager(mgr ctrl.Manager) error
func (*CloudStackMachineTemplate) ValidateCreate ¶
func (r *CloudStackMachineTemplate) ValidateCreate() error
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*CloudStackMachineTemplate) ValidateDelete ¶
func (r *CloudStackMachineTemplate) ValidateDelete() error
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
func (*CloudStackMachineTemplate) ValidateUpdate ¶
func (r *CloudStackMachineTemplate) ValidateUpdate(old runtime.Object) error
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type
type CloudStackMachineTemplateList ¶
type CloudStackMachineTemplateList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []CloudStackMachineTemplate `json:"items"` }
CloudStackMachineTemplateList contains a list of CloudStackMachineTemplate
func (*CloudStackMachineTemplateList) Hub ¶
func (*CloudStackMachineTemplateList) Hub()
Hub marks CloudStackMachineTemplateList as a conversion hub.
type CloudStackMachineTemplateResource ¶
type CloudStackMachineTemplateResource struct { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional // +nullable ObjectMeta metav1.ObjectMeta `json:"metadata,omitempty"` Spec CloudStackMachineSpec `json:"spec"` }
type CloudStackMachineTemplateSpec ¶
type CloudStackMachineTemplateSpec struct {
Spec CloudStackMachineTemplateResource `json:"template"`
}
CloudStackMachineTemplateSpec defines the desired state of CloudStackMachineTemplate
type CloudStackResourceDiskOffering ¶
type CloudStackResourceDiskOffering struct { CloudStackResourceIdentifier `json:",inline"` // Desired disk size. Used if disk offering is customizable as indicated by the ACS field 'Custom Disk Size'. // +optional CustomSize int64 `json:"customSizeInGB"` // mount point the data disk uses to mount. The actual partition, mkfs and mount are done by cloud-init generated by kubeadmConfig. MountPath string `json:"mountPath"` // device name of data disk, for example /dev/vdb Device string `json:"device"` // filesystem used by data disk, for example, ext4, xfs Filesystem string `json:"filesystem"` // label of data disk, used by mkfs as label parameter Label string `json:"label"` }
type CloudStackZoneSpec ¶
type CloudStackZoneSpec struct { // Name. //+optional Name string `json:"name,omitempty"` // ID. //+optional ID string `json:"id,omitempty"` // The network within the Zone to use. Network Network `json:"network"` }
CloudStackZoneSpec specifies a Zone's details.
Source Files ¶
- cloudstackaffinitygroup_types.go
- cloudstackcluster_types.go
- cloudstackcluster_webhook.go
- cloudstackfailuredomain_types.go
- cloudstackisolatednetwork_types.go
- cloudstackmachine_types.go
- cloudstackmachine_webhook.go
- cloudstackmachinestatechecker_types.go
- cloudstackmachinetemplate_types.go
- cloudstackmachinetemplate_webhook.go
- conversion.go
- doc.go
- groupversion_info.go