v1alpha3

package
v0.1.4 Latest Latest
Warning

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

Go to latest
Published: Apr 20, 2021 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Overview

Package v1alpha3 contains API Schema definitions for the infrastructure v1alpha3 API group +kubebuilder:object:generate=true +groupName=cluster-api-provider-hcloud.capihc.com

Index

Constants

View Source
const (
	HcloudLoadBalancerAlgorithmTypeRoundRobin       = HcloudLoadBalancerAlgorithmType("round_robin")
	HcloudLoadBalancerAlgorithmTypeLeastConnections = HcloudLoadBalancerAlgorithmType("least_connections")
)
View Source
const (
	// ResourceLifecycleOwned is the value we use when tagging resources to indicate
	// that the resource is considered owned and managed by the cluster,
	// and in particular that the lifecycle is tied to the lifecycle of the cluster.
	ResourceLifecycleOwned = ResourceLifecycle("owned")

	// ResourceLifecycleShared is the value we use when tagging resources to indicate
	// that the resource is shared between multiple clusters, and should not be destroyed
	// if the cluster is destroyed.
	ResourceLifecycleShared = ResourceLifecycle("shared")

	// NameKubernetesHcloudCloudProviderPrefix is the tag name used by the cloud provider to logically
	// separate independent cluster resources. We use it to identify which resources we expect
	// to be permissive about state changes.
	// logically independent clusters running in the same AZ.
	// The tag key = NameKubernetesHcloudCloudProviderPrefix + clusterID
	// The tag value is an ownership value
	NameKubernetesHcloudCloudProviderPrefix = "kubernetes.io/cluster/"

	// NameHcloudProviderPrefix is the tag prefix we use to differentiate
	// cluster-api-provider-hcloud owned components from other tooling that
	// uses NameKubernetesClusterPrefix
	NameHcloudProviderPrefix = "cluster-api-provider-hcloud.capihc.com/"

	// NameHcloudProviderOwned is the tag name we use to differentiate
	// cluster-api-provider-hcloud owned components from other tooling that
	// uses NameKubernetesClusterPrefix
	NameHcloudProviderOwned = "cluster." + NameHcloudProviderPrefix

	// MachineNameTag tags related MachineNameTag
	MachineNameTagKey = "machine." + NameHcloudProviderPrefix + "name"

	// MachineTempalteHashTag tags server resources
	MachineTemplateHashTagKey = "machine." + NameHcloudProviderPrefix + "template"
)
View Source
const (
	// ClusterFinalizer allows Reconcile BareMetalMachine to clean up
	// resources associated with BareMetalMachine before removing it from the
	// apiserver.
	BareMetalMachineFinalizer = "baremetalmachine.cluster-api-provider-hcloud.capihc.com"
)
View Source
const (
	// ClusterFinalizer allows ReconcileHcloudCluster to clean up Hcloud
	// resources associated with HcloudCluster before removing it from the
	// apiserver.
	ClusterFinalizer = "hcloudcluster.cluster-api-provider-hcloud.capihc.com"
)
View Source
const (
	// ClusterFinalizer allows ReconcileHcloudMachine to clean up Hcloud
	// resources associated with HcloudMachine before removing it from the
	// apiserver.
	MachineFinalizer = "hcloudmachine.cluster-api-provider-hcloud.capihc.com"
)
View Source
const (
	// VolumeFinalizer allows ReconcileHcloudVolume to clean up Hcloud
	// resources associated with HcloudVolume before removing it from the
	// apiserver.
	VolumeFinalizer = "hcloudvolume.cluster-api-provider-hcloud.capihc.com"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "cluster-api-provider-hcloud.capihc.com", Version: "v1alpha3"}

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

func ClusterHcloudCloudProviderTagKey

func ClusterHcloudCloudProviderTagKey(name string) string

ClusterHcloudCloudProviderTagKey generates the key for resources associated a cluster's Hcloud cloud provider.

func ClusterTagKey

func ClusterTagKey(name string) string

ClusterTagKey generates the key for resources associated with a cluster.

Types

type BareMetalMachine

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

	Spec   BareMetalMachineSpec   `json:"spec,omitempty"`
	Status BareMetalMachineStatus `json:"status,omitempty"`
}

BareMetalMachine is the Schema for the bareMetalMachine API

func (*BareMetalMachine) BareMetalMachineSpec

func (h *BareMetalMachine) BareMetalMachineSpec() *BareMetalMachineSpec

func (*BareMetalMachine) DeepCopy

func (in *BareMetalMachine) DeepCopy() *BareMetalMachine

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

func (*BareMetalMachine) DeepCopyInto

func (in *BareMetalMachine) DeepCopyInto(out *BareMetalMachine)

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

func (*BareMetalMachine) DeepCopyObject

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

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

func (*BareMetalMachine) Hub

func (*BareMetalMachine) Hub()

Hub marks BareMetalMachine as a conversion hub.

type BareMetalMachineList

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

BareMetalMachineList contains a list of BareMetalMachine

func (*BareMetalMachineList) DeepCopy

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

func (*BareMetalMachineList) DeepCopyInto

func (in *BareMetalMachineList) DeepCopyInto(out *BareMetalMachineList)

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

func (*BareMetalMachineList) DeepCopyObject

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

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

func (*BareMetalMachineList) Hub

func (*BareMetalMachineList) Hub()

Hub marks BareMetalMachineList as a conversion hub.

type BareMetalMachineSpec

type BareMetalMachineSpec struct {
	SSHTokenRef sshTokenRef `json:"sshTokenRef"`

	// ProviderID is the unique identifier as specified by the cloud provider.
	// +optional
	ProviderID *string `json:"providerID"`

	// +optional
	Partition *string `json:"partition"`

	ImagePath *string `json:"imagePath"`

	ServerType *string `json:"serverType"`
}

BareMetalMachineSpec defines the desired state of a BareMetalMachine

func (*BareMetalMachineSpec) DeepCopy

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

func (*BareMetalMachineSpec) DeepCopyInto

func (in *BareMetalMachineSpec) DeepCopyInto(out *BareMetalMachineSpec)

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

type BareMetalMachineStatus

type BareMetalMachineStatus struct {
	IPv4        string `json:"server_ip,omitempty"`
	IPv6        string `json:"ipv6,omitempty"`
	ServerID    int    `json:"server_number,omitempty"`
	ServerName  string `json:"server_name,omitempty"`
	Ready       bool   `json:"ready,omitempty"`
	ServerState string `json:"serverState,omitempty"`
	Cancelled   bool   `json:"cancelled,omitempty"`
	Reset       bool   `json:"reset,omitempty"`
	Rescue      bool   `json:"rescue,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"`
}

BareMetalMachineStatus defines the observed state of BareMetalMachine

func (*BareMetalMachineStatus) DeepCopy

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

func (*BareMetalMachineStatus) DeepCopyInto

func (in *BareMetalMachineStatus) DeepCopyInto(out *BareMetalMachineStatus)

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

type BareMetalMachineTemplate

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

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

BareMetalMachineTemplate is the Schema for the bareMetalMachine API

func (*BareMetalMachineTemplate) DeepCopy

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

func (*BareMetalMachineTemplate) DeepCopyInto

func (in *BareMetalMachineTemplate) DeepCopyInto(out *BareMetalMachineTemplate)

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

func (*BareMetalMachineTemplate) DeepCopyObject

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

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

func (*BareMetalMachineTemplate) Hub

func (*BareMetalMachineTemplate) Hub()

Hub marks BareMetalMachineTemplate as a conversion hub.

type BareMetalMachineTemplateList

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

BareMetalMachineTemplateList contains a list of BareMetalMachineTemplate

func (*BareMetalMachineTemplateList) DeepCopy

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

func (*BareMetalMachineTemplateList) DeepCopyInto

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

func (*BareMetalMachineTemplateList) DeepCopyObject

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

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

func (*BareMetalMachineTemplateList) Hub

Hub marks BareMetalMachineTemplateList as a conversion hub.

type BareMetalMachineTemplateResource

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

BareMetalMachineTemplateResource describes the data needed to create am BareMetalMachine from a template

func (*BareMetalMachineTemplateResource) DeepCopy

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

func (*BareMetalMachineTemplateResource) DeepCopyInto

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

type BareMetalMachineTemplateSpec

type BareMetalMachineTemplateSpec struct {
	Template BareMetalMachineTemplateResource `json:"template"`
}

BareMetalMachineTemplateSpec defines the desired state of BareMetalMachineTemplate

func (*BareMetalMachineTemplateSpec) DeepCopy

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

func (*BareMetalMachineTemplateSpec) DeepCopyInto

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

type HcloudCluster

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

	Spec   HcloudClusterSpec   `json:"spec,omitempty"`
	Status HcloudClusterStatus `json:"status,omitempty"`
}

HcloudCluster is the Schema for the hcloudclusters API

func (*HcloudCluster) DeepCopy

func (in *HcloudCluster) DeepCopy() *HcloudCluster

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

func (*HcloudCluster) DeepCopyInto

func (in *HcloudCluster) DeepCopyInto(out *HcloudCluster)

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

func (*HcloudCluster) DeepCopyObject

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

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

func (*HcloudCluster) Hub

func (*HcloudCluster) Hub()

Hub marks HcloudCluster as a conversion hub.

func (*HcloudCluster) SetupWebhookWithManager

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

func (*HcloudCluster) ValidateCreate

func (r *HcloudCluster) ValidateCreate() error

func (*HcloudCluster) ValidateDelete

func (r *HcloudCluster) ValidateDelete() error

func (*HcloudCluster) ValidateUpdate

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

type HcloudClusterList

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

HcloudClusterList contains a list of HcloudCluster

func (*HcloudClusterList) DeepCopy

func (in *HcloudClusterList) DeepCopy() *HcloudClusterList

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

func (*HcloudClusterList) DeepCopyInto

func (in *HcloudClusterList) DeepCopyInto(out *HcloudClusterList)

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

func (*HcloudClusterList) DeepCopyObject

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

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

func (*HcloudClusterList) Hub

func (*HcloudClusterList) Hub()

Hub marks HcloudClusterList as a conversion hub.

func (*HcloudClusterList) SetupWebhookWithManager

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

type HcloudClusterSpec

type HcloudClusterSpec struct {
	// +optional
	Locations []HcloudLocation `json:"locations"`

	// define cluster wide SSH keys
	SSHKeys []HcloudSSHKeySpec `json:"sshKeys"`

	ControlPlaneLoadBalancer HcloudLoadBalancerSpec `json:"controlPlaneLoadbalancer"`

	// ControlPlaneEndpoint represents the endpoint used to communicate with the control plane.
	// +optional
	ControlPlaneEndpoint *clusterv1.APIEndpoint `json:"controlPlaneEndpoint"`

	// +optional
	Network *HcloudNetworkSpec `json:"network"`

	// Useful for https://github.com/kubernetes-sigs/multi-tenancy/blob/master/incubator/virtualcluster/doc/demo.md#optional-update-client-ca-secret
	// +optional
	VCKubeletClientSecretEnabled bool `json:"vcKubeletClientSecretEnabled"`

	HcloudTokenRef *corev1.SecretKeySelector `json:"hcloudTokenRef"`

	// If no token is provided then it is assumed that the bare metal controller is unused
	// +optional
	HrobotTokenRef *hrobotTokenRef `json:"hrobotTokenRef"`
}

HcloudClusterSpec defines the desired state of HcloudCluster

func (*HcloudClusterSpec) DeepCopy

func (in *HcloudClusterSpec) DeepCopy() *HcloudClusterSpec

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

func (*HcloudClusterSpec) DeepCopyInto

func (in *HcloudClusterSpec) DeepCopyInto(out *HcloudClusterSpec)

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

type HcloudClusterStatus

type HcloudClusterStatus struct {
	Locations                []HcloudLocation         `json:"locations,omitempty"`
	NetworkZone              HcloudNetworkZone        `json:"networkZone,omitempty"`
	ControlPlaneLoadBalancer HcloudLoadBalancerStatus `json:"controlPlaneLoadBalancer,omitempty"`

	// +optional
	Network *HcloudNetworkStatus `json:"network,omitempty"`

	// Manifests stores the if the cluster has already applied the minimal
	// manifests
	// +optional
	Manifests *HcloudClusterStatusManifests `json:"manifests,omitempty"`

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

	// FailureDomains contains the failure domains that machines should be
	// placed in. failureDomains is a map, defined as
	// map[string]FailureDomainSpec. A unique key must be used for each
	// FailureDomainSpec
	FailureDomains clusterv1.FailureDomains `json:"failureDomains,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"`
}

HcloudClusterStatus defines the observed state of HcloudCluster

func (*HcloudClusterStatus) DeepCopy

func (in *HcloudClusterStatus) DeepCopy() *HcloudClusterStatus

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

func (*HcloudClusterStatus) DeepCopyInto

func (in *HcloudClusterStatus) DeepCopyInto(out *HcloudClusterStatus)

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

type HcloudClusterStatusManifests

type HcloudClusterStatusManifests struct {
	Initialized *bool   `json:"initialized,omitempty"`
	AppliedHash *string `json:"appliedHash,omitempty"`
}

func (*HcloudClusterStatusManifests) DeepCopy

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

func (*HcloudClusterStatusManifests) DeepCopyInto

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

type HcloudImageID

type HcloudImageID int

type HcloudLoadBalancerAlgorithmType

type HcloudLoadBalancerAlgorithmType string

+kubebuilder:validation:Enum=round_robin;least_connections

type HcloudLoadBalancerSpec

type HcloudLoadBalancerSpec struct {
	// +optional
	Name *string `json:"name"`

	Algorithm HcloudLoadBalancerAlgorithmType `json:"algorithm"`
	Type      string                          `json:"type"`
	Services  []LoadBalancerServiceSpec       `json:"services"`
}

func (*HcloudLoadBalancerSpec) DeepCopy

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

func (*HcloudLoadBalancerSpec) DeepCopyInto

func (in *HcloudLoadBalancerSpec) DeepCopyInto(out *HcloudLoadBalancerSpec)

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

type HcloudLoadBalancerStatus

type HcloudLoadBalancerStatus struct {
	ID         int                             `json:"id,omitempty"`
	Name       string                          `json:"name,omitempty"`
	Type       string                          `json:"type,omitempty"`
	IPv4       string                          `json:"ipv4,omitempty"`
	IPv6       string                          `json:"ipv6,omitempty"`
	InternalIP string                          `json:"internalIP,omitempty"`
	Labels     map[string]string               `json:"-"`
	Algorithm  HcloudLoadBalancerAlgorithmType `json:"algorithm,omitempty"`
	Targets    []int                           `json:"-"`
}

func (*HcloudLoadBalancerStatus) DeepCopy

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

func (*HcloudLoadBalancerStatus) DeepCopyInto

func (in *HcloudLoadBalancerStatus) DeepCopyInto(out *HcloudLoadBalancerStatus)

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

type HcloudLocation

type HcloudLocation string

type HcloudMachine

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

	Spec   HcloudMachineSpec   `json:"spec,omitempty"`
	Status HcloudMachineStatus `json:"status,omitempty"`
}

HcloudMachine is the Schema for the hcloudmachine API

func (*HcloudMachine) DeepCopy

func (in *HcloudMachine) DeepCopy() *HcloudMachine

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

func (*HcloudMachine) DeepCopyInto

func (in *HcloudMachine) DeepCopyInto(out *HcloudMachine)

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

func (*HcloudMachine) DeepCopyObject

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

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

func (*HcloudMachine) HcloudMachineSpec

func (h *HcloudMachine) HcloudMachineSpec() *HcloudMachineSpec

func (*HcloudMachine) Hub

func (*HcloudMachine) Hub()

Hub marks HcloudMachine as a conversion hub.

func (*HcloudMachine) SetupWebhookWithManager

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

func (*HcloudMachine) ValidateCreate

func (r *HcloudMachine) ValidateCreate() error

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

func (*HcloudMachine) ValidateDelete

func (r *HcloudMachine) ValidateDelete() error

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

func (*HcloudMachine) ValidateUpdate

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

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

type HcloudMachineList

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

HcloudMachineList contains a list of HcloudMachine

func (*HcloudMachineList) DeepCopy

func (in *HcloudMachineList) DeepCopy() *HcloudMachineList

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

func (*HcloudMachineList) DeepCopyInto

func (in *HcloudMachineList) DeepCopyInto(out *HcloudMachineList)

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

func (*HcloudMachineList) DeepCopyObject

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

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

func (*HcloudMachineList) Hub

func (*HcloudMachineList) Hub()

Hub marks HcloudMachineList as a conversion hub.

func (*HcloudMachineList) SetupWebhookWithManager

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

type HcloudMachineSpec

type HcloudMachineSpec struct {
	// define Machine specific SSH keys, overrides cluster wide SSH keys
	// +optional
	SSHKeys []HcloudSSHKeySpec `json:"sshKeys"`

	Type HcloudMachineTypeSpec `json:"type"`

	// +optional
	Volumes []HcloudMachineVolume `json:"volumes"`

	ImageName string `json:"image"`

	// ProviderID is the unique identifier as specified by the cloud provider.
	// +optional
	ProviderID *string `json:"providerID"`
}

HcloudMachineSpec defines the desired state of HcloudMachine

func (*HcloudMachineSpec) DeepCopy

func (in *HcloudMachineSpec) DeepCopy() *HcloudMachineSpec

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

func (*HcloudMachineSpec) DeepCopyInto

func (in *HcloudMachineSpec) DeepCopyInto(out *HcloudMachineSpec)

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

type HcloudMachineStatus

type HcloudMachineStatus struct {
	Location    HcloudLocation    `json:"location,omitempty"`
	NetworkZone HcloudNetworkZone `json:"networkZone,omitempty"`
	ImageID     *HcloudImageID    `json:"imageID,omitempty"`

	// ServerState is the state of the server for this machine.
	// +optional
	ServerState HcloudServerState `json:"serverState,omitempty"`

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

	// ImageInitialized returns true if the image has been successfully
	// initialized by packer
	// +optional
	ImageInitialized bool `json:"imageInitialized,omitempty"`

	// Addresses contains the server's associated addresses.
	Addresses []v1.NodeAddress `json:"addresses,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"`
}

HcloudMachineStatus defines the observed state of HcloudMachine

func (*HcloudMachineStatus) DeepCopy

func (in *HcloudMachineStatus) DeepCopy() *HcloudMachineStatus

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

func (*HcloudMachineStatus) DeepCopyInto

func (in *HcloudMachineStatus) DeepCopyInto(out *HcloudMachineStatus)

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

type HcloudMachineTemplate

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

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

HcloudMachineTemplate is the Schema for the hcloudmachine API

func (*HcloudMachineTemplate) DeepCopy

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

func (*HcloudMachineTemplate) DeepCopyInto

func (in *HcloudMachineTemplate) DeepCopyInto(out *HcloudMachineTemplate)

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

func (*HcloudMachineTemplate) DeepCopyObject

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

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

func (*HcloudMachineTemplate) Hub

func (*HcloudMachineTemplate) Hub()

Hub marks HcloudMachineTemplate as a conversion hub.

type HcloudMachineTemplateList

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

HcloudMachineTemplateList contains a list of HcloudMachineTemplate

func (*HcloudMachineTemplateList) DeepCopy

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

func (*HcloudMachineTemplateList) DeepCopyInto

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

func (*HcloudMachineTemplateList) DeepCopyObject

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

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

func (*HcloudMachineTemplateList) Hub

Hub marks HcloudMachineTemplateList as a conversion hub.

type HcloudMachineTemplateResource

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

HcloudMachineTemplateResource describes the data needed to create am HcloudMachine from a template

func (*HcloudMachineTemplateResource) DeepCopy

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

func (*HcloudMachineTemplateResource) DeepCopyInto

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

type HcloudMachineTemplateSpec

type HcloudMachineTemplateSpec struct {
	Template HcloudMachineTemplateResource `json:"template"`
}

HcloudMachineTemplateSpec defines the desired state of HcloudMachineTemplate

func (*HcloudMachineTemplateSpec) DeepCopy

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

func (*HcloudMachineTemplateSpec) DeepCopyInto

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

type HcloudMachineTypeSpec

type HcloudMachineTypeSpec string

type HcloudMachineVolume

type HcloudMachineVolume struct {
	Name      string `json:"name,omitempty"`
	VolumeRef string `json:"volumeRef,omitempty"`
	MountPath string `json:"mountPath,omitempty"`
}

HcloudMachineVolume represent a Volume attachment

func (*HcloudMachineVolume) DeepCopy

func (in *HcloudMachineVolume) DeepCopy() *HcloudMachineVolume

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

func (*HcloudMachineVolume) DeepCopyInto

func (in *HcloudMachineVolume) DeepCopyInto(out *HcloudMachineVolume)

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

type HcloudNetwork

type HcloudNetwork struct {
	CIDRBlock string `json:"cidrBlock,omitempty"`
}

func (*HcloudNetwork) DeepCopy

func (in *HcloudNetwork) DeepCopy() *HcloudNetwork

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

func (*HcloudNetwork) DeepCopyInto

func (in *HcloudNetwork) DeepCopyInto(out *HcloudNetwork)

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

type HcloudNetworkSpec

type HcloudNetworkSpec struct {
	HcloudNetwork `json:",inline"`

	Subnets []HcloudNetworkSubnetSpec `json:"subnets,omitempty"`
}

func (*HcloudNetworkSpec) DeepCopy

func (in *HcloudNetworkSpec) DeepCopy() *HcloudNetworkSpec

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

func (*HcloudNetworkSpec) DeepCopyInto

func (in *HcloudNetworkSpec) DeepCopyInto(out *HcloudNetworkSpec)

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

func (*HcloudNetworkSpec) IsZero

func (s *HcloudNetworkSpec) IsZero() bool

type HcloudNetworkStatus

type HcloudNetworkStatus struct {
	HcloudNetworkSpec `json:",inline"`

	ID     int               `json:"id,omitempty"`
	Labels map[string]string `json:"-"`
}

func (*HcloudNetworkStatus) DeepCopy

func (in *HcloudNetworkStatus) DeepCopy() *HcloudNetworkStatus

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

func (*HcloudNetworkStatus) DeepCopyInto

func (in *HcloudNetworkStatus) DeepCopyInto(out *HcloudNetworkStatus)

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

type HcloudNetworkSubnetSpec

type HcloudNetworkSubnetSpec struct {
	HcloudNetwork `json:",inline"`

	NetworkZone HcloudNetworkZone `json:"networkZone,omitempty"`
}

func (*HcloudNetworkSubnetSpec) DeepCopy

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

func (*HcloudNetworkSubnetSpec) DeepCopyInto

func (in *HcloudNetworkSubnetSpec) DeepCopyInto(out *HcloudNetworkSubnetSpec)

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

type HcloudNetworkZone

type HcloudNetworkZone string

type HcloudSSHKeySpec

type HcloudSSHKeySpec struct {
	Name *string `json:"name,omitempty"`
	ID   *int    `json:"id,omitempty"`
}

func (*HcloudSSHKeySpec) DeepCopy

func (in *HcloudSSHKeySpec) DeepCopy() *HcloudSSHKeySpec

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

func (*HcloudSSHKeySpec) DeepCopyInto

func (in *HcloudSSHKeySpec) DeepCopyInto(out *HcloudSSHKeySpec)

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

type HcloudServerState

type HcloudServerState string

type HcloudVolume

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

	Spec   HcloudVolumeSpec   `json:"spec,omitempty"`
	Status HcloudVolumeStatus `json:"status,omitempty"`
}

HcloudVolume is the Schema for the hcloudvolumes API

func (*HcloudVolume) DeepCopy

func (in *HcloudVolume) DeepCopy() *HcloudVolume

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

func (*HcloudVolume) DeepCopyInto

func (in *HcloudVolume) DeepCopyInto(out *HcloudVolume)

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

func (*HcloudVolume) DeepCopyObject

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

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

func (*HcloudVolume) Hub

func (*HcloudVolume) Hub()

Hub marks HcloudVolume as a conversion hub.

type HcloudVolumeID

type HcloudVolumeID int

type HcloudVolumeList

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

HcloudVolumeList contains a list of HcloudVolume

func (*HcloudVolumeList) DeepCopy

func (in *HcloudVolumeList) DeepCopy() *HcloudVolumeList

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

func (*HcloudVolumeList) DeepCopyInto

func (in *HcloudVolumeList) DeepCopyInto(out *HcloudVolumeList)

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

func (*HcloudVolumeList) DeepCopyObject

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

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

func (*HcloudVolumeList) Hub

func (*HcloudVolumeList) Hub()

Hub marks HcloudVolumeList as a conversion hub.

type HcloudVolumeReclaimPolicy

type HcloudVolumeReclaimPolicy string

HcloudVolumeReclaimPolicy describes a policy for end-of-life maintenance of persistent volumes

const (
	// HcloudVolumeReclaimDelete means the volume will be deleted from
	// Kubernetes on release from its claim.  The volume plugin must support
	// Deletion.
	HcloudVolumeReclaimDelete HcloudVolumeReclaimPolicy = "Delete"
	// HcloudVolumeReclaimRetain means the volume will be left in its current
	// phase (Released) for manual reclamation by the administrator.  The
	// default policy is Retain.
	HcloudVolumeReclaimRetain HcloudVolumeReclaimPolicy = "Retain"
)

type HcloudVolumeSpec

type HcloudVolumeSpec struct {
	Location HcloudLocation `json:"location,omitempty"`

	// Size contains the minimum requested size of the volume
	// +optional
	Size *resource.Quantity `json:"size,omitempty"`

	// Size contains the minimum requested size of the volume
	// +optional
	ReclaimPolicy HcloudVolumeReclaimPolicy `json:"reclaimPolicy,omitempty"`
}

HcloudVolumeSpec defines the desired state of HcloudVolume

func (*HcloudVolumeSpec) DeepCopy

func (in *HcloudVolumeSpec) DeepCopy() *HcloudVolumeSpec

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

func (*HcloudVolumeSpec) DeepCopyInto

func (in *HcloudVolumeSpec) DeepCopyInto(out *HcloudVolumeSpec)

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

type HcloudVolumeStatus

type HcloudVolumeStatus struct {
	Location HcloudLocation `json:"location,omitempty"`

	// Size contains the actual size of the volume
	// +optional
	Size *resource.Quantity `json:"size,omitempty"`

	// VolumeID contains the ID of the releated volume
	VolumeID *HcloudVolumeID `json:"volumeID,omitempty"`
}

HcloudVolumeStatus defines the observed state of HcloudVolume

func (*HcloudVolumeStatus) DeepCopy

func (in *HcloudVolumeStatus) DeepCopy() *HcloudVolumeStatus

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

func (*HcloudVolumeStatus) DeepCopyInto

func (in *HcloudVolumeStatus) DeepCopyInto(out *HcloudVolumeStatus)

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

type LoadBalancerServiceSpec

type LoadBalancerServiceSpec struct {
	Protocol        string `json:"protocol"`
	ListenPort      int    `json:"listenPort"`
	DestinationPort int    `json:"destinationPort"`
}

func (*LoadBalancerServiceSpec) DeepCopy

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

func (*LoadBalancerServiceSpec) DeepCopyInto

func (in *LoadBalancerServiceSpec) DeepCopyInto(out *LoadBalancerServiceSpec)

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

type ResourceLifecycle

type ResourceLifecycle string

ResourceLifecycle configures the lifecycle of a resource

Jump to

Keyboard shortcuts

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