v1beta1

package
v0.4.2-RC1 Latest Latest
Warning

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

Go to latest
Published: Apr 5, 2022 License: Apache-2.0 Imports: 17 Imported by: 0

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

View Source
const (
	// The presence of a finalizer prevents CAPI from deleting the corresponding CAPI data.
	ClusterFinalizer = "cloudstackcluster.infrastructure.cluster.x-k8s.io"
)
View Source
const (
	// The presence of a finalizer prevents CAPI from deleting the corresponding CAPI data.
	MachineFinalizer = "cloudstackmachine.infrastructure.cluster.x-k8s.io"
)

Variables

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

	// 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
)

Functions

This section is empty.

Types

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) DeepCopy

func (in *CloudStackCluster) DeepCopy() *CloudStackCluster

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

func (*CloudStackCluster) DeepCopyInto

func (in *CloudStackCluster) DeepCopyInto(out *CloudStackCluster)

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

func (*CloudStackCluster) DeepCopyObject

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

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

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) DeepCopy

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

func (*CloudStackClusterList) DeepCopyInto

func (in *CloudStackClusterList) DeepCopyInto(out *CloudStackClusterList)

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

func (*CloudStackClusterList) DeepCopyObject

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

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

func (*CloudStackClusterList) Hub

func (*CloudStackClusterList) Hub()

Hub marks CloudStackClusterList as a conversion hub.

type CloudStackClusterSpec

type CloudStackClusterSpec struct {
	Zones []Zone `json:"zones"`

	// The kubernetes control plane endpoint.
	ControlPlaneEndpoint clusterv1.APIEndpoint `json:"controlPlaneEndpoint"`

	// CloudStack account.
	// +optional
	Account string `json:"account,omitempty"`

	// CloudStack domain.
	// +optional
	Domain string `json:"domain,omitempty"`

	// +optional
	// +k8s:conversion-gen=false
	IdentityRef *CloudStackIdentityReference `json:"identityRef,omitempty"`
}

CloudStackClusterSpec defines the desired state of CloudStackCluster.

func (*CloudStackClusterSpec) DeepCopy

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

func (*CloudStackClusterSpec) DeepCopyInto

func (in *CloudStackClusterSpec) DeepCopyInto(out *CloudStackClusterSpec)

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

type CloudStackClusterStatus

type CloudStackClusterStatus struct {

	// The status of the cluster's ACS Zones.
	// +optional
	Zones ZoneStatusMap `json:"zones,omitempty"`

	// CAPI recognizes failure domains as a method to spread machines.
	// CAPC sets failure domains to indicate functioning Zones.
	// +optional
	FailureDomains clusterv1.FailureDomains `json:"failureDomains,omitempty"`

	// Reflects the readiness of the CS cluster.
	Ready bool `json:"ready"`

	// Cloudstack Domain ID the cluster is built in.
	DomainID string `json:"domainID,omitempty"`

	// The CS public IP ID to use for the k8s endpoint.
	PublicIPID string `json:"publicIPID,omitempty"`

	// The ID of the network the PublicIP is in.
	PublicIPNetworkID string `json:"publicIPNetworkID,omitempty"`

	// The ID of the lb rule used to assign VMs to the lb.
	LBRuleID string `json:"loadBalancerRuleID,omitempty"`
}

The status of the abstract CS k8s (not an actual Cloudstack Cluster) cluster.

func (*CloudStackClusterStatus) DeepCopy

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

func (*CloudStackClusterStatus) DeepCopyInto

func (in *CloudStackClusterStatus) DeepCopyInto(out *CloudStackClusterStatus)

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

type CloudStackIdentityReference

type CloudStackIdentityReference struct {
	// Kind of the identity. Must be supported by the infrastructure provider
	// and may be either cluster or namespace-scoped.
	// +kubebuilder:validation:MinLength=1
	Kind string `json:"kind"`

	// Name of the infrastructure identity to be used.
	Name string `json:"name"`
}

CloudStackIdentityReference is a reference to an infrastructure provider identity to be used to provision cluster resources.

func (*CloudStackIdentityReference) DeepCopy

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

func (*CloudStackIdentityReference) DeepCopyInto

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

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) AffinityGroupName

func (csm CloudStackMachine) AffinityGroupName(
	capiMachine *capiv1.Machine,
) (string, error)

The computed affinity group name relevant to this machine.

func (*CloudStackMachine) DeepCopy

func (in *CloudStackMachine) DeepCopy() *CloudStackMachine

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

func (*CloudStackMachine) DeepCopyInto

func (in *CloudStackMachine) DeepCopyInto(out *CloudStackMachine)

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

func (*CloudStackMachine) DeepCopyObject

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

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

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) DeepCopy

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

func (*CloudStackMachineList) DeepCopyInto

func (in *CloudStackMachineList) DeepCopyInto(out *CloudStackMachineList)

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

func (*CloudStackMachineList) DeepCopyObject

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

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

func (*CloudStackMachineList) Hub

func (*CloudStackMachineList) Hub()

Hub marks CloudStackMachineList as a conversion hub.

type CloudStackMachineSpec

type CloudStackMachineSpec struct {
	// 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 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"`

	// The CS specific unique identifier. Of the form: fmt.Sprintf("cloudstack:///%s", CS Machine ID)
	// +optional
	ProviderID *string `json:"providerID,omitempty"`

	// Optionally settable Zone ID to land the machine in.
	ZoneID string `json:"zoneID,omitempty"`

	// Optionally settable Zone Name to land the machine in.
	ZoneName string `json:"zoneName,omitempty"`

	// IdentityRef is a reference to a identity to be used when reconciling this cluster
	// +optional
	// +k8s:conversion-gen=false
	IdentityRef *CloudStackIdentityReference `json:"identityRef,omitempty"`
}

CloudStackMachineSpec defines the desired state of CloudStackMachine

func (*CloudStackMachineSpec) DeepCopy

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

func (*CloudStackMachineSpec) DeepCopyInto

func (in *CloudStackMachineSpec) DeepCopyInto(out *CloudStackMachineSpec)

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

type CloudStackMachineStatus

type CloudStackMachineStatus struct {
	// Zone ID is used so that the zone can be computed once per reconcile and then propagate.
	// +optional
	ZoneID string `json:"zoneID,omitempty"`

	// 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 InstanceState `json:"instanceState,omitempty"`

	// Ready indicates the readiness of the provider resource.
	Ready bool `json:"ready"`
}

Type pulled mostly from the CloudStack API.

func (*CloudStackMachineStatus) DeepCopy

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

func (*CloudStackMachineStatus) DeepCopyInto

func (in *CloudStackMachineStatus) DeepCopyInto(out *CloudStackMachineStatus)

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

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) DeepCopy

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

func (*CloudStackMachineTemplate) DeepCopyInto

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

func (*CloudStackMachineTemplate) DeepCopyObject

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

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

func (*CloudStackMachineTemplate) Default

func (r *CloudStackMachineTemplate) Default()

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

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) DeepCopy

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

func (*CloudStackMachineTemplateList) DeepCopyInto

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

func (*CloudStackMachineTemplateList) DeepCopyObject

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

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

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
	ObjectMeta metav1.ObjectMeta     `json:"metadata,omitempty"`
	Spec       CloudStackMachineSpec `json:"spec"`
}

func (*CloudStackMachineTemplateResource) DeepCopy

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

func (*CloudStackMachineTemplateResource) DeepCopyInto

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

type CloudStackMachineTemplateSpec

type CloudStackMachineTemplateSpec struct {
	Spec CloudStackMachineTemplateResource `json:"template"`
}

CloudStackMachineTemplateSpec defines the desired state of CloudStackMachineTemplate

func (*CloudStackMachineTemplateSpec) DeepCopy

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

func (*CloudStackMachineTemplateSpec) DeepCopyInto

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

type CloudStackResourceIdentifier

type CloudStackResourceIdentifier struct {
	// Cloudstack resource ID.
	// +optional
	ID string `json:"id,omitempty"`

	// Cloudstack resource Name
	// +optional
	Name string `json:"name,omitempty"`
}

func (*CloudStackResourceIdentifier) DeepCopy

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

func (*CloudStackResourceIdentifier) DeepCopyInto

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

type InstanceState

type InstanceState string

TODO: Review the use of this field/type.

type Network

type Network struct {
	// Cloudstack Network ID the cluster is built in.
	// +optional
	ID string `json:"id,omitempty"`

	// Cloudstack Network Type the cluster is built in.
	// + optional
	Type string `json:"type,omitempty"`

	// Cloudstack Network Name the cluster is built in.
	// +optional
	Name string `json:"name"`
}

func (*Network) DeepCopy

func (in *Network) DeepCopy() *Network

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

func (*Network) DeepCopyInto

func (in *Network) DeepCopyInto(out *Network)

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

type Zone

type Zone struct {
	// The Zone name.
	// + optional
	Name string `json:"name,omitempty"`

	// The CS zone ID the cluster is built in.
	// + optional
	ID string `json:"id,omitempty"`

	// The network within the Zone to use.
	Network Network `json:"network"`
}

func (*Zone) DeepCopy

func (in *Zone) DeepCopy() *Zone

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

func (*Zone) DeepCopyInto

func (in *Zone) DeepCopyInto(out *Zone)

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

type ZoneStatusMap

type ZoneStatusMap map[string]Zone

func (ZoneStatusMap) DeepCopy

func (in ZoneStatusMap) DeepCopy() ZoneStatusMap

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

func (ZoneStatusMap) DeepCopyInto

func (in ZoneStatusMap) DeepCopyInto(out *ZoneStatusMap)

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

func (ZoneStatusMap) GetByName

func (zones ZoneStatusMap) GetByName(name string) *Zone

GetByName fetches a zone by name if present in the map of zone statuses. Needed as there's no short way to do this.

func (ZoneStatusMap) GetOne

func (zones ZoneStatusMap) GetOne() *Zone

GetOne just returns a Zone from the map of zone statuses Needed as there's no short way to do this.

Jump to

Keyboard shortcuts

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