apis

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Jun 17, 2022 License: Apache-2.0, MIT Imports: 8 Imported by: 0

Documentation

Overview

Package apis is the main package for ionos specific APIs

Package apis is the main package for ionos specific APIs

Package apis is the main package for ionos specific APIs

Package apis is the main package for ionos specific APIs

Package apis is the main package for ionos specific APIs

Package apis is the main package for ionos specific APIs

Package apis is the main package for ionos specific APIs

Index

Constants

View Source
const GroupName = "ionos.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 FindMachineImageName

func FindMachineImageName(ctx context.Context, client *ionossdk.APIClient, zone, name, version, customImageNameVariant string) (string, error)

FindMachineImageName returns the image name for the given name and version values.

PARAMETERS ctx context.Context Execution context name string Machine image name version string Machine image version

func GetRegionFromZone

func GetRegionFromZone(zone string) string

GetRegionFromZone returns the region for a given zone string

PARAMETERS zone string Zone

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

Types

type CPLoadBalancerClass

type CPLoadBalancerClass struct {
	Name string
	// IPPoolName is the name of the NSX-T IP pool.
	IPPoolName *string
	// TCPAppProfileName is the profile name of the load balaner profile for TCP
	TCPAppProfileName *string
	// UDPAppProfileName is the profile name of the load balaner profile for UDP
	UDPAppProfileName *string
}

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
	// Regions is the specification of regions and zones topology
	Regions []RegionSpec
	// 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
	// DefaultClassStoragePolicyName is the name of the ionos storage policy to use for the 'default-class' storage class
	DefaultClassStoragePolicyName string
	// MachineTypeOptions is the list of machine type options to set additional options for individual machine types.
	MachineTypeOptions []MachineTypeOptions
	// DockerDaemonOptions contains configuration options for docker daemon service
	DockerDaemonOptions *DockerDaemonOptions
}

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

	// Zone is the ionos 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.
	LoadBalancerClasses []CPLoadBalancerClass
	// LoadBalancerSize can override the default of the NSX-T load balancer size ("SMALL", "MEDIUM", or "LARGE") defined in the cloud profile.
	LoadBalancerSize *string
}

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 DHCPServerConfiguration

type DHCPServerConfiguration struct {
	//
	Image *MachineImage `json:"image"`
	//
	Cores uint `json:"cores"`
	//
	Memory uint `json:"memory"`
	//
	IP string `json:"ip"`
	//
	UserData string `json:"userData"`

	//
	SSHKey string `json:"sshKey,omitempty"`
	//
	Password string `json:"password,omitempty"`
	// Volume size
	VolumeSize float32 `json:"volumeSize,omitempty"`
}

DHCPServerConfiguration contains the DHCP server configuration

func (*DHCPServerConfiguration) DeepCopy

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

func (*DHCPServerConfiguration) DeepCopyInto

func (in *DHCPServerConfiguration) DeepCopyInto(out *DHCPServerConfiguration)

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

type DHCPServerConfigurationStatus

type DHCPServerConfigurationStatus struct {
	//
	Cidr string `json:"cidr"`
	//
	ServerID string `json:"serverID"`
}

DHCPServerConfiguration contains the DHCP server configuration

func (*DHCPServerConfigurationStatus) DeepCopy

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

func (*DHCPServerConfigurationStatus) DeepCopyInto

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

type DockerDaemonOptions

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

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 FloatingPool

type FloatingPool struct {
	// Floating pool name
	Name string `json:"name"`
	// Floating pool size
	Size uint16 `json:"size"`
}

FloatingPool contains the floating pool configuration

func (*FloatingPool) DeepCopy

func (in *FloatingPool) DeepCopy() *FloatingPool

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

func (*FloatingPool) DeepCopyInto

func (in *FloatingPool) DeepCopyInto(out *FloatingPool)

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"`
	//
	DHCPServerConfiguration *DHCPServerConfiguration `json:"dhcpServerConfiguration"`

	// FloatingPool contains the floating pool configuration
	// +optional
	FloatingPool *FloatingPool `json:"floatingPool,omitempty"`
	// Networks contains the IONOS specific network configuration
	// +optional
	Networks *Networks `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 InfrastructureStatus

type InfrastructureStatus struct {
	metav1.TypeMeta `json:",inline"`
	// DatacenterID contains the IONOS data center ID.
	DatacenterID string `json:"datacenterID"`

	//
	// +optional
	DHCPServerConfiguration *DHCPServerConfigurationStatus `json:"dhcpServerConfiguration,omitempty"`
	// FloatingPoolID contains the floating pool IP ID.
	// +optional
	FloatingPoolID string `json:"floatingPoolID,omitempty"`
	// Networks is the ionos specific network configuration
	// +optional
	NetworkIDs *NetworkIDs `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

	// ImageName is the IONOS 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
	// Versions contains versions and a provider-specific identifier.
	Versions []MachineImageVersion
}

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
	// ExtraConfig allows to specify additional VM options.
	// e.g. sched.swap.vmxSwapEnabled=false to disable the VMX process swap file
	ExtraConfig map[string]string
}

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 NetworkIDs

type NetworkIDs struct {
	// WAN is the network ID for the public facing network interface.
	WAN string `json:"wan"`
	// Workers is the network ID of a worker subnet.
	Workers string `json:"workers"`
}

Networks holds information about the Kubernetes and infrastructure networks.

func (*NetworkIDs) DeepCopy

func (in *NetworkIDs) DeepCopy() *NetworkIDs

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

func (*NetworkIDs) DeepCopyInto

func (in *NetworkIDs) DeepCopyInto(out *NetworkIDs)

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

type Networks

type Networks struct {
	// Workers is a CIDRs of a worker subnet (private) to create (used for the VMs).
	Workers string `json:"workers"`
}

Networks contains the IONOS specific network configuration

func (*Networks) DeepCopy

func (in *Networks) DeepCopy() *Networks

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

func (*Networks) DeepCopyInto

func (in *Networks) DeepCopyInto(out *Networks)

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

	// MachineImages is the list of machine images that are understood by the controller. If provided, it overwrites the global
	// MachineImages of the CloudProfileConfig
	MachineImages []MachineImages
}

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

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 ionos.provider.extensions.config.gardener.cloud
Package config provides ionos.provider.extensions.config.gardener.cloud
install
Package install provides functions used for registration of ionos.provider.extensions.config.gardener.cloud
Package install provides functions used for registration of ionos.provider.extensions.config.gardener.cloud
loader
Package loader contains functions used for reading ionos.provider.extensions.config.gardener.cloud
Package loader contains functions used for reading ionos.provider.extensions.config.gardener.cloud
v1alpha1
Package v1alpha1 provides ionos.provider.extensions.config.gardener.cloud/v1alpha1
Package v1alpha1 provides ionos.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 ionos.provider.extensions.gardener.cloud
Package install provides functions used for registration of ionos.provider.extensions.gardener.cloud
Package mock provides all methods required to simulate a IONOS provider environment
Package mock provides all methods required to simulate a IONOS provider environment
Package transcoder is used for API related object transformations
Package transcoder is used for API related object transformations
Package v1alpha1 contains the IONOS provider API resources.
Package v1alpha1 contains the IONOS 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