core

package
v1.30.0 Latest Latest
Warning

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

Go to latest
Published: Aug 26, 2021 License: Apache-2.0, BSD-2-Clause, MIT, + 1 more Imports: 10 Imported by: 91

Documentation

Overview

Package core is the internal version of the API. +groupName=core.gardener.cloud

Index

Constants

View Source
const (
	// BackupBucketSeedName is the field selector path for finding
	// the Seed cluster of a core.gardener.cloud/v1beta1 BackupBucket.
	BackupBucketSeedName = "spec.seedName"
	// BackupEntrySeedName is the field selector path for finding
	// the Seed cluster of a core.gardener.cloud/v1beta1 BackupEntry.
	BackupEntrySeedName = "spec.seedName"

	// ProjectNamespace is the field selector path for filtering by namespace
	// for core.gardener.cloud/{v1beta1,v1beta1} Project.
	ProjectNamespace = "spec.namespace"

	// RegistrationRefName is the field selector path for finding
	// the ControllerRegistration name of a core.gardener.cloud/{v1beta1,v1beta1} ControllerInstallation.
	RegistrationRefName = "spec.registrationRef.name"
	// SeedRefName is the field selector path for finding
	// the Seed name of a core.gardener.cloud/{v1beta1,v1beta1} ControllerInstallation.
	SeedRefName = "spec.seedRef.name"

	// ShootCloudProfileName is the field selector path for finding
	// the CloudProfile name of a core.gardener.cloud/{v1alpha1,v1beta1} Shoot.
	ShootCloudProfileName = "spec.cloudProfileName"
	// ShootSeedName is the field selector path for finding
	// the Seed cluster of a core.gardener.cloud/{v1alpha1,v1beta1} Shoot.
	ShootSeedName = "spec.seedName"
	// ShootStatusSeedName is the field selector path for finding
	// the Seed cluster of a core.gardener.cloud/{v1alpha1,v1beta1} Shoot
	// referred in the status.
	ShootStatusSeedName = "status.seedName"
)

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"
	// ProjectMemberOwner is a const for a role that provides full owner access.
	ProjectMemberOwner = "owner"
	// ProjectMemberViewer is a const for a role that provides limited permissions to only view some resources.
	ProjectMemberViewer = "viewer"
	// ProjectMemberUserAccessManager is a const for a role that provides permissions to manage human user(s, (groups)).
	ProjectMemberUserAccessManager = "uam"
	// ProjectMemberExtensionPrefix is a prefix for custom roles that are not known by Gardener.
	ProjectMemberExtensionPrefix = "extension:"
)
View Source
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"

	// ProjectEventNamespaceReconcileFailed indicates that the namespace reconciliation has failed.
	ProjectEventNamespaceReconcileFailed = "NamespaceReconcileFailed"
	// ProjectEventNamespaceReconcileSuccessful indicates that the namespace reconciliation has succeeded.
	ProjectEventNamespaceReconcileSuccessful = "NamespaceReconcileSuccessful"
	// ProjectEventNamespaceNotEmpty indicates that the namespace cannot be released because it is not empty.
	ProjectEventNamespaceNotEmpty = "NamespaceNotEmpty"
	// 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 (
	// 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 (
	// KubernetesDashboardAuthModeBasic uses basic authentication mode for auth.
	KubernetesDashboardAuthModeBasic = "basic"
	// KubernetesDashboardAuthModeToken uses token-based mode for auth.
	KubernetesDashboardAuthModeToken = "token"
)
View Source
const (
	// DefaultPodNetworkCIDR is a constant for the default pod network CIDR of a Shoot cluster.
	DefaultPodNetworkCIDR = "100.96.0.0/11"
	// DefaultServiceNetworkCIDR is a constant for the default service network CIDR of a Shoot cluster.
	DefaultServiceNetworkCIDR = "100.64.0.0/13"
)
View Source
const (
	// MaintenanceTimeWindowDurationMinimum is the minimum duration for a maintenance time window.
	MaintenanceTimeWindowDurationMinimum = 30 * time.Minute
	// MaintenanceTimeWindowDurationMaximum is the maximum duration for a maintenance time window.
	MaintenanceTimeWindowDurationMaximum = 6 * time.Hour
)
View Source
const (
	// ShootEventImageVersionMaintenance indicates that a maintenance operation regarding the image version has been performed.
	ShootEventImageVersionMaintenance = "MachineImageVersionMaintenance"
	// ShootEventK8sVersionMaintenance indicates that a maintenance operation regarding the K8s version has been performed.
	ShootEventK8sVersionMaintenance = "KubernetesVersionMaintenance"
	// ShootEventHibernationEnabled indicates that hibernation started.
	ShootEventHibernationEnabled = "Hibernated"
	// ShootEventHibernationDisabled indicates that hibernation ended.
	ShootEventHibernationDisabled = "WokenUp"
	// ShootEventSchedulingSuccessful indicates that a scheduling decision was taken successfully.
	ShootEventSchedulingSuccessful = "SchedulingSuccessful"
	// ShootEventSchedulingFailed indicates that a scheduling decision failed.
	ShootEventSchedulingFailed = "SchedulingFailed"
)
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 (
	// BackupEntryForceDeletion is a constant for an annotation on a BackupEntry indicating that it should be force deleted.
	BackupEntryForceDeletion = "backupentry.core.gardener.cloud/force-deletion"
)
View Source
const DNSUnmanaged string = "unmanaged"

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

View Source
const DefaultDomain = "cluster.local"

DefaultDomain is the default value in the Shoot's '.spec.dns.domain' when '.spec.dns.provider' is 'unmanaged'

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"
)
View Source
const (
	// GardenerSeedLeaseNamespace is the namespace in which Gardenlet will report Seeds'
	// status using Lease resources for each Seed
	GardenerSeedLeaseNamespace = "gardener-system-seed-lease"
)
View Source
const GroupName = "core.gardener.cloud"

GroupName is the name of the core API group.

View Source
const (
	// ResourceShoots is a resource constant for the number of shoots.
	ResourceShoots corev1.ResourceName = "shoots"
)

Resource constants for Gardener object types

View Source
const (
	// 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"
)

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 (
	// DefaultWorkerMaxSurge is the default value for Worker MaxSurge.
	DefaultWorkerMaxSurge = intstr.FromInt(1)
	// DefaultWorkerMaxUnavailable is the default value for Worker MaxUnavailable.
	DefaultWorkerMaxUnavailable = intstr.FromInt(0)
)
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 Addon added in v1.0.0

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

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

func (*Addon) DeepCopy added in v1.0.0

func (in *Addon) DeepCopy() *Addon

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

func (*Addon) DeepCopyInto added in v1.0.0

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

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

type Addons added in v1.0.0

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
}

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

func (*Addons) DeepCopy added in v1.0.0

func (in *Addons) DeepCopy() *Addons

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

func (*Addons) DeepCopyInto added in v1.0.0

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 added in v1.0.0

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

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

func (*AdmissionPlugin) DeepCopy added in v1.0.0

func (in *AdmissionPlugin) DeepCopy() *AdmissionPlugin

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

func (*AdmissionPlugin) DeepCopyInto added in v1.0.0

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 added in v1.0.0

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 added in v1.0.0

func (in *Alerting) DeepCopy() *Alerting

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

func (*Alerting) DeepCopyInto added in v1.0.0

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

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

type AuditConfig added in v1.0.0

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 added in v1.0.0

func (in *AuditConfig) DeepCopy() *AuditConfig

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

func (*AuditConfig) DeepCopyInto added in v1.0.0

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 added in v1.0.0

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 added in v1.0.0

func (in *AuditPolicy) DeepCopy() *AuditPolicy

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

func (*AuditPolicy) DeepCopyInto added in v1.0.0

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 added in v1.0.0

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 added in v1.0.0

func (in *AvailabilityZone) DeepCopy() *AvailabilityZone

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

func (*AvailabilityZone) DeepCopyInto added in v1.0.0

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

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

type BackupBucket

type BackupBucket struct {
	metav1.TypeMeta
	// Standard object metadata.
	metav1.ObjectMeta
	// Specification of the Backup Bucket.
	Spec BackupBucketSpec
	// Most recently observed status of the Backup Bucket.
	Status BackupBucketStatus
}

BackupBucket holds details about backup bucket

func (*BackupBucket) DeepCopy

func (in *BackupBucket) DeepCopy() *BackupBucket

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

func (*BackupBucket) DeepCopyInto

func (in *BackupBucket) DeepCopyInto(out *BackupBucket)

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

func (*BackupBucket) DeepCopyObject

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

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

type BackupBucketList

type BackupBucketList struct {
	metav1.TypeMeta
	// Standard list object metadata.
	metav1.ListMeta
	// Items is the list of BackupBucket.
	Items []BackupBucket
}

BackupBucketList is a list of BackupBucket objects.

func (*BackupBucketList) DeepCopy

func (in *BackupBucketList) DeepCopy() *BackupBucketList

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

func (*BackupBucketList) DeepCopyInto

func (in *BackupBucketList) DeepCopyInto(out *BackupBucketList)

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

func (*BackupBucketList) DeepCopyObject

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

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

type BackupBucketProvider

type BackupBucketProvider struct {
	// Type is the type of provider.
	Type string
	// Region is the region of the bucket.
	Region string
}

BackupBucketProvider holds the details of cloud provider of the object store.

func (*BackupBucketProvider) DeepCopy

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

func (*BackupBucketProvider) DeepCopyInto

func (in *BackupBucketProvider) DeepCopyInto(out *BackupBucketProvider)

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

type BackupBucketSpec

type BackupBucketSpec struct {
	// Provider holds the details of cloud provider of the object store.
	Provider BackupBucketProvider
	// ProviderConfig is the configuration passed to BackupBucket resource.
	ProviderConfig *runtime.RawExtension
	// SecretRef is a reference to a secret that contains the credentials to access object store.
	SecretRef corev1.SecretReference
	// SeedName holds the name of the seed allocated to BackupBucket for running controller.
	SeedName *string
}

BackupBucketSpec is the specification of a Backup Bucket.

func (*BackupBucketSpec) DeepCopy

func (in *BackupBucketSpec) DeepCopy() *BackupBucketSpec

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

func (*BackupBucketSpec) DeepCopyInto

func (in *BackupBucketSpec) DeepCopyInto(out *BackupBucketSpec)

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

type BackupBucketStatus

type BackupBucketStatus struct {
	// ProviderStatus is the configuration passed to BackupBucket resource.
	ProviderStatus *runtime.RawExtension
	// LastOperation holds information about the last operation on the BackupBucket.
	LastOperation *LastOperation
	// LastError holds information about the last occurred error during an operation.
	LastError *LastError
	// ObservedGeneration is the most recent generation observed for this BackupBucket. It corresponds to the
	// BackupBucket's generation, which is updated on mutation by the API Server.
	ObservedGeneration int64
	// GeneratedSecretRef is reference to the secret generated by backup bucket, which
	// will have object store specific credentials.
	GeneratedSecretRef *corev1.SecretReference
}

BackupBucketStatus holds the most recently observed status of the Backup Bucket.

func (*BackupBucketStatus) DeepCopy

func (in *BackupBucketStatus) DeepCopy() *BackupBucketStatus

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

func (*BackupBucketStatus) DeepCopyInto

func (in *BackupBucketStatus) DeepCopyInto(out *BackupBucketStatus)

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

type BackupEntry

type BackupEntry struct {
	metav1.TypeMeta
	// Standard object metadata.
	metav1.ObjectMeta
	// Spec contains the specification of the Backup Entry.
	Spec BackupEntrySpec
	// Status contains the most recently observed status of the Backup Entry.
	Status BackupEntryStatus
}

BackupEntry holds details about shoot backup.

func (*BackupEntry) DeepCopy

func (in *BackupEntry) DeepCopy() *BackupEntry

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

func (*BackupEntry) DeepCopyInto

func (in *BackupEntry) DeepCopyInto(out *BackupEntry)

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

func (*BackupEntry) DeepCopyObject

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

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

type BackupEntryList

type BackupEntryList struct {
	metav1.TypeMeta
	// Standard list object metadata.
	metav1.ListMeta
	// Items is the list of BackupEntry.
	Items []BackupEntry
}

BackupEntryList is a list of BackupEntry objects.

func (*BackupEntryList) DeepCopy

func (in *BackupEntryList) DeepCopy() *BackupEntryList

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

func (*BackupEntryList) DeepCopyInto

func (in *BackupEntryList) DeepCopyInto(out *BackupEntryList)

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

func (*BackupEntryList) DeepCopyObject

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

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

type BackupEntrySpec

type BackupEntrySpec struct {
	// BucketName is the name of backup bucket for this Backup Entry.
	BucketName string
	// SeedName holds the name of the seed to which this BackupEntry is scheduled
	SeedName *string
}

BackupEntrySpec is the specification of a Backup Entry.

func (*BackupEntrySpec) DeepCopy

func (in *BackupEntrySpec) DeepCopy() *BackupEntrySpec

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

func (*BackupEntrySpec) DeepCopyInto

func (in *BackupEntrySpec) DeepCopyInto(out *BackupEntrySpec)

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

type BackupEntryStatus

type BackupEntryStatus struct {
	// LastOperation holds information about the last operation on the BackupEntry.
	LastOperation *LastOperation
	// LastError holds information about the last occurred error during an operation.
	LastError *LastError
	// ObservedGeneration is the most recent generation observed for this BackupEntry. It corresponds to the
	// BackupEntry's generation, which is updated on mutation by the API Server.
	ObservedGeneration int64
	// SeedName is the name of the seed to which this BackupEntry is currently scheduled. This field is populated
	// at the beginning of a create/reconcile operation. It is used when moving the BackupEntry between seeds.
	SeedName *string
}

BackupEntryStatus holds the most recently observed status of the Backup Entry.

func (*BackupEntryStatus) DeepCopy

func (in *BackupEntryStatus) DeepCopy() *BackupEntryStatus

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

func (*BackupEntryStatus) DeepCopyInto

func (in *BackupEntryStatus) DeepCopyInto(out *BackupEntryStatus)

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

type CRI added in v1.2.0

type CRI struct {
	// The name of the CRI library
	Name CRIName
	// ContainerRuntimes is the list of the required container runtimes supported for a worker pool.
	ContainerRuntimes []ContainerRuntime
}

CRI contains information about the Container Runtimes.

func (*CRI) DeepCopy added in v1.2.0

func (in *CRI) DeepCopy() *CRI

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

func (*CRI) DeepCopyInto added in v1.2.0

func (in *CRI) DeepCopyInto(out *CRI)

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

type CRIName added in v1.2.0

type CRIName string

CRIName is a type alias for the CRI name string.

const (
	CRINameContainerD CRIName = "containerd"
	CRINameDocker     CRIName = "docker"
)

type CloudInfo

type CloudInfo struct {
	// Type is the cloud type
	Type string
	// Region is the cloud region
	Region string
}

CloudInfo contains information about the cloud

func (*CloudInfo) DeepCopy

func (in *CloudInfo) DeepCopy() *CloudInfo

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

func (*CloudInfo) DeepCopyInto

func (in *CloudInfo) DeepCopyInto(out *CloudInfo)

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

type CloudProfile added in v1.0.0

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

CloudProfile represents certain properties about a provider environment.

func (*CloudProfile) DeepCopy added in v1.0.0

func (in *CloudProfile) DeepCopy() *CloudProfile

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

func (*CloudProfile) DeepCopyInto added in v1.0.0

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 added in v1.0.0

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

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

func (*CloudProfile) GetProviderType added in v1.4.0

func (c *CloudProfile) GetProviderType() string

GetProviderType gets the type of the provider.

type CloudProfileList added in v1.0.0

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 added in v1.0.0

func (in *CloudProfileList) DeepCopy() *CloudProfileList

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

func (*CloudProfileList) DeepCopyInto added in v1.0.0

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 added in v1.0.0

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

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

type CloudProfileSpec added in v1.0.0

type CloudProfileSpec struct {
	// CABundle is a certificate bundle which will be installed onto every host machine of shoot cluster targeting this profile.
	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 []MachineImage
	// 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 *runtime.RawExtension
	// 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.
	// Optionally a list of possible providers can be added to enable cross-provider scheduling. By default, the provider
	// type of the seed must match the shoot's provider.
	SeedSelector *SeedSelector
	// 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 added in v1.0.0

func (in *CloudProfileSpec) DeepCopy() *CloudProfileSpec

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

func (*CloudProfileSpec) DeepCopyInto added in v1.0.0

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

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

type ClusterAutoscaler added in v1.0.0

type ClusterAutoscaler struct {
	// ScaleDownDelayAfterAdd defines how long after scale up that scale down evaluation resumes (default: 1 hour).
	ScaleDownDelayAfterAdd *metav1.Duration
	// ScaleDownDelayAfterDelete how long after node deletion that scale down evaluation resumes, defaults to scanInterval (default: 0 secs).
	ScaleDownDelayAfterDelete *metav1.Duration
	// ScaleDownDelayAfterFailure how long after scale down failure that scale down evaluation resumes (default: 3 mins).
	ScaleDownDelayAfterFailure *metav1.Duration
	// ScaleDownUnneededTime defines how long a node should be unneeded before it is eligible for scale down (default: 30 mins).
	ScaleDownUnneededTime *metav1.Duration
	// ScaleDownUtilizationThreshold defines the threshold in fraction (0.0 - 1.0) under which a node is being removed (default: 0.5).
	ScaleDownUtilizationThreshold *float64
	// ScanInterval how often cluster is reevaluated for scale up or down (default: 10 secs).
	ScanInterval *metav1.Duration
	// Expander defines the algorithm to use during scale up (default: least-waste).
	// See: https://github.com/gardener/autoscaler/blob/machine-controller-manager-provider/cluster-autoscaler/FAQ.md#what-are-expanders.
	Expander *ExpanderMode
	// MaxNodeProvisionTime defines how long CA waits for node to be provisioned (default: 20 mins).
	MaxNodeProvisionTime *metav1.Duration
}

ClusterAutoscaler contains the configuration flags for the Kubernetes cluster autoscaler.

func (*ClusterAutoscaler) DeepCopy added in v1.0.0

func (in *ClusterAutoscaler) DeepCopy() *ClusterAutoscaler

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

func (*ClusterAutoscaler) DeepCopyInto added in v1.0.0

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

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

type ClusterInfo

type ClusterInfo struct {
	// Cloud describes the cloud information
	Cloud CloudInfo
	// Kubernetes describes kubernetes meta information (e.g., version)
	Kubernetes KubernetesInfo
}

ClusterInfo contains information about the Plant cluster

func (*ClusterInfo) DeepCopy

func (in *ClusterInfo) DeepCopy() *ClusterInfo

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

func (*ClusterInfo) DeepCopyInto

func (in *ClusterInfo) DeepCopyInto(out *ClusterInfo)

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
	// Well-defined error codes in case the condition reports a problem.
	Codes []ErrorCode
}

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 (
	// ControllerInstallationHealthy is a condition type for indicating whether the controller is healthy.
	ControllerInstallationHealthy ConditionType = "Healthy"
	// ControllerInstallationInstalled is a condition type for indicating whether the controller has been installed.
	ControllerInstallationInstalled ConditionType = "Installed"
	// ControllerInstallationValid is a condition type for indicating whether the installation request is valid.
	ControllerInstallationValid ConditionType = "Valid"
	// ControllerInstallationRequired is a condition type for indicating that the respective extension controller is
	// still required on the seed cluster as corresponding extension resources still exist.
	ControllerInstallationRequired ConditionType = "Required"
)
const (
	// PlantEveryNodeReady is a constant for a condition type indicating the node health.
	PlantEveryNodeReady ConditionType = "EveryNodeReady"
	// PlantAPIServerAvailable is a constant for a condition type indicating that the Plant cluster API server is available.
	PlantAPIServerAvailable ConditionType = "APIServerAvailable"
)
const (
	// SeedBackupBucketsReady is a constant for a condition type indicating that associated BackupBuckets are ready.
	SeedBackupBucketsReady ConditionType = "BackupBucketsReady"
	// 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"
)
const (
	// ShootAPIServerAvailable is a constant for a condition type indicating that the Shoot cluster's API server is available.
	ShootAPIServerAvailable ConditionType = "APIServerAvailable"
	// 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"
	// ShootHibernationPossible is a constant for a condition type indicating whether the Shoot can be hibernated.
	ShootHibernationPossible ConditionType = "HibernationPossible"
	// ShootMaintenancePreconditionsSatisfied is a constant for a condition type indicating whether all preconditions
	// for a shoot maintenance operation are satisfied.
	ShootMaintenancePreconditionsSatisfied ConditionType = "MaintenancePreconditionsSatisfied"
)

type ContainerRuntime added in v1.2.0

type ContainerRuntime struct {
	// Type is the type of the Container Runtime.
	Type string
	// ProviderConfig is the configuration passed to the ContainerRuntime resource.
	ProviderConfig *runtime.RawExtension
}

ContainerRuntime contains information about worker's available container runtime

func (*ContainerRuntime) DeepCopy added in v1.2.0

func (in *ContainerRuntime) DeepCopy() *ContainerRuntime

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

func (*ContainerRuntime) DeepCopyInto added in v1.2.0

func (in *ContainerRuntime) DeepCopyInto(out *ContainerRuntime)

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

type ControllerDeployment

type ControllerDeployment struct {
	metav1.TypeMeta
	// Standard object metadata.
	metav1.ObjectMeta
	// Type is the deployment type.
	Type string
	// ProviderConfig contains type-specific configuration. It contains assets that deploy the controller.
	ProviderConfig runtime.Object
}

ControllerDeployment contains information about how this controller is deployed.

func (*ControllerDeployment) DeepCopy

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

func (*ControllerDeployment) DeepCopyInto

func (in *ControllerDeployment) DeepCopyInto(out *ControllerDeployment)

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

func (*ControllerDeployment) DeepCopyObject added in v1.23.0

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

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

type ControllerDeploymentList added in v1.23.0

type ControllerDeploymentList struct {
	metav1.TypeMeta
	// Standard list object metadata.
	metav1.ListMeta
	// Items is the list of ControllerDeployments.
	Items []ControllerDeployment
}

ControllerDeploymentList is a collection of ControllerDeployments.

func (*ControllerDeploymentList) DeepCopy added in v1.23.0

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

func (*ControllerDeploymentList) DeepCopyInto added in v1.23.0

func (in *ControllerDeploymentList) DeepCopyInto(out *ControllerDeploymentList)

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

func (*ControllerDeploymentList) DeepCopyObject added in v1.23.0

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

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

type ControllerDeploymentPolicy added in v1.5.0

type ControllerDeploymentPolicy string

ControllerDeploymentPolicy is a string alias.

const (
	// ControllerDeploymentPolicyOnDemand specifies that the controller shall be only deployed if required by another
	// resource. If nothing requires it then the controller shall not be deployed.
	ControllerDeploymentPolicyOnDemand ControllerDeploymentPolicy = "OnDemand"
	// ControllerDeploymentPolicyAlways specifies that the controller shall be deployed always, independent of whether
	// another resource requires it or the respective seed has shoots.
	ControllerDeploymentPolicyAlways ControllerDeploymentPolicy = "Always"
	// ControllerDeploymentPolicyAlwaysExceptNoShoots specifies that the controller shall be deployed always, independent of
	// whether another resource requires it, but only when the respective seed has at least one shoot.
	ControllerDeploymentPolicyAlwaysExceptNoShoots ControllerDeploymentPolicy = "AlwaysExceptNoShoots"
)

type ControllerInstallation

type ControllerInstallation struct {
	metav1.TypeMeta
	// Standard object metadata.
	metav1.ObjectMeta
	// Spec contains the specification of this installation.
	Spec ControllerInstallationSpec
	// Status contains the status of this installation.
	Status ControllerInstallationStatus
}

ControllerInstallation represents an installation request for an external controller.

func (*ControllerInstallation) DeepCopy

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

func (*ControllerInstallation) DeepCopyInto

func (in *ControllerInstallation) DeepCopyInto(out *ControllerInstallation)

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

func (*ControllerInstallation) DeepCopyObject

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

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

type ControllerInstallationList

type ControllerInstallationList struct {
	metav1.TypeMeta
	// Standard list object metadata.
	metav1.ListMeta
	// Items is the list of ControllerInstallations.
	Items []ControllerInstallation
}

ControllerInstallationList is a collection of ControllerInstallations.

func (*ControllerInstallationList) DeepCopy

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

func (*ControllerInstallationList) DeepCopyInto

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

func (*ControllerInstallationList) DeepCopyObject

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

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

type ControllerInstallationSpec

type ControllerInstallationSpec struct {
	// RegistrationRef is used to reference a ControllerRegistration resource.
	RegistrationRef corev1.ObjectReference
	// SeedRef is used to reference a Seed resource.
	SeedRef corev1.ObjectReference
	// DeploymentRef is used to reference a ControllerDeployment resource.
	DeploymentRef *corev1.ObjectReference
}

ControllerInstallationSpec is the specification of a ControllerInstallation.

func (*ControllerInstallationSpec) DeepCopy

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

func (*ControllerInstallationSpec) DeepCopyInto

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

type ControllerInstallationStatus

type ControllerInstallationStatus struct {
	// Conditions represents the latest available observations of a ControllerInstallations's current state.
	Conditions []Condition
	// ProviderStatus contains type-specific status.
	// +optional
	ProviderStatus *runtime.RawExtension
}

ControllerInstallationStatus is the status of a ControllerInstallation.

func (*ControllerInstallationStatus) DeepCopy

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

func (*ControllerInstallationStatus) DeepCopyInto

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

type ControllerRegistration

type ControllerRegistration struct {
	metav1.TypeMeta
	// Standard object metadata.
	metav1.ObjectMeta
	// Spec contains the specification of this registration.
	Spec ControllerRegistrationSpec
}

ControllerRegistration represents a registration of an external controller.

func (*ControllerRegistration) DeepCopy

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

func (*ControllerRegistration) DeepCopyInto

func (in *ControllerRegistration) DeepCopyInto(out *ControllerRegistration)

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

func (*ControllerRegistration) DeepCopyObject

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

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

type ControllerRegistrationDeployment added in v1.23.0

type ControllerRegistrationDeployment struct {
	// Type is the deployment type.
	// Deprecated: Declare type via `ControllerDeployment` instead.
	Type *string
	// ProviderConfig contains type-specific configuration.
	// Deprecated: Use `DeploymentRefs` instead.
	ProviderConfig *runtime.RawExtension
	// Policy controls how the controller is deployed. It defaults to 'OnDemand'.
	Policy *ControllerDeploymentPolicy
	// SeedSelector contains an optional label selector for seeds. Only if the labels match then this controller will be
	// considered for a deployment.
	// An empty list means that all seeds are selected.
	SeedSelector *metav1.LabelSelector
	// DeploymentRefs holds references to `ControllerDeployments`. Only one element is support now.
	DeploymentRefs []DeploymentRef
}

ControllerRegistrationDeployment contains information for how this controller is deployed.

func (*ControllerRegistrationDeployment) DeepCopy added in v1.23.0

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

func (*ControllerRegistrationDeployment) DeepCopyInto added in v1.23.0

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

type ControllerRegistrationList

type ControllerRegistrationList struct {
	metav1.TypeMeta
	// Standard list object metadata.
	metav1.ListMeta
	// Items is the list of ControllerRegistrations.
	Items []ControllerRegistration
}

ControllerRegistrationList is a collection of ControllerRegistrations.

func (*ControllerRegistrationList) DeepCopy

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

func (*ControllerRegistrationList) DeepCopyInto

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

func (*ControllerRegistrationList) DeepCopyObject

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

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

type ControllerRegistrationSpec

type ControllerRegistrationSpec struct {
	// Resources is a list of combinations of kinds (DNSProvider, Infrastructure, Generic, ...) and their actual types
	// (aws-route53, gcp, auditlog, ...).
	Resources []ControllerResource
	// Deployment contains information for how this controller is deployed.
	Deployment *ControllerRegistrationDeployment
}

ControllerRegistrationSpec is the specification of a ControllerRegistration.

func (*ControllerRegistrationSpec) DeepCopy

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

func (*ControllerRegistrationSpec) DeepCopyInto

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

type ControllerResource

type ControllerResource struct {
	// Kind is the resource kind.
	Kind string
	// Type is the resource type.
	Type string
	// GloballyEnabled determines if this resource is required by all Shoot clusters.
	GloballyEnabled *bool
	// ReconcileTimeout defines how long Gardener should wait for the resource reconciliation.
	ReconcileTimeout *metav1.Duration
	// Primary determines if the controller backed by this ControllerRegistration is responsible for the extension
	// resource's lifecycle. This field defaults to true. There must be exactly one primary controller for this kind/type
	// combination.
	Primary *bool
}

ControllerResource is a combination of a kind (DNSProvider, Infrastructure, Generic, ...) and the actual type for this kind (aws-route53, gcp, auditlog, ...).

func (*ControllerResource) DeepCopy

func (in *ControllerResource) DeepCopy() *ControllerResource

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

func (*ControllerResource) DeepCopyInto

func (in *ControllerResource) DeepCopyInto(out *ControllerResource)

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

type DNS added in v1.0.0

type DNS struct {
	// Domain is the external available domain of the Shoot cluster. This domain will be written into the
	// kubeconfig that is handed out to end-users. Once set it is immutable.
	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 added in v1.0.0

func (in *DNS) DeepCopy() *DNS

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

func (*DNS) DeepCopyInto added in v1.0.0

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 added in v1.0.0

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 added in v1.0.0

func (in *DNSIncludeExclude) DeepCopy() *DNSIncludeExclude

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

func (*DNSIncludeExclude) DeepCopyInto added in v1.0.0

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 added in v1.0.0

type DNSProvider struct {
	// Domains contains information about which domains shall be included/excluded for this provider.
	Domains *DNSIncludeExclude
	// Primary indicates that this DNSProvider is used for shoot related domains.
	Primary *bool
	// 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 added in v1.0.0

func (in *DNSProvider) DeepCopy() *DNSProvider

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

func (*DNSProvider) DeepCopyInto added in v1.0.0

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

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

type DataVolume added in v1.7.0

type DataVolume struct {
	// Name of the volume to make it referencable.
	Name string
	// Type is the type of the volume.
	Type *string
	// VolumeSize is the size of the volume.
	VolumeSize string
	// Encrypted determines if the volume should be encrypted.
	Encrypted *bool
}

DataVolume contains information about a data volume.

func (*DataVolume) DeepCopy added in v1.7.0

func (in *DataVolume) DeepCopy() *DataVolume

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

func (*DataVolume) DeepCopyInto added in v1.7.0

func (in *DataVolume) DeepCopyInto(out *DataVolume)

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

type DeploymentRef added in v1.23.0

type DeploymentRef struct {
	// Name is the name of the `ControllerDeployment` that is being referred to.
	Name string
}

DeploymentRef contains information about `ControllerDeployment` references.

func (*DeploymentRef) DeepCopy added in v1.23.0

func (in *DeploymentRef) DeepCopy() *DeploymentRef

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

func (*DeploymentRef) DeepCopyInto added in v1.23.0

func (in *DeploymentRef) DeepCopyInto(out *DeploymentRef)

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

type Endpoint

type Endpoint struct {
	// Name is the name of the endpoint
	Name string
	// URL is the url of the endpoint
	URL string
	// Purpose is the purpose of the endpoint
	Purpose string
}

Endpoint is an endpoint for monitoring, logging and other services around the plant.

func (*Endpoint) DeepCopy

func (in *Endpoint) DeepCopy() *Endpoint

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

func (*Endpoint) DeepCopyInto

func (in *Endpoint) DeepCopyInto(out *Endpoint)

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 infrastructure credentials.
	// It is classified as a non-retryable error code.
	ErrorInfraUnauthorized ErrorCode = "ERR_INFRA_UNAUTHORIZED"
	// ErrorInfraInsufficientPrivileges indicates that the last error occurred due to insufficient infrastructure privileges.
	// It is classified as a non-retryable error code.
	ErrorInfraInsufficientPrivileges ErrorCode = "ERR_INFRA_INSUFFICIENT_PRIVILEGES"
	// ErrorInfraQuotaExceeded indicates that the last error occurred due to infrastructure quota limits.
	// It is classified as a non-retryable error code.
	ErrorInfraQuotaExceeded ErrorCode = "ERR_INFRA_QUOTA_EXCEEDED"
	// ErrorInfraRateLimitsExceeded indicates that the last error occurred due to exceeded infrastructure request rate limits.
	ErrorInfraRateLimitsExceeded ErrorCode = "ERR_INFRA_RATE_LIMITS_EXCEEDED"
	// ErrorInfraDependencies indicates that the last error occurred due to dependent objects on the infrastructure level.
	// It is classified as a non-retryable error code.
	ErrorInfraDependencies ErrorCode = "ERR_INFRA_DEPENDENCIES"
	// ErrorRetryableInfraDependencies indicates that the last error occurred due to dependent objects on the infrastructure level, but operation should be retried.
	ErrorRetryableInfraDependencies ErrorCode = "ERR_RETRYABLE_INFRA_DEPENDENCIES"
	// ErrorInfraResourcesDepleted indicates that the last error occurred due to depleted resource in the infrastructure.
	ErrorInfraResourcesDepleted ErrorCode = "ERR_INFRA_RESOURCES_DEPLETED"
	// ErrorCleanupClusterResources indicates that the last error occurred due to resources in the cluster that are stuck in deletion.
	ErrorCleanupClusterResources ErrorCode = "ERR_CLEANUP_CLUSTER_RESOURCES"
	// ErrorConfigurationProblem indicates that the last error occurred due to a configuration problem.
	// It is classified as a non-retryable error code.
	ErrorConfigurationProblem ErrorCode = "ERR_CONFIGURATION_PROBLEM"
	// ErrorRetryableConfigurationProblem indicates that the last error occurred due to a retryable configuration problem.
	ErrorRetryableConfigurationProblem ErrorCode = "ERR_RETRYABLE_CONFIGURATION_PROBLEM"
)

type ExpanderMode added in v1.30.0

type ExpanderMode string

ExpanderMode is type used for Expander values

const (
	// ClusterAutoscalerExpanderLeastWaste selects the node group that will have the least idle CPU (if tied, unused memory) after scale-up.
	// This is useful when you have different classes of nodes, for example, high CPU or high memory nodes, and
	// only want to expand those when there are pending pods that need a lot of those resources.
	// This is the default value.
	ClusterAutoscalerExpanderLeastWaste ExpanderMode = "least-waste"
	// ClusterAutoscalerExpanderMostPods selects the node group that would be able to schedule the most pods when scaling up.
	// This is useful when you are using nodeSelector to make sure certain pods land on certain nodes.
	// Note that this won't cause the autoscaler to select bigger nodes vs. smaller, as it can add multiple smaller nodes at once.
	ClusterAutoscalerExpanderMostPods ExpanderMode = "most-pods"
	// ClusterAutoscalerExpanderPriority selects the node group that has the highest priority assigned by the user. For configurations,
	// See: https://github.com/gardener/autoscaler/blob/machine-controller-manager-provider/cluster-autoscaler/expander/priority/readme.md
	ClusterAutoscalerExpanderPriority ExpanderMode = "priority"
	// ClusterAutoscalerExpanderRandom should be used when you don't have a particular need
	// for the node groups to scale differently.
	ClusterAutoscalerExpanderRandom ExpanderMode = "random"
)

type ExpirableVersion added in v1.0.0

type ExpirableVersion struct {
	// Version is the version identifier.
	Version string
	// ExpirationDate defines the time at which this version expires.
	ExpirationDate *metav1.Time
	// Classification defines the state of a version (preview, supported, deprecated)
	Classification *VersionClassification
}

ExpirableVersion contains a version and an expiration date.

func (*ExpirableVersion) DeepCopy added in v1.0.0

func (in *ExpirableVersion) DeepCopy() *ExpirableVersion

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

func (*ExpirableVersion) DeepCopyInto added in v1.0.0

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

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

type ExposureClass added in v1.24.0

type ExposureClass struct {
	metav1.TypeMeta
	// Standard object metadata.
	metav1.ObjectMeta
	// Handler is the name of the handler which applies the control plane endpoint exposure strategy.
	Handler string
	// Scheduling holds information how to select applicable Seed's for ExposureClass usage.
	Scheduling *ExposureClassScheduling
}

ExposureClass represents a control plane endpoint exposure strategy.

func (*ExposureClass) DeepCopy added in v1.24.0

func (in *ExposureClass) DeepCopy() *ExposureClass

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

func (*ExposureClass) DeepCopyInto added in v1.24.0

func (in *ExposureClass) DeepCopyInto(out *ExposureClass)

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

func (*ExposureClass) DeepCopyObject added in v1.24.0

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

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

type ExposureClassList added in v1.24.0

type ExposureClassList struct {
	metav1.TypeMeta
	// Standard list object metadata.
	metav1.ListMeta
	// Items is the list of ExposureClasses.
	Items []ExposureClass
}

ExposureClassList is a collection of ExposureClass.

func (*ExposureClassList) DeepCopy added in v1.24.0

func (in *ExposureClassList) DeepCopy() *ExposureClassList

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

func (*ExposureClassList) DeepCopyInto added in v1.24.0

func (in *ExposureClassList) DeepCopyInto(out *ExposureClassList)

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

func (*ExposureClassList) DeepCopyObject added in v1.24.0

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

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

type ExposureClassScheduling added in v1.24.0

type ExposureClassScheduling struct {
	// SeedSelector is an optional label selector for Seed's which are suitable to use the ExposureClass.
	SeedSelector *SeedSelector
	// Tolerations contains the tolerations for taints on Seed clusters.
	Tolerations []Toleration
}

ExposureClassScheduling holds information to select applicable Seed's for ExposureClass usage.

func (*ExposureClassScheduling) DeepCopy added in v1.24.0

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

func (*ExposureClassScheduling) DeepCopyInto added in v1.24.0

func (in *ExposureClassScheduling) DeepCopyInto(out *ExposureClassScheduling)

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

type Extension added in v1.0.0

type Extension struct {
	// Type is the type of the extension resource.
	Type string
	// ProviderConfig is the configuration passed to extension resource.
	ProviderConfig *runtime.RawExtension
	// Disabled allows to disable extensions that were marked as 'globally enabled' by Gardener administrators.
	Disabled *bool
}

Extension contains type and provider information for Shoot extensions.

func (*Extension) DeepCopy added in v1.0.0

func (in *Extension) DeepCopy() *Extension

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

func (*Extension) DeepCopyInto added in v1.0.0

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

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

type ExtensionResourceState added in v0.33.0

type ExtensionResourceState struct {
	// Kind (type) of the extension custom resource
	Kind string
	// Name of the extension custom resource
	Name *string
	// Purpose of the extension custom resource
	Purpose *string
	// State of the extension resource
	State *runtime.RawExtension
	// Resources holds a list of named resource references that can be referred to in the state by their names.
	Resources []NamedResourceReference
}

ExtensionResourceState contains the kind of the extension custom resource and its last observed state in the Shoot's namespace on the Seed cluster.

func (*ExtensionResourceState) DeepCopy added in v0.33.0

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

func (*ExtensionResourceState) DeepCopyInto added in v0.33.0

func (in *ExtensionResourceState) DeepCopyInto(out *ExtensionResourceState)

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

type ExtensionStatus added in v1.23.0

type ExtensionStatus struct {
	// Kind of the extension resource
	Kind string
	// Type of the extension resource
	Type string
	// Purpose of the extension resource
	Purpose *string
	// Status contains the status of the extension resource
	Status runtime.Object
}

ExtensionStatus contains the kind, the type, the optional purpose and the last observed status of an extension controller.

func (*ExtensionStatus) DeepCopy added in v1.23.0

func (in *ExtensionStatus) DeepCopy() *ExtensionStatus

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

func (*ExtensionStatus) DeepCopyInto added in v1.23.0

func (in *ExtensionStatus) DeepCopyInto(out *ExtensionStatus)

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

type Gardener added in v1.0.0

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 added in v1.0.0

func (in *Gardener) DeepCopy() *Gardener

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

func (*Gardener) DeepCopyInto added in v1.0.0

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

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

type GardenerResourceData added in v0.33.0

type GardenerResourceData struct {
	// Name of the object required to generate resources
	Name string
	// Type of the object
	Type string
	// Data contains the payload required to generate resources
	Data runtime.RawExtension
}

GardenerResourceData holds the data which is used to generate resources, deployed in the Shoot's control plane.

func (*GardenerResourceData) DeepCopy added in v0.33.0

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

func (*GardenerResourceData) DeepCopyInto added in v0.33.0

func (in *GardenerResourceData) DeepCopyInto(out *GardenerResourceData)

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

type Hibernation added in v1.0.0

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 determine the hibernation schedules.
	Schedules []HibernationSchedule
}

Hibernation contains information whether the Shoot is suspended or not.

func (*Hibernation) DeepCopy added in v1.0.0

func (in *Hibernation) DeepCopy() *Hibernation

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

func (*Hibernation) DeepCopyInto added in v1.0.0

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 added in v1.0.0

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 added in v1.0.0

func (in *HibernationSchedule) DeepCopy() *HibernationSchedule

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

func (*HibernationSchedule) DeepCopyInto added in v1.0.0

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 added in v1.0.0

type HorizontalPodAutoscalerConfig struct {
	// The period after which a ready pod transition is considered to be the first.
	CPUInitializationPeriod *metav1.Duration
	// The configurable window at which the controller will choose the highest recommendation for autoscaling.
	DownscaleStabilization *metav1.Duration
	// The configurable period at which the horizontal pod autoscaler considers a Pod “not yet ready” given that it’s unready and it has  transitioned to unready during that time.
	InitialReadinessDelay *metav1.Duration
	// The period for syncing the number of pods in horizontal pod autoscaler.
	SyncPeriod *metav1.Duration
	// The minimum change (from 1.0) in the desired-to-actual metrics ratio for the horizontal pod autoscaler to consider scaling.
	Tolerance *float64
}

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

func (*HorizontalPodAutoscalerConfig) DeepCopy added in v1.0.0

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

func (*HorizontalPodAutoscalerConfig) DeepCopyInto added in v1.0.0

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

type Ingress added in v1.15.0

type Ingress struct {
	// Domain specifies the ingress 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. Once set this field is immutable.
	Domain string
	// Controller configures a Gardener managed Ingress Controller listening on the ingressDomain
	Controller IngressController
}

Ingress configures the Ingress specific settings of the Seed cluster

func (*Ingress) DeepCopy added in v1.15.0

func (in *Ingress) DeepCopy() *Ingress

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

func (*Ingress) DeepCopyInto added in v1.15.0

func (in *Ingress) DeepCopyInto(out *Ingress)

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

type IngressController added in v1.15.0

type IngressController struct {
	// Kind defines which kind of IngressController to use, for example `nginx`
	Kind string
	// ProviderConfig specifies infrastructure specific configuration for the ingressController
	ProviderConfig *runtime.RawExtension
}

IngressController enables a Gardener managed Ingress Controller listening on the ingressDomain

func (*IngressController) DeepCopy added in v1.15.0

func (in *IngressController) DeepCopy() *IngressController

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

func (*IngressController) DeepCopyInto added in v1.15.0

func (in *IngressController) DeepCopyInto(out *IngressController)

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

type KubeAPIServerConfig added in v1.0.0

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.
	// Defaults to ["kubernetes"].
	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
	// WatchCacheSizes contains configuration of the API server's watch cache sizes.
	// Configuring these flags might be useful for large-scale Shoot clusters with a lot of parallel update requests
	// and a lot of watching controllers (e.g. large shooted Seed clusters). When the API server's watch cache's
	// capacity is too small to cope with the amount of update requests and watchers for a particular resource, it
	// might happen that controller watches are permanently stopped with `too old resource version` errors.
	// Starting from kubernetes v1.19, the API server's watch cache size is adapted dynamically and setting the watch
	// cache size flags will have no effect, except when setting it to 0 (which disables the watch cache).
	WatchCacheSizes *WatchCacheSizes
	// Requests contains configuration for request-specific settings for the kube-apiserver.
	Requests *KubeAPIServerRequests
	// EnableAnonymousAuthentication defines whether anonymous requests to the secure port
	// of the API server should be allowed (flag `--anonymous-auth`).
	// See: https://kubernetes.io/docs/reference/command-line-tools-reference/kube-apiserver/
	EnableAnonymousAuthentication *bool
}

KubeAPIServerConfig contains configuration settings for the kube-apiserver.

func (*KubeAPIServerConfig) DeepCopy added in v1.0.0

func (in *KubeAPIServerConfig) DeepCopy() *KubeAPIServerConfig

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

func (*KubeAPIServerConfig) DeepCopyInto added in v1.0.0

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

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

type KubeAPIServerRequests added in v1.13.0

type KubeAPIServerRequests struct {
	// MaxNonMutatingInflight is the maximum number of non-mutating requests in flight at a given time. When the server
	// exceeds this, it rejects requests.
	MaxNonMutatingInflight *int32
	// MaxMutatingInflight is the maximum number of mutating requests in flight at a given time. When the server
	// exceeds this, it rejects requests.
	MaxMutatingInflight *int32
}

KubeAPIServerRequests contains configuration for request-specific settings for the kube-apiserver.

func (*KubeAPIServerRequests) DeepCopy added in v1.13.0

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

func (*KubeAPIServerRequests) DeepCopyInto added in v1.13.0

func (in *KubeAPIServerRequests) DeepCopyInto(out *KubeAPIServerRequests)

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

type KubeControllerManagerConfig added in v1.0.0

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 *int32
	// PodEvictionTimeout defines the grace period for deleting pods on failed nodes.
	PodEvictionTimeout *metav1.Duration
	// NodeMonitorGracePeriod defines the grace period before an unresponsive node is marked unhealthy.
	NodeMonitorGracePeriod *metav1.Duration
}

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

func (*KubeControllerManagerConfig) DeepCopy added in v1.0.0

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

func (*KubeControllerManagerConfig) DeepCopyInto added in v1.0.0

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

type KubeProxyConfig added in v1.0.0

type KubeProxyConfig struct {
	KubernetesConfig
	// Mode specifies which proxy mode to use.
	// defaults to IPTables.
	Mode *ProxyMode
	// Enabled indicates whether kube-proxy should be deployed or not.
	// Depending on the networking extensions switching kube-proxy off might be rejected. Consulting the respective documentation of the used networking extension is recommended before using this field.
	// defaults to true if not specified.
	Enabled *bool
}

KubeProxyConfig contains configuration settings for the kube-proxy.

func (*KubeProxyConfig) DeepCopy added in v1.0.0

func (in *KubeProxyConfig) DeepCopy() *KubeProxyConfig

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

func (*KubeProxyConfig) DeepCopyInto added in v1.0.0

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 added in v1.0.0

type KubeSchedulerConfig struct {
	KubernetesConfig
	// KubeMaxPDVols allows to configure the `KUBE_MAX_PD_VOLS` environment variable for the kube-scheduler.
	// Please find more information here: https://kubernetes.io/docs/concepts/storage/storage-limits/#custom-limits
	// Note that using this field is considered alpha-/experimental-level and is on your own risk. You should be aware
	// of all the side-effects and consequences when changing it.
	KubeMaxPDVols *string
}

KubeSchedulerConfig contains configuration settings for the kube-scheduler.

func (*KubeSchedulerConfig) DeepCopy added in v1.0.0

func (in *KubeSchedulerConfig) DeepCopy() *KubeSchedulerConfig

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

func (*KubeSchedulerConfig) DeepCopyInto added in v1.0.0

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 added in v1.0.0

type KubeletConfig struct {
	KubernetesConfig
	// CPUCFSQuota allows you to disable/enable CPU throttling for Pods.
	CPUCFSQuota *bool
	// CPUManagerPolicy allows to set alternative CPU management policies (default: none).
	CPUManagerPolicy *string
	// 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
	// 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
	// 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
	// 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
	// MaxPods is the maximum number of Pods that are allowed by the Kubelet.
	// Default: 110
	MaxPods *int32
	// PodPIDsLimit is the maximum number of process IDs per pod allowed by the kubelet.
	PodPIDsLimit *int64
	// ImagePullProgressDeadline describes the time limit under which if no pulling progress is made, the image pulling will be cancelled.
	// Default: 1m
	ImagePullProgressDeadline *metav1.Duration
	// FailSwapOn makes the Kubelet fail to start if swap is enabled on the node. (default true).
	FailSwapOn *bool
	// KubeReserved is the configuration for resources reserved for kubernetes node components (mainly kubelet and container runtime).
	// When updating these values, be aware that cgroup resizes may not succeed on active worker nodes. Look for the NodeAllocatableEnforced event to determine if the configuration was applied.
	// Default: cpu=80m,memory=1Gi,pid=20k
	KubeReserved *KubeletConfigReserved
	// SystemReserved is the configuration for resources reserved for system processes not managed by kubernetes (e.g. journald).
	// When updating these values, be aware that cgroup resizes may not succeed on active worker nodes. Look for the NodeAllocatableEnforced event to determine if the configuration was applied.
	SystemReserved *KubeletConfigReserved
	// ImageGCHighThresholdPercent describes the percent of the disk usage which triggers image garbage collection.
	ImageGCHighThresholdPercent *int32
	// ImageGCLowThresholdPercent describes the percent of the disk to which garbage collection attempts to free.
	ImageGCLowThresholdPercent *int32
}

KubeletConfig contains configuration settings for the kubelet.

func (*KubeletConfig) DeepCopy added in v1.0.0

func (in *KubeletConfig) DeepCopy() *KubeletConfig

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

func (*KubeletConfig) DeepCopyInto added in v1.0.0

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 added in v1.0.0

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 added in v1.0.0

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

func (*KubeletConfigEviction) DeepCopyInto added in v1.0.0

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 added in v1.0.0

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
}

KubeletConfigEvictionMinimumReclaim contains configuration for the kubelet eviction minimum reclaim.

func (*KubeletConfigEvictionMinimumReclaim) DeepCopy added in v1.0.0

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

func (*KubeletConfigEvictionMinimumReclaim) DeepCopyInto added in v1.0.0

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

type KubeletConfigEvictionSoftGracePeriod added in v1.0.0

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 added in v1.0.0

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

func (*KubeletConfigEvictionSoftGracePeriod) DeepCopyInto added in v1.0.0

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

type KubeletConfigReserved added in v1.8.0

type KubeletConfigReserved struct {
	// CPU is the reserved cpu.
	CPU *resource.Quantity
	// Memory is the reserved memory.
	Memory *resource.Quantity
	// EphemeralStorage is the reserved ephemeral-storage.
	EphemeralStorage *resource.Quantity
	// PID is the reserved process-ids.
	PID *resource.Quantity
}

KubeletConfigReserved contains reserved resources for daemons

func (*KubeletConfigReserved) DeepCopy added in v1.8.0

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

func (*KubeletConfigReserved) DeepCopyInto added in v1.8.0

func (in *KubeletConfigReserved) DeepCopyInto(out *KubeletConfigReserved)

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

type Kubernetes added in v1.0.0

type Kubernetes struct {
	// AllowPrivilegedContainers indicates whether privileged containers are allowed in the Shoot (default: true).
	AllowPrivilegedContainers *bool
	// ClusterAutoscaler contains the configuration flags for the Kubernetes cluster autoscaler.
	ClusterAutoscaler *ClusterAutoscaler
	// KubeAPIServer contains configuration settings for the kube-apiserver.
	KubeAPIServer *KubeAPIServerConfig
	// 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
	// VerticalPodAutoscaler contains the configuration flags for the Kubernetes vertical pod autoscaler.
	VerticalPodAutoscaler *VerticalPodAutoscaler
}

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

func (*Kubernetes) DeepCopy added in v1.0.0

func (in *Kubernetes) DeepCopy() *Kubernetes

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

func (*Kubernetes) DeepCopyInto added in v1.0.0

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 added in v1.0.0

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 added in v1.0.0

func (in *KubernetesConfig) DeepCopy() *KubernetesConfig

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

func (*KubernetesConfig) DeepCopyInto added in v1.0.0

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

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

type KubernetesDashboard added in v1.0.0

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 added in v1.0.0

func (in *KubernetesDashboard) DeepCopy() *KubernetesDashboard

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

func (*KubernetesDashboard) DeepCopyInto added in v1.0.0

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

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

type KubernetesInfo

type KubernetesInfo struct {
	// Version is the semantic Kubernetes version to use for the Plant cluster.
	Version string
}

KubernetesInfo contains the version and configuration variables for the Plant cluster.

func (*KubernetesInfo) DeepCopy

func (in *KubernetesInfo) DeepCopy() *KubernetesInfo

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

func (*KubernetesInfo) DeepCopyInto

func (in *KubernetesInfo) DeepCopyInto(out *KubernetesInfo)

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

type KubernetesSettings added in v1.0.0

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 added in v1.0.0

func (in *KubernetesSettings) DeepCopy() *KubernetesSettings

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

func (*KubernetesSettings) DeepCopyInto added in v1.0.0

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

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).
	// +optional
	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 int32
	// 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"
	// LastOperationTypeRestore indicates a 'restore' operation.
	LastOperationTypeRestore LastOperationType = "Restore"
	// LastOperationTypeMigrate indicates a 'migrate' operation.
	LastOperationTypeMigrate LastOperationType = "Migrate"
)

type Machine added in v1.0.0

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 added in v1.0.0

func (in *Machine) DeepCopy() *Machine

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

func (*Machine) DeepCopyInto added in v1.0.0

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

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

type MachineControllerManagerSettings added in v1.8.0

type MachineControllerManagerSettings struct {
	// MachineDrainTimeout is the period after which machine is forcefully deleted.
	MachineDrainTimeout *metav1.Duration
	// MachineHealthTimeout is the period after which machine is declared failed.
	MachineHealthTimeout *metav1.Duration
	// MachineCreationTimeout is the period after which creation of the machine is declared failed.
	MachineCreationTimeout *metav1.Duration
	// MaxEvictRetries are the number of eviction retries on a pod after which drain is declared failed, and forceful deletion is triggered.
	MaxEvictRetries *int32
	// NodeConditions are the set of conditions if set to true for the period of MachineHealthTimeout, machine will be declared failed.
	NodeConditions []string
}

MachineControllerManagerSettings contains configurations for different worker-pools. Eg. MachineDrainTimeout, MachineHealthTimeout.

func (*MachineControllerManagerSettings) DeepCopy added in v1.8.0

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

func (*MachineControllerManagerSettings) DeepCopyInto added in v1.8.0

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

type MachineImage added in v1.0.0

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

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

func (*MachineImage) DeepCopy added in v1.0.0

func (in *MachineImage) DeepCopy() *MachineImage

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

func (*MachineImage) DeepCopyInto added in v1.0.0

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 added in v1.9.0

type MachineImageVersion struct {
	ExpirableVersion
	// CRI list of supported container runtime and interfaces supported by this version
	CRI []CRI
}

MachineImageVersion is an expirable version with list of supported container runtimes and interfaces

func (*MachineImageVersion) DeepCopy added in v1.9.0

func (in *MachineImageVersion) DeepCopy() *MachineImageVersion

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

func (*MachineImageVersion) DeepCopyInto added in v1.9.0

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 added in v1.0.0

type MachineType struct {
	// 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
	// Memory is the amount of memory for this machine type.
	Memory resource.Quantity
	// Name is the name of the machine type.
	Name string
	// Storage is the amount of storage associated with the root volume of this machine type.
	Storage *MachineTypeStorage
	// Usable defines if the machine type can be used for shoot clusters.
	Usable *bool
}

MachineType contains certain properties of a machine type.

func (*MachineType) DeepCopy added in v1.0.0

func (in *MachineType) DeepCopy() *MachineType

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

func (*MachineType) DeepCopyInto added in v1.0.0

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 added in v1.0.0

type MachineTypeStorage struct {
	// Class is the class of the storage type.
	Class string
	// StorageSize is the storage size.
	StorageSize *resource.Quantity
	// Type is the type of the storage.
	Type string
	// MinSize is the minimal supported storage size.
	// This overrides any other common minimum size configuration in the `spec.volumeTypes[*].minSize`.
	MinSize *resource.Quantity
}

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

func (*MachineTypeStorage) DeepCopy added in v1.0.0

func (in *MachineTypeStorage) DeepCopy() *MachineTypeStorage

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

func (*MachineTypeStorage) DeepCopyInto added in v1.0.0

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 added in v1.0.0

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
	// ConfineSpecUpdateRollout prevents that changes/updates to the shoot specification will be rolled out immediately.
	// Instead, they are rolled out during the shoot's maintenance time window. There is one exception that will trigger
	// an immediate roll out which is changes to the Spec.Hibernation.Enabled field.
	ConfineSpecUpdateRollout *bool
}

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

func (*Maintenance) DeepCopy added in v1.0.0

func (in *Maintenance) DeepCopy() *Maintenance

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

func (*Maintenance) DeepCopyInto added in v1.0.0

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 added in v1.0.0

type MaintenanceAutoUpdate struct {
	// KubernetesVersion indicates whether the patch Kubernetes version may be automatically updated (default: true).
	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 added in v1.0.0

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

func (*MaintenanceAutoUpdate) DeepCopyInto added in v1.0.0

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 added in v1.0.0

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 added in v1.0.0

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

func (*MaintenanceTimeWindow) DeepCopyInto added in v1.0.0

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 added in v1.0.0

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 added in v1.0.0

func (in *Monitoring) DeepCopy() *Monitoring

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

func (*Monitoring) DeepCopyInto added in v1.0.0

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

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

type NamedResourceReference added in v1.5.0

type NamedResourceReference struct {
	// Name of the resource reference.
	Name string
	// ResourceRef is a reference to a resource.
	ResourceRef autoscalingv1.CrossVersionObjectReference
}

NamedResourceReference is a named reference to a resource.

func (*NamedResourceReference) DeepCopy added in v1.5.0

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

func (*NamedResourceReference) DeepCopyInto added in v1.5.0

func (in *NamedResourceReference) DeepCopyInto(out *NamedResourceReference)

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

type Networking added in v1.0.0

type Networking struct {
	// Type identifies the type of the networking plugin.
	Type string
	// ProviderConfig is the configuration passed to network resource.
	ProviderConfig *runtime.RawExtension
	// 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 added in v1.0.0

func (in *Networking) DeepCopy() *Networking

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

func (*Networking) DeepCopyInto added in v1.0.0

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 added in v1.0.0

type NginxIngress struct {
	Addon
	// LoadBalancerSourceRanges is list of allowed 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 added in v1.0.0

func (in *NginxIngress) DeepCopy() *NginxIngress

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

func (*NginxIngress) DeepCopyInto added in v1.0.0

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 added in v1.0.0

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
	// ClientAuthentication can optionally contain client configuration used for kubeconfig generation.
	ClientAuthentication *OpenIDConnectClientAuthentication
	// 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
	// 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
}

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

func (*OIDCConfig) DeepCopy added in v1.0.0

func (in *OIDCConfig) DeepCopy() *OIDCConfig

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

func (*OIDCConfig) DeepCopyInto added in v1.0.0

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

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

type Object added in v1.4.0

type Object interface {
	metav1.Object
	// GetProviderType gets the type of the provider.
	GetProviderType() string
}

Object is an core object resource.

type OpenIDConnectClientAuthentication added in v1.0.0

type OpenIDConnectClientAuthentication struct {
	// 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
	// The client Secret for the OpenID Connect client.
	Secret *string
}

OpenIDConnectClientAuthentication contains configuration for OIDC clients.

func (*OpenIDConnectClientAuthentication) DeepCopy added in v1.0.0

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

func (*OpenIDConnectClientAuthentication) DeepCopyInto added in v1.0.0

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

type Plant

type Plant struct {
	metav1.TypeMeta
	// Standard object metadata.
	metav1.ObjectMeta
	// Spec contains the specification of this Plant.
	Spec PlantSpec
	// Status contains the status of this Plant.
	Status PlantStatus
}

Plant represents an external kubernetes cluster.

func (*Plant) DeepCopy

func (in *Plant) DeepCopy() *Plant

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

func (*Plant) DeepCopyInto

func (in *Plant) DeepCopyInto(out *Plant)

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

func (*Plant) DeepCopyObject

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

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

type PlantList

type PlantList struct {
	metav1.TypeMeta
	// Standard list object metadata.
	metav1.ListMeta
	// Items is the list of Plants.
	Items []Plant
}

PlantList is a collection of Plants.

func (*PlantList) DeepCopy

func (in *PlantList) DeepCopy() *PlantList

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

func (*PlantList) DeepCopyInto

func (in *PlantList) DeepCopyInto(out *PlantList)

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

func (*PlantList) DeepCopyObject

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

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

type PlantSpec

type PlantSpec struct {
	// SecretRef is a reference to a Secret object containing the Kubeconfig of the external kubernetes
	// clusters to be added to Gardener.
	SecretRef corev1.LocalObjectReference
	// Endpoints is the configuration plant endpoints
	Endpoints []Endpoint
}

PlantSpec is the specification of a Plant.

func (*PlantSpec) DeepCopy

func (in *PlantSpec) DeepCopy() *PlantSpec

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

func (*PlantSpec) DeepCopyInto

func (in *PlantSpec) DeepCopyInto(out *PlantSpec)

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

type PlantStatus

type PlantStatus struct {
	// Conditions represents the latest available observations of a Plant's current state.
	Conditions []Condition
	// ObservedGeneration is the most recent generation observed for this Plant. It corresponds to the
	// Plant's generation, which is updated on mutation by the API Server.
	ObservedGeneration *int64
	// ClusterInfo is additional computed information about the newly added cluster (Plant)
	ClusterInfo *ClusterInfo
}

PlantStatus is the status of a Plant.

func (*PlantStatus) DeepCopy

func (in *PlantStatus) DeepCopy() *PlantStatus

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

func (*PlantStatus) DeepCopyInto

func (in *PlantStatus) DeepCopyInto(out *PlantStatus)

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

type Project added in v1.0.0

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 added in v1.0.0

func (in *Project) DeepCopy() *Project

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

func (*Project) DeepCopyInto added in v1.0.0

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 added in v1.0.0

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

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

type ProjectList added in v1.0.0

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 added in v1.0.0

func (in *ProjectList) DeepCopy() *ProjectList

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

func (*ProjectList) DeepCopyInto added in v1.0.0

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 added in v1.0.0

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

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

type ProjectMember added in v1.0.0

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
	// Roles is a list of roles of this member.
	Roles []string
}

ProjectMember is a member of a project.

func (*ProjectMember) DeepCopy added in v1.0.0

func (in *ProjectMember) DeepCopy() *ProjectMember

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

func (*ProjectMember) DeepCopyInto added in v1.0.0

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 added in v1.0.0

type ProjectPhase string

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

type ProjectSpec added in v1.0.0

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.
	Members []ProjectMember
	// Namespace is the name of the namespace that has been created for the Project object.
	// A nil value means that Gardener will determine the name of the namespace.
	Namespace *string
	// Tolerations contains the default tolerations and a list for allowed taints on seed clusters.
	Tolerations *ProjectTolerations
}

ProjectSpec is the specification of a Project.

func (*ProjectSpec) DeepCopy added in v1.0.0

func (in *ProjectSpec) DeepCopy() *ProjectSpec

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

func (*ProjectSpec) DeepCopyInto added in v1.0.0

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 added in v1.0.0

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
	// StaleSinceTimestamp contains the timestamp when the project was first discovered to be stale/unused.
	StaleSinceTimestamp *metav1.Time
	// StaleAutoDeleteTimestamp contains the timestamp when the project will be garbage-collected/automatically deleted
	// because it's stale/unused.
	StaleAutoDeleteTimestamp *metav1.Time
	// LastActivityTimestamp contains the timestamp from the last activity performed in this project.
	LastActivityTimestamp *metav1.Time
}

ProjectStatus holds the most recently observed status of the project.

func (*ProjectStatus) DeepCopy added in v1.0.0

func (in *ProjectStatus) DeepCopy() *ProjectStatus

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

func (*ProjectStatus) DeepCopyInto added in v1.0.0

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

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

type ProjectTolerations added in v1.6.0

type ProjectTolerations struct {
	// Defaults contains a list of tolerations that are added to the shoots in this project by default.
	Defaults []Toleration
	// Whitelist contains a list of tolerations that are allowed to be added to the shoots in this project. Please note
	// that this list may only be added by users having the `spec-tolerations-whitelist` verb for project resources.
	Whitelist []Toleration
}

ProjectTolerations contains the tolerations for taints on seed clusters.

func (*ProjectTolerations) DeepCopy added in v1.6.0

func (in *ProjectTolerations) DeepCopy() *ProjectTolerations

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

func (*ProjectTolerations) DeepCopyInto added in v1.6.0

func (in *ProjectTolerations) DeepCopyInto(out *ProjectTolerations)

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

type Provider added in v1.0.0

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 *runtime.RawExtension
	// InfrastructureConfig contains the provider-specific infrastructure config blob. Please look up the concrete
	// definition in the documentation of your provider extension.
	InfrastructureConfig *runtime.RawExtension
	// 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 added in v1.0.0

func (in *Provider) DeepCopy() *Provider

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

func (*Provider) DeepCopyInto added in v1.0.0

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

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

type ProxyMode added in v1.0.0

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 added in v1.0.0

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

func (*Quota) DeepCopy added in v1.0.0

func (in *Quota) DeepCopy() *Quota

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

func (*Quota) DeepCopyInto added in v1.0.0

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 added in v1.0.0

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

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

type QuotaList added in v1.0.0

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 added in v1.0.0

func (in *QuotaList) DeepCopy() *QuotaList

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

func (*QuotaList) DeepCopyInto added in v1.0.0

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 added in v1.0.0

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

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

type QuotaSpec added in v1.0.0

type QuotaSpec struct {
	// ClusterLifetimeDays is the lifetime of a Shoot cluster in days before it will be terminated automatically.
	ClusterLifetimeDays *int32
	// Metrics is a list of resources which will be put under constraints.
	Metrics corev1.ResourceList
	// Scope is the scope of the Quota object, either 'project' or 'secret'.
	Scope corev1.ObjectReference
}

QuotaSpec is the specification of a Quota.

func (*QuotaSpec) DeepCopy added in v1.0.0

func (in *QuotaSpec) DeepCopy() *QuotaSpec

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

func (*QuotaSpec) DeepCopyInto added in v1.0.0

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 added in v1.0.0

type Region struct {
	// Name is a region name.
	Name string
	// Zones is a list of availability zones in this region.
	Zones []AvailabilityZone
	// Labels is an optional set of key-value pairs that contain certain administrator-controlled labels for this region.
	// It can be used by Gardener administrators/operators to provide additional information about a region, e.g. wrt
	// quality, reliability, access restrictions, etc.
	Labels map[string]string
}

Region contains certain properties of a region.

func (*Region) DeepCopy added in v1.0.0

func (in *Region) DeepCopy() *Region

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

func (*Region) DeepCopyInto added in v1.0.0

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

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

type ResourceData added in v1.5.0

type ResourceData struct {
	autoscalingv1.CrossVersionObjectReference
	// Data of the resource
	Data runtime.RawExtension
}

ResourceData holds the data of a resource referred to by an extension controller state.

func (*ResourceData) DeepCopy added in v1.5.0

func (in *ResourceData) DeepCopy() *ResourceData

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

func (*ResourceData) DeepCopyInto added in v1.5.0

func (in *ResourceData) DeepCopyInto(out *ResourceData)

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

type ResourceWatchCacheSize added in v1.8.0

type ResourceWatchCacheSize struct {
	// APIGroup is the API group of the resource for which the watch cache size should be configured.
	// An unset value is used to specify the legacy core API (e.g. for `secrets`).
	APIGroup *string
	// Resource is the name of the resource for which the watch cache size should be configured
	// (in lowercase plural form, e.g. `secrets`).
	Resource string
	// CacheSize specifies the watch cache size that should be configured for the specified resource.
	CacheSize int32
}

ResourceWatchCacheSize contains configuration of the API server's watch cache size for one specific resource.

func (*ResourceWatchCacheSize) DeepCopy added in v1.8.0

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

func (*ResourceWatchCacheSize) DeepCopyInto added in v1.8.0

func (in *ResourceWatchCacheSize) DeepCopyInto(out *ResourceWatchCacheSize)

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

type SecretBinding added in v1.0.0

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 added in v1.0.0

func (in *SecretBinding) DeepCopy() *SecretBinding

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

func (*SecretBinding) DeepCopyInto added in v1.0.0

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 added in v1.0.0

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

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

type SecretBindingList added in v1.0.0

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 added in v1.0.0

func (in *SecretBindingList) DeepCopy() *SecretBindingList

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

func (*SecretBindingList) DeepCopyInto added in v1.0.0

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 added in v1.0.0

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

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

type Seed added in v1.0.0

type Seed struct {
	metav1.TypeMeta
	// Standard object metadata.
	metav1.ObjectMeta
	// Spec contains the specification of this installation.
	Spec SeedSpec
	// Status contains the status of this installation.
	Status SeedStatus
}

Seed represents an installation request for an external controller.

func (*Seed) DeepCopy added in v1.0.0

func (in *Seed) DeepCopy() *Seed

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

func (*Seed) DeepCopyInto added in v1.0.0

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 added in v1.0.0

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

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

func (*Seed) GetProviderType added in v1.4.0

func (s *Seed) GetProviderType() string

GetProviderType gets the type of the provider.

type SeedBackup added in v1.0.0

type SeedBackup struct {
	// Provider is a provider name.
	Provider string
	// ProviderConfig is the configuration passed to BackupBucket resource.
	ProviderConfig *runtime.RawExtension
	// 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 added in v1.0.0

func (in *SeedBackup) DeepCopy() *SeedBackup

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

func (*SeedBackup) DeepCopyInto added in v1.0.0

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

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

type SeedDNS added in v1.0.0

type SeedDNS struct {
	// 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. Once set this field is immutable.
	// This will be removed in the next API version and replaced by spec.ingress.domain.
	IngressDomain *string
	// Provider configures a DNSProvider
	Provider *SeedDNSProvider
}

SeedDNS contains the external domain and configuration for the DNS provider

func (*SeedDNS) DeepCopy added in v1.0.0

func (in *SeedDNS) DeepCopy() *SeedDNS

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

func (*SeedDNS) DeepCopyInto added in v1.0.0

func (in *SeedDNS) DeepCopyInto(out *SeedDNS)

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

type SeedDNSProvider added in v1.15.0

type SeedDNSProvider struct {
	// Type describes the type of the dns-provider, for example `aws-route53`
	Type string
	// SecretRef is a reference to a Secret object containing cloud provider credentials used for registering external domains.
	SecretRef corev1.SecretReference
	// Domains contains information about which domains shall be included/excluded for this provider.
	Domains *DNSIncludeExclude
	// Zones contains information about which hosted zones shall be included/excluded for this provider.
	Zones *DNSIncludeExclude
}

SeedDNSProvider configures a DNS provider

func (*SeedDNSProvider) DeepCopy added in v1.15.0

func (in *SeedDNSProvider) DeepCopy() *SeedDNSProvider

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

func (*SeedDNSProvider) DeepCopyInto added in v1.15.0

func (in *SeedDNSProvider) DeepCopyInto(out *SeedDNSProvider)

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

type SeedList added in v1.0.0

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 added in v1.0.0

func (in *SeedList) DeepCopy() *SeedList

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

func (*SeedList) DeepCopyInto added in v1.0.0

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 added in v1.0.0

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

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

type SeedNetworks added in v1.0.0

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 added in v1.0.0

func (in *SeedNetworks) DeepCopy() *SeedNetworks

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

func (*SeedNetworks) DeepCopyInto added in v1.0.0

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 added in v1.0.0

type SeedProvider struct {
	// Type is the name of the provider.
	Type string
	// ProviderConfig is the configuration passed to Seed resource.
	ProviderConfig *runtime.RawExtension
	// Region is a name of a region.
	Region string
}

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

func (*SeedProvider) DeepCopy added in v1.0.0

func (in *SeedProvider) DeepCopy() *SeedProvider

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

func (*SeedProvider) DeepCopyInto added in v1.0.0

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

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

type SeedSelector added in v1.8.0

type SeedSelector struct {
	// LabelSelector is optional and can be used to select seeds by their label settings
	metav1.LabelSelector
	// ProviderTypes contains a list of allowed provider types used by the Gardener scheduler to restricting seeds by
	// their provider type and enable cross-provider scheduling.
	// By default, Shoots are only scheduled on Seeds having the same provider type.
	ProviderTypes []string
}

SeedSelector contains constraints for selecting seed to be usable for shoots using a profile

func (*SeedSelector) DeepCopy added in v1.8.0

func (in *SeedSelector) DeepCopy() *SeedSelector

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

func (*SeedSelector) DeepCopyInto added in v1.8.0

func (in *SeedSelector) DeepCopyInto(out *SeedSelector)

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

type SeedSettingExcessCapacityReservation added in v1.5.0

type SeedSettingExcessCapacityReservation struct {
	// Enabled controls whether the excess capacity reservation should be enabled.
	Enabled bool
}

SeedSettingExcessCapacityReservation controls the excess capacity reservation for shoot control planes in the seed.

func (*SeedSettingExcessCapacityReservation) DeepCopy added in v1.5.0

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

func (*SeedSettingExcessCapacityReservation) DeepCopyInto added in v1.5.0

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

type SeedSettingLoadBalancerServices added in v1.6.0

type SeedSettingLoadBalancerServices struct {
	// Annotations is a map of annotations that will be injected/merged into every load balancer service object.
	Annotations map[string]string
}

SeedSettingLoadBalancerServices controls certain settings for services of type load balancer that are created in the seed.

func (*SeedSettingLoadBalancerServices) DeepCopy added in v1.6.0

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

func (*SeedSettingLoadBalancerServices) DeepCopyInto added in v1.6.0

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

type SeedSettingScheduling added in v1.5.0

type SeedSettingScheduling struct {
	// Visible controls whether the gardener-scheduler shall consider this seed when scheduling shoots. Invisible seeds
	// are not considered by the scheduler.
	Visible bool
}

SeedSettingScheduling controls settings for scheduling decisions for the seed.

func (*SeedSettingScheduling) DeepCopy added in v1.5.0

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

func (*SeedSettingScheduling) DeepCopyInto added in v1.5.0

func (in *SeedSettingScheduling) DeepCopyInto(out *SeedSettingScheduling)

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

type SeedSettingShootDNS added in v1.5.0

type SeedSettingShootDNS struct {
	// Enabled controls whether the DNS for shoot clusters should be enabled. When disabled then all shoots using the
	// seed won't get any DNS providers, DNS records, and no DNS extension controller is required to be installed here.
	// This is useful for environments where DNS is not required.
	Enabled bool
}

SeedSettingShootDNS controls the shoot DNS settings for the seed.

func (*SeedSettingShootDNS) DeepCopy added in v1.5.0

func (in *SeedSettingShootDNS) DeepCopy() *SeedSettingShootDNS

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

func (*SeedSettingShootDNS) DeepCopyInto added in v1.5.0

func (in *SeedSettingShootDNS) DeepCopyInto(out *SeedSettingShootDNS)

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

type SeedSettingVerticalPodAutoscaler added in v1.7.0

type SeedSettingVerticalPodAutoscaler struct {
	// Enabled controls whether the VPA components shall be deployed into the garden namespace in the seed cluster. It
	// is enabled by default because Gardener heavily relies on a VPA being deployed. You should only disable this if
	// your seed cluster already has another, manually/custom managed VPA deployment.
	Enabled bool
}

SeedSettingVerticalPodAutoscaler controls certain settings for the vertical pod autoscaler components deployed in the seed.

func (*SeedSettingVerticalPodAutoscaler) DeepCopy added in v1.7.0

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

func (*SeedSettingVerticalPodAutoscaler) DeepCopyInto added in v1.7.0

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

type SeedSettings added in v1.5.0

type SeedSettings struct {
	// ExcessCapacityReservation controls the excess capacity reservation for shoot control planes in the seed.
	ExcessCapacityReservation *SeedSettingExcessCapacityReservation
	// Scheduling controls settings for scheduling decisions for the seed.
	Scheduling *SeedSettingScheduling
	// ShootDNS controls the shoot DNS settings for the seed.
	ShootDNS *SeedSettingShootDNS
	// LoadBalancerServices controls certain settings for services of type load balancer that are created in the seed.
	LoadBalancerServices *SeedSettingLoadBalancerServices
	// VerticalPodAutoscaler controls certain settings for the vertical pod autoscaler components deployed in the seed.
	VerticalPodAutoscaler *SeedSettingVerticalPodAutoscaler
}

SeedSettings contains certain settings for this seed cluster.

func (*SeedSettings) DeepCopy added in v1.5.0

func (in *SeedSettings) DeepCopy() *SeedSettings

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

func (*SeedSettings) DeepCopyInto added in v1.5.0

func (in *SeedSettings) DeepCopyInto(out *SeedSettings)

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

type SeedSpec added in v1.0.0

type SeedSpec struct {
	// 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 control plane will be stored
	// under the configured object store.
	Backup *SeedBackup
	// DNS contains DNS-relevant information about this seed cluster.
	DNS SeedDNS
	// Networks defines the pod, service and worker network of the Seed cluster.
	Networks SeedNetworks
	// Provider defines the provider type and region for this Seed cluster.
	Provider SeedProvider
	// 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
	// Settings contains certain settings for this seed cluster.
	Settings *SeedSettings
	// Taints describes taints on the seed.
	Taints []SeedTaint
	// Volume contains settings for persistentvolumes created in the seed cluster.
	Volume *SeedVolume
	// Ingress configures Ingress specific settings of the Seed cluster.
	Ingress *Ingress
}

SeedSpec is the specification of a Seed.

func (*SeedSpec) DeepCopy added in v1.0.0

func (in *SeedSpec) DeepCopy() *SeedSpec

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

func (*SeedSpec) DeepCopyInto added in v1.0.0

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 added in v1.0.0

type SeedStatus struct {
	// Gardener holds information about the Gardener which last acted on the Shoot.
	Gardener *Gardener
	// KubernetesVersion is the Kubernetes version of the seed cluster.
	KubernetesVersion *string
	// Conditions represents the latest available observations of a Seed's current state.
	Conditions []Condition
	// 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
	// ClusterIdentity is the identity of Seed cluster
	ClusterIdentity *string
	// Capacity represents the total resources of a seed.
	Capacity corev1.ResourceList
	// Allocatable represents the resources of a seed that are available for scheduling.
	// Defaults to Capacity.
	Allocatable corev1.ResourceList
}

SeedStatus is the status of a Seed.

func (*SeedStatus) DeepCopy added in v1.0.0

func (in *SeedStatus) DeepCopy() *SeedStatus

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

func (*SeedStatus) DeepCopyInto added in v1.0.0

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 added in v1.0.0

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 added in v1.0.0

func (in *SeedTaint) DeepCopy() *SeedTaint

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

func (*SeedTaint) DeepCopyInto added in v1.0.0

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

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

type SeedTemplate added in v1.17.0

type SeedTemplate struct {
	// Standard object metadata.
	metav1.ObjectMeta
	// Specification of the desired behavior of the Seed.
	Spec SeedSpec
}

SeedTemplate is a template for creating a Seed object.

func (*SeedTemplate) DeepCopy added in v1.17.0

func (in *SeedTemplate) DeepCopy() *SeedTemplate

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

func (*SeedTemplate) DeepCopyInto added in v1.17.0

func (in *SeedTemplate) DeepCopyInto(out *SeedTemplate)

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

type SeedVolume added in v1.0.0

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
}

SeedVolume contains settings for persistentvolumes created in the seed cluster.

func (*SeedVolume) DeepCopy added in v1.0.0

func (in *SeedVolume) DeepCopy() *SeedVolume

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

func (*SeedVolume) DeepCopyInto added in v1.0.0

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 added in v1.0.0

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 added in v1.0.0

func (in *SeedVolumeProvider) DeepCopy() *SeedVolumeProvider

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

func (*SeedVolumeProvider) DeepCopyInto added in v1.0.0

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 added in v1.0.0

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.
	// Defaults to URI of the API server.
	Issuer *string
	// SigningKeySecret is a reference to a secret that contains an optional private key of the
	// service account token issuer. The issuer will sign issued ID tokens with this private key.
	// Only useful if service account tokens are also issued by another external system.
	SigningKeySecret *corev1.LocalObjectReference
}

ServiceAccountConfig is the kube-apiserver configuration for service accounts.

func (*ServiceAccountConfig) DeepCopy added in v1.0.0

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

func (*ServiceAccountConfig) DeepCopyInto added in v1.0.0

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 added in v1.0.0

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 added in v1.0.0

func (in *Shoot) DeepCopy() *Shoot

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

func (*Shoot) DeepCopyInto added in v1.0.0

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 added in v1.0.0

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

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

func (*Shoot) GetProviderType added in v1.4.0

func (s *Shoot) GetProviderType() string

GetProviderType gets the type of the provider.

type ShootAdvertisedAddress added in v1.21.0

type ShootAdvertisedAddress struct {
	// Name of the advertised address. e.g. external
	Name string
	// The URL of the API Server. e.g. https://api.foo.bar or https://1.2.3.4
	URL string
}

ShootAdvertisedAddress contains information for the shoot's Kube API server.

func (*ShootAdvertisedAddress) DeepCopy added in v1.21.0

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

func (*ShootAdvertisedAddress) DeepCopyInto added in v1.21.0

func (in *ShootAdvertisedAddress) DeepCopyInto(out *ShootAdvertisedAddress)

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

type ShootExtensionStatus added in v1.23.0

type ShootExtensionStatus struct {
	metav1.TypeMeta
	// Standard object metadata.
	// Designed to have an owner reference to the associated Shoot resource
	metav1.ObjectMeta
	// Statuses holds a list of statuses of extension controllers.
	Statuses []ExtensionStatus
}

ShootExtensionStatus holds the status information of extensions of a Shoot cluster

func (*ShootExtensionStatus) DeepCopy added in v1.23.0

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

func (*ShootExtensionStatus) DeepCopyInto added in v1.23.0

func (in *ShootExtensionStatus) DeepCopyInto(out *ShootExtensionStatus)

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

func (*ShootExtensionStatus) DeepCopyObject added in v1.23.0

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

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

type ShootExtensionStatusList added in v1.23.0

type ShootExtensionStatusList struct {
	metav1.TypeMeta
	// Standard list object metadata.
	metav1.ListMeta
	// Items is a list of ShootExtensionStatus.
	Items []ShootExtensionStatus
}

ShootExtensionStatusList is a list of ShootExtensionStatus objects.

func (*ShootExtensionStatusList) DeepCopy added in v1.23.0

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

func (*ShootExtensionStatusList) DeepCopyInto added in v1.23.0

func (in *ShootExtensionStatusList) DeepCopyInto(out *ShootExtensionStatusList)

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

func (*ShootExtensionStatusList) DeepCopyObject added in v1.23.0

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

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

type ShootList added in v1.0.0

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 added in v1.0.0

func (in *ShootList) DeepCopy() *ShootList

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

func (*ShootList) DeepCopyInto added in v1.0.0

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 added in v1.0.0

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

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

type ShootMachineImage added in v1.0.0

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 *runtime.RawExtension
	// Version is the version of the shoot's image.
	// If version is not provided, it will be defaulted to the latest version from the CloudProfile.
	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 added in v1.0.0

func (in *ShootMachineImage) DeepCopy() *ShootMachineImage

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

func (*ShootMachineImage) DeepCopyInto added in v1.0.0

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 added in v1.0.0

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 added in v1.0.0

func (in *ShootNetworks) DeepCopy() *ShootNetworks

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

func (*ShootNetworks) DeepCopyInto added in v1.0.0

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 v1.0.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 added in v1.0.0

type ShootSpec struct {
	// Addons contains information about enabled/disabled addons and their configuration.
	Addons *Addons
	// 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
	// SeedSelector is an optional selector which must match a seed's labels for the shoot to be scheduled on that seed.
	SeedSelector *SeedSelector
	// Resources holds a list of named resource references that can be referred to in extension configs by their names.
	Resources []NamedResourceReference
	// Tolerations contains the tolerations for taints on seed clusters.
	Tolerations []Toleration
	// ExposureClassName is the optional name of an exposure class to apply a control plane endpoint exposure strategy.
	ExposureClassName *string
}

ShootSpec is the specification of a Shoot.

func (*ShootSpec) DeepCopy added in v1.0.0

func (in *ShootSpec) DeepCopy() *ShootSpec

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

func (*ShootSpec) DeepCopyInto added in v1.0.0

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

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

type ShootState added in v0.33.0

type ShootState struct {
	metav1.TypeMeta
	// Standard object metadata.
	metav1.ObjectMeta
	// Specification of the ShootState.
	Spec ShootStateSpec
}

ShootState contains the state of a Shoot cluster required to migrate the Shoot's control plane to a new Seed.

func (*ShootState) DeepCopy added in v0.33.0

func (in *ShootState) DeepCopy() *ShootState

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

func (*ShootState) DeepCopyInto added in v0.33.0

func (in *ShootState) DeepCopyInto(out *ShootState)

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

func (*ShootState) DeepCopyObject added in v0.33.0

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

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

type ShootStateList added in v0.33.0

type ShootStateList struct {
	metav1.TypeMeta
	// Standard list object metadata.
	metav1.ListMeta
	// Items is the list of ShootStates.
	Items []ShootState
}

ShootStateList is a list of ShootState objects.

func (*ShootStateList) DeepCopy added in v0.33.0

func (in *ShootStateList) DeepCopy() *ShootStateList

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

func (*ShootStateList) DeepCopyInto added in v0.33.0

func (in *ShootStateList) DeepCopyInto(out *ShootStateList)

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

func (*ShootStateList) DeepCopyObject added in v0.33.0

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

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

type ShootStateSpec added in v0.33.0

type ShootStateSpec struct {
	// Gardener holds the data required to generate resources deployed by the gardenlet
	Gardener []GardenerResourceData
	// Extensions holds the state of custom resources reconciled by extension controllers in the seed
	Extensions []ExtensionResourceState
	// Resources holds the data of resources referred to by extension controller states
	Resources []ResourceData
}

ShootStateSpec is the specification of the ShootState.

func (*ShootStateSpec) DeepCopy added in v0.33.0

func (in *ShootStateSpec) DeepCopy() *ShootStateSpec

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

func (*ShootStateSpec) DeepCopyInto added in v0.33.0

func (in *ShootStateSpec) DeepCopyInto(out *ShootStateSpec)

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

type ShootStatus added in v1.0.0

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.
	Constraints []Condition
	// Gardener holds information about the Gardener which last acted on the Shoot.
	Gardener Gardener
	// IsHibernated indicates whether the Shoot is currently hibernated.
	IsHibernated bool
	// 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
	// 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
	// ClusterIdentity is the identity of the Shoot cluster
	ClusterIdentity *string
	// List of addresses on which the Kube API server can be reached.
	AdvertisedAddresses []ShootAdvertisedAddress
}

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

func (*ShootStatus) DeepCopy added in v1.0.0

func (in *ShootStatus) DeepCopy() *ShootStatus

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

func (*ShootStatus) DeepCopyInto added in v1.0.0

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

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

type ShootTemplate added in v1.19.0

type ShootTemplate struct {
	// Standard object metadata.
	metav1.ObjectMeta
	// Specification of the desired behavior of the Shoot.
	Spec ShootSpec
}

ShootTemplate is a template for creating a Shoot object.

func (*ShootTemplate) DeepCopy added in v1.19.0

func (in *ShootTemplate) DeepCopy() *ShootTemplate

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

func (*ShootTemplate) DeepCopyInto added in v1.19.0

func (in *ShootTemplate) DeepCopyInto(out *ShootTemplate)

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

type Toleration added in v1.6.0

type Toleration struct {
	// Key is the toleration key to be applied to a project or shoot.
	Key string
	// Value is the toleration value corresponding to the toleration key.
	Value *string
}

Toleration is a toleration for a seed taint.

func (*Toleration) DeepCopy added in v1.6.0

func (in *Toleration) DeepCopy() *Toleration

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

func (*Toleration) DeepCopyInto added in v1.6.0

func (in *Toleration) DeepCopyInto(out *Toleration)

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

type VersionClassification added in v1.3.0

type VersionClassification string

VersionClassification is the logical state of a version according to https://github.com/gardener/gardener/blob/master/docs/operations/versioning.md

const (
	// ClassificationPreview indicates that a version has recently been added and not promoted to "Supported" yet.
	// ClassificationPreview versions will not be considered for automatic Kubernetes and Machine Image patch version updates.
	ClassificationPreview VersionClassification = "preview"
	// ClassificationSupported indicates that a patch version is the recommended version for a shoot.
	// Using VersionMaintenance (see: https://github.com/gardener/gardener/docs/operation/versioning.md) there is one supported version per maintained minor version.
	// Supported versions are eligible for the automated Kubernetes and Machine image patch version update for shoot clusters in Gardener.
	ClassificationSupported VersionClassification = "supported"
	// ClassificationDeprecated indicates that a patch version should not be used anymore, should be updated to a new version
	// and will eventually expire.
	ClassificationDeprecated VersionClassification = "deprecated"
)

type VerticalPodAutoscaler added in v1.7.0

type VerticalPodAutoscaler struct {
	// Enabled specifies whether the Kubernetes VPA shall be enabled for the shoot cluster.
	Enabled bool
	// EvictAfterOOMThreshold defines the threshold that will lead to pod eviction in case it OOMed in less than the given
	// threshold since its start and if it has only one container (default: 10m0s).
	EvictAfterOOMThreshold *metav1.Duration
	// EvictionRateBurst defines the burst of pods that can be evicted (default: 1)
	EvictionRateBurst *int32
	// EvictionRateLimit defines the number of pods that can be evicted per second. A rate limit set to 0 or -1 will
	// disable the rate limiter (default: -1).
	EvictionRateLimit *float64
	// EvictionTolerance defines the fraction of replica count that can be evicted for update in case more than one
	// pod can be evicted (default: 0.5).
	EvictionTolerance *float64
	// RecommendationMarginFraction is the fraction of usage added as the safety margin to the recommended request
	// (default: 0.15).
	RecommendationMarginFraction *float64
	// UpdaterInterval is the interval how often the updater should run (default: 1m0s).
	UpdaterInterval *metav1.Duration
	// RecommenderInterval is the interval how often metrics should be fetched (default: 1m0s).
	RecommenderInterval *metav1.Duration
}

VerticalPodAutoscaler contains the configuration flags for the Kubernetes vertical pod autoscaler.

func (*VerticalPodAutoscaler) DeepCopy added in v1.7.0

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

func (*VerticalPodAutoscaler) DeepCopyInto added in v1.7.0

func (in *VerticalPodAutoscaler) DeepCopyInto(out *VerticalPodAutoscaler)

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

type Volume added in v1.0.0

type Volume struct {
	// Name of the volume to make it referencable.
	Name *string
	// Type is the type of the volume.
	Type *string
	// VolumeSize is the size of the volume.
	VolumeSize string
	// Encrypted determines if the volume should be encrypted.
	Encrypted *bool
}

Volume contains information about the volume type and size.

func (*Volume) DeepCopy added in v1.0.0

func (in *Volume) DeepCopy() *Volume

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

func (*Volume) DeepCopyInto added in v1.0.0

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 added in v1.0.0

type VolumeType struct {
	// Class is the class of the volume type.
	Class string
	// Name is the name of the volume type.
	Name string
	// Usable defines if the volume type can be used for shoot clusters.
	Usable *bool
	// MinSize is the minimal supported storage size.
	MinSize *resource.Quantity
}

VolumeType contains certain properties of a volume type.

func (*VolumeType) DeepCopy added in v1.0.0

func (in *VolumeType) DeepCopy() *VolumeType

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

func (*VolumeType) DeepCopyInto added in v1.0.0

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

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

type WatchCacheSizes added in v1.8.0

type WatchCacheSizes struct {
	// Default configures the default watch cache size of the kube-apiserver
	// (flag `--default-watch-cache-size`, defaults to 100).
	// See: https://kubernetes.io/docs/reference/command-line-tools-reference/kube-apiserver/
	Default *int32
	// Resources configures the watch cache size of the kube-apiserver per resource
	// (flag `--watch-cache-sizes`).
	// See: https://kubernetes.io/docs/reference/command-line-tools-reference/kube-apiserver/
	Resources []ResourceWatchCacheSize
}

WatchCacheSizes contains configuration of the API server's watch cache sizes.

func (*WatchCacheSizes) DeepCopy added in v1.8.0

func (in *WatchCacheSizes) DeepCopy() *WatchCacheSizes

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

func (*WatchCacheSizes) DeepCopyInto added in v1.8.0

func (in *WatchCacheSizes) DeepCopyInto(out *WatchCacheSizes)

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

type Worker added in v1.0.0

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
	// CRI contains configurations of CRI support of every machine in the worker pool.
	// Defaults to a CRI with name `containerd` when the Kubernetes version of the `Shoot` is >= 1.22.
	CRI *CRI
	// 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 int32
	// Minimum is the minimum number of VMs to create.
	Minimum int32
	// 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 *runtime.RawExtension
	// SystemComponents contains configuration for system components related to this worker pool
	SystemComponents *WorkerSystemComponents
	// 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
	// DataVolumes contains a list of additional worker volumes.
	DataVolumes []DataVolume
	// KubeletDataVolumeName contains the name of a dataVolume that should be used for storing kubelet state.
	KubeletDataVolumeName *string
	// 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
	// MachineControllerManagerSettings contains configurations for different worker-pools. Eg. MachineDrainTimeout, MachineHealthTimeout.
	MachineControllerManagerSettings *MachineControllerManagerSettings
}

Worker is the base definition of a worker group.

func (*Worker) DeepCopy added in v1.0.0

func (in *Worker) DeepCopy() *Worker

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

func (*Worker) DeepCopyInto added in v1.0.0

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 added in v1.0.0

type WorkerKubernetes struct {
	// Kubelet contains configuration settings for all kubelets of this worker pool.
	// If set, all `spec.kubernetes.kubelet` settings will be overwritten for this worker pool (no merge of settings).
	Kubelet *KubeletConfig
}

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

func (*WorkerKubernetes) DeepCopy added in v1.0.0

func (in *WorkerKubernetes) DeepCopy() *WorkerKubernetes

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

func (*WorkerKubernetes) DeepCopyInto added in v1.0.0

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

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

type WorkerSystemComponents added in v1.7.0

type WorkerSystemComponents struct {
	// Allow determines whether the pool should be allowed to host system components or not (defaults to true)
	Allow bool
}

WorkerSystemComponents contains configuration for system components related to this worker pool

func (*WorkerSystemComponents) DeepCopy added in v1.7.0

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

func (*WorkerSystemComponents) DeepCopyInto added in v1.7.0

func (in *WorkerSystemComponents) DeepCopyInto(out *WorkerSystemComponents)

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

Directories

Path Synopsis
Package v1alpha1 is a version of the API.
Package v1alpha1 is a version of the API.
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