summaryrefslogtreecommitdiff
path: root/vendor/k8s.io/api/core/v1/types.go
diff options
context:
space:
mode:
authordependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>2021-04-09 08:04:51 +0000
committerGitHub <noreply@github.com>2021-04-09 08:04:51 +0000
commit14375f35ee00c16327edcd0f5883cc66810fc7db (patch)
treed904edbc6162b8eddc563476614d03dd1eee75ed /vendor/k8s.io/api/core/v1/types.go
parent4efac1f76012c35122bca7c8feebc33141fc47d3 (diff)
downloadpodman-14375f35ee00c16327edcd0f5883cc66810fc7db.tar.gz
podman-14375f35ee00c16327edcd0f5883cc66810fc7db.tar.bz2
podman-14375f35ee00c16327edcd0f5883cc66810fc7db.zip
Bump k8s.io/api from 0.20.5 to 0.21.0
Bumps [k8s.io/api](https://github.com/kubernetes/api) from 0.20.5 to 0.21.0. - [Release notes](https://github.com/kubernetes/api/releases) - [Commits](https://github.com/kubernetes/api/compare/v0.20.5...v0.21.0) Signed-off-by: dependabot[bot] <support@github.com>
Diffstat (limited to 'vendor/k8s.io/api/core/v1/types.go')
-rw-r--r--vendor/k8s.io/api/core/v1/types.go103
1 files changed, 83 insertions, 20 deletions
diff --git a/vendor/k8s.io/api/core/v1/types.go b/vendor/k8s.io/api/core/v1/types.go
index 2bba97251..3eadb4567 100644
--- a/vendor/k8s.io/api/core/v1/types.go
+++ b/vendor/k8s.io/api/core/v1/types.go
@@ -156,7 +156,7 @@ type VolumeSource struct {
// CSI (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers (Beta feature).
// +optional
CSI *CSIVolumeSource `json:"csi,omitempty" protobuf:"bytes,28,opt,name=csi"`
- // Ephemeral represents a volume that is handled by a cluster storage driver (Alpha feature).
+ // Ephemeral represents a volume that is handled by a cluster storage driver.
// The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts,
// and deleted when the pod is removed.
//
@@ -181,6 +181,9 @@ type VolumeSource struct {
// A pod can use both types of ephemeral volumes and
// persistent volumes at the same time.
//
+ // This is a beta feature and only available when the GenericEphemeralVolume
+ // feature gate is enabled.
+ //
// +optional
Ephemeral *EphemeralVolumeSource `json:"ephemeral,omitempty" protobuf:"bytes,29,opt,name=ephemeral"`
}
@@ -1795,10 +1798,8 @@ type EphemeralVolumeSource struct {
// Required, must not be nil.
VolumeClaimTemplate *PersistentVolumeClaimTemplate `json:"volumeClaimTemplate,omitempty" protobuf:"bytes,1,opt,name=volumeClaimTemplate"`
- // Specifies a read-only configuration for the volume.
- // Defaults to false (read/write).
- // +optional
- ReadOnly bool `json:"readOnly,omitempty" protobuf:"varint,2,opt,name=readOnly"`
+ // ReadOnly is tombstoned to show why 2 is a reserved protobuf tag.
+ // ReadOnly bool `json:"readOnly,omitempty" protobuf:"varint,2,opt,name=readOnly"`
}
// PersistentVolumeClaimTemplate is used to produce
@@ -2116,6 +2117,17 @@ type Probe struct {
// Defaults to 3. Minimum value is 1.
// +optional
FailureThreshold int32 `json:"failureThreshold,omitempty" protobuf:"varint,6,opt,name=failureThreshold"`
+ // Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
+ // The grace period is the duration in seconds after the processes running in the pod are sent
+ // a termination signal and the time when the processes are forcibly halted with a kill signal.
+ // Set this value longer than the expected cleanup time for your process.
+ // If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
+ // value overrides the value provided by the pod spec.
+ // Value must be non-negative integer. The value zero indicates stop immediately via
+ // the kill signal (no opportunity to shut down).
+ // This is an alpha field and requires enabling ProbeTerminationGracePeriod feature gate.
+ // +optional
+ TerminationGracePeriodSeconds *int64 `json:"terminationGracePeriodSeconds,omitempty" protobuf:"varint,7,opt,name=terminationGracePeriodSeconds"`
}
// PullPolicy describes a policy for if/when to pull a container image
@@ -2169,13 +2181,13 @@ type Capabilities struct {
// ResourceRequirements describes the compute resource requirements.
type ResourceRequirements struct {
// Limits describes the maximum amount of compute resources allowed.
- // More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
+ // More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
// +optional
Limits ResourceList `json:"limits,omitempty" protobuf:"bytes,1,rep,name=limits,casttype=ResourceList,castkey=ResourceName"`
// Requests describes the minimum amount of compute resources required.
// If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
// otherwise to an implementation-defined value.
- // More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
+ // More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
// +optional
Requests ResourceList `json:"requests,omitempty" protobuf:"bytes,2,rep,name=requests,casttype=ResourceList,castkey=ResourceName"`
}
@@ -2253,7 +2265,7 @@ type Container struct {
Env []EnvVar `json:"env,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,7,rep,name=env"`
// Compute Resources required by this container.
// Cannot be updated.
- // More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
+ // More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
// +optional
Resources ResourceRequirements `json:"resources,omitempty" protobuf:"bytes,8,opt,name=resources"`
// Pod volumes to mount into the container's filesystem.
@@ -2774,8 +2786,10 @@ type PodAffinityTerm struct {
// A label query over a set of resources, in this case pods.
// +optional
LabelSelector *metav1.LabelSelector `json:"labelSelector,omitempty" protobuf:"bytes,1,opt,name=labelSelector"`
- // namespaces specifies which namespaces the labelSelector applies to (matches against);
- // null or empty list means "this pod's namespace"
+ // namespaces specifies a static list of namespace names that the term applies to.
+ // The term is applied to the union of the namespaces listed in this field
+ // and the ones selected by namespaceSelector.
+ // null or empty namespaces list and null namespaceSelector means "this pod's namespace"
// +optional
Namespaces []string `json:"namespaces,omitempty" protobuf:"bytes,2,rep,name=namespaces"`
// This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
@@ -2784,6 +2798,14 @@ type PodAffinityTerm struct {
// selected pods is running.
// Empty topologyKey is not allowed.
TopologyKey string `json:"topologyKey" protobuf:"bytes,3,opt,name=topologyKey"`
+ // A label query over the set of namespaces that the term applies to.
+ // The term is applied to the union of the namespaces selected by this field
+ // and the ones listed in the namespaces field.
+ // null selector and null or empty namespaces list means "this pod's namespace".
+ // An empty selector ({}) matches all namespaces.
+ // This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
+ // +optional
+ NamespaceSelector *metav1.LabelSelector `json:"namespaceSelector,omitempty" protobuf:"bytes,4,opt,name=namespaceSelector"`
}
// Node affinity is a group of node affinity scheduling rules.
@@ -2957,7 +2979,8 @@ type PodSpec struct {
// +optional
RestartPolicy RestartPolicy `json:"restartPolicy,omitempty" protobuf:"bytes,3,opt,name=restartPolicy,casttype=RestartPolicy"`
// Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request.
- // Value must be non-negative integer. The value zero indicates delete immediately.
+ // Value must be non-negative integer. The value zero indicates stop immediately via
+ // the kill signal (no opportunity to shut down).
// If this value is nil, the default grace period will be used instead.
// The grace period is the duration in seconds after the processes running in the pod are sent
// a termination signal and the time when the processes are forcibly halted with a kill signal.
@@ -3930,6 +3953,19 @@ const (
ServiceTypeExternalName ServiceType = "ExternalName"
)
+// ServiceInternalTrafficPolicyType describes the type of traffic routing for
+// internal traffic
+type ServiceInternalTrafficPolicyType string
+
+const (
+ // ServiceInternalTrafficPolicyCluster routes traffic to all endpoints
+ ServiceInternalTrafficPolicyCluster ServiceInternalTrafficPolicyType = "Cluster"
+
+ // ServiceInternalTrafficPolicyLocal only routes to node-local
+ // endpoints, otherwise drops the traffic
+ ServiceInternalTrafficPolicyLocal ServiceInternalTrafficPolicyType = "Local"
+)
+
// Service External Traffic Policy Type string
type ServiceExternalTrafficPolicyType string
@@ -4150,7 +4186,7 @@ type ServiceSpec struct {
// externalName is the external reference that discovery mechanisms will
// return as an alias for this service (e.g. a DNS CNAME record). No
// proxying will be involved. Must be a lowercase RFC-1123 hostname
- // (https://tools.ietf.org/html/rfc1123) and requires Type to be
+ // (https://tools.ietf.org/html/rfc1123) and requires `type` to be "ExternalName".
// +optional
ExternalName string `json:"externalName,omitempty" protobuf:"bytes,10,opt,name=externalName"`
@@ -4203,6 +4239,7 @@ type ServiceSpec struct {
// value, if used, only makes sense as the last value in the list.
// If this is not specified or empty, no topology constraints will be applied.
// This field is alpha-level and is only honored by servers that enable the ServiceTopology feature.
+ // This field is deprecated and will be removed in a future version.
// +optional
TopologyKeys []string `json:"topologyKeys,omitempty" protobuf:"bytes,16,opt,name=topologyKeys"`
@@ -4250,6 +4287,30 @@ type ServiceSpec struct {
// This field is alpha-level and is only honored by servers that enable the ServiceLBNodePortControl feature.
// +optional
AllocateLoadBalancerNodePorts *bool `json:"allocateLoadBalancerNodePorts,omitempty" protobuf:"bytes,20,opt,name=allocateLoadBalancerNodePorts"`
+
+ // loadBalancerClass is the class of the load balancer implementation this Service belongs to.
+ // If specified, the value of this field must be a label-style identifier, with an optional prefix,
+ // e.g. "internal-vip" or "example.com/internal-vip". Unprefixed names are reserved for end-users.
+ // This field can only be set when the Service type is 'LoadBalancer'. If not set, the default load
+ // balancer implementation is used, today this is typically done through the cloud provider integration,
+ // but should apply for any default implementation. If set, it is assumed that a load balancer
+ // implementation is watching for Services with a matching class. Any default load balancer
+ // implementation (e.g. cloud providers) should ignore Services that set this field.
+ // This field can only be set when creating or updating a Service to type 'LoadBalancer'.
+ // Once set, it can not be changed. This field will be wiped when a service is updated to a non 'LoadBalancer' type.
+ // +featureGate=LoadBalancerClass
+ // +optional
+ LoadBalancerClass *string `json:"loadBalancerClass,omitempty" protobuf:"bytes,21,opt,name=loadBalancerClass"`
+
+ // InternalTrafficPolicy specifies if the cluster internal traffic
+ // should be routed to all endpoints or node-local endpoints only.
+ // "Cluster" routes internal traffic to a Service to all endpoints.
+ // "Local" routes traffic to node-local endpoints only, traffic is
+ // dropped if no node-local endpoints are ready.
+ // The default value is "Cluster".
+ // +featureGate=ServiceInternalTrafficPolicy
+ // +optional
+ InternalTrafficPolicy *ServiceInternalTrafficPolicyType `json:"internalTrafficPolicy,omitempty" protobuf:"bytes,22,opt,name=internalTrafficPolicy"`
}
// ServicePort contains information on service's port.
@@ -4264,6 +4325,7 @@ type ServicePort struct {
// The IP protocol for this port. Supports "TCP", "UDP", and "SCTP".
// Default is TCP.
+ // +default="TCP"
// +optional
Protocol Protocol `json:"protocol,omitempty" protobuf:"bytes,2,opt,name=protocol,casttype=Protocol"`
@@ -5560,7 +5622,7 @@ type LimitRangeList struct {
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// Items is a list of LimitRange objects.
- // More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
+ // More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
Items []LimitRange `json:"items" protobuf:"bytes,2,rep,name=items"`
}
@@ -5613,9 +5675,9 @@ const (
type ResourceQuotaScope string
const (
- // Match all pod objects where spec.activeDeadlineSeconds
+ // Match all pod objects where spec.activeDeadlineSeconds >=0
ResourceQuotaScopeTerminating ResourceQuotaScope = "Terminating"
- // Match all pod objects where !spec.activeDeadlineSeconds
+ // Match all pod objects where spec.activeDeadlineSeconds is nil
ResourceQuotaScopeNotTerminating ResourceQuotaScope = "NotTerminating"
// Match all pod objects that have best effort quality of service
ResourceQuotaScopeBestEffort ResourceQuotaScope = "BestEffort"
@@ -5623,6 +5685,9 @@ const (
ResourceQuotaScopeNotBestEffort ResourceQuotaScope = "NotBestEffort"
// Match all pod objects that have priority class mentioned
ResourceQuotaScopePriorityClass ResourceQuotaScope = "PriorityClass"
+ // Match all pod objects that have cross-namespace pod (anti)affinity mentioned.
+ // This is an alpha feature enabled by the PodAffinityNamespaceSelector feature flag.
+ ResourceQuotaScopeCrossNamespacePodAffinity ResourceQuotaScope = "CrossNamespacePodAffinity"
)
// ResourceQuotaSpec defines the desired hard limits to enforce for Quota.
@@ -5741,7 +5806,6 @@ type Secret struct {
// be updated (only object metadata can be modified).
// If not set to true, the field can be modified at any time.
// Defaulted to nil.
- // This is a beta field enabled by ImmutableEphemeralVolumes feature gate.
// +optional
Immutable *bool `json:"immutable,omitempty" protobuf:"varint,5,opt,name=immutable"`
@@ -5753,9 +5817,9 @@ type Secret struct {
Data map[string][]byte `json:"data,omitempty" protobuf:"bytes,2,rep,name=data"`
// stringData allows specifying non-binary secret data in string form.
- // It is provided as a write-only convenience method.
+ // It is provided as a write-only input field for convenience.
// All keys and values are merged into the data field on write, overwriting any existing values.
- // It is never output when reading from the API.
+ // The stringData field is never output when reading from the API.
// +k8s:conversion-gen=false
// +optional
StringData map[string]string `json:"stringData,omitempty" protobuf:"bytes,4,rep,name=stringData"`
@@ -5882,7 +5946,6 @@ type ConfigMap struct {
// be updated (only object metadata can be modified).
// If not set to true, the field can be modified at any time.
// Defaulted to nil.
- // This is a beta field enabled by ImmutableEphemeralVolumes feature gate.
// +optional
Immutable *bool `json:"immutable,omitempty" protobuf:"varint,4,opt,name=immutable"`
@@ -6168,7 +6231,7 @@ type RangeAllocation struct {
}
const (
- // "default-scheduler" is the name of default scheduler.
+ // DefaultSchedulerName defines the name of default scheduler.
DefaultSchedulerName = "default-scheduler"
// RequiredDuringScheduling affinity is not symmetric, but there is an implicit PreferredDuringScheduling affinity rule