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
- Variables
- func ClusterHetznerCloudProviderTagKey(name string) string
- func GetImageSuffix(url string) (string, error)
- func HashOfSecretData(data map[string][]byte) ([]byte, error)
- func VerboseRebootType(rebootType RebootType) string
- type BTRFSDefinition
- type CPU
- type Capacity
- type ClockSpeed
- type ControllerGeneratedStatus
- type ErrorType
- type HCloudMachine
- func (in *HCloudMachine) DeepCopy() *HCloudMachine
- func (in *HCloudMachine) DeepCopyInto(out *HCloudMachine)
- func (in *HCloudMachine) DeepCopyObject() runtime.Object
- func (r *HCloudMachine) Default()
- func (r *HCloudMachine) GetConditions() clusterv1.Conditions
- func (r *HCloudMachine) HCloudMachineSpec() *HCloudMachineSpec
- func (*HCloudMachine) Hub()
- func (r *HCloudMachine) SetConditions(conditions clusterv1.Conditions)
- func (r *HCloudMachine) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *HCloudMachine) ValidateCreate() (admission.Warnings, error)
- func (r *HCloudMachine) ValidateDelete() (admission.Warnings, error)
- func (r *HCloudMachine) ValidateUpdate(old runtime.Object) (admission.Warnings, error)
- type HCloudMachineList
- type HCloudMachineSpec
- type HCloudMachineStatus
- type HCloudMachineTemplate
- func (in *HCloudMachineTemplate) DeepCopy() *HCloudMachineTemplate
- func (in *HCloudMachineTemplate) DeepCopyInto(out *HCloudMachineTemplate)
- func (in *HCloudMachineTemplate) DeepCopyObject() runtime.Object
- func (r *HCloudMachineTemplate) GetConditions() clusterv1.Conditions
- func (*HCloudMachineTemplate) Hub()
- func (r *HCloudMachineTemplate) SetConditions(conditions clusterv1.Conditions)
- type HCloudMachineTemplateList
- type HCloudMachineTemplateResource
- type HCloudMachineTemplateSpec
- type HCloudMachineTemplateStatus
- type HCloudMachineTemplateWebhook
- func (r *HCloudMachineTemplateWebhook) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *HCloudMachineTemplateWebhook) ValidateCreate(_ context.Context, _ runtime.Object) (admission.Warnings, error)
- func (r *HCloudMachineTemplateWebhook) ValidateDelete(_ context.Context, _ runtime.Object) (admission.Warnings, error)
- func (r *HCloudMachineTemplateWebhook) ValidateUpdate(ctx context.Context, oldRaw runtime.Object, newRaw runtime.Object) (admission.Warnings, error)
- type HCloudMachineType
- type HCloudNetworkSpec
- type HCloudNetworkZone
- type HCloudPlacementGroupSpec
- type HCloudPlacementGroupStatus
- type HCloudRemediation
- func (in *HCloudRemediation) DeepCopy() *HCloudRemediation
- func (in *HCloudRemediation) DeepCopyInto(out *HCloudRemediation)
- func (in *HCloudRemediation) DeepCopyObject() runtime.Object
- func (r *HCloudRemediation) Default()
- func (r *HCloudRemediation) GetConditions() clusterv1.Conditions
- func (r *HCloudRemediation) SetConditions(conditions clusterv1.Conditions)
- func (r *HCloudRemediation) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *HCloudRemediation) ValidateCreate() (admission.Warnings, error)
- func (r *HCloudRemediation) ValidateDelete() (admission.Warnings, error)
- func (r *HCloudRemediation) ValidateUpdate(runtime.Object) (admission.Warnings, error)
- type HCloudRemediationList
- type HCloudRemediationSpec
- type HCloudRemediationStatus
- type HCloudRemediationTemplate
- func (in *HCloudRemediationTemplate) DeepCopy() *HCloudRemediationTemplate
- func (in *HCloudRemediationTemplate) DeepCopyInto(out *HCloudRemediationTemplate)
- func (in *HCloudRemediationTemplate) DeepCopyObject() runtime.Object
- func (r *HCloudRemediationTemplate) Default()
- func (r *HCloudRemediationTemplate) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *HCloudRemediationTemplate) ValidateCreate() (admission.Warnings, error)
- func (r *HCloudRemediationTemplate) ValidateDelete() (admission.Warnings, error)
- func (r *HCloudRemediationTemplate) ValidateUpdate(runtime.Object) (admission.Warnings, error)
- type HCloudRemediationTemplateList
- type HCloudRemediationTemplateResource
- type HCloudRemediationTemplateSpec
- type HCloudRemediationTemplateStatus
- type HardwareDetails
- type HetznerBareMetalHost
- func (host *HetznerBareMetalHost) ClearError()
- func (host *HetznerBareMetalHost) ClearRebootAnnotations()
- func (in *HetznerBareMetalHost) DeepCopy() *HetznerBareMetalHost
- func (in *HetznerBareMetalHost) DeepCopyInto(out *HetznerBareMetalHost)
- func (in *HetznerBareMetalHost) DeepCopyObject() runtime.Object
- func (host *HetznerBareMetalHost) Default()
- func (host *HetznerBareMetalHost) GetConditions() clusterv1.Conditions
- func (host *HetznerBareMetalHost) HasHardwareReboot() bool
- func (host *HetznerBareMetalHost) HasRebootAnnotation() bool
- func (host *HetznerBareMetalHost) HasSoftwareReboot() bool
- func (host *HetznerBareMetalHost) NeedsProvisioning() bool
- func (host *HetznerBareMetalHost) SetConditions(conditions clusterv1.Conditions)
- func (host *HetznerBareMetalHost) SetError(errType ErrorType, errMessage string)
- func (host *HetznerBareMetalHost) UpdateOSSSHStatus(secret corev1.Secret) error
- func (host *HetznerBareMetalHost) UpdateRescueSSHStatus(secret corev1.Secret) error
- type HetznerBareMetalHostList
- type HetznerBareMetalHostSpec
- type HetznerBareMetalHostStatus
- type HetznerBareMetalHostWebhook
- func (hw *HetznerBareMetalHostWebhook) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (hw *HetznerBareMetalHostWebhook) ValidateCreate(ctx context.Context, obj runtime.Object) (admission.Warnings, error)
- func (hw *HetznerBareMetalHostWebhook) ValidateDelete(_ context.Context, _ runtime.Object) (admission.Warnings, error)
- func (hw *HetznerBareMetalHostWebhook) ValidateUpdate(_ context.Context, oldObj, newObj runtime.Object) (admission.Warnings, error)
- type HetznerBareMetalMachine
- func (in *HetznerBareMetalMachine) DeepCopy() *HetznerBareMetalMachine
- func (in *HetznerBareMetalMachine) DeepCopyInto(out *HetznerBareMetalMachine)
- func (in *HetznerBareMetalMachine) DeepCopyObject() runtime.Object
- func (bmMachine *HetznerBareMetalMachine) Default()
- func (bmMachine *HetznerBareMetalMachine) GetConditions() clusterv1.Conditions
- func (bmMachine *HetznerBareMetalMachine) HasHostAnnotation() bool
- func (bmMachine *HetznerBareMetalMachine) SetConditions(conditions clusterv1.Conditions)
- func (bmMachine *HetznerBareMetalMachine) SetFailure(reason capierrors.MachineStatusError, message string)
- func (bmMachine *HetznerBareMetalMachine) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (bmMachine *HetznerBareMetalMachine) ValidateCreate() (admission.Warnings, error)
- func (bmMachine *HetznerBareMetalMachine) ValidateDelete() (admission.Warnings, error)
- func (bmMachine *HetznerBareMetalMachine) ValidateUpdate(old runtime.Object) (admission.Warnings, error)
- type HetznerBareMetalMachineList
- type HetznerBareMetalMachineSpec
- type HetznerBareMetalMachineStatus
- type HetznerBareMetalMachineTemplate
- type HetznerBareMetalMachineTemplateList
- type HetznerBareMetalMachineTemplateResource
- type HetznerBareMetalMachineTemplateSpec
- type HetznerBareMetalMachineTemplateWebhook
- func (r *HetznerBareMetalMachineTemplateWebhook) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *HetznerBareMetalMachineTemplateWebhook) ValidateCreate(_ context.Context, raw runtime.Object) (admission.Warnings, error)
- func (r *HetznerBareMetalMachineTemplateWebhook) ValidateDelete(_ context.Context, _ runtime.Object) (admission.Warnings, error)
- func (r *HetznerBareMetalMachineTemplateWebhook) ValidateUpdate(ctx context.Context, oldRaw runtime.Object, newRaw runtime.Object) (admission.Warnings, error)
- type HetznerBareMetalRemediation
- func (in *HetznerBareMetalRemediation) DeepCopy() *HetznerBareMetalRemediation
- func (in *HetznerBareMetalRemediation) DeepCopyInto(out *HetznerBareMetalRemediation)
- func (in *HetznerBareMetalRemediation) DeepCopyObject() runtime.Object
- func (r *HetznerBareMetalRemediation) Default()
- func (r *HetznerBareMetalRemediation) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *HetznerBareMetalRemediation) ValidateCreate() (admission.Warnings, error)
- func (r *HetznerBareMetalRemediation) ValidateDelete() (admission.Warnings, error)
- func (r *HetznerBareMetalRemediation) ValidateUpdate(runtime.Object) (admission.Warnings, error)
- type HetznerBareMetalRemediationList
- type HetznerBareMetalRemediationSpec
- type HetznerBareMetalRemediationStatus
- type HetznerBareMetalRemediationTemplate
- func (in *HetznerBareMetalRemediationTemplate) DeepCopy() *HetznerBareMetalRemediationTemplate
- func (in *HetznerBareMetalRemediationTemplate) DeepCopyInto(out *HetznerBareMetalRemediationTemplate)
- func (in *HetznerBareMetalRemediationTemplate) DeepCopyObject() runtime.Object
- func (r *HetznerBareMetalRemediationTemplate) Default()
- func (r *HetznerBareMetalRemediationTemplate) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *HetznerBareMetalRemediationTemplate) ValidateCreate() (admission.Warnings, error)
- func (r *HetznerBareMetalRemediationTemplate) ValidateDelete() (admission.Warnings, error)
- func (r *HetznerBareMetalRemediationTemplate) ValidateUpdate(runtime.Object) (admission.Warnings, error)
- type HetznerBareMetalRemediationTemplateList
- type HetznerBareMetalRemediationTemplateResource
- type HetznerBareMetalRemediationTemplateSpec
- type HetznerBareMetalRemediationTemplateStatus
- type HetznerCluster
- func (r *HetznerCluster) ClusterTagKey() string
- func (in *HetznerCluster) DeepCopy() *HetznerCluster
- func (in *HetznerCluster) DeepCopyInto(out *HetznerCluster)
- func (in *HetznerCluster) DeepCopyObject() runtime.Object
- func (r *HetznerCluster) Default()
- func (r *HetznerCluster) GetConditions() clusterv1.Conditions
- func (*HetznerCluster) Hub()
- func (r *HetznerCluster) SetConditions(conditions clusterv1.Conditions)
- func (r *HetznerCluster) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *HetznerCluster) ValidateCreate() (admission.Warnings, error)
- func (r *HetznerCluster) ValidateDelete() (admission.Warnings, error)
- func (r *HetznerCluster) ValidateUpdate(old runtime.Object) (admission.Warnings, error)
- type HetznerClusterList
- func (in *HetznerClusterList) DeepCopy() *HetznerClusterList
- func (in *HetznerClusterList) DeepCopyInto(out *HetznerClusterList)
- func (in *HetznerClusterList) DeepCopyObject() runtime.Object
- func (*HetznerClusterList) Hub()
- func (r *HetznerClusterList) SetupWebhookWithManager(mgr ctrl.Manager) error
- type HetznerClusterSpec
- type HetznerClusterStatus
- type HetznerClusterTemplate
- func (in *HetznerClusterTemplate) DeepCopy() *HetznerClusterTemplate
- func (in *HetznerClusterTemplate) DeepCopyInto(out *HetznerClusterTemplate)
- func (in *HetznerClusterTemplate) DeepCopyObject() runtime.Object
- func (r *HetznerClusterTemplate) Default()
- func (r *HetznerClusterTemplate) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *HetznerClusterTemplate) ValidateCreate() (admission.Warnings, error)
- func (r *HetznerClusterTemplate) ValidateDelete() (admission.Warnings, error)
- func (r *HetznerClusterTemplate) ValidateUpdate(oldRaw runtime.Object) (admission.Warnings, error)
- type HetznerClusterTemplateList
- type HetznerClusterTemplateResource
- type HetznerClusterTemplateSpec
- type HetznerSSHKeys
- type HetznerSecretKeyRef
- type HetznerSecretRef
- type HostSelector
- type HostSelectorRequirement
- type Image
- type ImageType
- type InstallImage
- type LVMDefinition
- type LoadBalancerAlgorithmType
- type LoadBalancerServiceSpec
- type LoadBalancerSpec
- type LoadBalancerStatus
- type LoadBalancerTarget
- type LoadBalancerTargetType
- type NIC
- type NetworkStatus
- type Partition
- type ProvisioningState
- type PublicNetworkSpec
- type Raid
- type RebootAnnotationArguments
- type RebootType
- type Region
- type RemediationStrategy
- type RemediationType
- type ResourceLifecycle
- type RootDeviceHints
- type SSHKey
- type SSHSecretKeyRef
- type SSHSecretRef
- type SSHSpec
- type SSHStatus
- type SecretStatus
- type Storage
Constants ¶
const ( // LoadBalancerReadyCondition reports on whether a control plane load balancer was successfully reconciled. LoadBalancerReadyCondition clusterv1.ConditionType = "LoadBalancerReady" // LoadBalancerCreateFailedReason used when an error occurs during load balancer create. LoadBalancerCreateFailedReason = "LoadBalancerCreateFailed" // LoadBalancerUpdateFailedReason used when an error occurs during load balancer update. LoadBalancerUpdateFailedReason = "LoadBalancerUpdateFailed" // LoadBalancerDeleteFailedReason used when an error occurs during load balancer delete. LoadBalancerDeleteFailedReason = "LoadBalancerDeleteFailed" // LoadBalancerServiceSyncFailedReason used when an error occurs while syncing services of load balancer. LoadBalancerServiceSyncFailedReason = "LoadBalancerServiceSyncFailed" // LoadBalancerFailedToOwnReason used when no owned label could be set on a load balancer. LoadBalancerFailedToOwnReason = "LoadBalancerFailedToOwn" )
const ( // ServerCreateSucceededCondition reports on current status of the instance. Ready indicates the instance is in a Running state. ServerCreateSucceededCondition clusterv1.ConditionType = "ServerCreateSucceeded" // InstanceHasNonExistingPlacementGroupReason instance has a placement group name that does not exist. InstanceHasNonExistingPlacementGroupReason = "InstanceHasNonExistingPlacementGroup" // SSHKeyNotFoundReason indicates that ssh key could not be found. SSHKeyNotFoundReason = "SSHKeyNotFound" // ImageNotFoundReason indicates that the image could not be found. ImageNotFoundReason = "ImageNotFound" // ImageAmbiguousReason indicates that there are multiple images with the required properties. ImageAmbiguousReason = "ImageAmbiguous" // ServerLimitExceededReason indicates that server resource rate limit is hit. ServerLimitExceededReason = "ServerLimitExceeded" // ServerTypeNotFoundReason indicates that server type could not be found. ServerTypeNotFoundReason = "ServerTypeNotFound" ServerResourceUnavailableReason = "ServerResourceUnavailable" // ServerPlacementErrorReason indicates placement error while creating server. ServerPlacementErrorReason = "ServerPlacementError" )
const ( // ServerAvailableCondition indicates the instance is in a Running state. ServerAvailableCondition clusterv1.ConditionType = "ServerAvailable" // ServerTerminatingReason instance is in a terminated state. ServerTerminatingReason = "InstanceTerminated" // ServerStartingReason instance is in a terminated state. ServerStartingReason = "ServerStarting" // ServerOffReason instance is off. ServerOffReason = "ServerOff" )
const ( // NetworkAttachFailedReason is used when server could not be attached to network. NetworkAttachFailedReason = "NetworkAttachFailed" // LoadBalancerAttachFailedReason is used when server could not be attached to network. LoadBalancerAttachFailedReason = "LoadBalancerAttachFailed" )
const ( // BootstrapReadyCondition indicates that bootstrap is ready. BootstrapReadyCondition clusterv1.ConditionType = "BootstrapReady" // BootstrapNotReadyReason bootstrap not ready yet. BootstrapNotReadyReason = "BootstrapNotReady" )
const ( // NetworkReadyCondition reports on whether the network is ready. NetworkReadyCondition clusterv1.ConditionType = "NetworkReady" // NetworkReconcileFailedReason indicates that reconciling the network failed. NetworkReconcileFailedReason = "NetworkReconcileFailed" )
const ( // PlacementGroupsSyncedCondition reports on whether the placement groups are successfully synced. PlacementGroupsSyncedCondition clusterv1.ConditionType = "PlacementGroupsSynced" // PlacementGroupsSyncFailedReason indicates that syncing the placement groups failed. PlacementGroupsSyncFailedReason = "PlacementGroupsSyncFailed" )
const ( // HCloudTokenAvailableCondition reports on whether the HCloud Token is available. HCloudTokenAvailableCondition clusterv1.ConditionType = "HCloudTokenAvailable" // HetznerSecretUnreachableReason indicates that Hetzner secret is unreachable. HetznerSecretUnreachableReason = "HetznerSecretUnreachable" // #nosec // HCloudCredentialsInvalidReason indicates that credentials for HCloud are invalid. HCloudCredentialsInvalidReason = "HCloudCredentialsInvalid" // #nosec )
const ( // RootDeviceHintsValidatedCondition reports on whether the root device hints could be validated. RootDeviceHintsValidatedCondition clusterv1.ConditionType = "RootDeviceHintsValidated" // ValidationFailedReason indicates that the specified root device hints could not be successfully validated. ValidationFailedReason = "ValidationFailed" // StorageDeviceNotFoundReason indicates that the storage device specified in the root device hints could not be found. StorageDeviceNotFoundReason = "StorageDeviceNotFound" )
const ( // TargetClusterReadyCondition reports on whether the kubeconfig in the target cluster is ready. TargetClusterReadyCondition clusterv1.ConditionType = "TargetClusterReady" // KubeConfigNotFoundReason indicates that the Kubeconfig could not be found. KubeConfigNotFoundReason = "KubeConfigNotFound" // KubeAPIServerNotRespondingReason indicates that the api server cannot be reached. KubeAPIServerNotRespondingReason = "KubeAPIServerNotResponding" // TargetClusterCreateFailedReason indicates that the target cluster could not be created. TargetClusterCreateFailedReason = "TargetClusterCreateFailed" // TargetClusterControlPlaneNotReadyReason indicates that the target cluster's control plane is not ready yet. TargetClusterControlPlaneNotReadyReason = "TargetClusterControlPlaneNotReady" // ControlPlaneEndpointSetCondition indicates that the control plane is set. ControlPlaneEndpointSetCondition = "ControlPlaneEndpointSet" )
const ( // TargetClusterSecretReadyCondition reports on whether the hetzner secret in the target cluster is ready. TargetClusterSecretReadyCondition clusterv1.ConditionType = "TargetClusterSecretReady" // TargetSecretSyncFailedReason indicates that the target secret could not be synced. TargetSecretSyncFailedReason = "TargetSecretSyncFailed" // ControlPlaneEndpointNotSetReason indicates that the control plane endpoint is not set. ControlPlaneEndpointNotSetReason = "ControlPlaneEndpointNotSet" )
const ( // HetznerAPIReachableCondition reports whether the Hetzner APIs are reachable. HetznerAPIReachableCondition clusterv1.ConditionType = "HetznerAPIReachable" // RateLimitExceededReason indicates that a rate limit has been exceeded. RateLimitExceededReason = "RateLimitExceeded" )
const ( // CredentialsAvailableCondition reports on whether the Hetzner cluster is in ready state. CredentialsAvailableCondition clusterv1.ConditionType = "CredentialsAvailable" // RobotCredentialsInvalidReason indicates that credentials for Robot are invalid. RobotCredentialsInvalidReason = "RobotCredentialsInvalid" // #nosec // SSHCredentialsInSecretInvalidReason indicates that ssh credentials are invalid. SSHCredentialsInSecretInvalidReason = "SSHCredentialsInSecretInvalid" // #nosec // SSHKeyAlreadyExistsReason indicates that the ssh key which is specified in the host spec exists already under a different name in Hetzner robot. SSHKeyAlreadyExistsReason = "SSHKeyAlreadyExists" // OSSSHSecretMissingReason indicates that secret with the os ssh key is missing. OSSSHSecretMissingReason = "OSSSHSecretMissing" // RescueSSHSecretMissingReason indicates that secret with the rescue ssh key is missing. RescueSSHSecretMissingReason = "RescueSSHSecretMissing" )
const ( // ProvisionSucceededCondition indicates that a host has been provisioned. ProvisionSucceededCondition clusterv1.ConditionType = "ProvisionSucceeded" // StillProvisioningReason indicates that the server is still provisioning. StillProvisioningReason = "StillProvisioning" // SSHConnectionRefusedReason indicates that the server cannot be reached via SSH. SSHConnectionRefusedReason = "SSHConnectionRefused" RescueSystemUnavailableReason = "RescueSystemUnavailable" // ImageSpecInvalidReason indicates that the information specified about the image of the host are invalid. ImageSpecInvalidReason = "ImageSpecInvalid" // ImageDownloadFailedReason indicates that downloading the machine image (http or OCI) failed. ImageDownloadFailedReason = "ImageDownloadFailed" // NoStorageDeviceFoundReason indicates that no suitable storage device could be found. NoStorageDeviceFoundReason = "NoStorageDeviceFound" // CloudInitNotInstalledReason indicates that cloud init is not installed. CloudInitNotInstalledReason = "CloudInitNotInstalled" // ServerNotFoundReason indicates that a bare metal server could not be found. ServerNotFoundReason = "ServerNotFound" // LinuxOnOtherDiskFoundReason indicates that the server can't be provisioned on the given WWN, since the reboot would fail. LinuxOnOtherDiskFoundReason = "LinuxOnOtherDiskFound" // SSHToRescueSystemFailedReason indicates that the rescue system can't be reached via ssh. SSHToRescueSystemFailedReason = "SSHToRescueSystemFailed" // RebootTimedOutReason indicates that the reboot timed out. RebootTimedOutReason = "RebootTimedOut" )
const ( // SSHAfterInstallImageSucceededCondition indicates that the host is reachable via ssh after installImage. SSHAfterInstallImageSucceededCondition clusterv1.ConditionType = "SSHAfterInstallImageSucceeded" // SSHAfterInstallImageFailedReason indicates that the host was not reachable via ssh. SSHAfterInstallImageFailedReason = "SSHAfterInstallImageFailed" )
const ( // HostAssociateSucceededCondition indicates that a host has been associated. HostAssociateSucceededCondition clusterv1.ConditionType = "HostAssociateSucceeded" // NoAvailableHostReason indicates that there is no available host. NoAvailableHostReason = "NoAvailableHost" // HostAssociateFailedReason indicates that asssociating a host failed. HostAssociateFailedReason = "HostAssociateFailed" )
const ( // DeprecatedHostProvisionSucceededCondition indicates that a host has been provisioned. DeprecatedHostProvisionSucceededCondition clusterv1.ConditionType = "HostProvisionSucceeded" // DeprecatedInstanceReadyCondition reports on current status of the instance. Ready indicates the instance is in a Running state. DeprecatedInstanceReadyCondition clusterv1.ConditionType = "InstanceReady" // DeprecatedInstanceBootstrapReadyCondition reports on current status of the instance. BootstrapReady indicates the bootstrap is ready. DeprecatedInstanceBootstrapReadyCondition clusterv1.ConditionType = "InstanceBootstrapReady" // DeprecatedHetznerClusterTargetClusterReadyCondition reports on whether the kubeconfig in the target cluster is ready. DeprecatedHetznerClusterTargetClusterReadyCondition clusterv1.ConditionType = "HetznerClusterTargetClusterReady" // DeprecatedNetworkAttachedCondition reports on whether there is a network attached to the cluster. DeprecatedNetworkAttachedCondition clusterv1.ConditionType = "NetworkAttached" // DeprecatedLoadBalancerAttachedToNetworkCondition reports on whether the load balancer is attached to a network. DeprecatedLoadBalancerAttachedToNetworkCondition clusterv1.ConditionType = "LoadBalancerAttachedToNetwork" // DeprecatedHetznerBareMetalHostReadyCondition reports on whether the Hetzner cluster is in ready state. DeprecatedHetznerBareMetalHostReadyCondition clusterv1.ConditionType = "HetznerBareMetalHostReady" // DeprecatedAssociateBMHCondition reports on whether the Hetzner cluster is in ready state. DeprecatedAssociateBMHCondition clusterv1.ConditionType = "AssociateBMHCondition" // DeprecatedRateLimitExceededCondition reports whether the rate limit has been reached. DeprecatedRateLimitExceededCondition clusterv1.ConditionType = "RateLimitExceeded" )
const ( // HCloudRemediationFinalizer allows HCloudRemediationReconciler to clean up resources associated with HCloudRemediation before // removing it from the apiserver. HCloudRemediationFinalizer = "hcloudremediation.infrastructure.cluster.x-k8s.io" // HCloudRebootAnnotation indicates that a bare metal host object should be rebooted. HCloudRebootAnnotation = "reboot.hcloud.infrastructure.cluster.x-k8s.io" )
const ( // BareMetalHostFinalizer is the name of the finalizer added to // hosts to block delete operations until the physical host can be // deprovisioned. BareMetalHostFinalizer string = "hetznerbaremetalhost.infrastructure.cluster.x-k8s.io" // HostAnnotation is the key for an annotation that should go on a HetznerBareMetalMachine to // reference what HetznerBareMetalHost it corresponds to. HostAnnotation = "infrastructure.cluster.x-k8s.io/HetznerBareMetalHost" )
const ( // ErrorMessageMissingRootDeviceHints specifies the error message when no root device hints are specified. ErrorMessageMissingRootDeviceHints string = "no root device hints specified" // ErrorMessageInvalidRootDeviceHints specifies the error message when invalid root device hints are specified. ErrorMessageInvalidRootDeviceHints string = "invalid root device hints specified" // ErrorMessageMissingHetznerSecret specifies the error message when no Hetzner secret is found. ErrorMessageMissingHetznerSecret string = "could not find HetznerSecret" // ErrorMessageMissingRescueSSHSecret specifies the error message when no RescueSSH secret is found. ErrorMessageMissingRescueSSHSecret string = "could not find RescueSSHSecret" // ErrorMessageMissingOSSSHSecret specifies the error message when no OSSSH secret is found. ErrorMessageMissingOSSSHSecret string = "could not find OSSSHSecret" // ErrorMessageMissingOrInvalidSecretData specifies the error message when no data in secret is missing or invalid. ErrorMessageMissingOrInvalidSecretData string = "invalid or not specified information in secret" )
const ( // BareMetalMachineFinalizer allows Reconcilehetznerbaremetalmachine to clean up resources associated with hetznerbaremetalmachine before // removing it from the apiserver. BareMetalMachineFinalizer = "hetznerbaremetalmachine.infrastructure.cluster.x-k8s.io" // BareMetalHostNamePrefix is a prefix for all hostNames of bare metal servers. BareMetalHostNamePrefix = "bm-" )
const ( // RemediationFinalizer allows HetznerBareMetalRemediationReconciler to clean up resources associated with HetznerBareMetalRemediation before // removing it from the apiserver. RemediationFinalizer = "hetznerbaremetalremediation.infrastructure.cluster.x-k8s.io" // RebootAnnotation indicates that a bare metal host object should be rebooted. RebootAnnotation = "reboot.hetznerbaremetalhost.infrastructure.cluster.x-k8s.io" )
const ( // ClusterFinalizer allows ReconcileHetznerCluster to clean up HCloud // resources associated with HetznerCluster before removing it from the // apiserver. ClusterFinalizer = "hetznercluster.infrastructure.cluster.x-k8s.io" // AllowEmptyControlPlaneAddressAnnotation allows HetznerCluster Webhook // to skip some validation steps for externally managed control planes. AllowEmptyControlPlaneAddressAnnotation = "capi.syself.com/allow-empty-control-plane-address" // ConstantBareMetalHostnameAnnotation makes hostnames of bare metal servers constant. ConstantBareMetalHostnameAnnotation = "capi.syself.com/constant-bare-metal-hostname" )
const ( // PhaseRunning represents the running state during remediation. PhaseRunning = "Running" // PhaseWaiting represents the state during remediation when the controller has done its job but still waiting for the result of the last remediation step. PhaseWaiting = "Waiting" // PhaseDeleting represents the state where host remediation has failed and the controller is deleting the unhealthy Machine object from the cluster. PhaseDeleting = "Deleting machine" )
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") // that the resource is shared between multiple clusters, and should not be destroyed // if the cluster is destroyed. ResourceLifecycleShared = ResourceLifecycle("shared") // NameKubernetesHetznerCloudProviderPrefix 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 = NameKubernetesHetznerCloudProviderPrefix + clusterID // The tag value is an ownership value. NameKubernetesHetznerCloudProviderPrefix = "caph" // NameHetznerProviderPrefix is the tag prefix we use to differentiate // cluster-api-provider-hetzner owned components from other tooling that // uses NameKubernetesClusterPrefix // NameHetznerProviderPrefix = "sigs.k8s.io/cluster-api-provider-hetzner/". NameHetznerProviderPrefix = "caph-" // NameHetznerProviderOwned is the tag name we use to differentiate // cluster-api-provider-hetzner owned components from other tooling that // uses NameKubernetesClusterPrefix. NameHetznerProviderOwned = NameHetznerProviderPrefix + "cluster-" // MachineNameTagKey tags related MachineNameTag. MachineNameTagKey = "machine." + NameHetznerProviderPrefix + "name" )
const ( // LoadBalancerAlgorithmTypeRoundRobin default for the Kubernetes Api Server load balancer. LoadBalancerAlgorithmTypeRoundRobin = LoadBalancerAlgorithmType("round_robin") // LoadBalancerAlgorithmTypeLeastConnections default for load balancer. LoadBalancerAlgorithmTypeLeastConnections = LoadBalancerAlgorithmType("least_connections") )
const ( // LoadBalancerTargetTypeServer default for the Kubernetes Api Server load balancer. LoadBalancerTargetTypeServer = LoadBalancerTargetType("server") // LoadBalancerTargetTypeIP default for load balancer. LoadBalancerTargetTypeIP = LoadBalancerTargetType("ip") )
const (
// DeletionInProgressReason indicates that a host is being deleted.
DeletionInProgressReason = "DeletionInProgress"
)
const ( // HostReadyCondition reports on whether the HetznerBareMetalHost is ready or not. HostReadyCondition clusterv1.ConditionType = "HostReady" )
const ( // MachineFinalizer allows ReconcileHCloudMachine to clean up HCloud // resources associated with HCloudMachine before removing it from the // apiserver. MachineFinalizer = "hcloudmachine.infrastructure.cluster.x-k8s.io" )
Variables ¶
var ( // GroupVersion is group version used to register these objects. GroupVersion = schema.GroupVersion{Group: "infrastructure.cluster.x-k8s.io", Version: "v1beta1"} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = schemeBuilder.AddToScheme )
Functions ¶
func ClusterHetznerCloudProviderTagKey ¶
ClusterHetznerCloudProviderTagKey generates the key for resources associated a cluster's HCloud cloud provider.
func GetImageSuffix ¶
GetImageSuffix tests whether the suffix is known and outputs it if yes. Otherwise it returns an error.
func HashOfSecretData ¶
HashOfSecretData returns the sha256 of secret data.
func VerboseRebootType ¶
func VerboseRebootType(rebootType RebootType) string
VerboseRebootType returns the verbose namem of a reboot Type. The string is CamelCase.
Types ¶
type BTRFSDefinition ¶
type BTRFSDefinition struct { // Volume defines the btrfs volume name. Volume string `json:"volume"` // SubVolume defines the subvolume name. SubVolume string `json:"subvolume"` // Mount defines the mountpath. Mount string `json:"mount"` }
BTRFSDefinition defines the btrfs subvolume definitions to be created.
func (*BTRFSDefinition) DeepCopy ¶
func (in *BTRFSDefinition) DeepCopy() *BTRFSDefinition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BTRFSDefinition.
func (*BTRFSDefinition) DeepCopyInto ¶
func (in *BTRFSDefinition) DeepCopyInto(out *BTRFSDefinition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CPU ¶
type CPU struct { Arch string `json:"arch,omitempty"` Model string `json:"model,omitempty"` ClockGigahertz ClockSpeed `json:"clockGigahertz,omitempty"` Flags []string `json:"flags,omitempty"` Threads int `json:"threads,omitempty"` Cores int `json:"cores,omitempty"` }
CPU describes one processor on the host.
func (*CPU) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CPU.
func (*CPU) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClockSpeed ¶
type ClockSpeed string
ClockSpeed is a clock speed in MHz +kubebuilder:validation:Format=double
type ControllerGeneratedStatus ¶
type ControllerGeneratedStatus struct { // HetznerClusterRef is the name of the HetznerCluster object which is // needed as some necessary information is stored there, e.g. the hrobot password. HetznerClusterRef string `json:"hetznerClusterRef"` // UserData holds the reference to the Secret containing the user // data to be passed to the host before it boots. // +optional UserData *corev1.SecretReference `json:"userData,omitempty"` // InstallImage is the configuration that is used for the autosetup configuration for installing an OS via InstallImage. // +optional InstallImage *InstallImage `json:"installImage,omitempty"` // StatusHardwareDetails are automatically gathered and should not be modified by the user. // +optional HardwareDetails *HardwareDetails `json:"hardwareDetails,omitempty"` // IPv4 address of server. // +optional IPv4 string `json:"ipv4"` // IPv6 address of server. // +optional IPv6 string `json:"ipv6"` // RebootTypes is a list of all available reboot types for API reboots. // +optional RebootTypes []RebootType `json:"rebootTypes,omitempty"` // SSHSpec defines specs for SSH. SSHSpec *SSHSpec `json:"sshSpec,omitempty"` // HetznerRobotSSHKey contains the name and fingerprint of the HetznerCluster spec specified SSH key. // +optional SSHStatus SSHStatus `json:"sshStatus,omitempty"` // ErrorType indicates the type of failure encountered when the // OperationalStatus is OperationalStatusError. // +optional ErrorType ErrorType `json:"errorType,omitempty"` // ErrorCount records how many times the host has encountered an error since the last successful operation. // +kubebuilder:default:=0 ErrorCount int `json:"errorCount"` // Information tracked by the provisioner. // +optional ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` // the last error message reported by the provisioning subsystem. // +optional ErrorMessage string `json:"errorMessage"` // the last error message reported by the provisioning subsystem. // +optional LastUpdated *metav1.Time `json:"lastUpdated,omitempty"` // Rebooted shows whether the server is currently being rebooted. Rebooted bool `json:"rebooted,omitempty"` // Conditions define the current service state of the HetznerBareMetalHost. // +optional Conditions clusterv1.Conditions `json:"conditions,omitempty"` }
ControllerGeneratedStatus contains all status information which is important to persist.
func (*ControllerGeneratedStatus) DeepCopy ¶
func (in *ControllerGeneratedStatus) DeepCopy() *ControllerGeneratedStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerGeneratedStatus.
func (*ControllerGeneratedStatus) DeepCopyInto ¶
func (in *ControllerGeneratedStatus) DeepCopyInto(out *ControllerGeneratedStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ControllerGeneratedStatus) GetIPAddress ¶
func (sts ControllerGeneratedStatus) GetIPAddress() string
GetIPAddress returns the IPv6 if set, otherwise the IPv4.
type ErrorType ¶
type ErrorType string
ErrorType indicates the class of problem that has caused the Host resource to enter an error state.
const ( // ErrorTypeSSHRebootTriggered is an error condition that triggers the SSH reboot. ErrorTypeSSHRebootTriggered ErrorType = "ssh reboot triggered" // ErrorTypeSoftwareRebootTriggered is an error condition that triggers the software reboot. ErrorTypeSoftwareRebootTriggered ErrorType = "software reboot triggered" // ErrorTypeHardwareRebootTriggered is an error condition that triggers the hardware reboot. ErrorTypeHardwareRebootTriggered ErrorType = "hardware reboot triggered" // ErrorTypeConnectionError ErrorType is an error condition indicating that the SSH command returned a connection refused error. ErrorTypeConnectionError ErrorType = "connection refused error of SSH command" // RegistrationError is an error condition occurring when the // controller is unable to retrieve information on a specific server via robot. RegistrationError ErrorType = "registration error" // PreparationError is an error condition occurring when something fails while preparing host reconciliation. PreparationError ErrorType = "preparation error" // ProvisioningError is an error condition occurring when the controller // fails to provision or deprovision the Host. ProvisioningError ErrorType = "provisioning error" // FatalError is a fatal error that triggers a failureMessage in the bm machine. FatalError ErrorType = "fatal error" // PermanentError is like a fatal error but stays on the host machine. PermanentError ErrorType = "permanent error" )
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 hcloudmachines API. +kubebuilder:object:root=true +kubebuilder:resource:path=hcloudmachines,scope=Namespaced,categories=cluster-api,shortName=hcma +kubebuilder:storageversion +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Cluster",type="string",JSONPath=".metadata.labels.cluster\\.x-k8s\\.io/cluster-name",description="Cluster to which this HCloudMachine belongs" +kubebuilder:printcolumn:name="Machine",type="string",JSONPath=".metadata.ownerReferences[?(@.kind==\"Machine\")].name",description="Machine object which owns with this HCloudMachine" +kubebuilder:printcolumn:name="Phase",type="string",JSONPath=".status.instanceState",description="Phase of HCloudMachine" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="Time duration since creation of hcloudmachine" +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].reason" +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].message" +k8s:defaulter-gen=true
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) Default ¶
func (r *HCloudMachine) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type.
func (*HCloudMachine) GetConditions ¶
func (r *HCloudMachine) GetConditions() clusterv1.Conditions
GetConditions returns the observations of the operational state of the HCloudMachine resource.
func (*HCloudMachine) HCloudMachineSpec ¶
func (r *HCloudMachine) HCloudMachineSpec() *HCloudMachineSpec
HCloudMachineSpec returns a DeepCopy.
func (*HCloudMachine) Hub ¶
func (*HCloudMachine) Hub()
Hub marks HCloudMachine as a conversion hub.
func (*HCloudMachine) SetConditions ¶
func (r *HCloudMachine) SetConditions(conditions clusterv1.Conditions)
SetConditions sets the underlying service state of the HCloudMachine to the predescribed clusterv1.Conditions.
func (*HCloudMachine) SetupWebhookWithManager ¶
func (r *HCloudMachine) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager initializes webhook manager for HCloudMachine.
func (*HCloudMachine) ValidateCreate ¶
func (r *HCloudMachine) ValidateCreate() (admission.Warnings, error)
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*HCloudMachine) ValidateDelete ¶
func (r *HCloudMachine) ValidateDelete() (admission.Warnings, error)
ValidateDelete implements webhook.Validator so a webhook will be registered for the type.
func (*HCloudMachine) ValidateUpdate ¶
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
SetupWebhookWithManager initializes webhook manager for HCloudMachineList.
type HCloudMachineSpec ¶
type HCloudMachineSpec struct { // ProviderID is the unique identifier as specified by the cloud provider. // +optional ProviderID *string `json:"providerID,omitempty"` // Type is the HCloud Machine Type for this machine. It defines the desired server type of server in Hetzner's Cloud API. Example: cpx11. // +kubebuilder:validation:Enum=cpx11;cx21;cpx21;cx31;cpx31;cx41;cpx41;cx51;cpx51;ccx11;ccx12;ccx13;ccx21;ccx22;ccx23;ccx31;ccx32;ccx33;ccx41;ccx42;ccx43;ccx51;ccx52;ccx53;ccx62;ccx63;cax11;cax21;cax31;cax41;cx22;cx32;cx42;cx52 Type HCloudMachineType `json:"type"` // ImageName is the reference to the Machine Image from which to create the machine instance. // It can reference an image uploaded to Hetzner API in two ways: either directly as the name of an image or as the label of an image. // +kubebuilder:validation:MinLength=1 ImageName string `json:"imageName"` // SSHKeys define machine-specific SSH keys and override cluster-wide SSH keys. // +optional SSHKeys []SSHKey `json:"sshKeys,omitempty"` // PlacementGroupName defines the placement group of the machine in HCloud API that must reference an existing placement group. // +optional PlacementGroupName *string `json:"placementGroupName,omitempty"` // PublicNetwork specifies information for public networks. It defines the specs about // the primary IP address of the server. If both IPv4 and IPv6 are disabled, then the private network has to be enabled. // +optional PublicNetwork *PublicNetworkSpec `json:"publicNetwork,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 { // Ready is true when the provider resource is ready. // +optional Ready bool `json:"ready"` // Addresses contain the server's associated addresses. Addresses []clusterv1.MachineAddress `json:"addresses,omitempty"` // Region contains the name of the HCloud location the server is running. Region Region `json:"region,omitempty"` // SSHKeys specifies the ssh keys that were used for provisioning the server. SSHKeys []SSHKey `json:"sshKeys,omitempty"` // InstanceState is the state of the server for this machine. // +optional InstanceState *hcloud.ServerStatus `json:"instanceState,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. // +optional FailureReason *capierrors.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. // +optional FailureMessage *string `json:"failureMessage,omitempty"` // Conditions define the current service state of the HCloudMachine. // +optional Conditions clusterv1.Conditions `json:"conditions,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"` Status HCloudMachineTemplateStatus `json:"status,omitempty"` }
HCloudMachineTemplate is the Schema for the hcloudmachinetemplates API.
func (*HCloudMachineTemplate) DeepCopy ¶
func (in *HCloudMachineTemplate) DeepCopy() *HCloudMachineTemplate
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) GetConditions ¶
func (r *HCloudMachineTemplate) GetConditions() clusterv1.Conditions
GetConditions returns the observations of the operational state of the HCloudMachine resource.
func (*HCloudMachineTemplate) Hub ¶
func (*HCloudMachineTemplate) Hub()
Hub marks HCloudMachineTemplate as a conversion hub.
func (*HCloudMachineTemplate) SetConditions ¶
func (r *HCloudMachineTemplate) SetConditions(conditions clusterv1.Conditions)
SetConditions sets the underlying service state of the HCloudMachine to the predescribed clusterv1.Conditions.
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 ¶
func (in *HCloudMachineTemplateList) DeepCopy() *HCloudMachineTemplateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HCloudMachineTemplateList.
func (*HCloudMachineTemplateList) DeepCopyInto ¶
func (in *HCloudMachineTemplateList) DeepCopyInto(out *HCloudMachineTemplateList)
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 ¶
func (*HCloudMachineTemplateList) Hub()
Hub marks HCloudMachineTemplateList as a conversion hub.
type HCloudMachineTemplateResource ¶
type HCloudMachineTemplateResource struct { // Standard object's metadata. // +optional ObjectMeta clusterv1.ObjectMeta `json:"metadata,omitempty"` // 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 ¶
func (in *HCloudMachineTemplateResource) DeepCopy() *HCloudMachineTemplateResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HCloudMachineTemplateResource.
func (*HCloudMachineTemplateResource) DeepCopyInto ¶
func (in *HCloudMachineTemplateResource) DeepCopyInto(out *HCloudMachineTemplateResource)
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 ¶
func (in *HCloudMachineTemplateSpec) DeepCopy() *HCloudMachineTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HCloudMachineTemplateSpec.
func (*HCloudMachineTemplateSpec) DeepCopyInto ¶
func (in *HCloudMachineTemplateSpec) DeepCopyInto(out *HCloudMachineTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HCloudMachineTemplateStatus ¶
type HCloudMachineTemplateStatus struct { // Capacity defines the resource capacity for this machine. // This value is used for autoscaling from zero operations as defined in: // https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/proposals/20210310-opt-in-autoscaling-from-zero.md // +optional Capacity corev1.ResourceList `json:"capacity,omitempty"` // Conditions defines current service state of the HCloudMachineTemplate. // +optional Conditions clusterv1.Conditions `json:"conditions,omitempty"` // OwnerType is the type of object that owns the HCloudMachineTemplate. // +optional OwnerType string `json:"ownerType,omitempty"` }
HCloudMachineTemplateStatus defines the observed state of HCloudMachineTemplate.
func (*HCloudMachineTemplateStatus) DeepCopy ¶
func (in *HCloudMachineTemplateStatus) DeepCopy() *HCloudMachineTemplateStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HCloudMachineTemplateStatus.
func (*HCloudMachineTemplateStatus) DeepCopyInto ¶
func (in *HCloudMachineTemplateStatus) DeepCopyInto(out *HCloudMachineTemplateStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HCloudMachineTemplateWebhook ¶
type HCloudMachineTemplateWebhook struct{}
HCloudMachineTemplateWebhook implements a custom validation webhook for HCloudMachineTemplate. +kubebuilder:object:generate=false
func (*HCloudMachineTemplateWebhook) SetupWebhookWithManager ¶
func (r *HCloudMachineTemplateWebhook) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager initializes webhook manager for HetznerMachineTemplate.
func (*HCloudMachineTemplateWebhook) ValidateCreate ¶
func (r *HCloudMachineTemplateWebhook) ValidateCreate(_ context.Context, _ runtime.Object) (admission.Warnings, error)
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*HCloudMachineTemplateWebhook) ValidateDelete ¶
func (r *HCloudMachineTemplateWebhook) ValidateDelete(_ context.Context, _ runtime.Object) (admission.Warnings, error)
ValidateDelete implements webhook.Validator so a webhook will be registered for the type.
type HCloudMachineType ¶
type HCloudMachineType string
HCloudMachineType defines the HCloud Machine type.
type HCloudNetworkSpec ¶
type HCloudNetworkSpec struct { // Enabled defines whether the network should be enabled or not. Enabled bool `json:"enabled"` // CIDRBlock defines the cidrBlock of the HCloud Network. If omitted, default "10.0.0.0/16" will be used. // +kubebuilder:default="10.0.0.0/16" // +optional CIDRBlock string `json:"cidrBlock,omitempty"` // SubnetCIDRBlock defines the cidrBlock for the subnet of the HCloud Network. // Note: A subnet is required. // +kubebuilder:default="10.0.0.0/24" // +optional SubnetCIDRBlock string `json:"subnetCidrBlock,omitempty"` // NetworkZone specifies the HCloud network zone of the private network. // The zones must be one of eu-central, us-east, or us-west. The default is eu-central. // +kubebuilder:validation:Enum=eu-central;us-east;us-west // +kubebuilder:default=eu-central // +optional NetworkZone HCloudNetworkZone `json:"networkZone,omitempty"` }
HCloudNetworkSpec defines the desired state of the HCloud Private Network.
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
IsZero returns true if a private Network is set.
type HCloudNetworkZone ¶
type HCloudNetworkZone string
HCloudNetworkZone describes the Network zone.
type HCloudPlacementGroupSpec ¶
type HCloudPlacementGroupSpec struct { // +kubebuilder:validation:MinLength=1 Name string `json:"name"` // +kubebuilder:validation:Enum=spread // +kubebuilder:default=spread Type string `json:"type,omitempty"` }
HCloudPlacementGroupSpec defines a PlacementGroup.
func (*HCloudPlacementGroupSpec) DeepCopy ¶
func (in *HCloudPlacementGroupSpec) DeepCopy() *HCloudPlacementGroupSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HCloudPlacementGroupSpec.
func (*HCloudPlacementGroupSpec) DeepCopyInto ¶
func (in *HCloudPlacementGroupSpec) DeepCopyInto(out *HCloudPlacementGroupSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HCloudPlacementGroupStatus ¶
type HCloudPlacementGroupStatus struct { ID int64 `json:"id,omitempty"` Server []int64 `json:"servers,omitempty"` Name string `json:"name,omitempty"` Type string `json:"type,omitempty"` }
HCloudPlacementGroupStatus returns the status of a Placementgroup.
func (*HCloudPlacementGroupStatus) DeepCopy ¶
func (in *HCloudPlacementGroupStatus) DeepCopy() *HCloudPlacementGroupStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HCloudPlacementGroupStatus.
func (*HCloudPlacementGroupStatus) DeepCopyInto ¶
func (in *HCloudPlacementGroupStatus) DeepCopyInto(out *HCloudPlacementGroupStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HCloudRemediation ¶
type HCloudRemediation struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ObjectMeta `json:"metadata,omitempty"` // +optional Spec HCloudRemediationSpec `json:"spec,omitempty"` // +optional Status HCloudRemediationStatus `json:"status,omitempty"` }
HCloudRemediation is the Schema for the hcloudremediations API.
func (*HCloudRemediation) DeepCopy ¶
func (in *HCloudRemediation) DeepCopy() *HCloudRemediation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HCloudRemediation.
func (*HCloudRemediation) DeepCopyInto ¶
func (in *HCloudRemediation) DeepCopyInto(out *HCloudRemediation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HCloudRemediation) DeepCopyObject ¶
func (in *HCloudRemediation) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*HCloudRemediation) Default ¶
func (r *HCloudRemediation) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type.
func (*HCloudRemediation) GetConditions ¶
func (r *HCloudRemediation) GetConditions() clusterv1.Conditions
GetConditions returns the observations of the operational state of the HCloudRemediation resource.
func (*HCloudRemediation) SetConditions ¶
func (r *HCloudRemediation) SetConditions(conditions clusterv1.Conditions)
SetConditions sets the underlying service state of the HCloudRemediation to the predescribed clusterv1.Conditions.
func (*HCloudRemediation) SetupWebhookWithManager ¶
func (r *HCloudRemediation) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager initializes webhook manager for HCloudRemediation.
func (*HCloudRemediation) ValidateCreate ¶
func (r *HCloudRemediation) ValidateCreate() (admission.Warnings, error)
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*HCloudRemediation) ValidateDelete ¶
func (r *HCloudRemediation) ValidateDelete() (admission.Warnings, error)
ValidateDelete implements webhook.Validator so a webhook will be registered for the type.
func (*HCloudRemediation) ValidateUpdate ¶
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.
type HCloudRemediationList ¶
type HCloudRemediationList struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ListMeta `json:"metadata,omitempty"` Items []HCloudRemediation `json:"items"` }
HCloudRemediationList contains a list of HCloudRemediation.
func (*HCloudRemediationList) DeepCopy ¶
func (in *HCloudRemediationList) DeepCopy() *HCloudRemediationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HCloudRemediationList.
func (*HCloudRemediationList) DeepCopyInto ¶
func (in *HCloudRemediationList) DeepCopyInto(out *HCloudRemediationList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HCloudRemediationList) DeepCopyObject ¶
func (in *HCloudRemediationList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HCloudRemediationSpec ¶
type HCloudRemediationSpec struct { // Strategy field defines remediation strategy. Strategy *RemediationStrategy `json:"strategy,omitempty"` }
HCloudRemediationSpec defines the desired state of HCloudRemediation.
func (*HCloudRemediationSpec) DeepCopy ¶
func (in *HCloudRemediationSpec) DeepCopy() *HCloudRemediationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HCloudRemediationSpec.
func (*HCloudRemediationSpec) DeepCopyInto ¶
func (in *HCloudRemediationSpec) DeepCopyInto(out *HCloudRemediationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HCloudRemediationStatus ¶
type HCloudRemediationStatus struct { // Phase represents the current phase of machine remediation. // E.g. Pending, Running, Done etc. // +optional Phase string `json:"phase,omitempty"` // RetryCount can be used as a counter during the remediation. // Field can hold number of reboots etc. // +optional RetryCount int `json:"retryCount,omitempty"` // LastRemediated identifies when the host was last remediated // +optional LastRemediated *metav1.Time `json:"lastRemediated,omitempty"` // Conditions defines current service state of the HCloudRemediation. // +optional Conditions clusterv1.Conditions `json:"conditions,omitempty"` }
HCloudRemediationStatus defines the observed state of HCloudRemediation.
func (*HCloudRemediationStatus) DeepCopy ¶
func (in *HCloudRemediationStatus) DeepCopy() *HCloudRemediationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HCloudRemediationStatus.
func (*HCloudRemediationStatus) DeepCopyInto ¶
func (in *HCloudRemediationStatus) DeepCopyInto(out *HCloudRemediationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HCloudRemediationTemplate ¶
type HCloudRemediationTemplate struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ObjectMeta `json:"metadata,omitempty"` // +optional Spec HCloudRemediationTemplateSpec `json:"spec,omitempty"` // +optional Status HCloudRemediationTemplateStatus `json:"status,omitempty"` }
HCloudRemediationTemplate is the Schema for the hcloudremediationtemplates API.
func (*HCloudRemediationTemplate) DeepCopy ¶
func (in *HCloudRemediationTemplate) DeepCopy() *HCloudRemediationTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HCloudRemediationTemplate.
func (*HCloudRemediationTemplate) DeepCopyInto ¶
func (in *HCloudRemediationTemplate) DeepCopyInto(out *HCloudRemediationTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HCloudRemediationTemplate) DeepCopyObject ¶
func (in *HCloudRemediationTemplate) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*HCloudRemediationTemplate) Default ¶
func (r *HCloudRemediationTemplate) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type.
func (*HCloudRemediationTemplate) SetupWebhookWithManager ¶
func (r *HCloudRemediationTemplate) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager initializes webhook manager for HCloudRemediationTemplate.
func (*HCloudRemediationTemplate) ValidateCreate ¶
func (r *HCloudRemediationTemplate) ValidateCreate() (admission.Warnings, error)
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*HCloudRemediationTemplate) ValidateDelete ¶
func (r *HCloudRemediationTemplate) ValidateDelete() (admission.Warnings, error)
ValidateDelete implements webhook.Validator so a webhook will be registered for the type.
func (*HCloudRemediationTemplate) ValidateUpdate ¶
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.
type HCloudRemediationTemplateList ¶
type HCloudRemediationTemplateList struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ListMeta `json:"metadata,omitempty"` Items []HCloudRemediationTemplate `json:"items"` }
HCloudRemediationTemplateList contains a list of HCloudRemediationTemplate.
func (*HCloudRemediationTemplateList) DeepCopy ¶
func (in *HCloudRemediationTemplateList) DeepCopy() *HCloudRemediationTemplateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HCloudRemediationTemplateList.
func (*HCloudRemediationTemplateList) DeepCopyInto ¶
func (in *HCloudRemediationTemplateList) DeepCopyInto(out *HCloudRemediationTemplateList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HCloudRemediationTemplateList) DeepCopyObject ¶
func (in *HCloudRemediationTemplateList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HCloudRemediationTemplateResource ¶
type HCloudRemediationTemplateResource struct { // Spec is the specification of the desired behavior of the HCloudRemediation. Spec HCloudRemediationSpec `json:"spec"` }
HCloudRemediationTemplateResource describes the data needed to create a HCloudRemediation from a template.
func (*HCloudRemediationTemplateResource) DeepCopy ¶
func (in *HCloudRemediationTemplateResource) DeepCopy() *HCloudRemediationTemplateResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HCloudRemediationTemplateResource.
func (*HCloudRemediationTemplateResource) DeepCopyInto ¶
func (in *HCloudRemediationTemplateResource) DeepCopyInto(out *HCloudRemediationTemplateResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HCloudRemediationTemplateSpec ¶
type HCloudRemediationTemplateSpec struct {
Template HCloudRemediationTemplateResource `json:"template"`
}
HCloudRemediationTemplateSpec defines the desired state of HCloudRemediationTemplate.
func (*HCloudRemediationTemplateSpec) DeepCopy ¶
func (in *HCloudRemediationTemplateSpec) DeepCopy() *HCloudRemediationTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HCloudRemediationTemplateSpec.
func (*HCloudRemediationTemplateSpec) DeepCopyInto ¶
func (in *HCloudRemediationTemplateSpec) DeepCopyInto(out *HCloudRemediationTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HCloudRemediationTemplateStatus ¶
type HCloudRemediationTemplateStatus struct { // HCloudRemediationStatus defines the observed state of HCloudRemediation Status HCloudRemediationStatus `json:"status"` }
HCloudRemediationTemplateStatus defines the observed state of HCloudRemediationTemplate.
func (*HCloudRemediationTemplateStatus) DeepCopy ¶
func (in *HCloudRemediationTemplateStatus) DeepCopy() *HCloudRemediationTemplateStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HCloudRemediationTemplateStatus.
func (*HCloudRemediationTemplateStatus) DeepCopyInto ¶
func (in *HCloudRemediationTemplateStatus) DeepCopyInto(out *HCloudRemediationTemplateStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HardwareDetails ¶
type HardwareDetails struct { RAMGB int `json:"ramGB,omitempty"` NIC []NIC `json:"nics,omitempty"` Storage []Storage `json:"storage,omitempty"` CPU CPU `json:"cpu,omitempty"` }
HardwareDetails collects all of the information about hardware discovered on the host.
func (*HardwareDetails) DeepCopy ¶
func (in *HardwareDetails) DeepCopy() *HardwareDetails
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HardwareDetails.
func (*HardwareDetails) DeepCopyInto ¶
func (in *HardwareDetails) DeepCopyInto(out *HardwareDetails)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HetznerBareMetalHost ¶
type HetznerBareMetalHost struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec HetznerBareMetalHostSpec `json:"spec,omitempty"` Status HetznerBareMetalHostStatus `json:"status,omitempty"` }
HetznerBareMetalHost is the Schema for the hetznerbaremetalhosts API.
func (*HetznerBareMetalHost) ClearError ¶
func (host *HetznerBareMetalHost) ClearError()
ClearError removes the error on the host and resets the error count to 0.
func (*HetznerBareMetalHost) ClearRebootAnnotations ¶
func (host *HetznerBareMetalHost) ClearRebootAnnotations()
ClearRebootAnnotations deletes all reboot annotations that exist on the host.
func (*HetznerBareMetalHost) DeepCopy ¶
func (in *HetznerBareMetalHost) DeepCopy() *HetznerBareMetalHost
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerBareMetalHost.
func (*HetznerBareMetalHost) DeepCopyInto ¶
func (in *HetznerBareMetalHost) DeepCopyInto(out *HetznerBareMetalHost)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HetznerBareMetalHost) DeepCopyObject ¶
func (in *HetznerBareMetalHost) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*HetznerBareMetalHost) Default ¶
func (host *HetznerBareMetalHost) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type.
func (*HetznerBareMetalHost) GetConditions ¶
func (host *HetznerBareMetalHost) GetConditions() clusterv1.Conditions
GetConditions returns the observations of the operational state of the HetznerBareMetalHost resource.
func (*HetznerBareMetalHost) HasHardwareReboot ¶
func (host *HetznerBareMetalHost) HasHardwareReboot() bool
HasHardwareReboot returns a boolean indicating whether hardware reboot exists for the server.
func (*HetznerBareMetalHost) HasRebootAnnotation ¶
func (host *HetznerBareMetalHost) HasRebootAnnotation() bool
HasRebootAnnotation checks for the existence of reboot annotations and returns true if at least one exists.
func (*HetznerBareMetalHost) HasSoftwareReboot ¶
func (host *HetznerBareMetalHost) HasSoftwareReboot() bool
HasSoftwareReboot returns a boolean indicating whether software reboot exists for server.
func (*HetznerBareMetalHost) NeedsProvisioning ¶
func (host *HetznerBareMetalHost) NeedsProvisioning() bool
NeedsProvisioning compares the settings with the provisioning status and returns true when more work is needed or false otherwise.
func (*HetznerBareMetalHost) SetConditions ¶
func (host *HetznerBareMetalHost) SetConditions(conditions clusterv1.Conditions)
SetConditions sets the underlying service state of the HetznerBareMetalHost to the predescribed clusterv1.Conditions.
func (*HetznerBareMetalHost) SetError ¶
func (host *HetznerBareMetalHost) SetError(errType ErrorType, errMessage string)
SetError updates the error type and message in the status struct and increases the ErrorCount.
func (*HetznerBareMetalHost) UpdateOSSSHStatus ¶
func (host *HetznerBareMetalHost) UpdateOSSSHStatus(secret corev1.Secret) error
UpdateOSSSHStatus modifies the ssh status with the last chosen ssh secret.
func (*HetznerBareMetalHost) UpdateRescueSSHStatus ¶
func (host *HetznerBareMetalHost) UpdateRescueSSHStatus(secret corev1.Secret) error
UpdateRescueSSHStatus modifies the ssh status with the last chosen ssh secret.
type HetznerBareMetalHostList ¶
type HetznerBareMetalHostList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []HetznerBareMetalHost `json:"items"` }
HetznerBareMetalHostList contains a list of HetznerBareMetalHost.
func (*HetznerBareMetalHostList) DeepCopy ¶
func (in *HetznerBareMetalHostList) DeepCopy() *HetznerBareMetalHostList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerBareMetalHostList.
func (*HetznerBareMetalHostList) DeepCopyInto ¶
func (in *HetznerBareMetalHostList) DeepCopyInto(out *HetznerBareMetalHostList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HetznerBareMetalHostList) DeepCopyObject ¶
func (in *HetznerBareMetalHostList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HetznerBareMetalHostSpec ¶
type HetznerBareMetalHostSpec struct { // ServerID defines the ID of the server provided by Hetzner. // Find it on your Hetzner robot dashboard. ServerID int `json:"serverID"` // RootDeviceHints provides guidance about how to choose the device for the image // being provisioned. They need to be specified to provision the host. // +optional RootDeviceHints *RootDeviceHints `json:"rootDeviceHints,omitempty"` // ConsumerRef is a reference to the HetznerBareMetalMachine // that is using this host. When it is not empty, the host is considered "in use". // +optional ConsumerRef *corev1.ObjectReference `json:"consumerRef,omitempty"` // MaintenanceMode indicates that a machine is supposed to be deprovisioned // and won't be selected by any Hetzner bare metal machine. MaintenanceMode *bool `json:"maintenanceMode,omitempty"` // Description is a human-entered text used to help identify the host. // It can be used to store some valuable information about the host. // +optional Description string `json:"description,omitempty"` // Status contains all status information. The controller writes this status. // As some cannot be regenerated during any reconcilement, the status // is in the specs of the object - not the actual status. DO NOT EDIT!!! // +optional Status ControllerGeneratedStatus `json:"status,omitempty"` }
HetznerBareMetalHostSpec defines the desired state of HetznerBareMetalHost.
func (*HetznerBareMetalHostSpec) DeepCopy ¶
func (in *HetznerBareMetalHostSpec) DeepCopy() *HetznerBareMetalHostSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerBareMetalHostSpec.
func (*HetznerBareMetalHostSpec) DeepCopyInto ¶
func (in *HetznerBareMetalHostSpec) DeepCopyInto(out *HetznerBareMetalHostSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HetznerBareMetalHostStatus ¶
type HetznerBareMetalHostStatus struct{}
HetznerBareMetalHostStatus defines the observed state of HetznerBareMetalHost.
func (*HetznerBareMetalHostStatus) DeepCopy ¶
func (in *HetznerBareMetalHostStatus) DeepCopy() *HetznerBareMetalHostStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerBareMetalHostStatus.
func (*HetznerBareMetalHostStatus) DeepCopyInto ¶
func (in *HetznerBareMetalHostStatus) DeepCopyInto(out *HetznerBareMetalHostStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HetznerBareMetalHostWebhook ¶
type HetznerBareMetalHostWebhook struct {
// contains filtered or unexported fields
}
HetznerBareMetalHostWebhook implements validating and defaulting webhook for HetznerBareMetalHost. +k8s:deepcopy-gen=false
func (*HetznerBareMetalHostWebhook) SetupWebhookWithManager ¶
func (hw *HetznerBareMetalHostWebhook) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager initializes webhook manager for HetznerBareMetalHost.
func (*HetznerBareMetalHostWebhook) ValidateCreate ¶
func (hw *HetznerBareMetalHostWebhook) ValidateCreate(ctx context.Context, obj runtime.Object) (admission.Warnings, error)
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*HetznerBareMetalHostWebhook) ValidateDelete ¶
func (hw *HetznerBareMetalHostWebhook) ValidateDelete(_ context.Context, _ runtime.Object) (admission.Warnings, error)
ValidateDelete implements webhook.Validator so a webhook will be registered for the type.
func (*HetznerBareMetalHostWebhook) ValidateUpdate ¶
func (hw *HetznerBareMetalHostWebhook) ValidateUpdate(_ context.Context, oldObj, newObj runtime.Object) (admission.Warnings, error)
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.
type HetznerBareMetalMachine ¶
type HetznerBareMetalMachine struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ObjectMeta `json:"metadata,omitempty"` // +optional Spec HetznerBareMetalMachineSpec `json:"spec,omitempty"` // +optional Status HetznerBareMetalMachineStatus `json:"status,omitempty"` }
HetznerBareMetalMachine is the Schema for the hetznerbaremetalmachines API. +kubebuilder:object:root=true +kubebuilder:subresource:status +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:resource:path=hetznerbaremetalmachines,scope=Namespaced,categories=cluster-api,shortName=hbmm +kubebuilder:storageversion +kubebuilder:printcolumn:name="Cluster",type="string",JSONPath=".metadata.labels.cluster\\.x-k8s\\.io/cluster-name",description="Cluster to which this HetznerBareMetalMachine belongs" +kubebuilder:printcolumn:name="Host",type="string",JSONPath=".metadata.annotations.infrastructure\\.cluster\\.x-k8s\\.io/HetznerBareMetalHost",description="HetznerBareMetalHost" +kubebuilder:printcolumn:name="Machine",type="string",JSONPath=".metadata.ownerReferences[?(@.kind==\"Machine\")].name",description="Machine object which owns with this HetznerBareMetalMachine" +kubebuilder:printcolumn:name="Phase",type="string",JSONPath=".status.phase",description="HetznerBareMetalMachine status such as Pending/Provisioning/Running etc" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="Time duration since creation of HetznerBareMetalMachine" +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].reason" +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].message"
func (*HetznerBareMetalMachine) DeepCopy ¶
func (in *HetznerBareMetalMachine) DeepCopy() *HetznerBareMetalMachine
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerBareMetalMachine.
func (*HetznerBareMetalMachine) DeepCopyInto ¶
func (in *HetznerBareMetalMachine) DeepCopyInto(out *HetznerBareMetalMachine)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HetznerBareMetalMachine) DeepCopyObject ¶
func (in *HetznerBareMetalMachine) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*HetznerBareMetalMachine) Default ¶
func (bmMachine *HetznerBareMetalMachine) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type.
func (*HetznerBareMetalMachine) GetConditions ¶
func (bmMachine *HetznerBareMetalMachine) GetConditions() clusterv1.Conditions
GetConditions returns the observations of the operational state of the HetznerBareMetalMachine resource.
func (*HetznerBareMetalMachine) HasHostAnnotation ¶
func (bmMachine *HetznerBareMetalMachine) HasHostAnnotation() bool
HasHostAnnotation checks whether the annotation that references a host exists.
func (*HetznerBareMetalMachine) SetConditions ¶
func (bmMachine *HetznerBareMetalMachine) SetConditions(conditions clusterv1.Conditions)
SetConditions sets the underlying service state of the HetznerBareMetalMachine to the predescribed clusterv1.Conditions.
func (*HetznerBareMetalMachine) SetFailure ¶
func (bmMachine *HetznerBareMetalMachine) SetFailure(reason capierrors.MachineStatusError, message string)
SetFailure sets a failure reason and message.
func (*HetznerBareMetalMachine) SetupWebhookWithManager ¶
func (bmMachine *HetznerBareMetalMachine) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager initializes webhook manager for HetznerBareMetalMachine.
func (*HetznerBareMetalMachine) ValidateCreate ¶
func (bmMachine *HetznerBareMetalMachine) ValidateCreate() (admission.Warnings, error)
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*HetznerBareMetalMachine) ValidateDelete ¶
func (bmMachine *HetznerBareMetalMachine) ValidateDelete() (admission.Warnings, error)
ValidateDelete implements webhook.Validator so a webhook will be registered for the type.
func (*HetznerBareMetalMachine) ValidateUpdate ¶
func (bmMachine *HetznerBareMetalMachine) ValidateUpdate(old runtime.Object) (admission.Warnings, error)
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.
type HetznerBareMetalMachineList ¶
type HetznerBareMetalMachineList struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ListMeta `json:"metadata,omitempty"` Items []HetznerBareMetalMachine `json:"items"` }
HetznerBareMetalMachineList contains a list of HetznerBareMetalMachine.
func (*HetznerBareMetalMachineList) DeepCopy ¶
func (in *HetznerBareMetalMachineList) DeepCopy() *HetznerBareMetalMachineList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerBareMetalMachineList.
func (*HetznerBareMetalMachineList) DeepCopyInto ¶
func (in *HetznerBareMetalMachineList) DeepCopyInto(out *HetznerBareMetalMachineList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HetznerBareMetalMachineList) DeepCopyObject ¶
func (in *HetznerBareMetalMachineList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HetznerBareMetalMachineSpec ¶
type HetznerBareMetalMachineSpec struct { // ProviderID will be the hetznerbaremetalmachine which is set by the controller // in the `hcloud://bm-<server-id>` format. // +optional ProviderID *string `json:"providerID,omitempty"` // InstallImage is the configuration that is used for the autosetup configuration for installing an OS via InstallImage. InstallImage InstallImage `json:"installImage"` // HostSelector specifies matching criteria for labels on HetznerBareMetalHosts. // This is used to limit the set of HetznerBareMetalHost objects considered for // claiming for a HetznerBareMetalMachine. // +optional HostSelector HostSelector `json:"hostSelector,omitempty"` // SSHSpec gives a reference on the secret where SSH details are specified as well as ports for SSH. SSHSpec SSHSpec `json:"sshSpec,omitempty"` }
HetznerBareMetalMachineSpec defines the desired state of HetznerBareMetalMachine.
func (*HetznerBareMetalMachineSpec) DeepCopy ¶
func (in *HetznerBareMetalMachineSpec) DeepCopy() *HetznerBareMetalMachineSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerBareMetalMachineSpec.
func (*HetznerBareMetalMachineSpec) DeepCopyInto ¶
func (in *HetznerBareMetalMachineSpec) DeepCopyInto(out *HetznerBareMetalMachineSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HetznerBareMetalMachineStatus ¶
type HetznerBareMetalMachineStatus struct { // LastUpdated identifies when this status was last observed. // +optional LastUpdated *metav1.Time `json:"lastUpdated,omitempty"` // FailureReason will be set in the event that there is a terminal problem. // +optional FailureReason *capierrors.MachineStatusError `json:"failureReason,omitempty"` // FailureMessage will be set in the event that there is a terminal problem. // +optional FailureMessage *string `json:"failureMessage,omitempty"` // Addresses is a list of addresses assigned to the machine. // This field is copied from the infrastructure provider reference. // +optional Addresses []clusterv1.MachineAddress `json:"addresses,omitempty"` // Ready is the state of the hetznerbaremetalmachine. // +optional Ready bool `json:"ready"` // Phase represents the current phase of HetznerBareMetalMachineStatus actuation. // E.g. Pending, Running, Terminating, Failed, etc. // +optional Phase clusterv1.MachinePhase `json:"phase,omitempty"` // Conditions define the current service state of the HetznerBareMetalMachine. // +optional Conditions clusterv1.Conditions `json:"conditions,omitempty"` }
HetznerBareMetalMachineStatus defines the observed state of HetznerBareMetalMachine.
func (*HetznerBareMetalMachineStatus) DeepCopy ¶
func (in *HetznerBareMetalMachineStatus) DeepCopy() *HetznerBareMetalMachineStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerBareMetalMachineStatus.
func (*HetznerBareMetalMachineStatus) DeepCopyInto ¶
func (in *HetznerBareMetalMachineStatus) DeepCopyInto(out *HetznerBareMetalMachineStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HetznerBareMetalMachineTemplate ¶
type HetznerBareMetalMachineTemplate struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ObjectMeta `json:"metadata,omitempty"` // +optional Spec HetznerBareMetalMachineTemplateSpec `json:"spec,omitempty"` }
HetznerBareMetalMachineTemplate is the Schema for the hetznerbaremetalmachinetemplates API. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="Time duration since creation of HetznerBareMetalMachineTemplate" +kubebuilder:resource:path=hetznerbaremetalmachinetemplates,scope=Namespaced,categories=cluster-api,shortName=hbmmt +kubebuilder:storageversion
func (*HetznerBareMetalMachineTemplate) DeepCopy ¶
func (in *HetznerBareMetalMachineTemplate) DeepCopy() *HetznerBareMetalMachineTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerBareMetalMachineTemplate.
func (*HetznerBareMetalMachineTemplate) DeepCopyInto ¶
func (in *HetznerBareMetalMachineTemplate) DeepCopyInto(out *HetznerBareMetalMachineTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HetznerBareMetalMachineTemplate) DeepCopyObject ¶
func (in *HetznerBareMetalMachineTemplate) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HetznerBareMetalMachineTemplateList ¶
type HetznerBareMetalMachineTemplateList struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ListMeta `json:"metadata,omitempty"` Items []HetznerBareMetalMachineTemplate `json:"items"` }
HetznerBareMetalMachineTemplateList contains a list of HetznerBareMetalMachineTemplate.
func (*HetznerBareMetalMachineTemplateList) DeepCopy ¶
func (in *HetznerBareMetalMachineTemplateList) DeepCopy() *HetznerBareMetalMachineTemplateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerBareMetalMachineTemplateList.
func (*HetznerBareMetalMachineTemplateList) DeepCopyInto ¶
func (in *HetznerBareMetalMachineTemplateList) DeepCopyInto(out *HetznerBareMetalMachineTemplateList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HetznerBareMetalMachineTemplateList) DeepCopyObject ¶
func (in *HetznerBareMetalMachineTemplateList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HetznerBareMetalMachineTemplateResource ¶
type HetznerBareMetalMachineTemplateResource struct { // Spec is the specification of the desired behavior of the machine. Spec HetznerBareMetalMachineSpec `json:"spec"` }
HetznerBareMetalMachineTemplateResource describes the data needed to create a HetznerBareMetalMachine from a template.
func (*HetznerBareMetalMachineTemplateResource) DeepCopy ¶
func (in *HetznerBareMetalMachineTemplateResource) DeepCopy() *HetznerBareMetalMachineTemplateResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerBareMetalMachineTemplateResource.
func (*HetznerBareMetalMachineTemplateResource) DeepCopyInto ¶
func (in *HetznerBareMetalMachineTemplateResource) DeepCopyInto(out *HetznerBareMetalMachineTemplateResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HetznerBareMetalMachineTemplateSpec ¶
type HetznerBareMetalMachineTemplateSpec struct {
Template HetznerBareMetalMachineTemplateResource `json:"template"`
}
HetznerBareMetalMachineTemplateSpec defines the desired state of HetznerBareMetalMachineTemplate.
func (*HetznerBareMetalMachineTemplateSpec) DeepCopy ¶
func (in *HetznerBareMetalMachineTemplateSpec) DeepCopy() *HetznerBareMetalMachineTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerBareMetalMachineTemplateSpec.
func (*HetznerBareMetalMachineTemplateSpec) DeepCopyInto ¶
func (in *HetznerBareMetalMachineTemplateSpec) DeepCopyInto(out *HetznerBareMetalMachineTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HetznerBareMetalMachineTemplateWebhook ¶
type HetznerBareMetalMachineTemplateWebhook struct{}
HetznerBareMetalMachineTemplateWebhook implements a custom validation webhook for HetznerBareMetalMachineTemplate. +kubebuilder:object:generate=false
func (*HetznerBareMetalMachineTemplateWebhook) SetupWebhookWithManager ¶
func (r *HetznerBareMetalMachineTemplateWebhook) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager initializes webhook manager for HetznerBareMetalMachineTemplate.
func (*HetznerBareMetalMachineTemplateWebhook) ValidateCreate ¶
func (r *HetznerBareMetalMachineTemplateWebhook) ValidateCreate(_ context.Context, raw runtime.Object) (admission.Warnings, error)
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*HetznerBareMetalMachineTemplateWebhook) ValidateDelete ¶
func (r *HetznerBareMetalMachineTemplateWebhook) ValidateDelete(_ context.Context, _ runtime.Object) (admission.Warnings, error)
ValidateDelete implements webhook.Validator so a webhook will be registered for the type.
func (*HetznerBareMetalMachineTemplateWebhook) ValidateUpdate ¶
func (r *HetznerBareMetalMachineTemplateWebhook) ValidateUpdate(ctx context.Context, oldRaw runtime.Object, newRaw runtime.Object) (admission.Warnings, error)
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.
type HetznerBareMetalRemediation ¶
type HetznerBareMetalRemediation struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ObjectMeta `json:"metadata,omitempty"` // +optional Spec HetznerBareMetalRemediationSpec `json:"spec,omitempty"` // +optional Status HetznerBareMetalRemediationStatus `json:"status,omitempty"` }
HetznerBareMetalRemediation is the Schema for the hetznerbaremetalremediations API.
func (*HetznerBareMetalRemediation) DeepCopy ¶
func (in *HetznerBareMetalRemediation) DeepCopy() *HetznerBareMetalRemediation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerBareMetalRemediation.
func (*HetznerBareMetalRemediation) DeepCopyInto ¶
func (in *HetznerBareMetalRemediation) DeepCopyInto(out *HetznerBareMetalRemediation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HetznerBareMetalRemediation) DeepCopyObject ¶
func (in *HetznerBareMetalRemediation) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*HetznerBareMetalRemediation) Default ¶
func (r *HetznerBareMetalRemediation) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type.
func (*HetznerBareMetalRemediation) SetupWebhookWithManager ¶
func (r *HetznerBareMetalRemediation) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager initializes webhook manager for HetznerBareMetalRemediation.
func (*HetznerBareMetalRemediation) ValidateCreate ¶
func (r *HetznerBareMetalRemediation) ValidateCreate() (admission.Warnings, error)
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*HetznerBareMetalRemediation) ValidateDelete ¶
func (r *HetznerBareMetalRemediation) ValidateDelete() (admission.Warnings, error)
ValidateDelete implements webhook.Validator so a webhook will be registered for the type.
func (*HetznerBareMetalRemediation) ValidateUpdate ¶
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.
type HetznerBareMetalRemediationList ¶
type HetznerBareMetalRemediationList struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ListMeta `json:"metadata,omitempty"` Items []HetznerBareMetalRemediation `json:"items"` }
HetznerBareMetalRemediationList contains a list of HetznerBareMetalRemediation.
func (*HetznerBareMetalRemediationList) DeepCopy ¶
func (in *HetznerBareMetalRemediationList) DeepCopy() *HetznerBareMetalRemediationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerBareMetalRemediationList.
func (*HetznerBareMetalRemediationList) DeepCopyInto ¶
func (in *HetznerBareMetalRemediationList) DeepCopyInto(out *HetznerBareMetalRemediationList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HetznerBareMetalRemediationList) DeepCopyObject ¶
func (in *HetznerBareMetalRemediationList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HetznerBareMetalRemediationSpec ¶
type HetznerBareMetalRemediationSpec struct { // Strategy field defines the remediation strategy to be applied. Strategy *RemediationStrategy `json:"strategy,omitempty"` }
HetznerBareMetalRemediationSpec defines the desired state of HetznerBareMetalRemediation.
func (*HetznerBareMetalRemediationSpec) DeepCopy ¶
func (in *HetznerBareMetalRemediationSpec) DeepCopy() *HetznerBareMetalRemediationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerBareMetalRemediationSpec.
func (*HetznerBareMetalRemediationSpec) DeepCopyInto ¶
func (in *HetznerBareMetalRemediationSpec) DeepCopyInto(out *HetznerBareMetalRemediationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HetznerBareMetalRemediationStatus ¶
type HetznerBareMetalRemediationStatus struct { // Phase represents the current phase of machine remediation. // E.g. Pending, Running, Done etc. // +optional Phase string `json:"phase,omitempty"` // RetryCount can be used as a counter during the remediation. // Field can hold number of reboots etc. // +optional RetryCount int `json:"retryCount,omitempty"` // LastRemediated identifies when the host was last remediated // +optional LastRemediated *metav1.Time `json:"lastRemediated,omitempty"` }
HetznerBareMetalRemediationStatus defines the observed state of HetznerBareMetalRemediation.
func (*HetznerBareMetalRemediationStatus) DeepCopy ¶
func (in *HetznerBareMetalRemediationStatus) DeepCopy() *HetznerBareMetalRemediationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerBareMetalRemediationStatus.
func (*HetznerBareMetalRemediationStatus) DeepCopyInto ¶
func (in *HetznerBareMetalRemediationStatus) DeepCopyInto(out *HetznerBareMetalRemediationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HetznerBareMetalRemediationTemplate ¶
type HetznerBareMetalRemediationTemplate struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ObjectMeta `json:"metadata,omitempty"` // +optional Spec HetznerBareMetalRemediationTemplateSpec `json:"spec,omitempty"` // +optional Status HetznerBareMetalRemediationTemplateStatus `json:"status,omitempty"` }
HetznerBareMetalRemediationTemplate is the Schema for the hetznerbaremetalremediationtemplates API.
func (*HetznerBareMetalRemediationTemplate) DeepCopy ¶
func (in *HetznerBareMetalRemediationTemplate) DeepCopy() *HetznerBareMetalRemediationTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerBareMetalRemediationTemplate.
func (*HetznerBareMetalRemediationTemplate) DeepCopyInto ¶
func (in *HetznerBareMetalRemediationTemplate) DeepCopyInto(out *HetznerBareMetalRemediationTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HetznerBareMetalRemediationTemplate) DeepCopyObject ¶
func (in *HetznerBareMetalRemediationTemplate) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*HetznerBareMetalRemediationTemplate) Default ¶
func (r *HetznerBareMetalRemediationTemplate) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type.
func (*HetznerBareMetalRemediationTemplate) SetupWebhookWithManager ¶
func (r *HetznerBareMetalRemediationTemplate) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager initializes webhook manager for HetznerBareMetalRemediationTemplate.
func (*HetznerBareMetalRemediationTemplate) ValidateCreate ¶
func (r *HetznerBareMetalRemediationTemplate) ValidateCreate() (admission.Warnings, error)
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*HetznerBareMetalRemediationTemplate) ValidateDelete ¶
func (r *HetznerBareMetalRemediationTemplate) ValidateDelete() (admission.Warnings, error)
ValidateDelete implements webhook.Validator so a webhook will be registered for the type.
func (*HetznerBareMetalRemediationTemplate) ValidateUpdate ¶
func (r *HetznerBareMetalRemediationTemplate) ValidateUpdate(runtime.Object) (admission.Warnings, error)
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.
type HetznerBareMetalRemediationTemplateList ¶
type HetznerBareMetalRemediationTemplateList struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ListMeta `json:"metadata,omitempty"` Items []HetznerBareMetalRemediationTemplate `json:"items"` }
HetznerBareMetalRemediationTemplateList contains a list of HetznerBareMetalRemediationTemplate.
func (*HetznerBareMetalRemediationTemplateList) DeepCopy ¶
func (in *HetznerBareMetalRemediationTemplateList) DeepCopy() *HetznerBareMetalRemediationTemplateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerBareMetalRemediationTemplateList.
func (*HetznerBareMetalRemediationTemplateList) DeepCopyInto ¶
func (in *HetznerBareMetalRemediationTemplateList) DeepCopyInto(out *HetznerBareMetalRemediationTemplateList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HetznerBareMetalRemediationTemplateList) DeepCopyObject ¶
func (in *HetznerBareMetalRemediationTemplateList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HetznerBareMetalRemediationTemplateResource ¶
type HetznerBareMetalRemediationTemplateResource struct { // Spec is the specification of the desired behavior of the HetznerBareMetalRemediation. Spec HetznerBareMetalRemediationSpec `json:"spec"` }
HetznerBareMetalRemediationTemplateResource describes the data needed to create a HetznerBareMetalRemediation from a template.
func (*HetznerBareMetalRemediationTemplateResource) DeepCopy ¶
func (in *HetznerBareMetalRemediationTemplateResource) DeepCopy() *HetznerBareMetalRemediationTemplateResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerBareMetalRemediationTemplateResource.
func (*HetznerBareMetalRemediationTemplateResource) DeepCopyInto ¶
func (in *HetznerBareMetalRemediationTemplateResource) DeepCopyInto(out *HetznerBareMetalRemediationTemplateResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HetznerBareMetalRemediationTemplateSpec ¶
type HetznerBareMetalRemediationTemplateSpec struct {
Template HetznerBareMetalRemediationTemplateResource `json:"template"`
}
HetznerBareMetalRemediationTemplateSpec defines the desired state of HetznerBareMetalRemediationTemplate.
func (*HetznerBareMetalRemediationTemplateSpec) DeepCopy ¶
func (in *HetznerBareMetalRemediationTemplateSpec) DeepCopy() *HetznerBareMetalRemediationTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerBareMetalRemediationTemplateSpec.
func (*HetznerBareMetalRemediationTemplateSpec) DeepCopyInto ¶
func (in *HetznerBareMetalRemediationTemplateSpec) DeepCopyInto(out *HetznerBareMetalRemediationTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HetznerBareMetalRemediationTemplateStatus ¶
type HetznerBareMetalRemediationTemplateStatus struct { // HetznerBareMetalRemediationStatus defines the observed state of HetznerBareMetalRemediation Status HetznerBareMetalRemediationStatus `json:"status"` }
HetznerBareMetalRemediationTemplateStatus defines the observed state of HetznerBareMetalRemediationTemplate.
func (*HetznerBareMetalRemediationTemplateStatus) DeepCopy ¶
func (in *HetznerBareMetalRemediationTemplateStatus) DeepCopy() *HetznerBareMetalRemediationTemplateStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerBareMetalRemediationTemplateStatus.
func (*HetznerBareMetalRemediationTemplateStatus) DeepCopyInto ¶
func (in *HetznerBareMetalRemediationTemplateStatus) DeepCopyInto(out *HetznerBareMetalRemediationTemplateStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HetznerCluster ¶
type HetznerCluster struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec HetznerClusterSpec `json:"spec,omitempty"` Status HetznerClusterStatus `json:"status,omitempty"` }
HetznerCluster is the Schema for the hetznercluster API.
func (*HetznerCluster) ClusterTagKey ¶
func (r *HetznerCluster) ClusterTagKey() string
ClusterTagKey generates the key for resources associated with a cluster.
func (*HetznerCluster) DeepCopy ¶
func (in *HetznerCluster) DeepCopy() *HetznerCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerCluster.
func (*HetznerCluster) DeepCopyInto ¶
func (in *HetznerCluster) DeepCopyInto(out *HetznerCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HetznerCluster) DeepCopyObject ¶
func (in *HetznerCluster) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*HetznerCluster) Default ¶
func (r *HetznerCluster) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type.
func (*HetznerCluster) GetConditions ¶
func (r *HetznerCluster) GetConditions() clusterv1.Conditions
GetConditions returns the observations of the operational state of the HetznerCluster resource.
func (*HetznerCluster) Hub ¶
func (*HetznerCluster) Hub()
Hub marks HetznerCluster as a conversion hub.
func (*HetznerCluster) SetConditions ¶
func (r *HetznerCluster) SetConditions(conditions clusterv1.Conditions)
SetConditions sets the underlying service state of the HetznerCluster to the predescribed clusterv1.Conditions.
func (*HetznerCluster) SetupWebhookWithManager ¶
func (r *HetznerCluster) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager initializes webhook manager for HetznerCluster.
func (*HetznerCluster) ValidateCreate ¶
func (r *HetznerCluster) ValidateCreate() (admission.Warnings, error)
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*HetznerCluster) ValidateDelete ¶
func (r *HetznerCluster) ValidateDelete() (admission.Warnings, error)
ValidateDelete implements webhook.Validator so a webhook will be registered for the type.
func (*HetznerCluster) ValidateUpdate ¶
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.
type HetznerClusterList ¶
type HetznerClusterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []HetznerCluster `json:"items"` }
HetznerClusterList contains a list of HetznerCluster +kubebuilder:object:root=true +k8s:defaulter-gen=true
func (*HetznerClusterList) DeepCopy ¶
func (in *HetznerClusterList) DeepCopy() *HetznerClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerClusterList.
func (*HetznerClusterList) DeepCopyInto ¶
func (in *HetznerClusterList) DeepCopyInto(out *HetznerClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HetznerClusterList) DeepCopyObject ¶
func (in *HetznerClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*HetznerClusterList) Hub ¶
func (*HetznerClusterList) Hub()
Hub marks HetznerClusterList as a conversion hub.
func (*HetznerClusterList) SetupWebhookWithManager ¶
func (r *HetznerClusterList) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager initializes webhook manager for HetznerClusterList.
type HetznerClusterSpec ¶
type HetznerClusterSpec struct { // HCloudNetwork defines details about the private Network for Hetzner Cloud. If left empty, no private Network is configured. // +optional HCloudNetwork HCloudNetworkSpec `json:"hcloudNetwork"` // ControlPlaneRegion consists of a list of HCloud Regions (fsn, nbg, hel). Because HCloud Networks // have a very low latency we could assume in some use cases that a region is behaving like a zone. // https://kubernetes.io/docs/reference/labels-annotations-taints/#topologykubernetesiozone ControlPlaneRegions []Region `json:"controlPlaneRegions"` // SSHKeys are cluster wide. Valid values are a valid SSH key name. SSHKeys HetznerSSHKeys `json:"sshKeys"` // ControlPlaneEndpoint represents the endpoint used to communicate with the control plane. // +optional ControlPlaneEndpoint *clusterv1.APIEndpoint `json:"controlPlaneEndpoint,omitempty"` // ControlPlaneLoadBalancer is an optional configuration for customizing control plane behavior. ControlPlaneLoadBalancer LoadBalancerSpec `json:"controlPlaneLoadBalancer,omitempty"` // +optional HCloudPlacementGroups []HCloudPlacementGroupSpec `json:"hcloudPlacementGroups,omitempty"` // HetznerSecretRef is a reference to a token to be used when reconciling this cluster. // This is generated in the security section under API TOKENS. Read & write is necessary. HetznerSecret HetznerSecretRef `json:"hetznerSecretRef"` }
HetznerClusterSpec defines the desired state of HetznerCluster.
func (*HetznerClusterSpec) DeepCopy ¶
func (in *HetznerClusterSpec) DeepCopy() *HetznerClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerClusterSpec.
func (*HetznerClusterSpec) DeepCopyInto ¶
func (in *HetznerClusterSpec) DeepCopyInto(out *HetznerClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HetznerClusterStatus ¶
type HetznerClusterStatus struct { // +kubebuilder:default=false Ready bool `json:"ready"` // +optional Network *NetworkStatus `json:"networkStatus,omitempty"` ControlPlaneLoadBalancer *LoadBalancerStatus `json:"controlPlaneLoadBalancer,omitempty"` // +optional HCloudPlacementGroups []HCloudPlacementGroupStatus `json:"hcloudPlacementGroups,omitempty"` FailureDomains clusterv1.FailureDomains `json:"failureDomains,omitempty"` Conditions clusterv1.Conditions `json:"conditions,omitempty"` }
HetznerClusterStatus defines the observed state of HetznerCluster.
func (*HetznerClusterStatus) DeepCopy ¶
func (in *HetznerClusterStatus) DeepCopy() *HetznerClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerClusterStatus.
func (*HetznerClusterStatus) DeepCopyInto ¶
func (in *HetznerClusterStatus) DeepCopyInto(out *HetznerClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HetznerClusterTemplate ¶
type HetznerClusterTemplate struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec HetznerClusterTemplateSpec `json:"spec,omitempty"` }
HetznerClusterTemplate is the Schema for the hetznerclustertemplates API.
func (*HetznerClusterTemplate) DeepCopy ¶
func (in *HetznerClusterTemplate) DeepCopy() *HetznerClusterTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerClusterTemplate.
func (*HetznerClusterTemplate) DeepCopyInto ¶
func (in *HetznerClusterTemplate) DeepCopyInto(out *HetznerClusterTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HetznerClusterTemplate) DeepCopyObject ¶
func (in *HetznerClusterTemplate) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*HetznerClusterTemplate) Default ¶
func (r *HetznerClusterTemplate) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type.
func (*HetznerClusterTemplate) SetupWebhookWithManager ¶
func (r *HetznerClusterTemplate) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager initializes webhook manager for HetznerClusterTemplate.
func (*HetznerClusterTemplate) ValidateCreate ¶
func (r *HetznerClusterTemplate) ValidateCreate() (admission.Warnings, error)
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*HetznerClusterTemplate) ValidateDelete ¶
func (r *HetznerClusterTemplate) ValidateDelete() (admission.Warnings, error)
ValidateDelete implements webhook.Validator so a webhook will be registered for the type.
func (*HetznerClusterTemplate) ValidateUpdate ¶
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.
type HetznerClusterTemplateList ¶
type HetznerClusterTemplateList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []HetznerClusterTemplate `json:"items"` }
HetznerClusterTemplateList contains a list of HetznerClusterTemplate.
func (*HetznerClusterTemplateList) DeepCopy ¶
func (in *HetznerClusterTemplateList) DeepCopy() *HetznerClusterTemplateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerClusterTemplateList.
func (*HetznerClusterTemplateList) DeepCopyInto ¶
func (in *HetznerClusterTemplateList) DeepCopyInto(out *HetznerClusterTemplateList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HetznerClusterTemplateList) DeepCopyObject ¶
func (in *HetznerClusterTemplateList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HetznerClusterTemplateResource ¶
type HetznerClusterTemplateResource struct { // +optional ObjectMeta clusterv1.ObjectMeta `json:"metadata,omitempty"` Spec HetznerClusterSpec `json:"spec"` }
HetznerClusterTemplateResource contains spec for HetznerClusterSpec.
func (*HetznerClusterTemplateResource) DeepCopy ¶
func (in *HetznerClusterTemplateResource) DeepCopy() *HetznerClusterTemplateResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerClusterTemplateResource.
func (*HetznerClusterTemplateResource) DeepCopyInto ¶
func (in *HetznerClusterTemplateResource) DeepCopyInto(out *HetznerClusterTemplateResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HetznerClusterTemplateSpec ¶
type HetznerClusterTemplateSpec struct {
Template HetznerClusterTemplateResource `json:"template"`
}
HetznerClusterTemplateSpec defines the desired state of HetznerClusterTemplate.
func (*HetznerClusterTemplateSpec) DeepCopy ¶
func (in *HetznerClusterTemplateSpec) DeepCopy() *HetznerClusterTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerClusterTemplateSpec.
func (*HetznerClusterTemplateSpec) DeepCopyInto ¶
func (in *HetznerClusterTemplateSpec) DeepCopyInto(out *HetznerClusterTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HetznerSSHKeys ¶
type HetznerSSHKeys struct { // Hcloud defines the SSH keys used for hcloud. // +optional HCloud []SSHKey `json:"hcloud,omitempty"` // RobotRescueSecretRef defines the reference to the secret where the SSH key for the rescue system is stored. RobotRescueSecretRef SSHSecretRef `json:"robotRescueSecretRef,omitempty"` }
HetznerSSHKeys defines the global cluster-wide SSHKeys for HetznerCluster. It serves as the default for machines as well.
func (*HetznerSSHKeys) DeepCopy ¶
func (in *HetznerSSHKeys) DeepCopy() *HetznerSSHKeys
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerSSHKeys.
func (*HetznerSSHKeys) DeepCopyInto ¶
func (in *HetznerSSHKeys) DeepCopyInto(out *HetznerSSHKeys)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HetznerSecretKeyRef ¶
type HetznerSecretKeyRef struct { // HCloudToken defines the name of the key where the token for the Hetzner Cloud API is stored. // +optional // +kubebuilder:default=hcloud-token HCloudToken string `json:"hcloudToken"` // HetznerRobotUser defines the name of the key where the username for the Hetzner Robot API is stored. // +optional // +kubebuilder:default=hetzner-robot-user HetznerRobotUser string `json:"hetznerRobotUser"` // HetznerRobotPassword defines the name of the key where the password for the Hetzner Robot API is stored. // +optional // +kubebuilder:default=hetzner-robot-password HetznerRobotPassword string `json:"hetznerRobotPassword"` // SSHKey defines the name of the ssh key. // +optional // +kubebuilder:default=hcloud-ssh-key-name SSHKey string `json:"sshKey"` }
HetznerSecretKeyRef defines the key name of the HetznerSecret. Need to specify either HCloudToken or both HetznerRobotUser and HetznerRobotPassword.
func (*HetznerSecretKeyRef) DeepCopy ¶
func (in *HetznerSecretKeyRef) DeepCopy() *HetznerSecretKeyRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerSecretKeyRef.
func (*HetznerSecretKeyRef) DeepCopyInto ¶
func (in *HetznerSecretKeyRef) DeepCopyInto(out *HetznerSecretKeyRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HetznerSecretRef ¶
type HetznerSecretRef struct { // Name defines the name of the secret. // +kubebuilder:default=hetzner Name string `json:"name"` // Key defines the keys that are used in the secret. // Need to specify either HCloudToken or both HetznerRobotUser and HetznerRobotPassword. Key HetznerSecretKeyRef `json:"key"` }
HetznerSecretRef defines all the names of the secret and the relevant keys needed to access Hetzner API.
func (*HetznerSecretRef) DeepCopy ¶
func (in *HetznerSecretRef) DeepCopy() *HetznerSecretRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerSecretRef.
func (*HetznerSecretRef) DeepCopyInto ¶
func (in *HetznerSecretRef) DeepCopyInto(out *HetznerSecretRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HostSelector ¶
type HostSelector struct { // MatchLabels defines the key/value pairs of labels that must exist on a chosen BareMetalHost. // +optional MatchLabels map[string]string `json:"matchLabels,omitempty"` // MatchExpressions defines the label match expressions that must be true on a chosen BareMetalHost. // +optional MatchExpressions []HostSelectorRequirement `json:"matchExpressions,omitempty"` }
HostSelector specifies matching criteria for labels on BareMetalHosts. This is used to limit the set of BareMetalHost objects considered for claiming for a Machine.
func (*HostSelector) DeepCopy ¶
func (in *HostSelector) DeepCopy() *HostSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostSelector.
func (*HostSelector) DeepCopyInto ¶
func (in *HostSelector) DeepCopyInto(out *HostSelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HostSelectorRequirement ¶
type HostSelectorRequirement struct { // Key defines the key of the label that should be matched in the host object. Key string `json:"key"` // Operator defines the selection operator. Operator selection.Operator `json:"operator"` // Values define the values whose relation to the label value in the host machine is defined by the selection operator. Values []string `json:"values"` }
HostSelectorRequirement defines a requirement used for MatchExpressions to select host machines.
func (*HostSelectorRequirement) DeepCopy ¶
func (in *HostSelectorRequirement) DeepCopy() *HostSelectorRequirement
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostSelectorRequirement.
func (*HostSelectorRequirement) DeepCopyInto ¶
func (in *HostSelectorRequirement) DeepCopyInto(out *HostSelectorRequirement)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Image ¶
type Image struct { // URL defines the remote URL for downloading a tar, tar.gz, tar.bz, tar.bz2, tar.xz, tgz, tbz, txz image. URL string `json:"url,omitempty"` // Name defines the archive name after download. This has to be a valid name for Installimage. Name string `json:"name,omitempty"` // Path is the local path for a preinstalled image from upstream. Path string `json:"path,omitempty"` }
Image defines the properties for the autosetup config.
func (*Image) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Image.
func (*Image) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (Image) GetDetails ¶
GetDetails returns the path of the image and whether the image has to be downloaded.
type ImageType ¶
type ImageType string
ImageType defines the accepted image types.
const ( // ImageTypeTar defines the image type for tar files. ImageTypeTar ImageType = "tar" // ImageTypeTarGz defines the image type for tar.gz files. ImageTypeTarGz ImageType = "tar.gz" // ImageTypeTarBz defines the image type for tar.bz files. ImageTypeTarBz ImageType = "tar.bz" // ImageTypeTarBz2 defines the image type for tar.bz2 files. ImageTypeTarBz2 ImageType = "tar.bz2" // ImageTypeTarXz defines the image type for tar.xz files. ImageTypeTarXz ImageType = "tar.xz" // ImageTypeTgz defines the image type for tgz files. ImageTypeTgz ImageType = "tgz" // ImageTypeTbz defines the image type for tbz files. ImageTypeTbz ImageType = "tbz" // ImageTypeTxz defines the image type for txz files. ImageTypeTxz ImageType = "txz" )
type InstallImage ¶
type InstallImage struct { // Image is the image to be provisioned. It defines the image for baremetal machine. Image Image `json:"image"` // PostInstallScript is used for configuring commands that should be executed after installimage. // It is passed along with the installimage command. PostInstallScript string `json:"postInstallScript,omitempty"` // Partitions define the additional Partitions to be created in installimage. Partitions []Partition `json:"partitions"` // LVMDefinitions defines the logical volume definitions to be created. // +optional LVMDefinitions []LVMDefinition `json:"logicalVolumeDefinitions,omitempty"` // BTRFSDefinitions define the btrfs subvolume definitions to be created. // +optional BTRFSDefinitions []BTRFSDefinition `json:"btrfsDefinitions,omitempty"` // Swraid defines the SWRAID in InstallImage. It enables or disables raids. Set 1 to enable. // +optional // +kubebuilder:default=0 // +kubebuilder:validation:Enum=0;1; Swraid int `json:"swraid"` // SwraidLevel defines the SWRAIDLEVEL in InstallImage. Only relevant if the raid is enabled. // Pick one of 0,1,5,6,10. Ignored if Swraid=0. // +optional // +kubebuilder:default=1 // +kubebuilder:validation:Enum=0;1;5;6;10; SwraidLevel int `json:"swraidLevel,omitempty"` }
InstallImage defines the configuration for InstallImage.
func (*InstallImage) DeepCopy ¶
func (in *InstallImage) DeepCopy() *InstallImage
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstallImage.
func (*InstallImage) DeepCopyInto ¶
func (in *InstallImage) DeepCopyInto(out *InstallImage)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LVMDefinition ¶
type LVMDefinition struct { // VG defines the vg name. VG string `json:"vg"` // Name defines the volume name. Name string `json:"name"` // Mount defines the mountpath. Mount string `json:"mount"` // FileSystem defines the filesystem for this logical volume. FileSystem string `json:"filesystem"` // Size defines the size in M/G/T or MiB/GiB/TiB. Size string `json:"size"` }
LVMDefinition defines the logical volume definitions to be created.
func (*LVMDefinition) DeepCopy ¶
func (in *LVMDefinition) DeepCopy() *LVMDefinition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LVMDefinition.
func (*LVMDefinition) DeepCopyInto ¶
func (in *LVMDefinition) DeepCopyInto(out *LVMDefinition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LoadBalancerAlgorithmType ¶
type LoadBalancerAlgorithmType string
LoadBalancerAlgorithmType defines the Algorithm type. +kubebuilder:validation:Enum=round_robin;least_connections
func (*LoadBalancerAlgorithmType) HCloudAlgorithmType ¶
func (algorithmType *LoadBalancerAlgorithmType) HCloudAlgorithmType() hcloud.LoadBalancerAlgorithmType
HCloudAlgorithmType converts LoadBalancerAlgorithmType to hcloud type.
type LoadBalancerServiceSpec ¶
type LoadBalancerServiceSpec struct { // Protocol specifies the supported load balancer Protocol. It could be one of the https, http, or tcp. // +kubebuilder:validation:Enum=http;https;tcp Protocol string `json:"protocol,omitempty"` // ListenPort, i.e. source port, defines the incoming port open on the load balancer. It must be a valid port range (1-65535). // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=65535 ListenPort int `json:"listenPort,omitempty"` // DestinationPort defines the port on the server. It must be a valid port range (1-65535). // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=65535 DestinationPort int `json:"destinationPort,omitempty"` }
LoadBalancerServiceSpec defines a load balancer Target.
func (*LoadBalancerServiceSpec) DeepCopy ¶
func (in *LoadBalancerServiceSpec) DeepCopy() *LoadBalancerServiceSpec
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 LoadBalancerSpec ¶
type LoadBalancerSpec struct { // Enabled specifies if a load balancer should be created. // +optional // +kubebuilder:default=true Enabled bool `json:"enabled"` // Name defines the name of the load balancer. It can be specified in order to use an existing load balancer. // +optional Name *string `json:"name,omitempty"` // Algorithm defines the type of load balancer algorithm. It could be round_robin or least_connection. The default value is "round_robin". // +optional // +kubebuilder:validation:Enum=round_robin;least_connections // +kubebuilder:default=round_robin Algorithm LoadBalancerAlgorithmType `json:"algorithm,omitempty"` // Type defines the type of load balancer. It could be one of lb11, lb21, or lb31. // +optional // +kubebuilder:validation:Enum=lb11;lb21;lb31 // +kubebuilder:default=lb11 Type string `json:"type,omitempty"` // Port defines the API Server port. It must be a valid port range (1-65535). If omitted, the default value is 6443. // +optional // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=65535 // +kubebuilder:default=6443 Port int `json:"port,omitempty"` // ExtraServices defines how traffic will be routed from the load balancer to your target server. // +optional ExtraServices []LoadBalancerServiceSpec `json:"extraServices,omitempty"` // Region contains the name of the HCloud location where the load balancer is running. Region Region `json:"region,omitempty"` }
LoadBalancerSpec defines the desired state of the Control Plane load balancer.
func (*LoadBalancerSpec) DeepCopy ¶
func (in *LoadBalancerSpec) DeepCopy() *LoadBalancerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerSpec.
func (*LoadBalancerSpec) DeepCopyInto ¶
func (in *LoadBalancerSpec) DeepCopyInto(out *LoadBalancerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LoadBalancerStatus ¶
type LoadBalancerStatus struct { ID int64 `json:"id,omitempty"` IPv4 string `json:"ipv4,omitempty"` IPv6 string `json:"ipv6,omitempty"` InternalIP string `json:"internalIP,omitempty"` Target []LoadBalancerTarget `json:"targets,omitempty"` Protected bool `json:"protected,omitempty"` }
LoadBalancerStatus defines the observed state of the control plane load balancer.
func (*LoadBalancerStatus) DeepCopy ¶
func (in *LoadBalancerStatus) DeepCopy() *LoadBalancerStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerStatus.
func (*LoadBalancerStatus) DeepCopyInto ¶
func (in *LoadBalancerStatus) DeepCopyInto(out *LoadBalancerStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LoadBalancerTarget ¶
type LoadBalancerTarget struct { Type LoadBalancerTargetType `json:"type"` ServerID int64 `json:"serverID,omitempty"` IP string `json:"ip,omitempty"` }
LoadBalancerTarget defines the target of a load balancer.
func (*LoadBalancerTarget) DeepCopy ¶
func (in *LoadBalancerTarget) DeepCopy() *LoadBalancerTarget
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerTarget.
func (*LoadBalancerTarget) DeepCopyInto ¶
func (in *LoadBalancerTarget) DeepCopyInto(out *LoadBalancerTarget)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LoadBalancerTargetType ¶
type LoadBalancerTargetType string
LoadBalancerTargetType defines the target type. +kubebuilder:validation:Enum=server;ip
type NIC ¶
type NIC struct { // The name of the network interface, e.g. "en0" Name string `json:"name,omitempty"` // The vendor and product IDs of the NIC, e.g. "0x8086 0x1572" Model string `json:"model,omitempty"` // The device MAC address // +kubebuilder:validation:Pattern=`[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}` MAC string `json:"mac,omitempty"` // The IP address of the interface. This will be an IPv4 or IPv6 address // if one is present. If both IPv4 and IPv6 addresses are present in a // dual-stack environment, two nics will be output, one with each IP. IP string `json:"ip,omitempty"` // The speed of the device in Gigabits per second SpeedMbps int `json:"speedMbps,omitempty"` }
NIC describes one network interface on the host.
func (*NIC) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NIC.
func (*NIC) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkStatus ¶
type NetworkStatus struct { ID int64 `json:"id,omitempty"` Labels map[string]string `json:"-"` AttachedServers []int64 `json:"attachedServers,omitempty"` }
NetworkStatus defines the observed state of the HCloud Private Network.
func (*NetworkStatus) DeepCopy ¶
func (in *NetworkStatus) DeepCopy() *NetworkStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkStatus.
func (*NetworkStatus) DeepCopyInto ¶
func (in *NetworkStatus) DeepCopyInto(out *NetworkStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Partition ¶
type Partition struct { // Mount defines the mount path for this filesystem. // Keyword 'lvm' to use this PART as volume group (VG) for LVM. // Identifier 'btrfs.X' to use this PART as volume for // btrfs subvolumes. X can be replaced with a unique // alphanumeric keyword. NOTE: no support for btrfs multi-device volumes. Mount string `json:"mount"` // FileSystem can be ext2, ext3, ext4, btrfs, reiserfs, xfs, swap // or name of the LVM volume group (VG), if this PART is a VG. FileSystem string `json:"fileSystem"` // Size can use the keyword 'all' to assign all the remaining space of the drive to the last partition. // You can use M/G/T for unit specification in MiB/GiB/TiB. Size string `json:"size"` }
Partition defines the additional Partitions to be created.
func (*Partition) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Partition.
func (*Partition) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProvisioningState ¶
type ProvisioningState string
ProvisioningState defines the states of provisioning of the host.
const ( // StateNone means the state is unknown. StateNone ProvisioningState = "" // StatePreparing means we are checking if the server exists and preparing it. StatePreparing ProvisioningState = "preparing" // StateRegistering means we are getting hardware details. StateRegistering ProvisioningState = "registering" // StateImageInstalling means we install a new image. StateImageInstalling ProvisioningState = "image-installing" // StateProvisioning means we are sending userData to the host and booting the machine. StateProvisioning ProvisioningState = "provisioning" // StateEnsureProvisioned means we are ensuring the reboot worked and cloud-init was executed successfully. StateEnsureProvisioned ProvisioningState = "ensure-provisioned" // StateProvisioned means we have sent userData to the host and booted the machine. StateProvisioned ProvisioningState = "provisioned" // StateDeprovisioning means we are removing all machine-specific information from the host. StateDeprovisioning ProvisioningState = "deprovisioning" // StateDeleting means we are deleting the host. StateDeleting ProvisioningState = "deleting" )
type PublicNetworkSpec ¶
type PublicNetworkSpec struct { // EnableIPv4 defines whether server has IPv4 address enabled. // As Hetzner load balancers require an IPv4 address, this setting will be ignored and set to true if there is no private net. // +optional // +kubebuilder:default=true EnableIPv4 bool `json:"enableIPv4"` // EnableIPv6 defines whether server has IPv6 addresses enabled. // +optional // +kubebuilder:default=true EnableIPv6 bool `json:"enableIPv6"` }
PublicNetworkSpec contains specs about the public network spec of an HCloud server.
func (*PublicNetworkSpec) DeepCopy ¶
func (in *PublicNetworkSpec) DeepCopy() *PublicNetworkSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PublicNetworkSpec.
func (*PublicNetworkSpec) DeepCopyInto ¶
func (in *PublicNetworkSpec) DeepCopyInto(out *PublicNetworkSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Raid ¶
type Raid struct { // WWN defines a list of unique storage identifiers used for raid setups. WWN []string `json:"wwn,omitempty"` }
Raid can be used instead of WWN to point to multiple storage devices.
func (*Raid) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Raid.
func (*Raid) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RebootAnnotationArguments ¶
type RebootAnnotationArguments struct {
Type RebootType `json:"type"`
}
RebootAnnotationArguments defines the arguments of the RebootAnnotation type.
func (*RebootAnnotationArguments) DeepCopy ¶
func (in *RebootAnnotationArguments) DeepCopy() *RebootAnnotationArguments
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RebootAnnotationArguments.
func (*RebootAnnotationArguments) DeepCopyInto ¶
func (in *RebootAnnotationArguments) DeepCopyInto(out *RebootAnnotationArguments)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RebootType ¶
type RebootType string
RebootType defines the reboot type of servers via Hetzner robot API.
const ( // RebootTypePower defines the power reboot. "Press power button of server". RebootTypePower RebootType = "power" // RebootTypeSoftware defines the software reboot. "Send CTRL+ALT+DEL to the server". RebootTypeSoftware RebootType = "sw" // RebootTypeHardware defines the hardware reboot. "Execute an automatic hardware reset". RebootTypeHardware RebootType = "hw" // RebootTypeManual defines the manual reboot. "Order a manual power cycle". RebootTypeManual RebootType = "man" // RebootTypeSSH defines the ssh reboot. This is done via caph, not via the robot-API. RebootTypeSSH RebootType = "ssh" )
type Region ¶
type Region string
Region is a Hetzner Location. +kubebuilder:validation:Enum=fsn1;hel1;nbg1;ash;hil
type RemediationStrategy ¶
type RemediationStrategy struct { // Type represents the type of the remediation strategy. At the moment, only "Reboot" is supported. // +kubebuilder:default=Reboot // +optional Type RemediationType `json:"type,omitempty"` // RetryLimit sets the maximum number of remediation retries. Zero retries if not set. // +optional RetryLimit int `json:"retryLimit,omitempty"` // Timeout sets the timeout between remediation retries. It should be of the form "10m", or "40s". Timeout *metav1.Duration `json:"timeout"` }
RemediationStrategy describes how to remediate machines.
func (*RemediationStrategy) DeepCopy ¶
func (in *RemediationStrategy) DeepCopy() *RemediationStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RemediationStrategy.
func (*RemediationStrategy) DeepCopyInto ¶
func (in *RemediationStrategy) DeepCopyInto(out *RemediationStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RemediationType ¶
type RemediationType string
RemediationType defines the type of remediation.
const ( // RemediationTypeReboot sets RemediationType to Reboot. RemediationTypeReboot RemediationType = "Reboot" )
type ResourceLifecycle ¶
type ResourceLifecycle string
ResourceLifecycle configures the lifecycle of a resource.
type RootDeviceHints ¶
type RootDeviceHints struct { // WWN is a unique storage identifier used for non-raid setups. The hint // must match the actual value exactly. // +optional WWN string `json:"wwn,omitempty"` // Raid is used to specify multiple storage devices. It provides the controller with information // on which disks a raid can be established. // +optional Raid Raid `json:"raid,omitempty"` }
RootDeviceHints holds the hints for specifying the storage location for the root filesystem for the image. Need to specify either WWN or raid to provision the host machine successfully. It is important to find the correct root device. If none are specified, the host will stop provisioning in between to wait for the details to be specified. HardwareDetails in the host's status can be used to find the correct device. Currently, you can specify one disk or a raid setup.
func (*RootDeviceHints) DeepCopy ¶
func (in *RootDeviceHints) DeepCopy() *RootDeviceHints
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RootDeviceHints.
func (*RootDeviceHints) DeepCopyInto ¶
func (in *RootDeviceHints) DeepCopyInto(out *RootDeviceHints)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RootDeviceHints) IsValid ¶
func (rdh *RootDeviceHints) IsValid() bool
IsValid checks whether rootDeviceHint is valid.
func (*RootDeviceHints) IsValidWithMessage ¶
func (rdh *RootDeviceHints) IsValidWithMessage() string
IsValidWithMessage checks whether rootDeviceHint is valid. If valid, an empty string gets returned.
func (*RootDeviceHints) ListOfWWN ¶
func (rdh *RootDeviceHints) ListOfWWN() []string
ListOfWWN gives the list of WWNs - no matter if it's in WWN or Raid.
type SSHKey ¶
type SSHKey struct { // Name defines the name of the SSH key. // +kubebuilder:validation:MinLength=1 Name string `json:"name"` // Fingerprint defines the fingerprint of the SSH key - added by the controller. // +optional Fingerprint string `json:"fingerprint,omitempty"` }
SSHKey defines the SSHKey for HCloud.
func (*SSHKey) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSHKey.
func (*SSHKey) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SSHSecretKeyRef ¶
type SSHSecretKeyRef struct { // Name is the key in the secret's data where the SSH key's name is stored. Name string `json:"name"` // PublicKey is the key in the secret's data where the SSH key's public key is stored. PublicKey string `json:"publicKey"` // PrivateKey is the key in the secret's data where the SSH key's private key is stored. PrivateKey string `json:"privateKey"` }
SSHSecretKeyRef defines the key name of the SSHSecret.
func (*SSHSecretKeyRef) DeepCopy ¶
func (in *SSHSecretKeyRef) DeepCopy() *SSHSecretKeyRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSHSecretKeyRef.
func (*SSHSecretKeyRef) DeepCopyInto ¶
func (in *SSHSecretKeyRef) DeepCopyInto(out *SSHSecretKeyRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SSHSecretRef ¶
type SSHSecretRef struct { // Name is the name of the secret. Name string `json:"name"` // Key contains details about the keys used in the data of the secret. Key SSHSecretKeyRef `json:"key"` }
SSHSecretRef defines the secret containing all information of the SSH key used for the Hetzner robot.
func (*SSHSecretRef) DeepCopy ¶
func (in *SSHSecretRef) DeepCopy() *SSHSecretRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSHSecretRef.
func (*SSHSecretRef) DeepCopyInto ¶
func (in *SSHSecretRef) DeepCopyInto(out *SSHSecretRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SSHSpec ¶
type SSHSpec struct { // SecretRef gives reference to the secret where the SSH key is stored. SecretRef SSHSecretRef `json:"secretRef"` // PortAfterInstallImage specifies the port that has to be used to connect to the machine // by reaching the server via SSH after installing the image successfully. // +kubebuilder:default=22 // +optional PortAfterInstallImage int `json:"portAfterInstallImage"` // PortAfterCloudInit specifies the port that has to be used to connect to the machine // by reaching the server via SSH after the successful completion of cloud init. // +optional PortAfterCloudInit int `json:"portAfterCloudInit"` }
SSHSpec defines specs for SSH.
func (*SSHSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSHSpec.
func (*SSHSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SSHStatus ¶
type SSHStatus struct { // CurrentRescue gives information about the secret where the rescue ssh key is stored. CurrentRescue *SecretStatus `json:"currentRescue,omitempty"` // CurrentOS gives information about the secret where the os ssh key is stored. CurrentOS *SecretStatus `json:"currentOS,omitempty"` // OSKey contains name and fingerprint of the in HetznerBareMetalMachine spec specified SSH key. OSKey *SSHKey `json:"osKey,omitempty"` // RescueKey contains name and fingerprint of the in HetznerCluster spec specified SSH key. RescueKey *SSHKey `json:"rescueKey,omitempty"` }
SSHStatus contains all status information about SSHStatus.
func (*SSHStatus) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSHStatus.
func (*SSHStatus) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecretStatus ¶
type SecretStatus struct { Reference *corev1.SecretReference `json:"credentials,omitempty"` Version string `json:"credentialsVersion,omitempty"` DataHash []byte `json:"credentialsDataHash,omitempty"` }
SecretStatus contains the reference and version of the last secret that was used.
func (*SecretStatus) DeepCopy ¶
func (in *SecretStatus) DeepCopy() *SecretStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretStatus.
func (*SecretStatus) DeepCopyInto ¶
func (in *SecretStatus) DeepCopyInto(out *SecretStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Storage ¶
type Storage struct { // The Linux device name of the disk, e.g. "/dev/sda". Note that this // may not be stable across reboots. Name string `json:"name,omitempty"` // SizeBytes is the size of the disk in Bytes. SizeBytes Capacity `json:"sizeBytes,omitempty"` // SizeGB is the size of the disk in GB. SizeGB Capacity `json:"sizeGB,omitempty"` // Vendor is the name of the vendor of the device. Vendor string `json:"vendor,omitempty"` // Model represents the Hardware model. Model string `json:"model,omitempty"` // SerialNumber denotes the serial number of the device. SerialNumber string `json:"serialNumber,omitempty"` // WWN defines the WWN of the device. WWN string `json:"wwn,omitempty"` // HCTL defines the SCSI location of the device. HCTL string `json:"hctl,omitempty"` // Rota defines if it's an HDD device or not. Rota bool `json:"rota,omitempty"` }
Storage describes one storage device (disk, SSD, etc.) on the host.
func (*Storage) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Storage.
func (*Storage) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
Source Files ¶
- conditions_const.go
- conversion.go
- groupversion_info.go
- hcloudmachine_types.go
- hcloudmachine_validation.go
- hcloudmachine_webhook.go
- hcloudmachinetemplate_types.go
- hcloudmachinetemplate_webhook.go
- hcloudremediation_types.go
- hcloudremediation_webhook.go
- hcloudremediationtemplate_types.go
- hcloudremediationtemplate_webhook.go
- hetznerbaremetalhost_types.go
- hetznerbaremetalhost_webhook.go
- hetznerbaremetalmachine_types.go
- hetznerbaremetalmachine_validation.go
- hetznerbaremetalmachine_webhook.go
- hetznerbaremetalmachinetemplate_types.go
- hetznerbaremetalmachinetemplate_webhook.go
- hetznerbaremetalremediation_types.go
- hetznerbaremetalremediation_webhook.go
- hetznerbaremetalremediationtemplate_types.go
- hetznerbaremetalremediationtemplate_webhook.go
- hetznercluster_types.go
- hetznercluster_webhook.go
- hetznerclustertemplate_types.go
- hetznerclustertemplate_webhook.go
- remediation_types.go
- tags.go
- types.go
- webhooks.go
- zz_generated.deepcopy.go