v1alpha3

package
v0.1.0-rc.4 Latest Latest
Warning

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

Go to latest
Published: Jun 21, 2020 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.swine.dev

Index

Constants

View Source
const (
	HcloudFloatingIPTypeIPv4 = HcloudFloatingIPType("IPv4")
	HcloudFloatingIPTypeIPv6 = HcloudFloatingIPType("IPv6")
)
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.swine.dev/"

	// 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 ReconcileHcloudCluster to clean up Hcloud
	// resources associated with HcloudCluster before removing it from the
	// apiserver.
	ClusterFinalizer = "hcloudcluster.cluster-api-provider-hcloud.swine.dev"
)
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.swine.dev"
)
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.swine.dev"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "cluster-api-provider-hcloud.swine.dev", 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 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 {
	Locations []HcloudLocation `json:"locations,omitempty"`

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

	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=10
	ControlPlaneFloatingIPs []HcloudFloatingIPSpec `json:"controlPlaneFloatingIPs,omitempty"`

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

	Network *HcloudNetworkSpec `json:"network,omitempty"`

	TokenRef *corev1.SecretKeySelector `json:"tokenRef,omitempty"`

	// Manifests represents the config for manifests to apply
	Manifests *HcloudClusterSpecManifests `json:"manifests,omitempty"`
}

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 HcloudClusterSpecManifests

type HcloudClusterSpecManifests struct {
	Disabled *bool                              `json:"disabled,omitempty"`
	Network  *HcloudClusterSpecManifestsNetwork `json:"network,omitempty"`
}

func (*HcloudClusterSpecManifests) DeepCopy

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

func (*HcloudClusterSpecManifests) DeepCopyInto

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

type HcloudClusterSpecManifestsNetwork

type HcloudClusterSpecManifestsNetwork struct {
	Calico  *HcloudClusterSpecManifestsNetworkCalico  `json:"calico,omitempty"`
	Cilium  *HcloudClusterSpecManifestsNetworkCilium  `json:"cilium,omitempty"`
	Flannel *HcloudClusterSpecManifestsNetworkFlannel `json:"flannel,omitempty"`
}

func (*HcloudClusterSpecManifestsNetwork) DeepCopy

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

func (*HcloudClusterSpecManifestsNetwork) DeepCopyInto

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

type HcloudClusterSpecManifestsNetworkCalico

type HcloudClusterSpecManifestsNetworkCalico struct {
}

func (*HcloudClusterSpecManifestsNetworkCalico) DeepCopy

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

func (*HcloudClusterSpecManifestsNetworkCalico) DeepCopyInto

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

type HcloudClusterSpecManifestsNetworkCilium

type HcloudClusterSpecManifestsNetworkCilium struct {
	IPSecKeysRef *corev1.SecretKeySelector `json:"ipSecKeysRef,omitempty"`
}

func (*HcloudClusterSpecManifestsNetworkCilium) DeepCopy

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

func (*HcloudClusterSpecManifestsNetworkCilium) DeepCopyInto

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

type HcloudClusterSpecManifestsNetworkFlannel

type HcloudClusterSpecManifestsNetworkFlannel struct {
	Backend string `json:"backend,omitempty"`
}

func (*HcloudClusterSpecManifestsNetworkFlannel) DeepCopy

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

func (*HcloudClusterSpecManifestsNetworkFlannel) DeepCopyInto

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"`
	ControlPlaneFloatingIPs []HcloudFloatingIPStatus `json:"controlPlaneFloatingIPs,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 HcloudFloatingIPSpec

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

func (*HcloudFloatingIPSpec) DeepCopy

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

func (*HcloudFloatingIPSpec) DeepCopyInto

func (in *HcloudFloatingIPSpec) DeepCopyInto(out *HcloudFloatingIPSpec)

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

type HcloudFloatingIPStatus

type HcloudFloatingIPStatus struct {
	ID      int                  `json:"id,omitempty"`
	Name    string               `json:"name,omitempty"`
	Network string               `json:"network,omitempty"`
	IP      string               `json:"ip,omitempty"`
	Type    HcloudFloatingIPType `json:"type"`
	Labels  map[string]string    `json:"-"`
}

func (*HcloudFloatingIPStatus) DeepCopy

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

func (*HcloudFloatingIPStatus) DeepCopyInto

func (in *HcloudFloatingIPStatus) DeepCopyInto(out *HcloudFloatingIPStatus)

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

type HcloudFloatingIPType

type HcloudFloatingIPType string

+kubebuilder:validation:Enum=IPv4;IPv6

type HcloudImageID

type HcloudImageID int

type HcloudImageSpec

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

func (*HcloudImageSpec) DeepCopy

func (in *HcloudImageSpec) DeepCopy() *HcloudImageSpec

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

func (*HcloudImageSpec) DeepCopyInto

func (in *HcloudImageSpec) DeepCopyInto(out *HcloudImageSpec)

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
	SSHKeys []HcloudSSHKeySpec `json:"sshKeys,omitempty"`

	Image *HcloudImageSpec `json:"image,omitempty"`

	Type HcloudMachineTypeSpec `json:"type,omitempty"`

	Volumes []HcloudMachineVolume `json:"volumes,omitempty"`

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

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"`

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