garden

package
Version: v0.35.2 Latest Latest
Warning

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

Go to latest
Published: Jan 27, 2020 License: Apache-2.0, BSD-2-Clause, MIT, MPL-2.0 Imports: 8 Imported by: 0

Documentation

Overview

Package garden is the internal version of the API. +groupName=garden.sapcloud.io

Index

Constants

View Source
const (

	// ShootSeedNameDeprecated is the field selector path for finding
	// the Seed cluster of a garden.sapcloud.io/v1beta1 Shoot.
	// +deprecated
	ShootSeedNameDeprecated = "spec.cloud.seed"

	// ShootSeedName is the field selector path for finding
	// the Seed cluster of a core.gardener.cloud/{v1alpha1,v1beta1} Shoot.
	ShootSeedName = "spec.seedName"

	// ShootCloudProfileName is the field selector path for finding
	// the CloudProfile name of a core.gardener.cloud/{v1alpha1,v1beta1} Shoot.
	ShootCloudProfileName = "spec.cloudProfileName"
)

Field path constants that are specific to the internal API representation.

View Source
const (
	// VolumeClassStandard is a constant for the standard volume class.
	VolumeClassStandard string = "standard"
	// VolumeClassPremium is a constant for the premium volume class.
	VolumeClassPremium string = "premium"
)
View Source
const (
	// ProjectMemberAdmin is a const for a role that provides full admin access.
	ProjectMemberAdmin = "admin"
	// ProjectMemberViewer is a const for a role that provides limited permissions to only view some resources.
	ProjectMemberViewer = "viewer"
)
View Source
const (
	MigrationSeedCloudProfile      = "migration.seed.gardener.cloud/cloudProfile"
	MigrationSeedCloudRegion       = "migration.seed.gardener.cloud/cloudRegion"
	MigrationSeedProviderType      = "migration.seed.gardener.cloud/providerType"
	MigrationSeedProviderRegion    = "migration.seed.gardener.cloud/providerRegion"
	MigrationSeedVolumeMinimumSize = "migration.seed.gardener.cloud/volumeMinimumSize"
	MigrationSeedVolumeProviders   = "migration.seed.gardener.cloud/volumeProviders"
	MigrationSeedTaints            = "migration.seed.gardener.cloud/taints"

	MigrationCloudProfileType           = "migration.cloudprofile.gardener.cloud/type"
	MigrationCloudProfileProviderConfig = "migration.cloudprofile.gardener.cloud/providerConfig"
	MigrationCloudProfileSeedSelector   = "migration.cloudprofile.gardener.cloud/seedSelector"
	MigrationCloudProfileDNSProviders   = "migration.cloudprofile.gardener.cloud/dnsProviders"
	MigrationCloudProfileRegions        = "migration.cloudprofile.gardener.cloud/regions"
	MigrationCloudProfileVolumeTypes    = "migration.cloudprofile.gardener.cloud/volumeTypes"
	MigrationCloudProfileKubernetes     = "migration.cloudprofile.gardener.cloud/kubernetes"
	MigrationCloudProfileMachineImages  = "migration.cloudprofile.gardener.cloud/machineImages"
	MigrationCloudProfileMachineTypes   = "migration.cloudprofile.gardener.cloud/machineTypes"
)
View Source
const (
	// SeedTaintDisableDNS is a constant for a taint key on a seed that marks it for disabling DNS. All shoots
	// using this seed won't get any DNS providers, DNS records, and no DNS extension controller is required to
	// be installed here. This is useful for environment where DNS is not required.
	SeedTaintDisableDNS = "seed.gardener.cloud/disable-dns"
	// SeedTaintProtected is a constant for a taint key on a seed that marks it as protected. Protected seeds
	// may only be used by shoots in the `garden` namespace.
	SeedTaintProtected = "seed.gardener.cloud/protected"
	// SeedTaintInvisible is a constant for a taint key on a seed that marks it as invisible. Invisible seeds
	// are not considered by the gardener-scheduler.
	SeedTaintInvisible = "seed.gardener.cloud/invisible"
)
View Source
const (
	// QuotaMetricCPU is the constraint for the amount of CPUs
	QuotaMetricCPU corev1.ResourceName = corev1.ResourceCPU
	// QuotaMetricGPU is the constraint for the amount of GPUs (e.g. from Nvidia)
	QuotaMetricGPU corev1.ResourceName = "gpu"
	// QuotaMetricMemory is the constraint for the amount of memory
	QuotaMetricMemory corev1.ResourceName = corev1.ResourceMemory
	// QuotaMetricStorageStandard is the constraint for the size of a standard disk
	QuotaMetricStorageStandard corev1.ResourceName = corev1.ResourceStorage + ".standard"
	// QuotaMetricStoragePremium is the constraint for the size of a premium disk (e.g. SSD)
	QuotaMetricStoragePremium corev1.ResourceName = corev1.ResourceStorage + ".premium"
	// QuotaMetricLoadbalancer is the constraint for the amount of loadbalancers
	QuotaMetricLoadbalancer corev1.ResourceName = "loadbalancer"
)
View Source
const (
	MigrationShootCloudControllerManager  = "migration.shoot.gardener.cloud/cloudControllerManager"
	MigrationShootDNSProviders            = "migration.shoot.gardener.cloud/dnsProviders"
	MigrationShootGlobalMachineImage      = "migration.shoot.gardener.cloud/globalMachineImage"
	MigrationShootProvider                = "migration.shoot.gardener.cloud/provider"
	MigrationShootWorkers                 = "migration.shoot.gardener.cloud/workers"
	MigrationShootAddonsClusterAutoscaler = "migration.shoot.gardener.cloud/addonsClusterAutoscaler"
	MigrationShootAddonsHeapster          = "migration.shoot.gardener.cloud/addonsHeapster"
	MigrationShootAddonsKubeLego          = "migration.shoot.gardener.cloud/addonsKubeLego"
	MigrationShootAddonsKube2IAM          = "migration.shoot.gardener.cloud/addonsKube2IAM"
	MigrationShootAddonsMonocular         = "migration.shoot.gardener.cloud/addonsMonocular"
)
View Source
const (
	// KubernetesDashboardAuthModeBasic uses basic authentication mode for auth.
	KubernetesDashboardAuthModeBasic = "basic"
	// KubernetesDashboardAuthModeToken uses token-based mode for auth.
	KubernetesDashboardAuthModeToken = "token"
)
View Source
const (
	// EventReconciling indicates that the a Reconcile operation started.
	EventReconciling = "Reconciling"
	// EventReconciled indicates that the a Reconcile operation was successful.
	EventReconciled = "Reconciled"
	// EventReconcileError indicates that the a Reconcile operation failed.
	EventReconcileError = "ReconcileError"
	// EventDeleting indicates that the a Delete operation started.
	EventDeleting = "Deleting"
	// EventDeleted indicates that the a Delete operation was successful.
	EventDeleted = "Deleted"
	// EventDeleteError indicates that the a Delete operation failed.
	EventDeleteError = "DeleteError"

	// ShootEventMaintenanceDone indicates that a maintenance operation has been performed.
	ShootEventMaintenanceDone = "MaintenanceDone"
	// ShootEventMaintenanceError indicates that a maintenance operation has failed.
	ShootEventMaintenanceError = "MaintenanceError"

	// ProjectEventNamespaceReconcileFailed indicates that the namespace reconciliation has failed.
	ProjectEventNamespaceReconcileFailed = "NamespaceReconcileFailed"
	// ProjectEventNamespaceReconcileSuccessful indicates that the namespace reconciliation has succeeded.
	ProjectEventNamespaceReconcileSuccessful = "NamespaceReconcileSuccessful"
	// ProjectEventNamespaceDeletionFailed indicates that the namespace deletion failed.
	ProjectEventNamespaceDeletionFailed = "NamespaceDeletionFailed"
	// ProjectEventNamespaceMarkedForDeletion indicates that the namespace has been successfully marked for deletion.
	ProjectEventNamespaceMarkedForDeletion = "NamespaceMarkedForDeletion"
)
View Source
const (
	// GardenerName is the value in a Garden resource's `.metadata.finalizers[]` array on which the Gardener will react
	// when performing a delete request on a resource.
	GardenerName = "gardener"

	// ExternalGardenerName is the value in a Kubernetes core resources `.metadata.finalizers[]` array on which the
	// Gardener will react when performing a delete request on a resource.
	ExternalGardenerName = "garden.sapcloud.io/gardener"

	// DefaultDomain is the default value in the Shoot's '.spec.dns.domain' when '.spec.dns.provider' is 'unmanaged'
	DefaultDomain = "cluster.local"
)
View Source
const (
	// ConditionAvailable is a condition type for indicating availability.
	ConditionAvailable ConditionType = "Available"

	// ConditionTrue means a resource is in the condition.
	ConditionTrue ConditionStatus = "True"
	// ConditionFalse means a resource is not in the condition.
	ConditionFalse ConditionStatus = "False"
	// ConditionUnknown means Gardener can't decide if a resource is in the condition or not.
	ConditionUnknown ConditionStatus = "Unknown"
	// ConditionProgressing means the condition was seen true, failed but stayed within a predefined failure threshold.
	// In the future, we could add other intermediate conditions, e.g. ConditionDegraded.
	ConditionProgressing ConditionStatus = "Progressing"

	// ConditionCheckError is a constant for a reason in condition.
	ConditionCheckError = "ConditionCheckError"
)
View Source
const CalicoNetworkType = "calico"

CalicoNetworkType is a constant for the calico network type.

View Source
const DNSUnmanaged string = "unmanaged"

DNSUnmanaged is a constant for the 'unmanaged' DNS provider.

View Source
const GroupName = "garden.sapcloud.io"

GroupName is the name of the Garden API group.

View Source
const SeedVolumeProviderPurposeEtcdMain = "etcd-main"

SeedVolumeProviderPurposeEtcdMain is a constant for the etcd-main volume provider purpose.

Variables

View Source
var (
	// SchemeBuilder is a new Scheme Builder which registers our API.
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
	// AddToScheme is a reference to the Scheme Builder's AddToScheme function.
	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 Kind

func Kind(kind string) schema.GroupKind

Kind takes an unqualified kind and returns back a Group qualified GroupKind

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns back a Group qualified GroupResource

Types

type AWSCloud

type AWSCloud struct {
	// ShootMachineImage holds information about the machine image to use for all workers.
	// It will default to the latest version of the first image stated in the referenced CloudProfile if no
	// value has been provided.
	MachineImage *ShootMachineImage
	// Networks holds information about the Kubernetes and infrastructure networks.
	Networks AWSNetworks
	// Workers is a list of worker groups.
	Workers []Worker
	// Zones is a list of availability zones to deploy the Shoot cluster to.
	Zones []string
}

func (*AWSCloud) DeepCopy

func (in *AWSCloud) DeepCopy() *AWSCloud

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

func (*AWSCloud) DeepCopyInto

func (in *AWSCloud) DeepCopyInto(out *AWSCloud)

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

type AWSConstraints

type AWSConstraints struct {
	// DNSProviders contains constraints regarding allowed values of the 'dns.provider' block in the Shoot specification.
	DNSProviders []DNSProviderConstraint
	// Kubernetes contains constraints regarding allowed values of the 'kubernetes' block in the Shoot specification.
	Kubernetes KubernetesConstraints
	// MachineImages contains constraints regarding allowed values for machine images in the Shoot specification.
	MachineImages []MachineImage
	// MachineTypes contains constraints regarding allowed values for machine types in the 'workers' block in the Shoot specification.
	MachineTypes []MachineType
	// VolumeTypes contains constraints regarding allowed values for volume types in the 'workers' block in the Shoot specification.
	VolumeTypes []VolumeType
	// Zones contains constraints regarding allowed values for 'zones' block in the Shoot specification.
	Zones []Zone
}

AWSConstraints is an object containing constraints for certain values in the Shoot specification.

func (*AWSConstraints) DeepCopy

func (in *AWSConstraints) DeepCopy() *AWSConstraints

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

func (*AWSConstraints) DeepCopyInto

func (in *AWSConstraints) DeepCopyInto(out *AWSConstraints)

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

type AWSNetworks

type AWSNetworks struct {
	K8SNetworks
	// VPC indicates whether to use an existing VPC or create a new one.
	VPC AWSVPC
	// Internal is a list of private subnets to create (used for internal load balancers).
	Internal []string
	// Public is a list of public subnets to create (used for bastion and load balancers).
	Public []string
	// Workers is a list of worker subnets (private) to create (used for the VMs).
	Workers []string
}

AWSNetworks holds information about the Kubernetes and infrastructure networks.

func (*AWSNetworks) DeepCopy

func (in *AWSNetworks) DeepCopy() *AWSNetworks

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

func (*AWSNetworks) DeepCopyInto

func (in *AWSNetworks) DeepCopyInto(out *AWSNetworks)

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

type AWSProfile

type AWSProfile struct {
	// Constraints is an object containing constraints for certain values in the Shoot specification.
	Constraints AWSConstraints
}

AWSProfile defines certain constraints and definitions for the AWS cloud.

func (*AWSProfile) DeepCopy

func (in *AWSProfile) DeepCopy() *AWSProfile

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

func (*AWSProfile) DeepCopyInto

func (in *AWSProfile) DeepCopyInto(out *AWSProfile)

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

type AWSVPC

type AWSVPC struct {
	// ID is the AWS VPC id of an existing VPC.
	ID *string
	// CIDR is a CIDR range for a new VPC.
	CIDR *string
}

AWSVPC contains either an id (of an existing VPC) or the CIDR (for a VPC to be created).

func (*AWSVPC) DeepCopy

func (in *AWSVPC) DeepCopy() *AWSVPC

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

func (*AWSVPC) DeepCopyInto

func (in *AWSVPC) DeepCopyInto(out *AWSVPC)

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

type Addon

type Addon struct {
	// Enabled indicates whether the addon is enabled or not.
	Enabled bool
}

Addon also enabling or disabling a specific addon and is used to derive from.

func (*Addon) DeepCopy

func (in *Addon) DeepCopy() *Addon

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

func (*Addon) DeepCopyInto

func (in *Addon) DeepCopyInto(out *Addon)

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

type AddonClusterAutoscaler

type AddonClusterAutoscaler struct {
	Addon
}

AddonClusterAutoscaler describes configuration values for the cluster-autoscaler addon.

func (*AddonClusterAutoscaler) DeepCopy

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

func (*AddonClusterAutoscaler) DeepCopyInto

func (in *AddonClusterAutoscaler) DeepCopyInto(out *AddonClusterAutoscaler)

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

type Addons

type Addons struct {
	// KubernetesDashboard holds configuration settings for the kubernetes dashboard addon.
	KubernetesDashboard *KubernetesDashboard
	// NginxIngress holds configuration settings for the nginx-ingress addon.
	NginxIngress *NginxIngress

	// ClusterAutoscaler holds configuration settings for the cluster autoscaler addon.
	// DEPRECATED: This field will be removed in a future version.
	ClusterAutoscaler *AddonClusterAutoscaler
	// Heapster holds configuration settings for the heapster addon.
	// DEPRECATED: This field will be removed in a future version.
	Heapster *Heapster
	// Kube2IAM holds configuration settings for the kube2iam addon (only AWS).
	// DEPRECATED: This field will be removed in a future version.
	Kube2IAM *Kube2IAM
	// KubeLego holds configuration settings for the kube-lego addon.
	// DEPRECATED: This field will be removed in a future version.
	KubeLego *KubeLego
	// Monocular holds configuration settings for the monocular addon.
	// DEPRECATED: This field will be removed in a future version.
	Monocular *Monocular
}

Addons is a collection of configuration for specific addons which are managed by the Gardener.

func (*Addons) DeepCopy

func (in *Addons) DeepCopy() *Addons

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

func (*Addons) DeepCopyInto

func (in *Addons) DeepCopyInto(out *Addons)

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

type AdmissionPlugin

type AdmissionPlugin struct {
	// Name is the name of the plugin.
	Name string
	// Config is the configuration of the plugin.
	Config *ProviderConfig
}

AdmissionPlugin contains information about a specific admission plugin and its corresponding configuration.

func (*AdmissionPlugin) DeepCopy

func (in *AdmissionPlugin) DeepCopy() *AdmissionPlugin

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

func (*AdmissionPlugin) DeepCopyInto

func (in *AdmissionPlugin) DeepCopyInto(out *AdmissionPlugin)

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

type Alerting

type Alerting struct {
	// MonitoringEmailReceivers is a list of recipients for alerts
	EmailReceivers []string
}

Alerting contains information about how alerting will be done (i.e. who will receive alerts and how).

func (*Alerting) DeepCopy

func (in *Alerting) DeepCopy() *Alerting

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

func (*Alerting) DeepCopyInto

func (in *Alerting) DeepCopyInto(out *Alerting)

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

type Alicloud

type Alicloud struct {
	// ShootMachineImage holds information about the machine image to use for all workers.
	// It will default to the latest version of the first image stated in the referenced CloudProfile if no
	// value has been provided.
	MachineImage *ShootMachineImage
	// Networks holds information about the Kubernetes and infrastructure networks.
	Networks AlicloudNetworks
	// Workers is a list of worker groups.
	Workers []Worker
	// Zones is a list of availability zones to deploy the Shoot cluster to, currently, only one is supported.
	Zones []string
}

Alicloud contains the Shoot specification for Alibaba cloud

func (*Alicloud) DeepCopy

func (in *Alicloud) DeepCopy() *Alicloud

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

func (*Alicloud) DeepCopyInto

func (in *Alicloud) DeepCopyInto(out *Alicloud)

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

type AlicloudConstraints

type AlicloudConstraints struct {
	// DNSProviders contains constraints regarding allowed values of the 'dns.provider' block in the Shoot specification.
	DNSProviders []DNSProviderConstraint
	// Kubernetes contains constraints regarding allowed values of the 'kubernetes' block in the Shoot specification.
	Kubernetes KubernetesConstraints
	// MachineImages contains constraints regarding allowed values for machine images in the Shoot specification.
	MachineImages []MachineImage
	// MachineTypes contains constraints regarding allowed values for machine types in the 'workers' block in the Shoot specification.
	MachineTypes []AlicloudMachineType
	// VolumeTypes contains constraints regarding allowed values for volume types in the 'workers' block in the Shoot specification.
	VolumeTypes []AlicloudVolumeType
	// Zones contains constraints regarding allowed values for 'zones' block in the Shoot specification.
	Zones []Zone
}

AlicloudConstraints is an object containing constraints for certain values in the Shoot specification

func (*AlicloudConstraints) DeepCopy

func (in *AlicloudConstraints) DeepCopy() *AlicloudConstraints

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

func (*AlicloudConstraints) DeepCopyInto

func (in *AlicloudConstraints) DeepCopyInto(out *AlicloudConstraints)

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

type AlicloudMachineType

type AlicloudMachineType struct {
	MachineType
	Zones []string
}

AlicloudMachineType defines certain machine types and zone constraints.

func (*AlicloudMachineType) DeepCopy

func (in *AlicloudMachineType) DeepCopy() *AlicloudMachineType

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

func (*AlicloudMachineType) DeepCopyInto

func (in *AlicloudMachineType) DeepCopyInto(out *AlicloudMachineType)

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

type AlicloudNetworks

type AlicloudNetworks struct {
	K8SNetworks
	// VPC indicates whether to use an existing VPC or create a new one.
	VPC AlicloudVPC
	// Workers is a CIDR of a worker subnet (private) to create (used for the VMs).
	Workers []string
}

AlicloudNetworks holds information about the Kubernetes and infrastructure networks.

func (*AlicloudNetworks) DeepCopy

func (in *AlicloudNetworks) DeepCopy() *AlicloudNetworks

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

func (*AlicloudNetworks) DeepCopyInto

func (in *AlicloudNetworks) DeepCopyInto(out *AlicloudNetworks)

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

type AlicloudProfile

type AlicloudProfile struct {
	// Constraints is an object containing constraints for certain values in the Shoot specification.
	Constraints AlicloudConstraints
}

AlicloudProfile defines constraints and definitions in Alibaba Cloud environment.

func (*AlicloudProfile) DeepCopy

func (in *AlicloudProfile) DeepCopy() *AlicloudProfile

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

func (*AlicloudProfile) DeepCopyInto

func (in *AlicloudProfile) DeepCopyInto(out *AlicloudProfile)

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

type AlicloudVPC

type AlicloudVPC struct {
	// ID is the Alicloud VPC id of an existing VPC.
	ID *string
	// CIDR is a CIDR range for a new VPC.
	CIDR *string
}

AlicloudVPC contains either an id (of an existing VPC) or the CIDR (for a VPC to be created).

func (*AlicloudVPC) DeepCopy

func (in *AlicloudVPC) DeepCopy() *AlicloudVPC

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

func (*AlicloudVPC) DeepCopyInto

func (in *AlicloudVPC) DeepCopyInto(out *AlicloudVPC)

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

type AlicloudVolumeType

type AlicloudVolumeType struct {
	VolumeType
	Zones []string
}

AlicloudVolumeType defines certain volume types and zone constraints.

func (*AlicloudVolumeType) DeepCopy

func (in *AlicloudVolumeType) DeepCopy() *AlicloudVolumeType

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

func (*AlicloudVolumeType) DeepCopyInto

func (in *AlicloudVolumeType) DeepCopyInto(out *AlicloudVolumeType)

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

type AuditConfig

type AuditConfig struct {
	// AuditPolicy contains configuration settings for audit policy of the kube-apiserver.
	AuditPolicy *AuditPolicy
}

AuditConfig contains settings for audit of the api server

func (*AuditConfig) DeepCopy

func (in *AuditConfig) DeepCopy() *AuditConfig

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

func (*AuditConfig) DeepCopyInto

func (in *AuditConfig) DeepCopyInto(out *AuditConfig)

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

type AuditPolicy

type AuditPolicy struct {
	// ConfigMapRef is a reference to a ConfigMap object in the same namespace,
	// which contains the audit policy for the kube-apiserver.
	ConfigMapRef *corev1.ObjectReference
}

AuditPolicy contains audit policy for kube-apiserver

func (*AuditPolicy) DeepCopy

func (in *AuditPolicy) DeepCopy() *AuditPolicy

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

func (*AuditPolicy) DeepCopyInto

func (in *AuditPolicy) DeepCopyInto(out *AuditPolicy)

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

type AvailabilityZone

type AvailabilityZone struct {
	// Name is an an availability zone name.
	Name string
	// UnavailableMachineTypes is a list of machine type names that are not availability in this zone.
	UnavailableMachineTypes []string
	// UnavailableVolumeTypes is a list of volume type names that are not availability in this zone.
	UnavailableVolumeTypes []string
}

AvailabilityZone is an availability zone.

func (*AvailabilityZone) DeepCopy

func (in *AvailabilityZone) DeepCopy() *AvailabilityZone

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

func (*AvailabilityZone) DeepCopyInto

func (in *AvailabilityZone) DeepCopyInto(out *AvailabilityZone)

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

type AzureCloud

type AzureCloud struct {
	// ShootMachineImage holds information about the machine image to use for all workers.
	// It will default to the latest version of the first image stated in the referenced CloudProfile if no
	// value has been provided.
	MachineImage *ShootMachineImage
	// Networks holds information about the Kubernetes and infrastructure networks.
	Networks AzureNetworks
	// ResourceGroup indicates whether to use an existing resource group or create a new one.
	ResourceGroup *AzureResourceGroup
	// Workers is a list of worker groups.
	Workers []Worker
	// Zones is a list of availability zones to deploy the Shoot cluster to.
	Zones []string
}

AzureCloud contains the Shoot specification for Azure.

func (*AzureCloud) DeepCopy

func (in *AzureCloud) DeepCopy() *AzureCloud

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

func (*AzureCloud) DeepCopyInto

func (in *AzureCloud) DeepCopyInto(out *AzureCloud)

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

type AzureConstraints

type AzureConstraints struct {
	// DNSProviders contains constraints regarding allowed values of the 'dns.provider' block in the Shoot specification.
	DNSProviders []DNSProviderConstraint
	// Kubernetes contains constraints regarding allowed values of the 'kubernetes' block in the Shoot specification.
	Kubernetes KubernetesConstraints
	// MachineImages contains constraints regarding allowed values for machine images in the Shoot specification.
	MachineImages []MachineImage
	// MachineTypes contains constraints regarding allowed values for machine types in the 'workers' block in the Shoot specification.
	MachineTypes []MachineType
	// VolumeTypes contains constraints regarding allowed values for volume types in the 'workers' block in the Shoot specification.
	VolumeTypes []VolumeType
	// Zones contains constraints regarding allowed values for 'zones' block in the Shoot specification.
	Zones []Zone
}

AzureConstraints is an object containing constraints for certain values in the Shoot specification.

func (*AzureConstraints) DeepCopy

func (in *AzureConstraints) DeepCopy() *AzureConstraints

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

func (*AzureConstraints) DeepCopyInto

func (in *AzureConstraints) DeepCopyInto(out *AzureConstraints)

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

type AzureDomainCount

type AzureDomainCount struct {
	// Region is a region in Azure.
	Region string
	// Count is the count value for the respective domain count.
	Count int
}

AzureDomainCount defines the region and the count for this domain count value.

func (*AzureDomainCount) DeepCopy

func (in *AzureDomainCount) DeepCopy() *AzureDomainCount

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

func (*AzureDomainCount) DeepCopyInto

func (in *AzureDomainCount) DeepCopyInto(out *AzureDomainCount)

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

type AzureNetworks

type AzureNetworks struct {
	K8SNetworks
	// VNet indicates whether to use an existing VNet or create a new one.
	VNet AzureVNet
	// Workers is a CIDR of a worker subnet (private) to create (used for the VMs).
	Workers string
	// ServiceEndpoints is a list of Azure ServiceEndpoints which should be associated with the worker subnet.
	ServiceEndpoints []string
}

AzureNetworks holds information about the Kubernetes and infrastructure networks.

func (*AzureNetworks) DeepCopy

func (in *AzureNetworks) DeepCopy() *AzureNetworks

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

func (*AzureNetworks) DeepCopyInto

func (in *AzureNetworks) DeepCopyInto(out *AzureNetworks)

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

type AzureProfile

type AzureProfile struct {
	// Constraints is an object containing constraints for certain values in the Shoot specification.
	Constraints AzureConstraints
	// CountUpdateDomains is list of Azure update domain counts for each region.
	CountUpdateDomains []AzureDomainCount
	// CountFaultDomains is list of Azure fault domain counts for each region.
	CountFaultDomains []AzureDomainCount
}

AzureProfile defines certain constraints and definitions for the Azure cloud.

func (*AzureProfile) DeepCopy

func (in *AzureProfile) DeepCopy() *AzureProfile

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

func (*AzureProfile) DeepCopyInto

func (in *AzureProfile) DeepCopyInto(out *AzureProfile)

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

type AzureResourceGroup

type AzureResourceGroup struct {
	// Name is the name of an existing resource group.
	Name string
}

AzureResourceGroup indicates whether to use an existing resource group or create a new one.

func (*AzureResourceGroup) DeepCopy

func (in *AzureResourceGroup) DeepCopy() *AzureResourceGroup

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

func (*AzureResourceGroup) DeepCopyInto

func (in *AzureResourceGroup) DeepCopyInto(out *AzureResourceGroup)

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

type AzureVNet

type AzureVNet struct {
	// Name is the Azure VNet name of an existing VNet.
	Name *string
	// ResourceGroup is the resourceGroup where the VNet is located.
	ResourceGroup *string
	// CIDR is a CIDR range for a new VNet.
	CIDR *string
}

AzureVNet indicates whether to use an existing VNet or create a new one.

func (*AzureVNet) DeepCopy

func (in *AzureVNet) DeepCopy() *AzureVNet

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

func (*AzureVNet) DeepCopyInto

func (in *AzureVNet) DeepCopyInto(out *AzureVNet)

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

type Cloud

type Cloud struct {
	// Profile is a name of a CloudProfile object.
	Profile string
	// Region is a name of a cloud provider region.
	Region string
	// SecretBindingRef is a reference to a SecretBinding object.
	SecretBindingRef corev1.LocalObjectReference
	// Seed is the name of a Seed object.
	Seed *string
	// AWS contains the Shoot specification for the Amazon Web Services cloud.
	AWS *AWSCloud
	// Azure contains the Shoot specification for the Microsoft Azure cloud.
	Azure *AzureCloud
	// GCP contains the Shoot specification for the Google Cloud Platform cloud.
	GCP *GCPCloud
	// OpenStack contains the Shoot specification for the OpenStack cloud.
	OpenStack *OpenStackCloud
	// Alicloud contains the Shoot specification for the Alibaba cloud.
	Alicloud *Alicloud
	// PacketCloud contains the Shoot specification for the Packet cloud.
	Packet *PacketCloud
}

Cloud contains information about the cloud environment and their specific settings. It must contain exactly one key of the below cloud providers.

func (*Cloud) DeepCopy

func (in *Cloud) DeepCopy() *Cloud

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

func (*Cloud) DeepCopyInto

func (in *Cloud) DeepCopyInto(out *Cloud)

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

type CloudControllerManagerConfig

type CloudControllerManagerConfig struct {
	KubernetesConfig
}

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 CloudProfile

type CloudProfile struct {
	metav1.TypeMeta
	// Standard object metadata.
	metav1.ObjectMeta
	// Spec defines the cloud environment properties.
	Spec CloudProfileSpec
}

CloudProfile represents certain properties about a cloud environment.

func (*CloudProfile) DeepCopy

func (in *CloudProfile) DeepCopy() *CloudProfile

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

func (*CloudProfile) DeepCopyInto

func (in *CloudProfile) DeepCopyInto(out *CloudProfile)

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

func (*CloudProfile) DeepCopyObject

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

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

type CloudProfileList

type CloudProfileList struct {
	metav1.TypeMeta
	// Standard list object metadata.
	metav1.ListMeta
	// Items is the list of CloudProfiles.
	Items []CloudProfile
}

CloudProfileList is a collection of CloudProfiles.

func (*CloudProfileList) DeepCopy

func (in *CloudProfileList) DeepCopy() *CloudProfileList

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

func (*CloudProfileList) DeepCopyInto

func (in *CloudProfileList) DeepCopyInto(out *CloudProfileList)

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

func (*CloudProfileList) DeepCopyObject

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

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

type CloudProfileMachineImage

type CloudProfileMachineImage struct {
	// Name is the name of the image.
	Name string
	// Versions contains versions and expiration dates of the machine image
	Versions []ExpirableVersion
}

CloudProfileMachineImage defines the name and multiple versions of the machine image in any environment.

func (*CloudProfileMachineImage) DeepCopy

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

func (*CloudProfileMachineImage) DeepCopyInto

func (in *CloudProfileMachineImage) DeepCopyInto(out *CloudProfileMachineImage)

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

type CloudProfileSpec

type CloudProfileSpec struct {
	// AWS is the profile specification for the Amazon Web Services cloud.
	AWS *AWSProfile
	// Azure is the profile specification for the Microsoft Azure cloud.
	Azure *AzureProfile
	// GCP is the profile specification for the Google Cloud Platform cloud.
	GCP *GCPProfile
	// OpenStack is the profile specification for the OpenStack cloud.
	OpenStack *OpenStackProfile
	// Alicloud is the profile specification for the Alibaba cloud.
	Alicloud *AlicloudProfile
	// Packet is the profile specification for the Packet cloud.
	Packet *PacketProfile
	// CABundle is a certificate bundle which will be installed onto every host machine of the Shoot cluster.
	CABundle *string
	//
	// Kubernetes contains constraints regarding allowed values of the 'kubernetes' block in the Shoot specification.
	Kubernetes KubernetesSettings
	// MachineImages contains constraints regarding allowed values for machine images in the Shoot specification.
	MachineImages []CloudProfileMachineImage
	// MachineTypes contains constraints regarding allowed values for machine types in the 'workers' block in the Shoot specification.
	MachineTypes []MachineType
	// ProviderConfig contains provider-specific configuration for the profile.
	ProviderConfig *ProviderConfig
	// Regions contains constraints regarding allowed values for regions and zones.
	Regions []Region
	// SeedSelector contains an optional list of labels on `Seed` resources that marks those seeds whose shoots may use this provider profile.
	// An empty list means that all seeds of the same provider type are supported.
	// This is useful for environments that are of the same type (like openstack) but may have different "instances"/landscapes.
	SeedSelector *metav1.LabelSelector
	// Type is the name of the provider.
	Type string
	// VolumeTypes contains constraints regarding allowed values for volume types in the 'workers' block in the Shoot specification.
	VolumeTypes []VolumeType
}

CloudProfileSpec is the specification of a CloudProfile. It must contain exactly one of its defined keys.

func (*CloudProfileSpec) DeepCopy

func (in *CloudProfileSpec) DeepCopy() *CloudProfileSpec

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

func (*CloudProfileSpec) DeepCopyInto

func (in *CloudProfileSpec) DeepCopyInto(out *CloudProfileSpec)

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

type CloudProvider

type CloudProvider string

CloudProvider is a string alias.

const (
	// CloudProviderAWS is a constant for the AWS cloud provider.
	CloudProviderAWS CloudProvider = "aws"
	// CloudProviderAzure is a constant for the Azure cloud provider.
	CloudProviderAzure CloudProvider = "azure"
	// CloudProviderGCP is a constant for the GCP cloud provider.
	CloudProviderGCP CloudProvider = "gcp"
	// CloudProviderOpenStack is a constant for the OpenStack cloud provider.
	CloudProviderOpenStack CloudProvider = "openstack"
	// CloudProviderAlicloud is a constant for the Alibaba cloud provider.
	CloudProviderAlicloud CloudProvider = "alicloud"
	// CloudProviderPacket is a constant for the Packet cloud provider.
	CloudProviderPacket CloudProvider = "packet"
)

type ClusterAutoscaler

type ClusterAutoscaler struct {
	// ScaleDownUtilizationThreshold defines the threshold in % under which a node is being removed
	ScaleDownUtilizationThreshold *float64
	// ScaleDownUnneededTime defines how long a node should be unneeded before it is eligible for scale down (default: 10 mins).
	ScaleDownUnneededTime *metav1.Duration
	// ScaleDownDelayAfterAdd defines how long after scale up that scale down evaluation resumes (default: 10 mins).
	ScaleDownDelayAfterAdd *metav1.Duration
	// ScaleDownDelayAfterFailure how long after scale down failure that scale down evaluation resumes (default: 3 mins).
	ScaleDownDelayAfterFailure *metav1.Duration
	// ScaleDownDelayAfterDelete how long after node deletion that scale down evaluation resumes, defaults to scanInterval (defaults to ScanInterval).
	ScaleDownDelayAfterDelete *metav1.Duration
	// ScanInterval how often cluster is reevaluated for scale up or down (default: 10 secs).
	ScanInterval *metav1.Duration
}

ClusterAutoscaler contains the configration flags for the Kubernetes cluster autoscaler.

func (*ClusterAutoscaler) DeepCopy

func (in *ClusterAutoscaler) DeepCopy() *ClusterAutoscaler

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

func (*ClusterAutoscaler) DeepCopyInto

func (in *ClusterAutoscaler) DeepCopyInto(out *ClusterAutoscaler)

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

type Condition

type Condition struct {
	// Type of the Shoot condition.
	Type ConditionType
	// Status of the condition, one of True, False, Unknown.
	Status ConditionStatus
	// Last time the condition transitioned from one status to another.
	LastTransitionTime metav1.Time
	// Last time the condition was updated.
	LastUpdateTime metav1.Time
	// The reason for the condition's last transition.
	Reason string
	// A human readable message indicating details about the transition.
	Message string
}

Condition holds the information about the state of a resource.

func (*Condition) DeepCopy

func (in *Condition) DeepCopy() *Condition

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

func (*Condition) DeepCopyInto

func (in *Condition) DeepCopyInto(out *Condition)

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

type ConditionStatus

type ConditionStatus string

ConditionStatus is the status of a condition.

type ConditionType

type ConditionType string

ConditionType is a string alias.

const (
	// SeedBootstrapped is a constant for a condition type indicating that the seed cluster has been
	// bootstrapped.
	SeedBootstrapped ConditionType = "Bootstrapped"
	// SeedExtensionsReady is a constant for a condition type indicating that the extensions are ready.
	SeedExtensionsReady ConditionType = "ExtensionsReady"
	// SeedGardenletReady is a constant for a condition type indicating that the Gardenlet is ready.
	SeedGardenletReady ConditionType = "GardenletReady"

	// ShootControlPlaneHealthy is a constant for a condition type indicating the control plane health.
	ShootControlPlaneHealthy ConditionType = "ControlPlaneHealthy"
	// ShootEveryNodeReady is a constant for a condition type indicating the node health.
	ShootEveryNodeReady ConditionType = "EveryNodeReady"
	// ShootSystemComponentsHealthy is a constant for a condition type indicating the system components health.
	ShootSystemComponentsHealthy ConditionType = "SystemComponentsHealthy"
	// ShootAPIServerAvailable is a constant for a condition type indicating the api server is available.
	ShootAPIServerAvailable ConditionType = "APIServerAvailable"
	// ShootHibernationPossible is a constant for a condition type indicating whether the Shoot can be hibernated.
	ShootHibernationPossible ConditionType = "HibernationPossible"
)

type DNS

type DNS struct {
	// Domain is the external available domain of the Shoot cluster.
	Domain *string
	// Providers is a list of DNS providers that shall be enabled for this shoot cluster. Only relevant if
	// not a default domain is used.
	Providers []DNSProvider
}

DNS holds information about the provider, the hosted zone id and the domain.

func (*DNS) DeepCopy

func (in *DNS) DeepCopy() *DNS

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

func (*DNS) DeepCopyInto

func (in *DNS) DeepCopyInto(out *DNS)

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

type DNSIncludeExclude

type DNSIncludeExclude struct {
	// Include is a list of resources that shall be included.
	Include []string
	// Exclude is a list of resources that shall be excluded.
	Exclude []string
}

func (*DNSIncludeExclude) DeepCopy

func (in *DNSIncludeExclude) DeepCopy() *DNSIncludeExclude

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

func (*DNSIncludeExclude) DeepCopyInto

func (in *DNSIncludeExclude) DeepCopyInto(out *DNSIncludeExclude)

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

type DNSProvider

type DNSProvider struct {
	// Domains contains information about which domains shall be included/excluded for this provider.
	Domains *DNSIncludeExclude
	// SecretName is a name of a secret containing credentials for the stated domain and the
	// provider. When not specified, the Gardener will use the cloud provider credentials referenced
	// by the Shoot and try to find respective credentials there. Specifying this field may override
	// this behavior, i.e. forcing the Gardener to only look into the given secret.
	SecretName *string
	// Type is the DNS provider type for the Shoot. Only relevant if not the default domain is used for
	// this shoot.
	Type *string
	// Zones contains information about which hosted zones shall be included/excluded for this provider.
	Zones *DNSIncludeExclude
}

DNSProvider contains information about a DNS provider.

func (*DNSProvider) DeepCopy

func (in *DNSProvider) DeepCopy() *DNSProvider

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

func (*DNSProvider) DeepCopyInto

func (in *DNSProvider) DeepCopyInto(out *DNSProvider)

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

type DNSProviderConstraint

type DNSProviderConstraint struct {
	// Name is the name of the DNS provider.
	Name string
}

DNSProviderConstraint contains constraints regarding allowed values of the 'dns.provider' block in the Shoot specification.

func (*DNSProviderConstraint) DeepCopy

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

func (*DNSProviderConstraint) DeepCopyInto

func (in *DNSProviderConstraint) DeepCopyInto(out *DNSProviderConstraint)

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

type ErrorCode

type ErrorCode string

ErrorCode is a string alias.

const (
	// ErrorInfraUnauthorized indicates that the last error occurred due to invalid cloud provider credentials.
	ErrorInfraUnauthorized ErrorCode = "ERR_INFRA_UNAUTHORIZED"
	// ErrorInfraInsufficientPrivileges indicates that the last error occurred due to insufficient cloud provider privileges.
	ErrorInfraInsufficientPrivileges ErrorCode = "ERR_INFRA_INSUFFICIENT_PRIVILEGES"
	// ErrorInfraQuotaExceeded indicates that the last error occurred due to cloud provider quota limits.
	ErrorInfraQuotaExceeded ErrorCode = "ERR_INFRA_QUOTA_EXCEEDED"
	// ErrorInfraDependencies indicates that the last error occurred due to dependent objects on the cloud provider level.
	ErrorInfraDependencies ErrorCode = "ERR_INFRA_DEPENDENCIES"
)

type ExpirableVersion

type ExpirableVersion struct {
	// Version is the version identifier.
	Version string
	// ExpirationDate defines the time at which this version expires.
	ExpirationDate *metav1.Time
}

ExpirableVersion contains a version and an expiration date.

func (*ExpirableVersion) DeepCopy

func (in *ExpirableVersion) DeepCopy() *ExpirableVersion

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

func (*ExpirableVersion) DeepCopyInto

func (in *ExpirableVersion) DeepCopyInto(out *ExpirableVersion)

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

type Extension

type Extension struct {
	// Type is the type of the extension resource.
	Type string
	// ProviderConfig is the configuration passed to extension resource.
	ProviderConfig *ProviderConfig
}

Extension contains type and provider information for Shoot extensions.

func (*Extension) DeepCopy

func (in *Extension) DeepCopy() *Extension

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

func (*Extension) DeepCopyInto

func (in *Extension) DeepCopyInto(out *Extension)

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

type GCPCloud

type GCPCloud struct {
	// ShootMachineImage holds information about the machine image to use for all workers.
	// It will default to the latest version of the first image stated in the referenced CloudProfile if no
	// value has been provided.
	MachineImage *ShootMachineImage
	// Networks holds information about the Kubernetes and infrastructure networks.
	Networks GCPNetworks
	// Workers is a list of worker groups.
	Workers []Worker
	// Zones is a list of availability zones to deploy the Shoot cluster to.
	Zones []string
}

GCPCloud contains the Shoot specification for GCP.

func (*GCPCloud) DeepCopy

func (in *GCPCloud) DeepCopy() *GCPCloud

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

func (*GCPCloud) DeepCopyInto

func (in *GCPCloud) DeepCopyInto(out *GCPCloud)

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

type GCPConstraints

type GCPConstraints struct {
	// DNSProviders contains constraints regarding allowed values of the 'dns.provider' block in the Shoot specification.
	DNSProviders []DNSProviderConstraint
	// Kubernetes contains constraints regarding allowed values of the 'kubernetes' block in the Shoot specification.
	Kubernetes KubernetesConstraints
	// MachineImages contains constraints regarding allowed values for machine images in the Shoot specification.
	MachineImages []MachineImage
	// MachineTypes contains constraints regarding allowed values for machine types in the 'workers' block in the Shoot specification.
	MachineTypes []MachineType
	// VolumeTypes contains constraints regarding allowed values for volume types in the 'workers' block in the Shoot specification.
	VolumeTypes []VolumeType
	// Zones contains constraints regarding allowed values for 'zones' block in the Shoot specification.
	Zones []Zone
}

GCPConstraints is an object containing constraints for certain values in the Shoot specification.

func (*GCPConstraints) DeepCopy

func (in *GCPConstraints) DeepCopy() *GCPConstraints

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

func (*GCPConstraints) DeepCopyInto

func (in *GCPConstraints) DeepCopyInto(out *GCPConstraints)

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

type GCPNetworks

type GCPNetworks struct {
	K8SNetworks
	// VPC indicates whether to use an existing VPC or create a new one.
	VPC *GCPVPC
	// Internal is a private subnet (used for internal load balancers).
	Internal *string
	// Workers is a list of strings of worker subnets (private) to create (used for the VMs).
	Workers []string
}

GCPNetworks holds information about the Kubernetes and infrastructure networks.

func (*GCPNetworks) DeepCopy

func (in *GCPNetworks) DeepCopy() *GCPNetworks

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

func (*GCPNetworks) DeepCopyInto

func (in *GCPNetworks) DeepCopyInto(out *GCPNetworks)

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

type GCPProfile

type GCPProfile struct {
	// Constraints is an object containing constraints for certain values in the Shoot specification.
	Constraints GCPConstraints
}

GCPProfile defines certain constraints and definitions for the GCP cloud.

func (*GCPProfile) DeepCopy

func (in *GCPProfile) DeepCopy() *GCPProfile

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

func (*GCPProfile) DeepCopyInto

func (in *GCPProfile) DeepCopyInto(out *GCPProfile)

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

type GCPVPC

type GCPVPC struct {
	// Name is the name of an existing GCP VPC.
	Name string
}

GCPVPC indicates whether to use an existing VPC or create a new one.

func (*GCPVPC) DeepCopy

func (in *GCPVPC) DeepCopy() *GCPVPC

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

func (*GCPVPC) DeepCopyInto

func (in *GCPVPC) DeepCopyInto(out *GCPVPC)

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

type Gardener

type Gardener struct {
	// ID is the Docker container id of the Gardener which last acted on a Shoot cluster.
	ID string
	// Name is the hostname (pod name) of the Gardener which last acted on a Shoot cluster.
	Name string
	// Version is the version of the Gardener which last acted on a Shoot cluster.
	Version string
}

Gardener holds the information about the Gardener

func (*Gardener) DeepCopy

func (in *Gardener) DeepCopy() *Gardener

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

func (*Gardener) DeepCopyInto

func (in *Gardener) DeepCopyInto(out *Gardener)

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

type Heapster

type Heapster struct {
	Addon
}

Heapster describes configuration values for the heapster addon.

func (*Heapster) DeepCopy

func (in *Heapster) DeepCopy() *Heapster

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

func (*Heapster) DeepCopyInto

func (in *Heapster) DeepCopyInto(out *Heapster)

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

type HelmTiller

type HelmTiller struct {
	Addon
}

HelmTiller describes configuration values for the helm-tiller addon.

func (*HelmTiller) DeepCopy

func (in *HelmTiller) DeepCopy() *HelmTiller

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

func (*HelmTiller) DeepCopyInto

func (in *HelmTiller) DeepCopyInto(out *HelmTiller)

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

type Hibernation

type Hibernation struct {
	// Enabled specifies whether the Shoot needs to be hibernated or not. If it is true, the Shoot's desired state is to be hibernated.
	// If it is false or nil, the Shoot's desired state is to be awaken.
	Enabled *bool
	// Schedules determines the hibernation schedules.
	Schedules []HibernationSchedule
}

Hibernation contains information whether the Shoot is suspended or not.

func (*Hibernation) DeepCopy

func (in *Hibernation) DeepCopy() *Hibernation

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

func (*Hibernation) DeepCopyInto

func (in *Hibernation) DeepCopyInto(out *Hibernation)

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

type HibernationSchedule

type HibernationSchedule struct {
	// Start is a Cron spec at which time a Shoot will be hibernated.
	Start *string
	// End is a Cron spec at which time a Shoot will be woken up.
	End *string
	// Location is the time location in which both start and and shall be evaluated.
	Location *string
}

HibernationSchedule determines the hibernation schedule of a Shoot. A Shoot will be regularly hibernated at each start time and will be woken up at each end time. Start or End can be omitted, though at least one of each has to be specified.

func (*HibernationSchedule) DeepCopy

func (in *HibernationSchedule) DeepCopy() *HibernationSchedule

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

func (*HibernationSchedule) DeepCopyInto

func (in *HibernationSchedule) DeepCopyInto(out *HibernationSchedule)

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

type HorizontalPodAutoscalerConfig

type HorizontalPodAutoscalerConfig struct {
	// DownscaleDelay is the period since last downscale, before another downscale can be performed in horizontal pod autoscaler.
	DownscaleDelay *metav1.Duration
	// SyncPeriod is the period for syncing the number of pods in horizontal pod autoscaler.
	SyncPeriod *metav1.Duration
	// Tolerance is the minimum change (from 1.0) in the desired-to-actual metrics ratio for the horizontal pod autoscaler to consider scaling.
	Tolerance *float64
	// UpscaleDelay is the period since last upscale, before another upscale can be performed in horizontal pod autoscaler.
	UpscaleDelay *metav1.Duration
	// DownscaleStabilization is the period for which autoscaler will look backwards and not scale down below any recommendation it made during that period.
	DownscaleStabilization *metav1.Duration
	// InitialReadinessDelay is the  period after pod start during which readiness changes will be treated as initial readiness.
	InitialReadinessDelay *metav1.Duration
	// CPUInitializationPeriod is the period after pod start when CPU samples might be skipped.
	CPUInitializationPeriod *metav1.Duration
}

HorizontalPodAutoscalerConfig contains horizontal pod autoscaler configuration settings for the kube-controller-manager. Note: Descriptions were taken from the Kubernetes documentation.

func (*HorizontalPodAutoscalerConfig) DeepCopy

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

func (*HorizontalPodAutoscalerConfig) DeepCopyInto

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

type K8SNetworks

type K8SNetworks struct {
	// Nodes is the CIDR of the node network.
	Nodes *string
	// Pods is the CIDR of the pod network.
	Pods *string
	// Services is the CIDR of the service network.
	Services *string
}

K8SNetworks contains CIDRs for the pod, service and node networks of a Kubernetes cluster.

func (*K8SNetworks) DeepCopy

func (in *K8SNetworks) DeepCopy() *K8SNetworks

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

func (*K8SNetworks) DeepCopyInto

func (in *K8SNetworks) DeepCopyInto(out *K8SNetworks)

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

type Kube2IAM

type Kube2IAM struct {
	Addon
	// Roles is list of AWS IAM roles which should be created by the Gardener.
	Roles []Kube2IAMRole
}

Kube2IAM describes configuration values for the kube2iam addon.

func (*Kube2IAM) DeepCopy

func (in *Kube2IAM) DeepCopy() *Kube2IAM

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

func (*Kube2IAM) DeepCopyInto

func (in *Kube2IAM) DeepCopyInto(out *Kube2IAM)

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

type Kube2IAMRole

type Kube2IAMRole struct {
	// Name is the name of the IAM role. Will be extended by the Shoot name.
	Name string
	// Description is a human readable message indiciating what this IAM role can be used for.
	Description string
	// Policy is an AWS IAM policy document.
	Policy string
}

Kube2IAMRole allows passing AWS IAM policies which will result in IAM roles.

func (*Kube2IAMRole) DeepCopy

func (in *Kube2IAMRole) DeepCopy() *Kube2IAMRole

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

func (*Kube2IAMRole) DeepCopyInto

func (in *Kube2IAMRole) DeepCopyInto(out *Kube2IAMRole)

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

type KubeAPIServerConfig

type KubeAPIServerConfig struct {
	KubernetesConfig
	// AdmissionPlugins contains the list of user-defined admission plugins (additional to those managed by Gardener), and, if desired, the corresponding
	// configuration.
	AdmissionPlugins []AdmissionPlugin
	// APIAudiences are the identifiers of the API. The service account token authenticator will
	// validate that tokens used against the API are bound to at least one of these audiences.
	// If `serviceAccountConfig.issuer` is configured and this is not, this defaults to a single
	// element list containing the issuer URL.
	APIAudiences []string
	// AuditConfig contains configuration settings for the audit of the kube-apiserver.
	AuditConfig *AuditConfig
	// EnableBasicAuthentication defines whether basic authentication should be enabled for this cluster or not.
	EnableBasicAuthentication *bool
	// OIDCConfig contains configuration settings for the OIDC provider.
	OIDCConfig *OIDCConfig
	// RuntimeConfig contains information about enabled or disabled APIs.
	RuntimeConfig map[string]bool
	// ServiceAccountConfig contains configuration settings for the service account handling
	// of the kube-apiserver.
	ServiceAccountConfig *ServiceAccountConfig
}

KubeAPIServerConfig contains configuration settings for the kube-apiserver.

func (*KubeAPIServerConfig) DeepCopy

func (in *KubeAPIServerConfig) DeepCopy() *KubeAPIServerConfig

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

func (*KubeAPIServerConfig) DeepCopyInto

func (in *KubeAPIServerConfig) DeepCopyInto(out *KubeAPIServerConfig)

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

type KubeControllerManagerConfig

type KubeControllerManagerConfig struct {
	KubernetesConfig
	// HorizontalPodAutoscalerConfig contains horizontal pod autoscaler configuration settings for the kube-controller-manager.
	HorizontalPodAutoscalerConfig *HorizontalPodAutoscalerConfig
	// NodeCIDRMaskSize defines the mask size for node cidr in cluster (default is 24)
	NodeCIDRMaskSize *int
}

KubeControllerManagerConfig contains configuration settings for the kube-controller-manager.

func (*KubeControllerManagerConfig) DeepCopy

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

func (*KubeControllerManagerConfig) DeepCopyInto

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

type KubeLego

type KubeLego struct {
	Addon
	// Mail is the email address to register at Let's Encrypt.
	Mail string
}

KubeLego describes configuration values for the kube-lego addon.

func (*KubeLego) DeepCopy

func (in *KubeLego) DeepCopy() *KubeLego

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

func (*KubeLego) DeepCopyInto

func (in *KubeLego) DeepCopyInto(out *KubeLego)

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

type KubeProxyConfig

type KubeProxyConfig struct {
	KubernetesConfig
	// Mode specifies which proxy mode to use.
	// defaults to IPTables.
	Mode *ProxyMode
}

KubeProxyConfig contains configuration settings for the kube-proxy.

func (*KubeProxyConfig) DeepCopy

func (in *KubeProxyConfig) DeepCopy() *KubeProxyConfig

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

func (*KubeProxyConfig) DeepCopyInto

func (in *KubeProxyConfig) DeepCopyInto(out *KubeProxyConfig)

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

type KubeSchedulerConfig

type KubeSchedulerConfig struct {
	KubernetesConfig
}

KubeSchedulerConfig contains configuration settings for the kube-scheduler.

func (*KubeSchedulerConfig) DeepCopy

func (in *KubeSchedulerConfig) DeepCopy() *KubeSchedulerConfig

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

func (*KubeSchedulerConfig) DeepCopyInto

func (in *KubeSchedulerConfig) DeepCopyInto(out *KubeSchedulerConfig)

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

type KubeletConfig

type KubeletConfig struct {
	KubernetesConfig
	// PodPIDsLimit is the maximum number of process IDs per pod allowed by the kubelet.
	PodPIDsLimit *int64
	// CPUCFSQuota allows you to disable/enable CPU throttling for Pods.
	CPUCFSQuota *bool
	// CPUManagerPolicy allows to set alternative CPU management policies (default: none).
	CPUManagerPolicy *string
	// MaxPods is the maximum number of Pods that are allowed by the Kubelet.
	// Default: 110
	MaxPods *int32
	// EvictionHard describes a set of eviction thresholds (e.g. memory.available<1Gi) that if met would trigger a Pod eviction.
	// Default:
	//   memory.available:   "100Mi/1Gi/5%"
	//   nodefs.available:   "5%"
	//   nodefs.inodesFree:  "5%"
	//   imagefs.available:  "5%"
	//   imagefs.inodesFree: "5%"
	EvictionHard *KubeletConfigEviction
	// EvictionSoft describes a set of eviction thresholds (e.g. memory.available<1.5Gi) that if met over a corresponding grace period would trigger a Pod eviction.
	// Default:
	//   memory.available:   "200Mi/1.5Gi/10%"
	//   nodefs.available:   "10%"
	//   nodefs.inodesFree:  "10%"
	//   imagefs.available:  "10%"
	//   imagefs.inodesFree: "10%"
	EvictionSoft *KubeletConfigEviction
	// EvictionSoftGracePeriod describes a set of eviction grace periods (e.g. memory.available=1m30s) that correspond to how long a soft eviction threshold must hold before triggering a Pod eviction.
	// Default:
	//   memory.available:   1m30s
	//   nodefs.available:   1m30s
	//   nodefs.inodesFree:  1m30s
	//   imagefs.available:  1m30s
	//   imagefs.inodesFree: 1m30s
	EvictionSoftGracePeriod *KubeletConfigEvictionSoftGracePeriod
	// EvictionMinimumReclaim configures the amount of resources below the configured eviction threshold that the kubelet attempts to reclaim whenever the kubelet observes resource pressure.
	// Default: 0 for each resource
	EvictionMinimumReclaim *KubeletConfigEvictionMinimumReclaim
	// EvictionPressureTransitionPeriod is the duration for which the kubelet has to wait before transitioning out of an eviction pressure condition.
	// Default: 4m0s
	EvictionPressureTransitionPeriod *metav1.Duration
	// EvictionMaxPodGracePeriod describes the maximum allowed grace period (in seconds) to use when terminating pods in response to a soft eviction threshold being met.
	// Default: 90
	EvictionMaxPodGracePeriod *int32
}

KubeletConfig contains configuration settings for the kubelet.

func (*KubeletConfig) DeepCopy

func (in *KubeletConfig) DeepCopy() *KubeletConfig

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

func (*KubeletConfig) DeepCopyInto

func (in *KubeletConfig) DeepCopyInto(out *KubeletConfig)

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

type KubeletConfigEviction

type KubeletConfigEviction struct {
	// MemoryAvailable is the threshold for the free memory on the host server.
	MemoryAvailable *string
	// ImageFSAvailable is the threshold for the free disk space in the imagefs filesystem (docker images and container writable layers).
	ImageFSAvailable *string
	// ImageFSInodesFree is the threshold for the available inodes in the imagefs filesystem.
	ImageFSInodesFree *string
	// NodeFSAvailable is the threshold for the free disk space in the nodefs filesystem (docker volumes, logs, etc).
	NodeFSAvailable *string
	// NodeFSInodesFree is the threshold for the available inodes in the nodefs filesystem.
	NodeFSInodesFree *string
}

KubeletConfigEviction contains kubelet eviction thresholds supporting either a resource.Quantity or a percentage based value.

func (*KubeletConfigEviction) DeepCopy

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

func (*KubeletConfigEviction) DeepCopyInto

func (in *KubeletConfigEviction) DeepCopyInto(out *KubeletConfigEviction)

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

type KubeletConfigEvictionMinimumReclaim

type KubeletConfigEvictionMinimumReclaim struct {
	// MemoryAvailable is the threshold for the memory reclaim on the host server.
	MemoryAvailable *resource.Quantity
	// ImageFSAvailable is the threshold for the disk space reclaim in the imagefs filesystem (docker images and container writable layers).
	ImageFSAvailable *resource.Quantity
	// ImageFSInodesFree is the threshold for the inodes reclaim in the imagefs filesystem.
	ImageFSInodesFree *resource.Quantity
	// NodeFSAvailable is the threshold for the disk space reclaim in the nodefs filesystem (docker volumes, logs, etc).
	NodeFSAvailable *resource.Quantity
	// NodeFSInodesFree is the threshold for the inodes reclaim in the nodefs filesystem.
	NodeFSInodesFree *resource.Quantity
}

KubeletConfigEviction contains configuration for the kubelet eviction minimum reclaim.

func (*KubeletConfigEvictionMinimumReclaim) DeepCopy

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

func (*KubeletConfigEvictionMinimumReclaim) DeepCopyInto

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

type KubeletConfigEvictionSoftGracePeriod

type KubeletConfigEvictionSoftGracePeriod struct {
	// MemoryAvailable is the grace period for the MemoryAvailable eviction threshold.
	MemoryAvailable *metav1.Duration
	// ImageFSAvailable is the grace period for the ImageFSAvailable eviction threshold.
	ImageFSAvailable *metav1.Duration
	// ImageFSInodesFree is the grace period for the ImageFSInodesFree eviction threshold.
	ImageFSInodesFree *metav1.Duration
	// NodeFSAvailable is the grace period for the NodeFSAvailable eviction threshold.
	NodeFSAvailable *metav1.Duration
	// NodeFSInodesFree is the grace period for the NodeFSInodesFree eviction threshold.
	NodeFSInodesFree *metav1.Duration
}

KubeletConfigEvictionSoftGracePeriod contains grace periods for kubelet eviction thresholds.

func (*KubeletConfigEvictionSoftGracePeriod) DeepCopy

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

func (*KubeletConfigEvictionSoftGracePeriod) DeepCopyInto

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

type Kubernetes

type Kubernetes struct {
	// AllowPrivilegedContainers indicates whether privileged containers are allowed in the Shoot (default: true).
	AllowPrivilegedContainers *bool
	// KubeAPIServer contains configuration settings for the kube-apiserver.
	KubeAPIServer *KubeAPIServerConfig
	// CloudControllerManager contains configuration settings for the cloud-controller-manager.
	CloudControllerManager *CloudControllerManagerConfig
	// KubeControllerManager contains configuration settings for the kube-controller-manager.
	KubeControllerManager *KubeControllerManagerConfig
	// KubeScheduler contains configuration settings for the kube-scheduler.
	KubeScheduler *KubeSchedulerConfig
	// KubeProxy contains configuration settings for the kube-proxy.
	KubeProxy *KubeProxyConfig
	// Kubelet contains configuration settings for the kubelet.
	Kubelet *KubeletConfig
	// Version is the semantic Kubernetes version to use for the Shoot cluster.
	Version string
	// ClusterAutoscaler contains the configration flags for the Kubernetes cluster autoscaler.
	ClusterAutoscaler *ClusterAutoscaler
}

Kubernetes contains the version and configuration variables for the Shoot control plane.

func (*Kubernetes) DeepCopy

func (in *Kubernetes) DeepCopy() *Kubernetes

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

func (*Kubernetes) DeepCopyInto

func (in *Kubernetes) DeepCopyInto(out *Kubernetes)

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

type KubernetesConfig

type KubernetesConfig struct {
	// FeatureGates contains information about enabled feature gates.
	FeatureGates map[string]bool
}

KubernetesConfig contains common configuration fields for the control plane components.

func (*KubernetesConfig) DeepCopy

func (in *KubernetesConfig) DeepCopy() *KubernetesConfig

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

func (*KubernetesConfig) DeepCopyInto

func (in *KubernetesConfig) DeepCopyInto(out *KubernetesConfig)

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

type KubernetesConstraints

type KubernetesConstraints struct {
	// OfferedVersions is the list of allowed Kubernetes versions with optional expiration dates for Shoot clusters
	OfferedVersions []KubernetesVersion
}

KubernetesConstraints contains constraints regarding allowed values of the 'kubernetes' block in the Shoot specification.

func (*KubernetesConstraints) DeepCopy

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

func (*KubernetesConstraints) DeepCopyInto

func (in *KubernetesConstraints) DeepCopyInto(out *KubernetesConstraints)

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

type KubernetesDashboard

type KubernetesDashboard struct {
	Addon
	// AuthenticationMode defines the authentication mode for the kubernetes-dashboard.
	AuthenticationMode *string
}

KubernetesDashboard describes configuration values for the kubernetes-dashboard addon.

func (*KubernetesDashboard) DeepCopy

func (in *KubernetesDashboard) DeepCopy() *KubernetesDashboard

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

func (*KubernetesDashboard) DeepCopyInto

func (in *KubernetesDashboard) DeepCopyInto(out *KubernetesDashboard)

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

type KubernetesSettings

type KubernetesSettings struct {
	// Versions is the list of allowed Kubernetes versions with optional expiration dates for Shoot clusters.
	Versions []ExpirableVersion
}

KubernetesSettings contains constraints regarding allowed values of the 'kubernetes' block in the Shoot specification.

func (*KubernetesSettings) DeepCopy

func (in *KubernetesSettings) DeepCopy() *KubernetesSettings

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

func (*KubernetesSettings) DeepCopyInto

func (in *KubernetesSettings) DeepCopyInto(out *KubernetesSettings)

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

type KubernetesVersion

type KubernetesVersion struct {
	// Version is the kubernetes version
	Version string
	// ExpirationDate defines the time at which this kubernetes version is not supported any more. This has the following implications:
	// 1) A shoot that opted out of automatic kubernetes system updates and that is running this kubernetes version will be forcefully updated to the latest kubernetes patch version for the current minor version
	// 2) Shoot's with this kubernetes version cannot be created
	ExpirationDate *metav1.Time
}

KubernetesVersion contains the version code and optional expiration date for a kubernetes version

func (*KubernetesVersion) DeepCopy

func (in *KubernetesVersion) DeepCopy() *KubernetesVersion

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

func (*KubernetesVersion) DeepCopyInto

func (in *KubernetesVersion) DeepCopyInto(out *KubernetesVersion)

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

type LastError

type LastError struct {
	// A human readable message indicating details about the last error.
	Description string
	// ID of the task which caused this last error
	TaskID *string
	// Well-defined error codes of the last error(s).
	Codes []ErrorCode
	// Last time the error was reported
	LastUpdateTime *metav1.Time
}

LastError indicates the last occurred error for an operation on a resource.

func (*LastError) DeepCopy

func (in *LastError) DeepCopy() *LastError

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

func (*LastError) DeepCopyInto

func (in *LastError) DeepCopyInto(out *LastError)

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

type LastOperation

type LastOperation struct {
	// A human readable message indicating details about the last operation.
	Description string
	// Last time the operation state transitioned from one to another.
	LastUpdateTime metav1.Time
	// The progress in percentage (0-100) of the last operation.
	Progress int
	// Status of the last operation, one of Aborted, Processing, Succeeded, Error, Failed.
	State LastOperationState
	// Type of the last operation, one of Create, Reconcile, Delete.
	Type LastOperationType
}

LastOperation indicates the type and the state of the last operation, along with a description message and a progress indicator.

func (*LastOperation) DeepCopy

func (in *LastOperation) DeepCopy() *LastOperation

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

func (*LastOperation) DeepCopyInto

func (in *LastOperation) DeepCopyInto(out *LastOperation)

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

type LastOperationState

type LastOperationState string

LastOperationState is a string alias.

const (
	// LastOperationStateProcessing indicates that an operation is ongoing.
	LastOperationStateProcessing LastOperationState = "Processing"
	// LastOperationStateSucceeded indicates that an operation has completed successfully.
	LastOperationStateSucceeded LastOperationState = "Succeeded"
	// LastOperationStateError indicates that an operation is completed with errors and will be retried.
	LastOperationStateError LastOperationState = "Error"
	// LastOperationStateFailed indicates that an operation is completed with errors and won't be retried.
	LastOperationStateFailed LastOperationState = "Failed"
	// LastOperationStatePending indicates that an operation cannot be done now, but will be tried in future.
	LastOperationStatePending LastOperationState = "Pending"
	// LastOperationStateAborted indicates that an operation has been aborted.
	LastOperationStateAborted LastOperationState = "Aborted"
)

type LastOperationType

type LastOperationType string

LastOperationType is a string alias.

const (
	// LastOperationTypeReconcile indicates a 'reconcile' operation.
	LastOperationTypeReconcile LastOperationType = "Reconcile"
	// LastOperationTypeDelete indicates a 'delete' operation.
	LastOperationTypeDelete LastOperationType = "Delete"
)

type Machine

type Machine struct {
	// Type is the machine type of the worker group.
	Type string
	// Image holds information about the machine image to use for all nodes of this pool. It will default to the
	// latest version of the first image stated in the referenced CloudProfile if no value has been provided.
	Image *ShootMachineImage
}

Machine contains information about the machine type and image.

func (*Machine) DeepCopy

func (in *Machine) DeepCopy() *Machine

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

func (*Machine) DeepCopyInto

func (in *Machine) DeepCopyInto(out *Machine)

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

type MachineImage

type MachineImage struct {
	// Name is the name of the image.
	Name string
	// Versions contains versions and expiration dates of the machine image
	Versions []MachineImageVersion
}

MachineImage defines the name and multiple versions of the machine image in any environment.

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
	// ExpirationDate defines the time at which a shoot that opted out of automatic operating system updates and
	// that is running this image version will be forcefully updated to the latest version specified in the referenced
	// cloud profile.
	ExpirationDate *metav1.Time
}

MachineImageVersion contains a version and an expiration date of a machine image

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 MachineType

type MachineType struct {
	// Name is the name of the machine type.
	Name string
	// Usable defines if the machine type can be used for shoot clusters.
	Usable *bool
	// CPU is the number of CPUs for this machine type.
	CPU resource.Quantity
	// GPU is the number of GPUs for this machine type.
	GPU resource.Quantity
	// Storage is the amount of storage associated with the root volume of this machine type.
	Storage *MachineTypeStorage
	// Memory is the amount of memory for this machine type.
	Memory resource.Quantity
}

MachineType contains certain properties of a machine type.

func (*MachineType) DeepCopy

func (in *MachineType) DeepCopy() *MachineType

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

func (*MachineType) DeepCopyInto

func (in *MachineType) DeepCopyInto(out *MachineType)

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

type MachineTypeStorage

type MachineTypeStorage struct {
	// Class is the class of the storage type.
	Class string
	// Size is the storage size.
	Size resource.Quantity
	// Type is the type of the storage.
	Type string
}

MachineTypeStorage is the amount of storage associated with the root volume of this machine type.

func (*MachineTypeStorage) DeepCopy

func (in *MachineTypeStorage) DeepCopy() *MachineTypeStorage

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

func (*MachineTypeStorage) DeepCopyInto

func (in *MachineTypeStorage) DeepCopyInto(out *MachineTypeStorage)

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

type Maintenance

type Maintenance struct {
	// AutoUpdate contains information about which constraints should be automatically updated.
	AutoUpdate *MaintenanceAutoUpdate
	// TimeWindow contains information about the time window for maintenance operations.
	TimeWindow *MaintenanceTimeWindow
}

Maintenance contains information about the time window for maintenance operations and which operations should be performed.

func (*Maintenance) DeepCopy

func (in *Maintenance) DeepCopy() *Maintenance

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

func (*Maintenance) DeepCopyInto

func (in *Maintenance) DeepCopyInto(out *Maintenance)

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

type MaintenanceAutoUpdate

type MaintenanceAutoUpdate struct {
	// KubernetesVersion indicates whether the patch Kubernetes version may be automatically updated.
	KubernetesVersion bool
	// MachineImageVersion indicates whether the machine image version may be automatically updated (default: true).
	MachineImageVersion *bool
}

MaintenanceAutoUpdate contains information about which constraints should be automatically updated.

func (*MaintenanceAutoUpdate) DeepCopy

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

func (*MaintenanceAutoUpdate) DeepCopyInto

func (in *MaintenanceAutoUpdate) DeepCopyInto(out *MaintenanceAutoUpdate)

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

type MaintenanceTimeWindow

type MaintenanceTimeWindow struct {
	// Begin is the beginning of the time window in the format HHMMSS+ZONE, e.g. "220000+0100".
	// If not present, a random value will be computed.
	Begin string
	// End is the end of the time window in the format HHMMSS+ZONE, e.g. "220000+0100".
	// If not present, the value will be computed based on the "Begin" value.
	End string
}

MaintenanceTimeWindow contains information about the time window for maintenance operations.

func (*MaintenanceTimeWindow) DeepCopy

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

func (*MaintenanceTimeWindow) DeepCopyInto

func (in *MaintenanceTimeWindow) DeepCopyInto(out *MaintenanceTimeWindow)

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

type Monitoring

type Monitoring struct {
	// Alerting contains information about the alerting configuration for the shoot cluster.
	Alerting *Alerting
}

Monitoring contains information about the monitoring configuration for the shoot.

func (*Monitoring) DeepCopy

func (in *Monitoring) DeepCopy() *Monitoring

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

func (*Monitoring) DeepCopyInto

func (in *Monitoring) DeepCopyInto(out *Monitoring)

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

type Monocular

type Monocular struct {
	Addon
}

Monocular describes configuration values for the monocular addon.

func (*Monocular) DeepCopy

func (in *Monocular) DeepCopy() *Monocular

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

func (*Monocular) DeepCopyInto

func (in *Monocular) DeepCopyInto(out *Monocular)

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

type Networking

type Networking struct {
	// Type identifies the type of the networking plugin
	Type string
	// ProviderConfig is the configuration passed to network resource.
	ProviderConfig *ProviderConfig
	// Pods is the CIDR of the pod network.
	Pods *string
	// Nodes is the CIDR of the entire node network.
	Nodes *string
	// Services is the CIDR of the service network.
	Services *string
}

Networking defines networking parameters for the shoot cluster.

func (*Networking) DeepCopy

func (in *Networking) DeepCopy() *Networking

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

func (*Networking) DeepCopyInto

func (in *Networking) DeepCopyInto(out *Networking)

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

type NginxIngress

type NginxIngress struct {
	Addon
	// LoadBalancerSourceRanges is list of whitelist IP sources for NginxIngress
	LoadBalancerSourceRanges []string
	// Config contains custom configuration for the nginx-ingress-controller configuration.
	// See https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/nginx-configuration/configmap.md#configuration-options
	Config map[string]string
	// ExternalTrafficPolicy controls the `.spec.externalTrafficPolicy` value of the load balancer `Service`
	// exposing the nginx-ingress. Defaults to `Cluster`.
	ExternalTrafficPolicy *corev1.ServiceExternalTrafficPolicyType
}

NginxIngress describes configuration values for the nginx-ingress addon.

func (*NginxIngress) DeepCopy

func (in *NginxIngress) DeepCopy() *NginxIngress

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

func (*NginxIngress) DeepCopyInto

func (in *NginxIngress) DeepCopyInto(out *NginxIngress)

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

type OIDCConfig

type OIDCConfig struct {
	// If set, the OpenID server's certificate will be verified by one of the authorities in the oidc-ca-file, otherwise the host's root CA set will be used.
	CABundle *string
	// The client ID for the OpenID Connect client, must be set if oidc-issuer-url is set.
	ClientID *string
	// If provided, the name of a custom OpenID Connect claim for specifying user groups. The claim value is expected to be a string or array of strings. This flag is experimental, please see the authentication documentation for further details.
	GroupsClaim *string
	// If provided, all groups will be prefixed with this value to prevent conflicts with other authentication strategies.
	GroupsPrefix *string
	// The URL of the OpenID issuer, only HTTPS scheme will be accepted. If set, it will be used to verify the OIDC JSON Web Token (JWT).
	IssuerURL *string
	// ATTENTION: Only meaningful for Kubernetes >= 1.11
	// key=value pairs that describes a required claim in the ID Token. If set, the claim is verified to be present in the ID Token with a matching value.
	RequiredClaims map[string]string
	// List of allowed JOSE asymmetric signing algorithms. JWTs with a 'alg' header value not in this list will be rejected. Values are defined by RFC 7518 https://tools.ietf.org/html/rfc7518#section-3.1
	SigningAlgs []string
	// The OpenID claim to use as the user name. Note that claims other than the default ('sub') is not guaranteed to be unique and immutable. This flag is experimental, please see the authentication documentation for further details. (default "sub")
	UsernameClaim *string
	// If provided, all usernames will be prefixed with this value. If not provided, username claims other than 'email' are prefixed by the issuer URL to avoid clashes. To skip any prefixing, provide the value '-'.
	UsernamePrefix *string
	// ClientAuthentication can optionally contain client configuration used for kubeconfig generation.
	ClientAuthentication *OpenIDConnectClientAuthentication
}

OIDCConfig contains configuration settings for the OIDC provider. Note: Descriptions were taken from the Kubernetes documentation.

func (*OIDCConfig) DeepCopy

func (in *OIDCConfig) DeepCopy() *OIDCConfig

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

func (*OIDCConfig) DeepCopyInto

func (in *OIDCConfig) DeepCopyInto(out *OIDCConfig)

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

type OpenIDConnectClientAuthentication

type OpenIDConnectClientAuthentication struct {
	// The client Secret for the OpenID Connect client.
	Secret *string
	// Extra configuration added to kubeconfig's auth-provider.
	// Must not be any of idp-issuer-url, client-id, client-secret, idp-certificate-authority, idp-certificate-authority-data, id-token or refresh-token
	ExtraConfig map[string]string
}

OpenIDConnectClientAuthentication contains configuration for OIDC clients.

func (*OpenIDConnectClientAuthentication) DeepCopy

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

func (*OpenIDConnectClientAuthentication) DeepCopyInto

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

type OpenStackCloud

type OpenStackCloud struct {
	// FloatingPoolName is the name of the floating pool to get FIPs from.
	FloatingPoolName string
	// LoadBalancerProvider is the name of the load balancer provider in the OpenStack environment.
	LoadBalancerProvider string
	// LoadBalancerClasses available for a dedicated Shoot.
	LoadBalancerClasses []OpenStackLoadBalancerClass
	// ShootMachineImage holds information about the machine image to use for all workers.
	// It will default to the latest version of the first image stated in the referenced CloudProfile if no
	// value has been provided.
	MachineImage *ShootMachineImage
	// Networks holds information about the Kubernetes and infrastructure networks.
	Networks OpenStackNetworks
	// Workers is a list of worker groups.
	Workers []Worker
	// Zones is a list of availability zones to deploy the Shoot cluster to.
	Zones []string
}

OpenStackCloud contains the Shoot specification for OpenStack.

func (*OpenStackCloud) DeepCopy

func (in *OpenStackCloud) DeepCopy() *OpenStackCloud

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

func (*OpenStackCloud) DeepCopyInto

func (in *OpenStackCloud) DeepCopyInto(out *OpenStackCloud)

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

type OpenStackConstraints

type OpenStackConstraints struct {
	// DNSProviders contains constraints regarding allowed values of the 'dns.provider' block in the Shoot specification.
	DNSProviders []DNSProviderConstraint
	// FloatingPools contains constraints regarding allowed values of the 'floatingPoolName' block in the Shoot specification.
	FloatingPools []OpenStackFloatingPool
	// Kubernetes contains constraints regarding allowed values of the 'kubernetes' block in the Shoot specification.
	Kubernetes KubernetesConstraints
	// LoadBalancerProviders contains constraints regarding allowed values of the 'loadBalancerProvider' block in the Shoot specification.
	LoadBalancerProviders []OpenStackLoadBalancerProvider
	// MachineImages contains constraints regarding allowed values for machine images in the Shoot specification.
	MachineImages []MachineImage
	// MachineTypes contains constraints regarding allowed values for machine types in the 'workers' block in the Shoot specification.
	MachineTypes []OpenStackMachineType
	// Zones contains constraints regarding allowed values for 'zones' block in the Shoot specification.
	Zones []Zone
}

OpenStackConstraints is an object containing constraints for certain values in the Shoot specification.

func (*OpenStackConstraints) DeepCopy

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

func (*OpenStackConstraints) DeepCopyInto

func (in *OpenStackConstraints) DeepCopyInto(out *OpenStackConstraints)

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

type OpenStackFloatingPool

type OpenStackFloatingPool struct {
	// Name is the name of the floating pool.
	Name string
	// LoadBalancerClasses contains a list of supported labeled load balancer network settings.
	LoadBalancerClasses []OpenStackLoadBalancerClass
}

OpenStackFloatingPool contains constraints regarding allowed values of the 'floatingPoolName' block in the Shoot specification.

func (*OpenStackFloatingPool) DeepCopy

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

func (*OpenStackFloatingPool) DeepCopyInto

func (in *OpenStackFloatingPool) DeepCopyInto(out *OpenStackFloatingPool)

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

type OpenStackLoadBalancerClass

type OpenStackLoadBalancerClass struct {
	// Name is the name of the LB class
	Name string
	// FloatingSubnetID is the subnetwork ID of a dedicated subnet in floating network pool.
	FloatingSubnetID *string
	// FloatingNetworkID is the network ID of the floating network pool.
	FloatingNetworkID *string
	// SubnetID is the ID of a local subnet used for LoadBalancer provisioning. Only usable if no FloatingPool
	// configuration is done.
	SubnetID *string
}

OpenStackLoadBalancerClass defines a restricted network setting for generic LoadBalancer classes usable in CloudProfiles.

func (*OpenStackLoadBalancerClass) DeepCopy

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

func (*OpenStackLoadBalancerClass) DeepCopyInto

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

type OpenStackLoadBalancerProvider

type OpenStackLoadBalancerProvider struct {
	// Name is the name of the load balancer provider.
	Name string
}

OpenStackLoadBalancerProvider contains constraints regarding allowed values of the 'loadBalancerProvider' block in the Shoot specification.

func (*OpenStackLoadBalancerProvider) DeepCopy

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

func (*OpenStackLoadBalancerProvider) DeepCopyInto

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

type OpenStackMachineType

type OpenStackMachineType struct {
	MachineType
	// VolumeType is the type of that volume.
	VolumeType string
	// VolumeSize is the amount of disk storage for this machine type.
	VolumeSize resource.Quantity
}

OpenStackMachineType contains certain properties of a machine type in OpenStack

func (*OpenStackMachineType) DeepCopy

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

func (*OpenStackMachineType) DeepCopyInto

func (in *OpenStackMachineType) DeepCopyInto(out *OpenStackMachineType)

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

type OpenStackNetworks

type OpenStackNetworks struct {
	K8SNetworks
	// Router indicates whether to use an existing router or create a new one.
	Router *OpenStackRouter
	// Workers is a list of CIDRs of worker subnets (private) to create (used for the VMs).
	Workers []string
}

OpenStackNetworks holds information about the Kubernetes and infrastructure networks.

func (*OpenStackNetworks) DeepCopy

func (in *OpenStackNetworks) DeepCopy() *OpenStackNetworks

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

func (*OpenStackNetworks) DeepCopyInto

func (in *OpenStackNetworks) DeepCopyInto(out *OpenStackNetworks)

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

type OpenStackProfile

type OpenStackProfile struct {
	// Constraints is an object containing constraints for certain values in the Shoot specification.
	Constraints OpenStackConstraints
	// KeyStoneURL is the URL for auth{n,z} in OpenStack (pointing to KeyStone).
	KeyStoneURL string
	// DNSServers is a list of IPs of DNS servers used while creating subnets.
	DNSServers []string
	// DHCPDomain is the dhcp domain of the OpenStack system configured in nova.conf. Only meaningful for
	// Kubernetes 1.10.1+. See https://github.com/kubernetes/kubernetes/pull/61890 for details.
	DHCPDomain *string
	// RequestTimeout specifies the HTTP timeout against the OpenStack API.
	RequestTimeout *string
}

OpenStackProfile defines certain constraints and definitions for the OpenStack cloud.

func (*OpenStackProfile) DeepCopy

func (in *OpenStackProfile) DeepCopy() *OpenStackProfile

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

func (*OpenStackProfile) DeepCopyInto

func (in *OpenStackProfile) DeepCopyInto(out *OpenStackProfile)

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

type OpenStackRouter

type OpenStackRouter struct {
	// ID is the router id of an existing OpenStack router.
	ID string
}

OpenStackRouter indicates whether to use an existing router or create a new one.

func (*OpenStackRouter) DeepCopy

func (in *OpenStackRouter) DeepCopy() *OpenStackRouter

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

func (*OpenStackRouter) DeepCopyInto

func (in *OpenStackRouter) DeepCopyInto(out *OpenStackRouter)

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

type PacketCloud

type PacketCloud struct {
	// ShootMachineImage holds information about the machine image to use for all workers.
	// It will default to the latest version of the first image stated in the referenced CloudProfile if no
	// value has been provided.
	MachineImage *ShootMachineImage
	// Networks holds information about the Kubernetes and infrastructure networks.
	Networks PacketNetworks
	// Workers is a list of worker groups.
	Workers []Worker
	// Zones is a list of availability zones to deploy the Shoot cluster to, currently, only one is supported.
	Zones []string
}

PacketCloud contains the Shoot specification for Packet cloud

func (*PacketCloud) DeepCopy

func (in *PacketCloud) DeepCopy() *PacketCloud

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

func (*PacketCloud) DeepCopyInto

func (in *PacketCloud) DeepCopyInto(out *PacketCloud)

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

type PacketConstraints

type PacketConstraints struct {
	// DNSProviders contains constraints regarding allowed values of the 'dns.provider' block in the Shoot specification.
	DNSProviders []DNSProviderConstraint
	// Kubernetes contains constraints regarding allowed values of the 'kubernetes' block in the Shoot specification.
	Kubernetes KubernetesConstraints
	// MachineImages contains constraints regarding allowed values for machine images in the Shoot specification.
	MachineImages []MachineImage
	// MachineTypes contains constraints regarding allowed values for machine types in the 'workers' block in the Shoot specification.
	MachineTypes []MachineType
	// VolumeTypes contains constraints regarding allowed values for volume types in the 'workers' block in the Shoot specification.
	VolumeTypes []VolumeType
	// Zones contains constraints regarding allowed values for 'zones' block in the Shoot specification.
	Zones []Zone
}

PacketConstraints is an object containing constraints for certain values in the Shoot specification

func (*PacketConstraints) DeepCopy

func (in *PacketConstraints) DeepCopy() *PacketConstraints

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

func (*PacketConstraints) DeepCopyInto

func (in *PacketConstraints) DeepCopyInto(out *PacketConstraints)

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

type PacketNetworks

type PacketNetworks struct {
	K8SNetworks
}

PacketNetworks holds information about the Kubernetes and infrastructure networks.

func (*PacketNetworks) DeepCopy

func (in *PacketNetworks) DeepCopy() *PacketNetworks

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

func (*PacketNetworks) DeepCopyInto

func (in *PacketNetworks) DeepCopyInto(out *PacketNetworks)

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

type PacketProfile

type PacketProfile struct {
	// Constraints is an object containing constraints for certain values in the Shoot specification.
	Constraints PacketConstraints
}

PacketProfile defines constraints and definitions in Packet Cloud environment.

func (*PacketProfile) DeepCopy

func (in *PacketProfile) DeepCopy() *PacketProfile

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

func (*PacketProfile) DeepCopyInto

func (in *PacketProfile) DeepCopyInto(out *PacketProfile)

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

type Project

type Project struct {
	metav1.TypeMeta
	// Standard object metadata.
	metav1.ObjectMeta
	// Spec defines the project properties.
	Spec ProjectSpec
	// Most recently observed status of the Project.
	Status ProjectStatus
}

Project holds certain properties about a Gardener project.

func (*Project) DeepCopy

func (in *Project) DeepCopy() *Project

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

func (*Project) DeepCopyInto

func (in *Project) DeepCopyInto(out *Project)

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

func (*Project) DeepCopyObject

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

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

type ProjectList

type ProjectList struct {
	metav1.TypeMeta
	// Standard list object metadata.
	metav1.ListMeta
	// Items is the list of Projects.
	Items []Project
}

ProjectList is a collection of Projects.

func (*ProjectList) DeepCopy

func (in *ProjectList) DeepCopy() *ProjectList

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

func (*ProjectList) DeepCopyInto

func (in *ProjectList) DeepCopyInto(out *ProjectList)

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

func (*ProjectList) DeepCopyObject

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

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

type ProjectMember

type ProjectMember struct {
	// Subject is representing a user name, an email address, or any other identifier of a user, group, or service
	// account that has a certain role.
	rbacv1.Subject
	// Role represents the role of this member.
	Role string
}

ProjectMember is a member of a project.

func (*ProjectMember) DeepCopy

func (in *ProjectMember) DeepCopy() *ProjectMember

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

func (*ProjectMember) DeepCopyInto

func (in *ProjectMember) DeepCopyInto(out *ProjectMember)

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

type ProjectPhase

type ProjectPhase string

ProjectPhase is a label for the condition of a project at the current time.

const (
	// ProjectPending indicates that the project reconciliation is pending.
	ProjectPending ProjectPhase = "Pending"
	// ProjectReady indicates that the project reconciliation was successful.
	ProjectReady ProjectPhase = "Ready"
	// ProjectFailed indicates that the project reconciliation failed.
	ProjectFailed ProjectPhase = "Failed"
	// ProjectTerminating indicates that the project is in termination process.
	ProjectTerminating ProjectPhase = "Terminating"
)

type ProjectSpec

type ProjectSpec struct {
	// CreatedBy is a subject representing a user name, an email address, or any other identifier of a user
	// who created the project.
	CreatedBy *rbacv1.Subject
	// Description is a human-readable description of what the project is used for.
	Description *string
	// Owner is a subject representing a user name, an email address, or any other identifier of a user owning
	// the project.
	Owner *rbacv1.Subject
	// Purpose is a human-readable explanation of the project's purpose.
	Purpose *string
	// Members is a list of subjects representing a user name, an email address, or any other identifier of a user,
	// group, or service account that has a certain role.
	ProjectMembers []ProjectMember
	// Namespace is the name of the namespace that has been created for the Project object.
	Namespace *string
}

ProjectSpec is the specification of a Project.

func (*ProjectSpec) DeepCopy

func (in *ProjectSpec) DeepCopy() *ProjectSpec

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

func (*ProjectSpec) DeepCopyInto

func (in *ProjectSpec) DeepCopyInto(out *ProjectSpec)

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

type ProjectStatus

type ProjectStatus struct {
	// ObservedGeneration is the most recent generation observed for this project.
	ObservedGeneration int64
	// Phase is the current phase of the project.
	Phase ProjectPhase
}

ProjectStatus holds the most recently observed status of the project.

func (*ProjectStatus) DeepCopy

func (in *ProjectStatus) DeepCopy() *ProjectStatus

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

func (*ProjectStatus) DeepCopyInto

func (in *ProjectStatus) DeepCopyInto(out *ProjectStatus)

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

type Provider

type Provider struct {
	// Type is the type of the provider.
	Type string
	// ControlPlaneConfig contains the provider-specific control plane config blob. Please look up the concrete
	// definition in the documentation of your provider extension.
	ControlPlaneConfig *ProviderConfig
	// InfrastructureConfig contains the provider-specific infrastructure config blob. Please look up the concrete
	// definition in the documentation of your provider extension.
	InfrastructureConfig *ProviderConfig
	// Workers is a list of worker groups.
	Workers []Worker
}

Provider contains provider-specific information that are handed-over to the provider-specific extension controller.

func (*Provider) DeepCopy

func (in *Provider) DeepCopy() *Provider

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

func (*Provider) DeepCopyInto

func (in *Provider) DeepCopyInto(out *Provider)

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

type ProviderConfig

type ProviderConfig struct {
	runtime.RawExtension
}

ProviderConfig is a workaround for missing OpenAPI functions on runtime.RawExtension struct. https://github.com/kubernetes/kubernetes/issues/55890 https://github.com/kubernetes-sigs/cluster-api/issues/137

func (*ProviderConfig) DeepCopy

func (in *ProviderConfig) DeepCopy() *ProviderConfig

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

func (*ProviderConfig) DeepCopyInto

func (in *ProviderConfig) DeepCopyInto(out *ProviderConfig)

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

type ProxyMode

type ProxyMode string

ProxyMode available in Linux platform: 'userspace' (older, going to be EOL), 'iptables' (newer, faster), 'ipvs'(newest, better in performance and scalability).

As of now only 'iptables' and 'ipvs' is supported by Gardener.

In Linux platform, if the iptables proxy is selected, regardless of how, but the system's kernel or iptables versions are insufficient, this always falls back to the userspace proxy. IPVS mode will be enabled when proxy mode is set to 'ipvs', and the fall back path is firstly iptables and then userspace.

const (
	// ProxyModeIPTables uses iptables as proxy implementation.
	ProxyModeIPTables ProxyMode = "IPTables"
	// ProxyModeIPVS uses ipvs as proxy implementation.
	ProxyModeIPVS ProxyMode = "IPVS"
)

type Quota

type Quota struct {
	metav1.TypeMeta
	// Standard object metadata.
	metav1.ObjectMeta
	// Spec defines the Quota constraints.
	Spec QuotaSpec
}

Quota holds certain information about resource usage limitations and lifetime for Shoot objects.

func (*Quota) DeepCopy

func (in *Quota) DeepCopy() *Quota

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

func (*Quota) DeepCopyInto

func (in *Quota) DeepCopyInto(out *Quota)

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

func (*Quota) DeepCopyObject

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

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

type QuotaList

type QuotaList struct {
	metav1.TypeMeta
	// Standard list object metadata.
	metav1.ListMeta
	// Items is the list of Quotas.
	Items []Quota
}

QuotaList is a collection of Quotas.

func (*QuotaList) DeepCopy

func (in *QuotaList) DeepCopy() *QuotaList

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

func (*QuotaList) DeepCopyInto

func (in *QuotaList) DeepCopyInto(out *QuotaList)

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

func (*QuotaList) DeepCopyObject

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

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

type QuotaScope

type QuotaScope string

QuotaScope is a string alias.

const (
	// QuotaScopeProject indicates that the scope of a Quota object is a project.
	QuotaScopeProject QuotaScope = "project"
	// QuotaScopeSecret indicates that the scope of a Quota object is a cloud provider secret.
	QuotaScopeSecret QuotaScope = "secret"
)

type QuotaSpec

type QuotaSpec struct {
	// ClusterLifetimeDays is the lifetime of a Shoot cluster in days before it will be terminated automatically.
	ClusterLifetimeDays *int
	// Metrics is a list of resources which will be put under constraints.
	Metrics corev1.ResourceList
	// Scope is reference to an object version/kind.
	Scope corev1.ObjectReference
}

QuotaSpec is the specification of a Quota.

func (*QuotaSpec) DeepCopy

func (in *QuotaSpec) DeepCopy() *QuotaSpec

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

func (*QuotaSpec) DeepCopyInto

func (in *QuotaSpec) DeepCopyInto(out *QuotaSpec)

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

type Region

type Region struct {
	// Name is a region name.
	Name string
	// Zones is a list of availability zones in this region.
	Zones []AvailabilityZone
}

Region contains certain properties of a region.

func (*Region) DeepCopy

func (in *Region) DeepCopy() *Region

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

func (*Region) DeepCopyInto

func (in *Region) DeepCopyInto(out *Region)

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

type SecretBinding

type SecretBinding struct {
	metav1.TypeMeta
	// Standard object metadata.
	metav1.ObjectMeta
	// SecretRef is a reference to a secret object in the same or another namespace.
	SecretRef corev1.SecretReference
	// Quotas is a list of references to Quota objects in the same or another namespace.
	Quotas []corev1.ObjectReference
}

func (*SecretBinding) DeepCopy

func (in *SecretBinding) DeepCopy() *SecretBinding

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

func (*SecretBinding) DeepCopyInto

func (in *SecretBinding) DeepCopyInto(out *SecretBinding)

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

func (*SecretBinding) DeepCopyObject

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

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

type SecretBindingList

type SecretBindingList struct {
	metav1.TypeMeta
	// Standard list object metadata.
	metav1.ListMeta
	// Items is the list of SecretBindings.
	Items []SecretBinding
}

SecretBindingList is a collection of SecretBindings.

func (*SecretBindingList) DeepCopy

func (in *SecretBindingList) DeepCopy() *SecretBindingList

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

func (*SecretBindingList) DeepCopyInto

func (in *SecretBindingList) DeepCopyInto(out *SecretBindingList)

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

func (*SecretBindingList) DeepCopyObject

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

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

type Seed

type Seed struct {
	metav1.TypeMeta
	// Standard object metadata.
	metav1.ObjectMeta
	// Spec defines the Seed cluster properties.
	Spec SeedSpec
	// Most recently observed status of the Seed cluster.
	Status SeedStatus
}

Seed holds certain properties about a Seed cluster.

func (*Seed) DeepCopy

func (in *Seed) DeepCopy() *Seed

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

func (*Seed) DeepCopyInto

func (in *Seed) DeepCopyInto(out *Seed)

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

func (*Seed) DeepCopyObject

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

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

type SeedBackup

type SeedBackup struct {
	// Provider is a provider name.
	Provider CloudProvider
	// Region is a region name.
	Region *string
	// SecretRef is a reference to a Secret object containing the cloud provider credentials for
	// the object store where backups should be stored. It should have enough privileges to manipulate
	// the objects as well as buckets.
	SecretRef corev1.SecretReference
}

SeedBackup contains the object store configuration for backups for shoot(currently only etcd).

func (*SeedBackup) DeepCopy

func (in *SeedBackup) DeepCopy() *SeedBackup

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

func (*SeedBackup) DeepCopyInto

func (in *SeedBackup) DeepCopyInto(out *SeedBackup)

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

type SeedCloud

type SeedCloud struct {
	// Profile is the name of a cloud profile.
	Profile string
	// Region is a name of a region.
	Region string
}

SeedCloud defines the cloud profile and the region this Seed cluster belongs to.

func (*SeedCloud) DeepCopy

func (in *SeedCloud) DeepCopy() *SeedCloud

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

func (*SeedCloud) DeepCopyInto

func (in *SeedCloud) DeepCopyInto(out *SeedCloud)

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

type SeedList

type SeedList struct {
	metav1.TypeMeta
	// Standard list object metadata.
	metav1.ListMeta
	// Items is the list of Seeds.
	Items []Seed
}

SeedList is a collection of Seeds.

func (*SeedList) DeepCopy

func (in *SeedList) DeepCopy() *SeedList

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

func (*SeedList) DeepCopyInto

func (in *SeedList) DeepCopyInto(out *SeedList)

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

func (*SeedList) DeepCopyObject

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

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

type SeedNetworks

type SeedNetworks struct {
	// Nodes is the CIDR of the node network.
	Nodes *string
	// Pods is the CIDR of the pod network.
	Pods string
	// Services is the CIDR of the service network.
	Services string
	// ShootDefaults contains the default networks CIDRs for shoots.
	ShootDefaults *ShootNetworks
	// BlockCIDRs is a list of network addresses that should be blocked for shoot control plane components running
	// in the seed cluster.
	BlockCIDRs []string
}

SeedNetworks contains CIDRs for the pod, service and node networks of a Kubernetes cluster.

func (*SeedNetworks) DeepCopy

func (in *SeedNetworks) DeepCopy() *SeedNetworks

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

func (*SeedNetworks) DeepCopyInto

func (in *SeedNetworks) DeepCopyInto(out *SeedNetworks)

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

type SeedProvider

type SeedProvider struct {
	// Type is the name of the provider.
	Type string
	// Region is a name of a region.
	Region string
}

SeedProvider defines the provider type and region for this Seed cluster.

func (*SeedProvider) DeepCopy

func (in *SeedProvider) DeepCopy() *SeedProvider

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

func (*SeedProvider) DeepCopyInto

func (in *SeedProvider) DeepCopyInto(out *SeedProvider)

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

type SeedSpec

type SeedSpec struct {
	// Cloud defines the cloud profile and the region this Seed cluster belongs to.
	Cloud SeedCloud
	// Provider defines the provider type and region for this Seed cluster.
	Provider SeedProvider
	// IngressDomain is the domain of the Seed cluster pointing to the ingress controller endpoint. It will be used
	// to construct ingress URLs for system applications running in Shoot clusters.
	IngressDomain string
	// SecretRef is a reference to a Secret object containing the Kubeconfig and the cloud provider credentials for
	// the account the Seed cluster has been deployed to.
	SecretRef *corev1.SecretReference
	// Networks defines the pod, service and worker network of the Seed cluster.
	Networks SeedNetworks
	// Taints describes taints on the seed.
	Taints []SeedTaint
	// Backup holds the object store configuration for the backups of shoot(currently only etcd).
	// If it is not specified, then there won't be any backups taken for Shoots associated with this Seed.
	// If backup field is present in Seed, then backups of the etcd from Shoot controlplane will be stored under the
	// configured object store.
	Backup *SeedBackup
	// Volume contains settings for persistentvolumes created in the seed cluster.
	Volume *SeedVolume
}

SeedSpec is the specification of a Seed.

func (*SeedSpec) DeepCopy

func (in *SeedSpec) DeepCopy() *SeedSpec

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

func (*SeedSpec) DeepCopyInto

func (in *SeedSpec) DeepCopyInto(out *SeedSpec)

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

type SeedStatus

type SeedStatus struct {
	// Conditions represents the latest available observations of a Seed's current state.
	Conditions []Condition
	// Gardener holds information about the Gardener which last acted on the Seed.
	Gardener *Gardener
	// KubernetesVersion is the Kubernetes version of the seed cluster.
	KubernetesVersion *string
	// ObservedGeneration is the most recent generation observed for this Seed. It corresponds to the
	// Seed's generation, which is updated on mutation by the API Server.
	ObservedGeneration int64
}

SeedStatus holds the most recently observed status of the Seed cluster.

func (*SeedStatus) DeepCopy

func (in *SeedStatus) DeepCopy() *SeedStatus

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

func (*SeedStatus) DeepCopyInto

func (in *SeedStatus) DeepCopyInto(out *SeedStatus)

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

type SeedTaint

type SeedTaint struct {
	// Key is the taint key to be applied to a seed.
	Key string
	// Value is the taint value corresponding to the taint key.
	Value *string
}

SeedTaint describes a taint on a seed.

func (*SeedTaint) DeepCopy

func (in *SeedTaint) DeepCopy() *SeedTaint

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

func (*SeedTaint) DeepCopyInto

func (in *SeedTaint) DeepCopyInto(out *SeedTaint)

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

type SeedVolume

type SeedVolume struct {
	// MinimumSize defines the minimum size that should be used for PVCs in the seed.
	MinimumSize *resource.Quantity
	// Providers is a list of storage class provisioner types for the seed.
	Providers []SeedVolumeProvider
}

Volume contains settings for persistentvolumes created in the seed cluster.

func (*SeedVolume) DeepCopy

func (in *SeedVolume) DeepCopy() *SeedVolume

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

func (*SeedVolume) DeepCopyInto

func (in *SeedVolume) DeepCopyInto(out *SeedVolume)

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

type SeedVolumeProvider

type SeedVolumeProvider struct {
	// Purpose is the purpose of this provider.
	Purpose string
	// Name is the name of the storage class provisioner type.
	Name string
}

SeedVolumeProvider is a storage class provisioner type.

func (*SeedVolumeProvider) DeepCopy

func (in *SeedVolumeProvider) DeepCopy() *SeedVolumeProvider

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

func (*SeedVolumeProvider) DeepCopyInto

func (in *SeedVolumeProvider) DeepCopyInto(out *SeedVolumeProvider)

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

type ServiceAccountConfig

type ServiceAccountConfig struct {
	// Issuer is the identifier of the service account token issuer. The issuer will assert this
	// identifier in "iss" claim of issued tokens. This value is a string or URI.
	Issuer *string
	// SigningKeySecret is a reference to a secret that contains the current private key of the
	// service account token issuer. The issuer will sign issued ID tokens with this private key.
	// (Requires the 'TokenRequest' feature gate.)
	SigningKeySecret *corev1.LocalObjectReference
}

ServiceAccountConfig is the kube-apiserver configuration for service accounts.

func (*ServiceAccountConfig) DeepCopy

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

func (*ServiceAccountConfig) DeepCopyInto

func (in *ServiceAccountConfig) DeepCopyInto(out *ServiceAccountConfig)

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

type Shoot

type Shoot struct {
	metav1.TypeMeta
	// Standard object metadata.
	metav1.ObjectMeta
	// Specification of the Shoot cluster.
	Spec ShootSpec
	// Most recently observed status of the Shoot cluster.
	Status ShootStatus
}

func (*Shoot) DeepCopy

func (in *Shoot) DeepCopy() *Shoot

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

func (*Shoot) DeepCopyInto

func (in *Shoot) DeepCopyInto(out *Shoot)

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

func (*Shoot) DeepCopyObject

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

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

type ShootList

type ShootList struct {
	metav1.TypeMeta
	// Standard list object metadata.
	metav1.ListMeta
	// Items is the list of Shoots.
	Items []Shoot
}

ShootList is a list of Shoot objects.

func (*ShootList) DeepCopy

func (in *ShootList) DeepCopy() *ShootList

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

func (*ShootList) DeepCopyInto

func (in *ShootList) DeepCopyInto(out *ShootList)

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

func (*ShootList) DeepCopyObject

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

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

type ShootMachineImage

type ShootMachineImage struct {
	// Name is the name of the image.
	Name string
	// ProviderConfig is the shoot's individual configuration passed to an extension resource.
	ProviderConfig *ProviderConfig
	// Version is the version of the shoot's image.
	Version string
}

ShootMachineImage defines the name and the version of the shoot's machine image in any environment. Has to be defined in the respective CloudProfile.

func (*ShootMachineImage) DeepCopy

func (in *ShootMachineImage) DeepCopy() *ShootMachineImage

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

func (*ShootMachineImage) DeepCopyInto

func (in *ShootMachineImage) DeepCopyInto(out *ShootMachineImage)

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

type ShootNetworks

type ShootNetworks struct {
	// Pods is the CIDR of the pod network.
	Pods *string
	// Services is the CIDR of the service network.
	Services *string
}

ShootNetworks contains the default networks CIDRs for shoots.

func (*ShootNetworks) DeepCopy

func (in *ShootNetworks) DeepCopy() *ShootNetworks

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

func (*ShootNetworks) DeepCopyInto

func (in *ShootNetworks) DeepCopyInto(out *ShootNetworks)

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

type ShootPurpose added in v0.35.0

type ShootPurpose string

ShootPurpose is a type alias for string.

const (
	// ShootPurposeEvaluation is a constant for the evaluation purpose.
	ShootPurposeEvaluation ShootPurpose = "evaluation"
	// ShootPurposeTesting is a constant for the testing purpose.
	ShootPurposeTesting ShootPurpose = "testing"
	// ShootPurposeDevelopment is a constant for the development purpose.
	ShootPurposeDevelopment ShootPurpose = "development"
	// ShootPurposeProduction is a constant for the production purpose.
	ShootPurposeProduction ShootPurpose = "production"
	// ShootPurposeInfrastructure is a constant for the infrastructure purpose.
	ShootPurposeInfrastructure ShootPurpose = "infrastructure"
)

type ShootSpec

type ShootSpec struct {
	// Addons contains information about enabled/disabled addons and their configuration.
	Addons *Addons
	// Cloud contains information about the cloud environment and their specific settings.
	Cloud Cloud
	// CloudProfileName is a name of a CloudProfile object.
	CloudProfileName string
	// DNS contains information about the DNS settings of the Shoot.
	DNS *DNS
	// Extensions contain type and provider information for Shoot extensions.
	Extensions []Extension
	// Hibernation contains information whether the Shoot is suspended or not.
	Hibernation *Hibernation
	// Kubernetes contains the version and configuration settings of the control plane components.
	Kubernetes Kubernetes
	// Networking contains information about cluster networking such as CNI Plugin type, CIDRs, ...etc.
	Networking Networking
	// Maintenance contains information about the time window for maintenance operations and which
	// operations should be performed.
	Maintenance *Maintenance
	// Monitoring contains information about custom monitoring configurations for the shoot.
	Monitoring *Monitoring
	// Provider contains all provider-specific and provider-relevant information.
	Provider Provider
	// Purpose is the purpose class for this cluster.
	Purpose *ShootPurpose
	// Region is a name of a region.
	Region string
	// SecretBindingName is the name of the a SecretBinding that has a reference to the provider secret.
	// The credentials inside the provider secret will be used to create the shoot in the respective account.
	SecretBindingName string
	// SeedName is the name of the seed cluster that runs the control plane of the Shoot.
	SeedName *string
}

ShootSpec is the specification of a Shoot.

func (*ShootSpec) DeepCopy

func (in *ShootSpec) DeepCopy() *ShootSpec

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

func (*ShootSpec) DeepCopyInto

func (in *ShootSpec) DeepCopyInto(out *ShootSpec)

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

type ShootStatus

type ShootStatus struct {
	// Conditions represents the latest available observations of a Shoots's current state.
	Conditions []Condition
	// Constraints represents conditions of a Shoot's current state that constraint some operations on it.
	// +optional
	Constraints []Condition
	// Gardener holds information about the Gardener which last acted on the Shoot.
	Gardener Gardener
	// LastOperation holds information about the last operation on the Shoot.
	LastOperation *LastOperation
	// LastErrors holds information about the last occurred error(s) during an operation.
	LastErrors []LastError
	// ObservedGeneration is the most recent generation observed for this Shoot. It corresponds to the
	// Shoot's generation, which is updated on mutation by the API Server.
	ObservedGeneration int64
	// RetryCycleStartTime is the start time of the last retry cycle (used to determine how often an operation
	// must be retried until we give up).
	RetryCycleStartTime *metav1.Time
	// SeedName is the name of the seed cluster that runs the control plane of the Shoot. This value is only written
	// after a successful create/reconcile operation. It will be used when control planes are moved between Seeds.
	SeedName *string
	// IsHibernated indicates whether the Shoot is currently hibernated.
	IsHibernated *bool
	// TechnicalID is the name that is used for creating the Seed namespace, the infrastructure resources, and
	// basically everything that is related to this particular Shoot.
	TechnicalID string
	// UID is a unique identifier for the Shoot cluster to avoid portability between Kubernetes clusters.
	// It is used to compute unique hashes.
	UID types.UID
}

ShootStatus holds the most recently observed status of the Shoot cluster.

func (*ShootStatus) DeepCopy

func (in *ShootStatus) DeepCopy() *ShootStatus

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

func (*ShootStatus) DeepCopyInto

func (in *ShootStatus) DeepCopyInto(out *ShootStatus)

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

type Volume

type Volume struct {
	// Type is the machine type of the worker group.
	Type *string
	// Size is the size of the root volume.
	Size string
}

Volume contains information about the volume type and size.

func (*Volume) DeepCopy

func (in *Volume) DeepCopy() *Volume

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

func (*Volume) DeepCopyInto

func (in *Volume) DeepCopyInto(out *Volume)

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

type VolumeType

type VolumeType struct {
	// Name is the name of the volume type.
	Name string
	// Usable defines if the volume type can be used for shoot clusters.
	Usable *bool
	// Class is the class of the volume type.
	Class string
}

VolumeType contains certain properties of a volume type.

func (*VolumeType) DeepCopy

func (in *VolumeType) DeepCopy() *VolumeType

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

func (*VolumeType) DeepCopyInto

func (in *VolumeType) DeepCopyInto(out *VolumeType)

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

type Worker

type Worker struct {
	// Annotations is a map of key/value pairs for annotations for all the `Node` objects in this worker pool.
	Annotations map[string]string
	// CABundle is a certificate bundle which will be installed onto every machine of this worker pool.
	CABundle *string
	// Kubernetes contains configuration for Kubernetes components related to this worker pool.
	Kubernetes *WorkerKubernetes
	// Labels is a map of key/value pairs for labels for all the `Node` objects in this worker pool.
	Labels map[string]string
	// Name is the name of the worker group.
	Name string
	// Machine contains information about the machine type and image.
	Machine Machine
	// Maximum is the maximum number of VMs to create.
	Maximum int
	// Minimum is the minimum number of VMs to create.
	Minimum int
	// MaxSurge is maximum number of VMs that are created during an update.
	MaxSurge *intstr.IntOrString
	// MaxUnavailable is the maximum number of VMs that can be unavailable during an update.
	MaxUnavailable *intstr.IntOrString
	// ProviderConfig is the provider-specific configuration for this worker pool.
	ProviderConfig *ProviderConfig
	// Taints is a list of taints for all the `Node` objects in this worker pool.
	Taints []corev1.Taint
	// Volume contains information about the volume type and size.
	Volume *Volume
	// Zones is a list of availability zones that are used to evenly distribute this worker pool. Optional
	// as not every provider may support availability zones.
	Zones []string
}

Worker is the base definition of a worker group.

func (*Worker) DeepCopy

func (in *Worker) DeepCopy() *Worker

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

func (*Worker) DeepCopyInto

func (in *Worker) DeepCopyInto(out *Worker)

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

type WorkerKubernetes

type WorkerKubernetes struct {
	// Kubelet contains configuration settings for all kubelets of this worker pool.
	Kubelet *KubeletConfig
}

WorkerKubernetes contains configuration for Kubernetes components related to this worker pool.

func (*WorkerKubernetes) DeepCopy

func (in *WorkerKubernetes) DeepCopy() *WorkerKubernetes

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

func (*WorkerKubernetes) DeepCopyInto

func (in *WorkerKubernetes) DeepCopyInto(out *WorkerKubernetes)

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

type WorkerMigrationData

type WorkerMigrationData struct {
	// ProviderConfig is the provider-specific configuration for this worker pool.
	ProviderConfig *ProviderConfig
	// Volume contains information about the volume type and size.
	Volume *Volume
	// Zones is a list of availability zones that are used to evenly distribute this worker pool. Optional
	// as not every provider may support availability zones.
	Zones []string
}

WorkerMigrationInfo is used to store fields that are not present in both API versions (core/garden).

func (*WorkerMigrationData) DeepCopy

func (in *WorkerMigrationData) DeepCopy() *WorkerMigrationData

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

func (*WorkerMigrationData) DeepCopyInto

func (in *WorkerMigrationData) DeepCopyInto(out *WorkerMigrationData)

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

type WorkerMigrationInfo

type WorkerMigrationInfo map[string]WorkerMigrationData

WorkerMigrationInfo is used to store fields that are not present in both API versions (core/garden).

func (WorkerMigrationInfo) DeepCopy

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

func (WorkerMigrationInfo) DeepCopyInto

func (in WorkerMigrationInfo) DeepCopyInto(out *WorkerMigrationInfo)

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

type Zone

type Zone struct {
	// Region is a region name.
	Region string
	// Names is a list of availability zone names in this region.
	Names []string
}

Zone contains certain properties of an availability zone.

func (*Zone) DeepCopy

func (in *Zone) DeepCopy() *Zone

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

func (*Zone) DeepCopyInto

func (in *Zone) DeepCopyInto(out *Zone)

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

Directories

Path Synopsis
Package v1beta1 is a version of the API.
Package v1beta1 is a version of the API.

Jump to

Keyboard shortcuts

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