v1beta1

package
v1.4.0 Latest Latest
Warning

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

Go to latest
Published: Oct 16, 2023 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 (
	// NameDigitalOceanProviderPrefix is the tag prefix for
	// cluster-api-provider-digitalocean owned components.
	NameDigitalOceanProviderPrefix = "sigs-k8s-io:capdo"
	// APIServerRoleTagValue describes the value for the apiserver role.
	APIServerRoleTagValue = "apiserver"
	// NodeRoleTagValue describes the value for the node role.
	NodeRoleTagValue = "node"
)
View Source
const (
	// ClusterFinalizer allows ReconcileDOCluster to clean up DigitalOcean resources associated with DOCluster before
	// removing it from the apiserver.
	ClusterFinalizer = "docluster.infrastructure.cluster.x-k8s.io"
)
View Source
const (
	// MachineFinalizer allows ReconcileDOMachine to clean up DigitalOcean resources associated with DOMachine before
	// removing it from the apiserver.
	MachineFinalizer = "domachine.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
)
View Source
var (
	// DOResourceStatusNew is the string representing a DigitalOcean resource just created and in a provisioning state.
	DOResourceStatusNew = DOResourceStatus("new")
	// DOResourceStatusRunning is the string representing a DigitalOcean resource already provisioned and in a active state.
	DOResourceStatusRunning = DOResourceStatus("active")
	// DOResourceStatusErrored is the string representing a DigitalOcean resource in a errored state.
	DOResourceStatusErrored = DOResourceStatus("errored")
	// DOResourceStatusOff is the string representing a DigitalOcean resource in off state.
	DOResourceStatusOff = DOResourceStatus("off")
	// DOResourceStatusArchive is the string representing a DigitalOcean resource in archive state.
	DOResourceStatusArchive = DOResourceStatus("archive")
)
View Source
var (
	// DefaultLBPort default LoadBalancer port.
	DefaultLBPort = 6443
	// DefaultLBAlgorithm default LoadBalancer algorithm.
	DefaultLBAlgorithm = "round_robin"
	// DefaultLBHealthCheckInterval default LoadBalancer health check interval.
	DefaultLBHealthCheckInterval = 10
	// DefaultLBHealthCheckTimeout default LoadBalancer health check timeout.
	DefaultLBHealthCheckTimeout = 5
	// DefaultLBHealthCheckUnhealthyThreshold default LoadBalancer unhealthy threshold.
	DefaultLBHealthCheckUnhealthyThreshold = 3
	// DefaultLBHealthCheckHealthyThreshold default LoadBalancer healthy threshold.
	DefaultLBHealthCheckHealthyThreshold = 5
)

Functions

func ClusterNameRoleTag

func ClusterNameRoleTag(clusterName, role string) string

ClusterNameRoleTag generates the tag with prefix `NameDigitalOceanProviderPrefix` and `RoleValue` as suffix It will generated tag like `sigs-k8s-io:capdo:{clusterName}:{role}`.

func ClusterNameTag

func ClusterNameTag(clusterName string) string

ClusterNameTag generates the tag with prefix `NameDigitalOceanProviderPrefix` for resources associated with a cluster. It will generated tag like `sigs-k8s-io:capdo:{clusterName}`.

func ClusterNameUIDRoleTag

func ClusterNameUIDRoleTag(clusterName, clusterUID, role string) string

ClusterNameUIDRoleTag generates the tag with prefix `NameDigitalOceanProviderPrefix` and `RoleValue` as suffix It will generated tag like `sigs-k8s-io:capdo:{clusterName}:{UID}:{role}`.

func DOSafeName

func DOSafeName(name string) string

DOSafeName returns DigitalOcean safe name with replacing '.' and '/' to '-' since DigitalOcean doesn't support naming with those character.

func DataDiskName

func DataDiskName(m *DOMachine, suffix string) string

DataDiskName is the volume name used for a data disk of a droplet. It's in the form of <dropletName>-<dataDiskNameSuffix>.

func NameTagFromName

func NameTagFromName(name string) string

NameTagFromName returns DigitalOcean safe name tag from name.

Types

type BuildTagParams

type BuildTagParams struct {
	// ClusterName is the cluster associated with the resource.
	ClusterName string
	// ClusterUID is the cluster uid from clusters.cluster.x-k8s.io uid
	ClusterUID string
	// Name is the name of the resource, it's applied as the tag "name" on DigitalOcean.
	Name string
	// Role is the role associated to the resource.
	Role string
	// Any additional tags to be added to the resource.
	// +optional
	Additional Tags
}

BuildTagParams is used to build tags around an DigitalOcean resource.

func (*BuildTagParams) DeepCopy

func (in *BuildTagParams) DeepCopy() *BuildTagParams

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

func (*BuildTagParams) DeepCopyInto

func (in *BuildTagParams) DeepCopyInto(out *BuildTagParams)

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

type DOCluster

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

	Spec   DOClusterSpec   `json:"spec,omitempty"`
	Status DOClusterStatus `json:"status,omitempty"`
}

DOCluster is the Schema for the DOClusters API.

func (*DOCluster) DeepCopy

func (in *DOCluster) DeepCopy() *DOCluster

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

func (*DOCluster) DeepCopyInto

func (in *DOCluster) DeepCopyInto(out *DOCluster)

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

func (*DOCluster) DeepCopyObject

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

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

func (*DOCluster) Default

func (r *DOCluster) Default()

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

func (*DOCluster) Hub

func (*DOCluster) Hub()

Hub marks DOCluster as a conversion hub.

func (*DOCluster) SetupWebhookWithManager

func (r *DOCluster) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*DOCluster) ValidateCreate

func (r *DOCluster) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*DOCluster) ValidateDelete

func (r *DOCluster) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*DOCluster) ValidateUpdate

func (r *DOCluster) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type DOClusterList

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

DOClusterList contains a list of DOCluster.

func (*DOClusterList) DeepCopy

func (in *DOClusterList) DeepCopy() *DOClusterList

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

func (*DOClusterList) DeepCopyInto

func (in *DOClusterList) DeepCopyInto(out *DOClusterList)

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

func (*DOClusterList) DeepCopyObject

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

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

func (*DOClusterList) Hub

func (*DOClusterList) Hub()

Hub marks DOClusterList as a conversion hub.

type DOClusterSpec

type DOClusterSpec struct {
	// The DigitalOcean Region the cluster lives in. It must be one of available
	// region on DigitalOcean. See
	// https://developers.digitalocean.com/documentation/v2/#list-all-regions
	Region string `json:"region"`
	// Network configurations
	// +optional
	Network DONetwork `json:"network,omitempty"`
	// ControlPlaneEndpoint represents the endpoint used to communicate with the
	// control plane. If ControlPlaneDNS is unset, the DO load-balancer IP
	// of the Kubernetes API Server is used.
	// +optional
	ControlPlaneEndpoint clusterv1.APIEndpoint `json:"controlPlaneEndpoint"`
	// ControlPlaneDNS is a managed DNS name that points to the load-balancer
	// IP used for the ControlPlaneEndpoint.
	// +optional
	ControlPlaneDNS *DOControlPlaneDNS `json:"controlPlaneDNS,omitempty"`
}

DOClusterSpec defines the desired state of DOCluster.

func (*DOClusterSpec) DeepCopy

func (in *DOClusterSpec) DeepCopy() *DOClusterSpec

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

func (*DOClusterSpec) DeepCopyInto

func (in *DOClusterSpec) DeepCopyInto(out *DOClusterSpec)

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

type DOClusterStatus

type DOClusterStatus struct {
	// Ready denotes that the cluster (infrastructure) is ready.
	// +optional
	Ready bool `json:"ready"`
	// ControlPlaneDNSRecordReady denotes that the DNS record is ready and
	// propagated to the DO DNS servers.
	// +optional
	ControlPlaneDNSRecordReady bool `json:"controlPlaneDNSRecordReady,omitempty"`
	// Network encapsulates all things related to DigitalOcean network.
	// +optional
	Network DONetworkResource `json:"network,omitempty"`
}

DOClusterStatus defines the observed state of DOCluster.

func (*DOClusterStatus) DeepCopy

func (in *DOClusterStatus) DeepCopy() *DOClusterStatus

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

func (*DOClusterStatus) DeepCopyInto

func (in *DOClusterStatus) DeepCopyInto(out *DOClusterStatus)

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

type DOClusterTemplate

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

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

DOClusterTemplate is the Schema for the DOclustertemplates API.

func (*DOClusterTemplate) DeepCopy

func (in *DOClusterTemplate) DeepCopy() *DOClusterTemplate

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

func (*DOClusterTemplate) DeepCopyInto

func (in *DOClusterTemplate) DeepCopyInto(out *DOClusterTemplate)

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

func (*DOClusterTemplate) DeepCopyObject

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

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

func (*DOClusterTemplate) Default

func (r *DOClusterTemplate) Default()

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

func (*DOClusterTemplate) SetupWebhookWithManager

func (r *DOClusterTemplate) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*DOClusterTemplate) ValidateCreate

func (r *DOClusterTemplate) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*DOClusterTemplate) ValidateDelete

func (r *DOClusterTemplate) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*DOClusterTemplate) ValidateUpdate

func (r *DOClusterTemplate) ValidateUpdate(oldRaw runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type DOClusterTemplateList

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

DOClusterTemplateList contains a list of DOClusterTemplate.

func (*DOClusterTemplateList) DeepCopy

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

func (*DOClusterTemplateList) DeepCopyInto

func (in *DOClusterTemplateList) DeepCopyInto(out *DOClusterTemplateList)

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

func (*DOClusterTemplateList) DeepCopyObject

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

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

type DOClusterTemplateResource

type DOClusterTemplateResource struct {
	Spec DOClusterSpec `json:"spec"`
}

DOClusterTemplateResource contains spec for DOClusterSpec.

func (*DOClusterTemplateResource) DeepCopy

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

func (*DOClusterTemplateResource) DeepCopyInto

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

type DOClusterTemplateSpec

type DOClusterTemplateSpec struct {
	Template DOClusterTemplateResource `json:"template"`
}

DOClusterTemplateSpec defines the desired state of DOClusterTemplate.

func (*DOClusterTemplateSpec) DeepCopy

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

func (*DOClusterTemplateSpec) DeepCopyInto

func (in *DOClusterTemplateSpec) DeepCopyInto(out *DOClusterTemplateSpec)

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

type DOControlPlaneDNS

type DOControlPlaneDNS struct {
	// Domain is the DO domain that this record should live in. It must be pre-existing in your DO account.
	// The format must be a string that conforms to the definition of a subdomain in DNS (RFC 1123)
	// +kubebuilder:validation:Pattern:=^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
	Domain string `json:"domain"`
	// Name is the DNS short name of the record (non-FQDN)
	// The format must consist of alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character
	// +kubebuilder:validation:Pattern:=^[a-z0-9]([-a-z0-9.]*[a-z0-9])?$
	Name string `json:"name"`
}

DOControlPlaneDNS ...

func (*DOControlPlaneDNS) DeepCopy

func (in *DOControlPlaneDNS) DeepCopy() *DOControlPlaneDNS

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

func (*DOControlPlaneDNS) DeepCopyInto

func (in *DOControlPlaneDNS) DeepCopyInto(out *DOControlPlaneDNS)

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

type DOLoadBalancer

type DOLoadBalancer struct {
	// API Server port. It must be valid ports range (1-65535). If omitted, default value is 6443.
	// +optional
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	Port int `json:"port,omitempty"`
	// The API Server load balancing algorithm used to determine which backend Droplet will be selected by a client.
	// It must be either "round_robin" or "least_connections". The default value is "round_robin".
	// +optional
	// +kubebuilder:validation:Enum=round_robin;least_connections
	Algorithm string `json:"algorithm,omitempty"`
	// An object specifying health check settings for the Load Balancer. If omitted, default values will be provided.
	// +optional
	HealthCheck DOLoadBalancerHealthCheck `json:"healthCheck,omitempty"`
	// The DO load balancer UUID. If omitted, a new load balancer will be created.
	// +optional
	ResourceID string `json:"resourceId,omitempty"`
}

DOLoadBalancer define the DigitalOcean loadbalancers configurations.

func (*DOLoadBalancer) ApplyDefault

func (in *DOLoadBalancer) ApplyDefault()

ApplyDefault give APIServerLoadbalancers default values.

func (*DOLoadBalancer) DeepCopy

func (in *DOLoadBalancer) DeepCopy() *DOLoadBalancer

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

func (*DOLoadBalancer) DeepCopyInto

func (in *DOLoadBalancer) DeepCopyInto(out *DOLoadBalancer)

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

type DOLoadBalancerHealthCheck

type DOLoadBalancerHealthCheck struct {
	// The number of seconds between between two consecutive health checks. The value must be between 3 and 300.
	// If not specified, the default value is 10.
	// +optional
	// +kubebuilder:validation:Minimum=3
	// +kubebuilder:validation:Maximum=300
	Interval int `json:"interval,omitempty"`
	// The number of seconds the Load Balancer instance will wait for a response until marking a health check as failed.
	// The value must be between 3 and 300. If not specified, the default value is 5.
	// +optional
	// +kubebuilder:validation:Minimum=3
	// +kubebuilder:validation:Maximum=300
	Timeout int `json:"timeout,omitempty"`
	// The number of times a health check must fail for a backend Droplet to be marked "unhealthy" and be removed from the pool.
	// The vaule must be between 2 and 10. If not specified, the default value is 3.
	// +optional
	// +kubebuilder:validation:Minimum=2
	// +kubebuilder:validation:Maximum=10
	UnhealthyThreshold int `json:"unhealthyThreshold,omitempty"`
	// The number of times a health check must pass for a backend Droplet to be marked "healthy" and be re-added to the pool.
	// The vaule must be between 2 and 10. If not specified, the default value is 5.
	// +optional
	// +kubebuilder:validation:Minimum=2
	// +kubebuilder:validation:Maximum=10
	HealthyThreshold int `json:"healthyThreshold,omitempty"`
}

DOLoadBalancerHealthCheck define the DigitalOcean loadbalancers health check configurations.

func (*DOLoadBalancerHealthCheck) DeepCopy

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

func (*DOLoadBalancerHealthCheck) DeepCopyInto

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

type DOMachine

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

	Spec   DOMachineSpec   `json:"spec,omitempty"`
	Status DOMachineStatus `json:"status,omitempty"`
}

DOMachine is the Schema for the domachines API.

func (*DOMachine) DeepCopy

func (in *DOMachine) DeepCopy() *DOMachine

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

func (*DOMachine) DeepCopyInto

func (in *DOMachine) DeepCopyInto(out *DOMachine)

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

func (*DOMachine) DeepCopyObject

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

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

func (*DOMachine) Default

func (r *DOMachine) Default()

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

func (*DOMachine) Hub

func (*DOMachine) Hub()

Hub marks DOMachine as a conversion hub.

func (*DOMachine) SetupWebhookWithManager

func (r *DOMachine) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*DOMachine) ValidateCreate

func (r *DOMachine) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*DOMachine) ValidateDelete

func (r *DOMachine) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*DOMachine) ValidateUpdate

func (r *DOMachine) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type DOMachineList

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

DOMachineList contains a list of DOMachine.

func (*DOMachineList) DeepCopy

func (in *DOMachineList) DeepCopy() *DOMachineList

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

func (*DOMachineList) DeepCopyInto

func (in *DOMachineList) DeepCopyInto(out *DOMachineList)

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

func (*DOMachineList) DeepCopyObject

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

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

func (*DOMachineList) Hub

func (*DOMachineList) Hub()

Hub marks DOMachineList as a conversion hub.

type DOMachineSpec

type DOMachineSpec struct {
	// ProviderID is the unique identifier as specified by the cloud provider.
	// +optional
	ProviderID *string `json:"providerID,omitempty"`
	// Droplet size. It must be known DigitalOcean droplet size. See https://developers.digitalocean.com/documentation/v2/#list-all-sizes
	Size string `json:"size"`
	// Droplet image can be image id or slug. See https://developers.digitalocean.com/documentation/v2/#list-all-images
	Image intstr.IntOrString `json:"image"`
	// DataDisks specifies the parameters that are used to add one or more data disks to the machine
	DataDisks []DataDisk `json:"dataDisks,omitempty"`
	// SSHKeys is the ssh key id or fingerprint to attach in DigitalOcean droplet.
	// It must be available on DigitalOcean account. See https://developers.digitalocean.com/documentation/v2/#list-all-keys
	SSHKeys []intstr.IntOrString `json:"sshKeys"`
	// AdditionalTags is an optional set of tags to add to DigitalOcean resources managed by the DigitalOcean provider.
	// +optional
	AdditionalTags Tags `json:"additionalTags,omitempty"`
}

DOMachineSpec defines the desired state of DOMachine.

func (*DOMachineSpec) DeepCopy

func (in *DOMachineSpec) DeepCopy() *DOMachineSpec

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

func (*DOMachineSpec) DeepCopyInto

func (in *DOMachineSpec) DeepCopyInto(out *DOMachineSpec)

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

type DOMachineStatus

type DOMachineStatus struct {
	// Ready is true when the provider resource is ready.
	// +optional
	Ready bool `json:"ready"`

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

	// Volumes contains the DigitalOcean droplet associated block storage
	// volumes.
	Volumes []DOVolume `json:"volumes,omitempty"`

	// InstanceStatus is the status of the DigitalOcean droplet instance for this machine.
	// +optional
	InstanceStatus *DOResourceStatus `json:"instanceStatus,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"`
}

DOMachineStatus defines the observed state of DOMachine.

func (*DOMachineStatus) DeepCopy

func (in *DOMachineStatus) DeepCopy() *DOMachineStatus

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

func (*DOMachineStatus) DeepCopyInto

func (in *DOMachineStatus) DeepCopyInto(out *DOMachineStatus)

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

type DOMachineTemplate

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

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

DOMachineTemplate is the Schema for the domachinetemplates API.

func (*DOMachineTemplate) DeepCopy

func (in *DOMachineTemplate) DeepCopy() *DOMachineTemplate

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

func (*DOMachineTemplate) DeepCopyInto

func (in *DOMachineTemplate) DeepCopyInto(out *DOMachineTemplate)

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

func (*DOMachineTemplate) DeepCopyObject

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

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

func (*DOMachineTemplate) Default

func (r *DOMachineTemplate) Default()

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

func (*DOMachineTemplate) Hub

func (*DOMachineTemplate) Hub()

Hub marks DOMachineTemplate as a conversion hub.

func (*DOMachineTemplate) SetupWebhookWithManager

func (r *DOMachineTemplate) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*DOMachineTemplate) ValidateCreate

func (r *DOMachineTemplate) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*DOMachineTemplate) ValidateDelete

func (r *DOMachineTemplate) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*DOMachineTemplate) ValidateUpdate

func (r *DOMachineTemplate) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type DOMachineTemplateList

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

DOMachineTemplateList contains a list of DOMachineTemplate.

func (*DOMachineTemplateList) DeepCopy

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

func (*DOMachineTemplateList) DeepCopyInto

func (in *DOMachineTemplateList) DeepCopyInto(out *DOMachineTemplateList)

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

func (*DOMachineTemplateList) DeepCopyObject

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

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

func (*DOMachineTemplateList) Hub

func (*DOMachineTemplateList) Hub()

Hub marks DOMachineTemplateList as a conversion hub.

type DOMachineTemplateResource

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

DOMachineTemplateResource describes the data needed to create am DOMachine from a template.

func (*DOMachineTemplateResource) DeepCopy

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

func (*DOMachineTemplateResource) DeepCopyInto

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

type DOMachineTemplateSpec

type DOMachineTemplateSpec struct {
	Template DOMachineTemplateResource `json:"template"`
}

DOMachineTemplateSpec defines the desired state of DOMachineTemplate.

func (*DOMachineTemplateSpec) DeepCopy

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

func (*DOMachineTemplateSpec) DeepCopyInto

func (in *DOMachineTemplateSpec) DeepCopyInto(out *DOMachineTemplateSpec)

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

type DONetwork

type DONetwork struct {
	// Configures an API Server loadbalancers
	// +optional
	APIServerLoadbalancers DOLoadBalancer `json:"apiServerLoadbalancers,omitempty"`
	// VPC defines the VPC configuration.
	// +optional
	VPC DOVPC `json:"vpc,omitempty"`
}

DONetwork encapsulates DigitalOcean networking configuration.

func (*DONetwork) DeepCopy

func (in *DONetwork) DeepCopy() *DONetwork

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

func (*DONetwork) DeepCopyInto

func (in *DONetwork) DeepCopyInto(out *DONetwork)

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

type DONetworkResource

type DONetworkResource struct {
	// APIServerLoadbalancersRef is the id of apiserver loadbalancers.
	// +optional
	APIServerLoadbalancersRef DOResourceReference `json:"apiServerLoadbalancersRef,omitempty"`
}

DONetworkResource encapsulates DigitalOcean networking resources.

func (*DONetworkResource) DeepCopy

func (in *DONetworkResource) DeepCopy() *DONetworkResource

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

func (*DONetworkResource) DeepCopyInto

func (in *DONetworkResource) DeepCopyInto(out *DONetworkResource)

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

type DOResourceReference

type DOResourceReference struct {
	// ID of DigitalOcean resource
	// +optional
	ResourceID string `json:"resourceId,omitempty"`
	// Status of DigitalOcean resource
	// +optional
	ResourceStatus DOResourceStatus `json:"resourceStatus,omitempty"`
}

DOResourceReference is a reference to a DigitalOcean resource.

func (*DOResourceReference) DeepCopy

func (in *DOResourceReference) DeepCopy() *DOResourceReference

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

func (*DOResourceReference) DeepCopyInto

func (in *DOResourceReference) DeepCopyInto(out *DOResourceReference)

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

type DOResourceStatus

type DOResourceStatus string

DOResourceStatus describes the status of a DigitalOcean resource.

type DOVPC

type DOVPC struct {
	// VPCUUID defines the VPC UUID to use. An empty value implies using the
	// default VPC.
	// +optional
	VPCUUID string `json:"vpc_uuid,omitempty"`
}

DOVPC define the DigitalOcean VPC configuration.

func (*DOVPC) DeepCopy

func (in *DOVPC) DeepCopy() *DOVPC

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

func (*DOVPC) DeepCopyInto

func (in *DOVPC) DeepCopyInto(out *DOVPC)

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

type DOVolume added in v1.2.0

type DOVolume struct {
	ID string `json:"id"`
}

DOVolume defines a DO Block Storage Volume.

func (*DOVolume) DeepCopy added in v1.2.0

func (in *DOVolume) DeepCopy() *DOVolume

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

func (*DOVolume) DeepCopyInto added in v1.2.0

func (in *DOVolume) DeepCopyInto(out *DOVolume)

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

type DataDisk

type DataDisk struct {
	// NameSuffix is the suffix to be appended to the machine name to generate the disk name.
	// Each disk name will be in format <dropletName>-<nameSuffix>.
	NameSuffix string `json:"nameSuffix"`
	// DiskSizeGB is the size in GB to assign to the data disk.
	DiskSizeGB int64 `json:"diskSizeGB"`
	// FilesystemType to be used on the volume. When provided the volume will
	// be automatically formatted.
	FilesystemType string `json:"filesystemType,omitempty"`
	// FilesystemLabel is the label that is applied to the created filesystem.
	// Character limits apply: 16 for ext4; 12 for xfs.
	// May only be used in conjunction with filesystemType.
	FilesystemLabel string `json:"filesystemLabel,omitempty"`
}

DataDisk specifies the parameters that are used to add a data disk to the machine.

func (*DataDisk) DeepCopy

func (in *DataDisk) DeepCopy() *DataDisk

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

func (*DataDisk) DeepCopyInto

func (in *DataDisk) DeepCopyInto(out *DataDisk)

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

type Tags

type Tags []string

Tags defines a slice of tags.

func BuildTags

func BuildTags(params BuildTagParams) Tags

BuildTags builds tags including the cluster tag and returns them in map form.

func (Tags) DeepCopy

func (in Tags) DeepCopy() Tags

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

func (Tags) DeepCopyInto

func (in Tags) DeepCopyInto(out *Tags)

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

Jump to

Keyboard shortcuts

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