apis

package
v0.6.28 Latest Latest
Warning

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

Go to latest
Published: Apr 3, 2024 License: Apache-2.0, MIT Imports: 10 Imported by: 0

Documentation

Overview

Package apis is the main package for HCloud specific APIs

Package apis is the main package for HCloud specific APIs

Package apis is the main package for HCloud specific APIs

Package apis is the main package for HCloud specific APIs

Package apis is the main package for HCloud specific APIs

Package apis is the main package for HCloud specific APIs

Package apis is the main package for HCloud specific APIs

Package apis is the main package for HCloud specific APIs

Index

Constants

View Source
const GroupName = "hcloud.provider.extensions.gardener.cloud"

GroupName is the group name use in this package

Variables

View Source
var (
	// SchemeBuilder used to register the Shoot resource.
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
	// AddToScheme is a pointer to SchemeBuilder.AddToScheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal}

SchemeGroupVersion is group version used to register these objects

Functions

func GetClientForToken

func GetClientForToken(token string) *hcloud.Client

GetClientForToken returns an underlying HCloud client for the given token.

PARAMETERS token string Token to look up client instance for

func GetRegionFromZone added in v0.2.0

func GetRegionFromZone(zone string) string

GetRegionFromZone returns the region for a given zone string

PARAMETERS zone string Zone

func GetSSHFingerprint added in v0.3.7

func GetSSHFingerprint(publicKey []byte) (string, error)

GetSSHFingerprint returns the calculated fingerprint for an SSH public key.

PARAMETERS publicKey []byte SSH public key

func Kind

func Kind(kind string) schema.GroupKind

Kind takes an unqualified kind and returns a Group qualified GroupKind

PARAMETERS kind string Unqualified kind

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

PARAMETERS resource string Unqualified resource

func SetClientForToken

func SetClientForToken(token string, client *hcloud.Client)

SetClientForToken sets a preconfigured HCloud client for the given token.

PARAMETERS token string Token to look up client instance for client *hcloud.Client Preconfigured HCloud client

Types

type CPLoadBalancerClass

type CPLoadBalancerClass struct {
	Name string `json:"name"`
	// IPPoolName is the name of the NSX-T IP pool.
	// +optional
	IPPoolName *string `json:"ipPoolName,omitempty"`
	// TCPAppProfileName is the profile name of the load balaner profile for TCP
	// +optional
	TCPAppProfileName *string `json:"tcpAppProfileName,omitempty"`
	// UDPAppProfileName is the profile name of the load balaner profile for UDP
	// +optional
	UDPAppProfileName *string `json:"udpAppProfileName,omitempty"`
}

CPLoadBalancerClass provides the name of a load balancer

func (*CPLoadBalancerClass) DeepCopy

func (in *CPLoadBalancerClass) DeepCopy() *CPLoadBalancerClass

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

func (*CPLoadBalancerClass) DeepCopyInto

func (in *CPLoadBalancerClass) DeepCopyInto(out *CPLoadBalancerClass)

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

type CloudControllerManagerConfig

type CloudControllerManagerConfig struct {
	// FeatureGates contains information about enabled feature gates.
	// +optional
	FeatureGates map[string]bool `json:"featureGates,omitempty"`
}

CloudControllerManagerConfig contains configuration settings for the cloud-controller-manager.

func (*CloudControllerManagerConfig) DeepCopy

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

func (*CloudControllerManagerConfig) DeepCopyInto

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

type CloudProfileConfig

type CloudProfileConfig struct {
	metav1.TypeMeta `json:",inline"`
	// Regions is the specification of regions and zones topology
	Regions []RegionSpec `json:"regions"`
	// MachineImages is the list of machine images that are understood by the controller. It maps
	// logical names and versions to provider-specific identifiers.
	MachineImages []MachineImages `json:"machineImages"`
	// DefaultStorageFsType is the filesystem type of the HCloud storage to use
	DefaultStorageFsType string `json:"defaultStorageFsType"`
	// MachineTypeOptions is the list of machine type options to set additional options for individual machine types.
	// +optional
	MachineTypeOptions []MachineTypeOptions `json:"machineTypeOptions,omitempty"`
	// DockerDaemonOptions contains configuration options for docker daemon service
	// +optional
	DockerDaemonOptions *DockerDaemonOptions `json:"dockerDaemonOptions,omitempty"`
}

CloudProfileConfig contains provider-specific configuration that is embedded into Gardener's `CloudProfile` resource.

func (*CloudProfileConfig) DeepCopy

func (in *CloudProfileConfig) DeepCopy() *CloudProfileConfig

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

func (*CloudProfileConfig) DeepCopyInto

func (in *CloudProfileConfig) DeepCopyInto(out *CloudProfileConfig)

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

func (*CloudProfileConfig) DeepCopyObject

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

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

type ControlPlaneConfig

type ControlPlaneConfig struct {
	metav1.TypeMeta `json:",inline"`

	// Zone is the HCloud zone.
	Zone string `json:"zone"`

	// CloudControllerManager contains configuration settings for the cloud-controller-manager.
	// +optional
	CloudControllerManager *CloudControllerManagerConfig `json:"cloudControllerManager,omitempty"`
	// LoadBalancerClasses lists the load balancer classes to be used.
	// +optional
	LoadBalancerClasses []CPLoadBalancerClass `json:"loadBalancerClasses,omitempty"`
	// LoadBalancerSize can override the default of the NSX-T load balancer size ("SMALL", "MEDIUM", or "LARGE") defined in the cloud profile.
	// +optional
	LoadBalancerSize *string `json:"loadBalancerSize,omitempty"`
}

ControlPlaneConfig contains configuration settings for the control plane.

func (*ControlPlaneConfig) DeepCopy

func (in *ControlPlaneConfig) DeepCopy() *ControlPlaneConfig

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

func (*ControlPlaneConfig) DeepCopyInto

func (in *ControlPlaneConfig) DeepCopyInto(out *ControlPlaneConfig)

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

func (*ControlPlaneConfig) DeepCopyObject

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

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

type DockerDaemonOptions

type DockerDaemonOptions struct {
	// HTTPProxyConf contains HTTP/HTTPS proxy configuration for Docker daemon
	// +optional
	HTTPProxyConf *string `json:"httpProxyConf,omitempty"`
	// InsecureRegistries adds the given registries to Docker on the worker nodes
	// (see https://docs.docker.com/registry/insecure/)
	// +optional
	InsecureRegistries []string `json:"insecureRegistries,omitempty"`
}

DockerDaemonOptions contains configuration options for Docker daemon service

func (*DockerDaemonOptions) DeepCopy

func (in *DockerDaemonOptions) DeepCopy() *DockerDaemonOptions

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

func (*DockerDaemonOptions) DeepCopyInto

func (in *DockerDaemonOptions) DeepCopyInto(out *DockerDaemonOptions)

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

type InfrastructureConfig

type InfrastructureConfig struct {
	metav1.TypeMeta `json:",inline"`

	// FloatingPoolName contains the FloatingPoolName name in which LoadBalancer FIPs should be created.
	// +optional
	FloatingPoolName string `json:"floatingPoolName,omitempty"`
	// Networks is the HCloud specific network configuration
	// +optional
	Networks *InfrastructureConfigNetworks `json:"networks,omitempty"`
}

InfrastructureConfig infrastructure configuration resource

func (*InfrastructureConfig) DeepCopy

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

func (*InfrastructureConfig) DeepCopyInto

func (in *InfrastructureConfig) DeepCopyInto(out *InfrastructureConfig)

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

func (*InfrastructureConfig) DeepCopyObject

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

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

type InfrastructureConfigNetwork added in v0.4.0

type InfrastructureConfigNetwork struct {
	// Workers is a CIDRs of a worker subnet (private) to create (used for the VMs).
	Cidr string `json:"cidr"`
	// Workers is a CIDRs of a worker subnet (private) to create (used for the VMs).
	Zone hcloud.NetworkZone `json:"zone,omitempty"`
}

InfrastructureConfig holds information about the Kubernetes and infrastructure network.

func (*InfrastructureConfigNetwork) DeepCopy added in v0.4.0

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

func (*InfrastructureConfigNetwork) DeepCopyInto added in v0.4.0

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

type InfrastructureConfigNetworkIDs added in v0.4.0

type InfrastructureConfigNetworkIDs struct {
	// Workers is the HCloud network ID created.
	Workers string `json:"workers"`
}

Networks holds information about the Kubernetes and infrastructure networks.

func (*InfrastructureConfigNetworkIDs) DeepCopy added in v0.4.0

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

func (*InfrastructureConfigNetworkIDs) DeepCopyInto added in v0.4.0

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

type InfrastructureConfigNetworks added in v0.4.0

type InfrastructureConfigNetworks struct {
	// WorkersNetwork is a struct of a worker subnet (private) configuration to create (used for the VMs).
	WorkersConfiguration *InfrastructureConfigNetwork `json:"workersConfiguration"`
	// Workers is a CIDRs of a worker subnet (private) to create (used for the VMs).
	Workers string `json:"workers,omitempty"`
}

Networks holds information about the Kubernetes and infrastructure networks.

func (*InfrastructureConfigNetworks) DeepCopy added in v0.4.0

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

func (*InfrastructureConfigNetworks) DeepCopyInto added in v0.4.0

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

type InfrastructureStatus

type InfrastructureStatus struct {
	metav1.TypeMeta `json:",inline"`
	// SSHFingerprint contains the SSH fingerprint.
	SSHFingerprint string `json:"sshFingerprint"`

	// PlacementGroupIDs contains the placement group IDs.
	PlacementGroupIDs map[string]string `json:"placementGroupID,omitempty"`
	// PlacementGroupID contains the placement group ID.
	PlacementGroupID string `json:"placementGroupID,omitempty"`
	// FloatingPoolName contains the FloatingPoolName name in which LoadBalancer FIPs should be created.
	// +optional
	FloatingPoolName string `json:"floatingPoolName,omitempty"`
	// Networks is the HCloud specific network configuration
	// +optional
	NetworkIDs *InfrastructureConfigNetworkIDs `json:"networkIDs,omitempty"`
}

InfrastructureStatus contains information about created infrastructure resources.

func (*InfrastructureStatus) DeepCopy

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

func (*InfrastructureStatus) DeepCopyInto

func (in *InfrastructureStatus) DeepCopyInto(out *InfrastructureStatus)

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

func (*InfrastructureStatus) DeepCopyObject

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

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

type MachineImage

type MachineImage struct {
	// Name is the logical name of the machine image.
	Name string `json:"name"`
	// Version is the logical version of the machine image.
	Version string `json:"version"`
}

MachineImage is a mapping from logical names and versions to provider-specific machine image data.

func (*MachineImage) DeepCopy

func (in *MachineImage) DeepCopy() *MachineImage

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

func (*MachineImage) DeepCopyInto

func (in *MachineImage) DeepCopyInto(out *MachineImage)

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

type MachineImageVersion

type MachineImageVersion struct {
	// Version is the version of the image.
	Version string `json:"version"`

	// ImageName is the Hetzner Cloud image name if not matching name + "-" + version.
	// +optional
	ImageName string `json:"imageName,omitempty"`
}

MachineImageVersion contains a version and a provider-specific identifier.

func (*MachineImageVersion) DeepCopy

func (in *MachineImageVersion) DeepCopy() *MachineImageVersion

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

func (*MachineImageVersion) DeepCopyInto

func (in *MachineImageVersion) DeepCopyInto(out *MachineImageVersion)

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

type MachineImages

type MachineImages struct {
	// Name is the logical name of the machine image.
	Name string `json:"name"`
	// Versions contains versions and a provider-specific identifier.
	Versions []MachineImageVersion `json:"versions"`
}

MachineImages is a mapping from logical names and versions to provider-specific identifiers.

func (*MachineImages) DeepCopy

func (in *MachineImages) DeepCopy() *MachineImages

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

func (*MachineImages) DeepCopyInto

func (in *MachineImages) DeepCopyInto(out *MachineImages)

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

type MachineTypeOptions

type MachineTypeOptions struct {
	// Name is the name of the machine type
	Name string `json:"name"`

	// ExtraConfig allows to specify additional VM options.
	// e.g. sched.swap.vmxSwapEnabled=false to disable the VMX process swap file
	// +optional
	ExtraConfig map[string]string `json:"extraConfig,omitempty"`
}

MachineTypeOptions defines additional VM options for an machine type given by name

func (*MachineTypeOptions) DeepCopy

func (in *MachineTypeOptions) DeepCopy() *MachineTypeOptions

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

func (*MachineTypeOptions) DeepCopyInto

func (in *MachineTypeOptions) DeepCopyInto(out *MachineTypeOptions)

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

type RegionSpec

type RegionSpec struct {
	// Name is the name of the region
	Name string `json:"name"`

	// MachineImages is the list of machine images that are understood by the controller. If provided, it overwrites the global
	// MachineImages of the CloudProfileConfig
	// +optional
	MachineImages []MachineImages `json:"machineImages,omitempty"`
}

RegionSpec specifies the topology of a region and its zones. A region consists of a Vcenter host, transport zone and optionally a data center. A zone in a region consists of a data center (if not specified in the region), a computer cluster, and optionally a resource zone or host system.

func (*RegionSpec) DeepCopy

func (in *RegionSpec) DeepCopy() *RegionSpec

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

func (*RegionSpec) DeepCopyInto

func (in *RegionSpec) DeepCopyInto(out *RegionSpec)

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

type WorkerConfig added in v0.5.3

type WorkerConfig struct {
	metav1.TypeMeta

	// type of the placementgroup for current worker pool. Note that hetzner currently only supports type "spread"
	// moreover a placementgroup cannot hold more than 10 machines on hetzner
	PlacementGroupType string `json:"placementGroupType"`
}

WorkerConfig

func (*WorkerConfig) DeepCopy added in v0.5.3

func (in *WorkerConfig) DeepCopy() *WorkerConfig

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

func (*WorkerConfig) DeepCopyInto added in v0.5.3

func (in *WorkerConfig) DeepCopyInto(out *WorkerConfig)

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

func (*WorkerConfig) DeepCopyObject added in v0.5.3

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

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

type WorkerStatus

type WorkerStatus struct {
	metav1.TypeMeta `json:",inline"`

	// MachineImages is a list of machine images that have been used in this worker. Usually, the extension controller
	// gets the mapping from name/version to the provider-specific machine image data in its componentconfig. However, if
	// a version that is still in use gets removed from this componentconfig it cannot reconcile anymore existing `Worker`
	// resources that are still using this version. Hence, it stores the used versions in the provider status to ensure
	// reconciliation is possible.
	// +optional
	MachineImages     []MachineImage `json:"machineImages,omitempty"`
	PlacementGroupIDs map[string]int `json:"placementGroupIds,omitempty"`
}

WorkerStatus contains information about created worker resources.

func (*WorkerStatus) DeepCopy

func (in *WorkerStatus) DeepCopy() *WorkerStatus

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

func (*WorkerStatus) DeepCopyInto

func (in *WorkerStatus) DeepCopyInto(out *WorkerStatus)

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

func (*WorkerStatus) DeepCopyObject

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

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

Directories

Path Synopsis
Package config provides hcloud.provider.extensions.config.gardener.cloud
Package config provides hcloud.provider.extensions.config.gardener.cloud
install
Package install provides functions used for registration of hcloud.provider.extensions.config.gardener.cloud
Package install provides functions used for registration of hcloud.provider.extensions.config.gardener.cloud
loader
Package loader contains functions used for reading hcloud.provider.extensions.config.gardener.cloud
Package loader contains functions used for reading hcloud.provider.extensions.config.gardener.cloud
v1alpha1
Package v1alpha1 provides hcloud.provider.extensions.config.gardener.cloud/v1alpha1
Package v1alpha1 provides hcloud.provider.extensions.config.gardener.cloud/v1alpha1
Package controller provides functions to access controller specifications
Package controller provides functions to access controller specifications
Package install provides functions used for registration of hcloud.provider.extensions.gardener.cloud
Package install provides functions used for registration of hcloud.provider.extensions.gardener.cloud
Package mock provides all methods required to simulate a HCloud provider environment
Package mock provides all methods required to simulate a HCloud provider environment
Package transcoder is used for API related object transformations
Package transcoder is used for API related object transformations
Package v1alpha1 contains the HCloud provider API resources.
Package v1alpha1 contains the HCloud provider API resources.
Package validation contains functions to validate controller specifications
Package validation contains functions to validate controller specifications

Jump to

Keyboard shortcuts

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