Fix list_type_missing in api/core

This commit is contained in:
Tim Hockin
2023-11-12 15:38:47 -08:00
parent fe902f7384
commit cfe146615a
10 changed files with 1455 additions and 333 deletions

View File

@@ -1,98 +1,3 @@
API rule violation: list_type_missing,k8s.io/api/core/v1,AvoidPods,PreferAvoidPods
API rule violation: list_type_missing,k8s.io/api/core/v1,Capabilities,Add
API rule violation: list_type_missing,k8s.io/api/core/v1,Capabilities,Drop
API rule violation: list_type_missing,k8s.io/api/core/v1,CephFSPersistentVolumeSource,Monitors
API rule violation: list_type_missing,k8s.io/api/core/v1,CephFSVolumeSource,Monitors
API rule violation: list_type_missing,k8s.io/api/core/v1,ComponentStatus,Conditions
API rule violation: list_type_missing,k8s.io/api/core/v1,ConfigMapProjection,Items
API rule violation: list_type_missing,k8s.io/api/core/v1,ConfigMapVolumeSource,Items
API rule violation: list_type_missing,k8s.io/api/core/v1,Container,Args
API rule violation: list_type_missing,k8s.io/api/core/v1,Container,Command
API rule violation: list_type_missing,k8s.io/api/core/v1,Container,Env
API rule violation: list_type_missing,k8s.io/api/core/v1,Container,EnvFrom
API rule violation: list_type_missing,k8s.io/api/core/v1,Container,VolumeDevices
API rule violation: list_type_missing,k8s.io/api/core/v1,Container,VolumeMounts
API rule violation: list_type_missing,k8s.io/api/core/v1,ContainerImage,Names
API rule violation: list_type_missing,k8s.io/api/core/v1,DownwardAPIProjection,Items
API rule violation: list_type_missing,k8s.io/api/core/v1,DownwardAPIVolumeSource,Items
API rule violation: list_type_missing,k8s.io/api/core/v1,EndpointSubset,Addresses
API rule violation: list_type_missing,k8s.io/api/core/v1,EndpointSubset,NotReadyAddresses
API rule violation: list_type_missing,k8s.io/api/core/v1,EndpointSubset,Ports
API rule violation: list_type_missing,k8s.io/api/core/v1,Endpoints,Subsets
API rule violation: list_type_missing,k8s.io/api/core/v1,EphemeralContainerCommon,Args
API rule violation: list_type_missing,k8s.io/api/core/v1,EphemeralContainerCommon,Command
API rule violation: list_type_missing,k8s.io/api/core/v1,EphemeralContainerCommon,Env
API rule violation: list_type_missing,k8s.io/api/core/v1,EphemeralContainerCommon,EnvFrom
API rule violation: list_type_missing,k8s.io/api/core/v1,EphemeralContainerCommon,VolumeDevices
API rule violation: list_type_missing,k8s.io/api/core/v1,EphemeralContainerCommon,VolumeMounts
API rule violation: list_type_missing,k8s.io/api/core/v1,ExecAction,Command
API rule violation: list_type_missing,k8s.io/api/core/v1,FCVolumeSource,TargetWWNs
API rule violation: list_type_missing,k8s.io/api/core/v1,FCVolumeSource,WWIDs
API rule violation: list_type_missing,k8s.io/api/core/v1,HTTPGetAction,HTTPHeaders
API rule violation: list_type_missing,k8s.io/api/core/v1,HostAlias,Hostnames
API rule violation: list_type_missing,k8s.io/api/core/v1,ISCSIPersistentVolumeSource,Portals
API rule violation: list_type_missing,k8s.io/api/core/v1,ISCSIVolumeSource,Portals
API rule violation: list_type_missing,k8s.io/api/core/v1,LimitRangeSpec,Limits
API rule violation: list_type_missing,k8s.io/api/core/v1,LoadBalancerStatus,Ingress
API rule violation: list_type_missing,k8s.io/api/core/v1,NamespaceSpec,Finalizers
API rule violation: list_type_missing,k8s.io/api/core/v1,NamespaceStatus,Conditions
API rule violation: list_type_missing,k8s.io/api/core/v1,NodeAffinity,PreferredDuringSchedulingIgnoredDuringExecution
API rule violation: list_type_missing,k8s.io/api/core/v1,NodeSelector,NodeSelectorTerms
API rule violation: list_type_missing,k8s.io/api/core/v1,NodeSelectorRequirement,Values
API rule violation: list_type_missing,k8s.io/api/core/v1,NodeSelectorTerm,MatchExpressions
API rule violation: list_type_missing,k8s.io/api/core/v1,NodeSelectorTerm,MatchFields
API rule violation: list_type_missing,k8s.io/api/core/v1,NodeSpec,PodCIDRs
API rule violation: list_type_missing,k8s.io/api/core/v1,NodeSpec,Taints
API rule violation: list_type_missing,k8s.io/api/core/v1,NodeStatus,Addresses
API rule violation: list_type_missing,k8s.io/api/core/v1,NodeStatus,Conditions
API rule violation: list_type_missing,k8s.io/api/core/v1,NodeStatus,Images
API rule violation: list_type_missing,k8s.io/api/core/v1,NodeStatus,VolumesAttached
API rule violation: list_type_missing,k8s.io/api/core/v1,NodeStatus,VolumesInUse
API rule violation: list_type_missing,k8s.io/api/core/v1,PersistentVolumeClaimSpec,AccessModes
API rule violation: list_type_missing,k8s.io/api/core/v1,PersistentVolumeClaimStatus,AccessModes
API rule violation: list_type_missing,k8s.io/api/core/v1,PersistentVolumeClaimStatus,Conditions
API rule violation: list_type_missing,k8s.io/api/core/v1,PersistentVolumeSpec,AccessModes
API rule violation: list_type_missing,k8s.io/api/core/v1,PersistentVolumeSpec,MountOptions
API rule violation: list_type_missing,k8s.io/api/core/v1,PodAffinity,PreferredDuringSchedulingIgnoredDuringExecution
API rule violation: list_type_missing,k8s.io/api/core/v1,PodAffinity,RequiredDuringSchedulingIgnoredDuringExecution
API rule violation: list_type_missing,k8s.io/api/core/v1,PodAffinityTerm,Namespaces
API rule violation: list_type_missing,k8s.io/api/core/v1,PodAntiAffinity,PreferredDuringSchedulingIgnoredDuringExecution
API rule violation: list_type_missing,k8s.io/api/core/v1,PodAntiAffinity,RequiredDuringSchedulingIgnoredDuringExecution
API rule violation: list_type_missing,k8s.io/api/core/v1,PodDNSConfig,Nameservers
API rule violation: list_type_missing,k8s.io/api/core/v1,PodDNSConfig,Options
API rule violation: list_type_missing,k8s.io/api/core/v1,PodDNSConfig,Searches
API rule violation: list_type_missing,k8s.io/api/core/v1,PodExecOptions,Command
API rule violation: list_type_missing,k8s.io/api/core/v1,PodPortForwardOptions,Ports
API rule violation: list_type_missing,k8s.io/api/core/v1,PodSecurityContext,SupplementalGroups
API rule violation: list_type_missing,k8s.io/api/core/v1,PodSecurityContext,Sysctls
API rule violation: list_type_missing,k8s.io/api/core/v1,PodSpec,Containers
API rule violation: list_type_missing,k8s.io/api/core/v1,PodSpec,EphemeralContainers
API rule violation: list_type_missing,k8s.io/api/core/v1,PodSpec,HostAliases
API rule violation: list_type_missing,k8s.io/api/core/v1,PodSpec,ImagePullSecrets
API rule violation: list_type_missing,k8s.io/api/core/v1,PodSpec,InitContainers
API rule violation: list_type_missing,k8s.io/api/core/v1,PodSpec,ReadinessGates
API rule violation: list_type_missing,k8s.io/api/core/v1,PodSpec,Tolerations
API rule violation: list_type_missing,k8s.io/api/core/v1,PodSpec,Volumes
API rule violation: list_type_missing,k8s.io/api/core/v1,PodStatus,Conditions
API rule violation: list_type_missing,k8s.io/api/core/v1,PodStatus,ContainerStatuses
API rule violation: list_type_missing,k8s.io/api/core/v1,PodStatus,EphemeralContainerStatuses
API rule violation: list_type_missing,k8s.io/api/core/v1,PodStatus,InitContainerStatuses
API rule violation: list_type_missing,k8s.io/api/core/v1,PodStatus,PodIPs
API rule violation: list_type_missing,k8s.io/api/core/v1,ProjectedVolumeSource,Sources
API rule violation: list_type_missing,k8s.io/api/core/v1,RBDPersistentVolumeSource,CephMonitors
API rule violation: list_type_missing,k8s.io/api/core/v1,RBDVolumeSource,CephMonitors
API rule violation: list_type_missing,k8s.io/api/core/v1,ReplicationControllerStatus,Conditions
API rule violation: list_type_missing,k8s.io/api/core/v1,ResourceQuotaSpec,Scopes
API rule violation: list_type_missing,k8s.io/api/core/v1,ScopeSelector,MatchExpressions
API rule violation: list_type_missing,k8s.io/api/core/v1,ScopedResourceSelectorRequirement,Values
API rule violation: list_type_missing,k8s.io/api/core/v1,SecretProjection,Items
API rule violation: list_type_missing,k8s.io/api/core/v1,SecretVolumeSource,Items
API rule violation: list_type_missing,k8s.io/api/core/v1,ServiceAccount,ImagePullSecrets
API rule violation: list_type_missing,k8s.io/api/core/v1,ServiceAccount,Secrets
API rule violation: list_type_missing,k8s.io/api/core/v1,ServiceSpec,ExternalIPs
API rule violation: list_type_missing,k8s.io/api/core/v1,ServiceSpec,LoadBalancerSourceRanges
API rule violation: list_type_missing,k8s.io/api/core/v1,TopologySelectorLabelRequirement,Values
API rule violation: list_type_missing,k8s.io/api/core/v1,TopologySelectorTerm,MatchLabelExpressions
API rule violation: list_type_missing,k8s.io/api/extensions/v1beta1,DaemonSetStatus,Conditions API rule violation: list_type_missing,k8s.io/api/extensions/v1beta1,DaemonSetStatus,Conditions
API rule violation: list_type_missing,k8s.io/api/extensions/v1beta1,DeploymentStatus,Conditions API rule violation: list_type_missing,k8s.io/api/extensions/v1beta1,DeploymentStatus,Conditions
API rule violation: list_type_missing,k8s.io/api/extensions/v1beta1,HTTPIngressRuleValue,Paths API rule violation: list_type_missing,k8s.io/api/extensions/v1beta1,HTTPIngressRuleValue,Paths

View File

@@ -5153,14 +5153,16 @@
"items": { "items": {
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"drop": { "drop": {
"description": "Removed capabilities", "description": "Removed capabilities",
"items": { "items": {
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object" "type": "object"
@@ -5173,7 +5175,8 @@
"items": { "items": {
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"path": { "path": {
"description": "path is Optional: Used as the mounted root, rather than the full Ceph tree, default is /", "description": "path is Optional: Used as the mounted root, rather than the full Ceph tree, default is /",
@@ -5209,7 +5212,8 @@
"items": { "items": {
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"path": { "path": {
"description": "path is Optional: Used as the mounted root, rather than the full Ceph tree, default is /", "description": "path is Optional: Used as the mounted root, rather than the full Ceph tree, default is /",
@@ -5380,6 +5384,10 @@
"$ref": "#/definitions/io.k8s.api.core.v1.ComponentCondition" "$ref": "#/definitions/io.k8s.api.core.v1.ComponentCondition"
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"type"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "type", "x-kubernetes-patch-merge-key": "type",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -5590,7 +5598,8 @@
"items": { "items": {
"$ref": "#/definitions/io.k8s.api.core.v1.KeyToPath" "$ref": "#/definitions/io.k8s.api.core.v1.KeyToPath"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"name": { "name": {
"description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
@@ -5616,7 +5625,8 @@
"items": { "items": {
"$ref": "#/definitions/io.k8s.api.core.v1.KeyToPath" "$ref": "#/definitions/io.k8s.api.core.v1.KeyToPath"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"name": { "name": {
"description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
@@ -5637,14 +5647,16 @@
"items": { "items": {
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"command": { "command": {
"description": "Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell", "description": "Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell",
"items": { "items": {
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"env": { "env": {
"description": "List of environment variables to set in the container. Cannot be updated.", "description": "List of environment variables to set in the container. Cannot be updated.",
@@ -5652,6 +5664,10 @@
"$ref": "#/definitions/io.k8s.api.core.v1.EnvVar" "$ref": "#/definitions/io.k8s.api.core.v1.EnvVar"
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"name"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "name", "x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -5660,7 +5676,8 @@
"items": { "items": {
"$ref": "#/definitions/io.k8s.api.core.v1.EnvFromSource" "$ref": "#/definitions/io.k8s.api.core.v1.EnvFromSource"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"image": { "image": {
"description": "Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.", "description": "Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.",
@@ -5750,6 +5767,10 @@
"$ref": "#/definitions/io.k8s.api.core.v1.VolumeDevice" "$ref": "#/definitions/io.k8s.api.core.v1.VolumeDevice"
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"devicePath"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "devicePath", "x-kubernetes-patch-merge-key": "devicePath",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -5759,6 +5780,10 @@
"$ref": "#/definitions/io.k8s.api.core.v1.VolumeMount" "$ref": "#/definitions/io.k8s.api.core.v1.VolumeMount"
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"mountPath"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "mountPath", "x-kubernetes-patch-merge-key": "mountPath",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -5780,7 +5805,8 @@
"items": { "items": {
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"sizeBytes": { "sizeBytes": {
"description": "The size of the image in bytes.", "description": "The size of the image in bytes.",
@@ -6003,7 +6029,8 @@
"items": { "items": {
"$ref": "#/definitions/io.k8s.api.core.v1.DownwardAPIVolumeFile" "$ref": "#/definitions/io.k8s.api.core.v1.DownwardAPIVolumeFile"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object" "type": "object"
@@ -6047,7 +6074,8 @@
"items": { "items": {
"$ref": "#/definitions/io.k8s.api.core.v1.DownwardAPIVolumeFile" "$ref": "#/definitions/io.k8s.api.core.v1.DownwardAPIVolumeFile"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object" "type": "object"
@@ -6127,21 +6155,24 @@
"items": { "items": {
"$ref": "#/definitions/io.k8s.api.core.v1.EndpointAddress" "$ref": "#/definitions/io.k8s.api.core.v1.EndpointAddress"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"notReadyAddresses": { "notReadyAddresses": {
"description": "IP addresses which offer the related ports but are not currently marked as ready because they have not yet finished starting, have recently failed a readiness check, or have recently failed a liveness check.", "description": "IP addresses which offer the related ports but are not currently marked as ready because they have not yet finished starting, have recently failed a readiness check, or have recently failed a liveness check.",
"items": { "items": {
"$ref": "#/definitions/io.k8s.api.core.v1.EndpointAddress" "$ref": "#/definitions/io.k8s.api.core.v1.EndpointAddress"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"ports": { "ports": {
"description": "Port numbers available on the related IP addresses.", "description": "Port numbers available on the related IP addresses.",
"items": { "items": {
"$ref": "#/definitions/io.k8s.api.core.v1.EndpointPort" "$ref": "#/definitions/io.k8s.api.core.v1.EndpointPort"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object" "type": "object"
@@ -6166,7 +6197,8 @@
"items": { "items": {
"$ref": "#/definitions/io.k8s.api.core.v1.EndpointSubset" "$ref": "#/definitions/io.k8s.api.core.v1.EndpointSubset"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object", "type": "object",
@@ -6282,14 +6314,16 @@
"items": { "items": {
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"command": { "command": {
"description": "Entrypoint array. Not executed within a shell. The image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell", "description": "Entrypoint array. Not executed within a shell. The image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell",
"items": { "items": {
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"env": { "env": {
"description": "List of environment variables to set in the container. Cannot be updated.", "description": "List of environment variables to set in the container. Cannot be updated.",
@@ -6297,6 +6331,10 @@
"$ref": "#/definitions/io.k8s.api.core.v1.EnvVar" "$ref": "#/definitions/io.k8s.api.core.v1.EnvVar"
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"name"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "name", "x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -6305,7 +6343,8 @@
"items": { "items": {
"$ref": "#/definitions/io.k8s.api.core.v1.EnvFromSource" "$ref": "#/definitions/io.k8s.api.core.v1.EnvFromSource"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"image": { "image": {
"description": "Container image name. More info: https://kubernetes.io/docs/concepts/containers/images", "description": "Container image name. More info: https://kubernetes.io/docs/concepts/containers/images",
@@ -6399,6 +6438,10 @@
"$ref": "#/definitions/io.k8s.api.core.v1.VolumeDevice" "$ref": "#/definitions/io.k8s.api.core.v1.VolumeDevice"
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"devicePath"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "devicePath", "x-kubernetes-patch-merge-key": "devicePath",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -6408,6 +6451,10 @@
"$ref": "#/definitions/io.k8s.api.core.v1.VolumeMount" "$ref": "#/definitions/io.k8s.api.core.v1.VolumeMount"
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"mountPath"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "mountPath", "x-kubernetes-patch-merge-key": "mountPath",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -6589,7 +6636,8 @@
"items": { "items": {
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object" "type": "object"
@@ -6615,14 +6663,16 @@
"items": { "items": {
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"wwids": { "wwids": {
"description": "wwids Optional: FC volume world wide identifiers (wwids) Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously.", "description": "wwids Optional: FC volume world wide identifiers (wwids) Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously.",
"items": { "items": {
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object" "type": "object"
@@ -6829,7 +6879,8 @@
"items": { "items": {
"$ref": "#/definitions/io.k8s.api.core.v1.HTTPHeader" "$ref": "#/definitions/io.k8s.api.core.v1.HTTPHeader"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"path": { "path": {
"description": "Path to access on the HTTP server.", "description": "Path to access on the HTTP server.",
@@ -6875,7 +6926,8 @@
"items": { "items": {
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"ip": { "ip": {
"description": "IP address of the host file entry.", "description": "IP address of the host file entry.",
@@ -6948,7 +7000,8 @@
"items": { "items": {
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"readOnly": { "readOnly": {
"description": "readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false.", "description": "readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false.",
@@ -7007,7 +7060,8 @@
"items": { "items": {
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"readOnly": { "readOnly": {
"description": "readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false.", "description": "readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false.",
@@ -7208,7 +7262,8 @@
"items": { "items": {
"$ref": "#/definitions/io.k8s.api.core.v1.LimitRangeItem" "$ref": "#/definitions/io.k8s.api.core.v1.LimitRangeItem"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"required": [ "required": [
@@ -7250,7 +7305,8 @@
"items": { "items": {
"$ref": "#/definitions/io.k8s.api.core.v1.LoadBalancerIngress" "$ref": "#/definitions/io.k8s.api.core.v1.LoadBalancerIngress"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object" "type": "object"
@@ -7425,7 +7481,8 @@
"items": { "items": {
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object" "type": "object"
@@ -7439,6 +7496,10 @@
"$ref": "#/definitions/io.k8s.api.core.v1.NamespaceCondition" "$ref": "#/definitions/io.k8s.api.core.v1.NamespaceCondition"
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"type"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "type", "x-kubernetes-patch-merge-key": "type",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -7508,7 +7569,8 @@
"items": { "items": {
"$ref": "#/definitions/io.k8s.api.core.v1.PreferredSchedulingTerm" "$ref": "#/definitions/io.k8s.api.core.v1.PreferredSchedulingTerm"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"requiredDuringSchedulingIgnoredDuringExecution": { "requiredDuringSchedulingIgnoredDuringExecution": {
"$ref": "#/definitions/io.k8s.api.core.v1.NodeSelector", "$ref": "#/definitions/io.k8s.api.core.v1.NodeSelector",
@@ -7636,7 +7698,8 @@
"items": { "items": {
"$ref": "#/definitions/io.k8s.api.core.v1.NodeSelectorTerm" "$ref": "#/definitions/io.k8s.api.core.v1.NodeSelectorTerm"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"required": [ "required": [
@@ -7661,7 +7724,8 @@
"items": { "items": {
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"required": [ "required": [
@@ -7678,14 +7742,16 @@
"items": { "items": {
"$ref": "#/definitions/io.k8s.api.core.v1.NodeSelectorRequirement" "$ref": "#/definitions/io.k8s.api.core.v1.NodeSelectorRequirement"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"matchFields": { "matchFields": {
"description": "A list of node selector requirements by node's fields.", "description": "A list of node selector requirements by node's fields.",
"items": { "items": {
"$ref": "#/definitions/io.k8s.api.core.v1.NodeSelectorRequirement" "$ref": "#/definitions/io.k8s.api.core.v1.NodeSelectorRequirement"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object", "type": "object",
@@ -7712,6 +7778,7 @@
"type": "string" "type": "string"
}, },
"type": "array", "type": "array",
"x-kubernetes-list-type": "set",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
"providerID": { "providerID": {
@@ -7723,7 +7790,8 @@
"items": { "items": {
"$ref": "#/definitions/io.k8s.api.core.v1.Taint" "$ref": "#/definitions/io.k8s.api.core.v1.Taint"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"unschedulable": { "unschedulable": {
"description": "Unschedulable controls node schedulability of new pods. By default, node is schedulable. More info: https://kubernetes.io/docs/concepts/nodes/node/#manual-node-administration", "description": "Unschedulable controls node schedulability of new pods. By default, node is schedulable. More info: https://kubernetes.io/docs/concepts/nodes/node/#manual-node-administration",
@@ -7741,6 +7809,10 @@
"$ref": "#/definitions/io.k8s.api.core.v1.NodeAddress" "$ref": "#/definitions/io.k8s.api.core.v1.NodeAddress"
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"type"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "type", "x-kubernetes-patch-merge-key": "type",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -7764,6 +7836,10 @@
"$ref": "#/definitions/io.k8s.api.core.v1.NodeCondition" "$ref": "#/definitions/io.k8s.api.core.v1.NodeCondition"
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"type"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "type", "x-kubernetes-patch-merge-key": "type",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -7780,7 +7856,8 @@
"items": { "items": {
"$ref": "#/definitions/io.k8s.api.core.v1.ContainerImage" "$ref": "#/definitions/io.k8s.api.core.v1.ContainerImage"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"nodeInfo": { "nodeInfo": {
"$ref": "#/definitions/io.k8s.api.core.v1.NodeSystemInfo", "$ref": "#/definitions/io.k8s.api.core.v1.NodeSystemInfo",
@@ -7795,14 +7872,16 @@
"items": { "items": {
"$ref": "#/definitions/io.k8s.api.core.v1.AttachedVolume" "$ref": "#/definitions/io.k8s.api.core.v1.AttachedVolume"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"volumesInUse": { "volumesInUse": {
"description": "List of attachable volumes in use (mounted) by the node.", "description": "List of attachable volumes in use (mounted) by the node.",
"items": { "items": {
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object" "type": "object"
@@ -8059,7 +8138,8 @@
"items": { "items": {
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"dataSource": { "dataSource": {
"$ref": "#/definitions/io.k8s.api.core.v1.TypedLocalObjectReference", "$ref": "#/definitions/io.k8s.api.core.v1.TypedLocalObjectReference",
@@ -8104,7 +8184,8 @@
"items": { "items": {
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"allocatedResourceStatuses": { "allocatedResourceStatuses": {
"additionalProperties": { "additionalProperties": {
@@ -8134,6 +8215,10 @@
"$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaimCondition" "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaimCondition"
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"type"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "type", "x-kubernetes-patch-merge-key": "type",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -8229,7 +8314,8 @@
"items": { "items": {
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"awsElasticBlockStore": { "awsElasticBlockStore": {
"$ref": "#/definitions/io.k8s.api.core.v1.AWSElasticBlockStoreVolumeSource", "$ref": "#/definitions/io.k8s.api.core.v1.AWSElasticBlockStoreVolumeSource",
@@ -8304,7 +8390,8 @@
"items": { "items": {
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"nfs": { "nfs": {
"$ref": "#/definitions/io.k8s.api.core.v1.NFSVolumeSource", "$ref": "#/definitions/io.k8s.api.core.v1.NFSVolumeSource",
@@ -8441,14 +8528,16 @@
"items": { "items": {
"$ref": "#/definitions/io.k8s.api.core.v1.WeightedPodAffinityTerm" "$ref": "#/definitions/io.k8s.api.core.v1.WeightedPodAffinityTerm"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"requiredDuringSchedulingIgnoredDuringExecution": { "requiredDuringSchedulingIgnoredDuringExecution": {
"description": "If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.", "description": "If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.",
"items": { "items": {
"$ref": "#/definitions/io.k8s.api.core.v1.PodAffinityTerm" "$ref": "#/definitions/io.k8s.api.core.v1.PodAffinityTerm"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object" "type": "object"
@@ -8485,7 +8574,8 @@
"items": { "items": {
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"topologyKey": { "topologyKey": {
"description": "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.", "description": "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.",
@@ -8505,14 +8595,16 @@
"items": { "items": {
"$ref": "#/definitions/io.k8s.api.core.v1.WeightedPodAffinityTerm" "$ref": "#/definitions/io.k8s.api.core.v1.WeightedPodAffinityTerm"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"requiredDuringSchedulingIgnoredDuringExecution": { "requiredDuringSchedulingIgnoredDuringExecution": {
"description": "If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.", "description": "If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.",
"items": { "items": {
"$ref": "#/definitions/io.k8s.api.core.v1.PodAffinityTerm" "$ref": "#/definitions/io.k8s.api.core.v1.PodAffinityTerm"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object" "type": "object"
@@ -8559,21 +8651,24 @@
"items": { "items": {
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"options": { "options": {
"description": "A list of DNS resolver options. This will be merged with the base options generated from DNSPolicy. Duplicated entries will be removed. Resolution options given in Options will override those that appear in the base DNSPolicy.", "description": "A list of DNS resolver options. This will be merged with the base options generated from DNSPolicy. Duplicated entries will be removed. Resolution options given in Options will override those that appear in the base DNSPolicy.",
"items": { "items": {
"$ref": "#/definitions/io.k8s.api.core.v1.PodDNSConfigOption" "$ref": "#/definitions/io.k8s.api.core.v1.PodDNSConfigOption"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"searches": { "searches": {
"description": "A list of DNS search domains for host-name lookup. This will be appended to the base search paths generated from DNSPolicy. Duplicated search paths will be removed.", "description": "A list of DNS search domains for host-name lookup. This will be appended to the base search paths generated from DNSPolicy. Duplicated search paths will be removed.",
"items": { "items": {
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object" "type": "object"
@@ -8749,14 +8844,16 @@
"format": "int64", "format": "int64",
"type": "integer" "type": "integer"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"sysctls": { "sysctls": {
"description": "Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported sysctls (by the container runtime) might fail to launch. Note that this field cannot be set when spec.os.name is windows.", "description": "Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported sysctls (by the container runtime) might fail to launch. Note that this field cannot be set when spec.os.name is windows.",
"items": { "items": {
"$ref": "#/definitions/io.k8s.api.core.v1.Sysctl" "$ref": "#/definitions/io.k8s.api.core.v1.Sysctl"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"windowsOptions": { "windowsOptions": {
"$ref": "#/definitions/io.k8s.api.core.v1.WindowsSecurityContextOptions", "$ref": "#/definitions/io.k8s.api.core.v1.WindowsSecurityContextOptions",
@@ -8787,6 +8884,10 @@
"$ref": "#/definitions/io.k8s.api.core.v1.Container" "$ref": "#/definitions/io.k8s.api.core.v1.Container"
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"name"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "name", "x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -8808,6 +8909,10 @@
"$ref": "#/definitions/io.k8s.api.core.v1.EphemeralContainer" "$ref": "#/definitions/io.k8s.api.core.v1.EphemeralContainer"
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"name"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "name", "x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -8817,6 +8922,10 @@
"$ref": "#/definitions/io.k8s.api.core.v1.HostAlias" "$ref": "#/definitions/io.k8s.api.core.v1.HostAlias"
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"ip"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "ip", "x-kubernetes-patch-merge-key": "ip",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -8846,6 +8955,10 @@
"$ref": "#/definitions/io.k8s.api.core.v1.LocalObjectReference" "$ref": "#/definitions/io.k8s.api.core.v1.LocalObjectReference"
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"name"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "name", "x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -8855,6 +8968,10 @@
"$ref": "#/definitions/io.k8s.api.core.v1.Container" "$ref": "#/definitions/io.k8s.api.core.v1.Container"
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"name"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "name", "x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -8899,7 +9016,8 @@
"items": { "items": {
"$ref": "#/definitions/io.k8s.api.core.v1.PodReadinessGate" "$ref": "#/definitions/io.k8s.api.core.v1.PodReadinessGate"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"resourceClaims": { "resourceClaims": {
"description": "ResourceClaims defines which ResourceClaims must be allocated and reserved before the Pod is allowed to start. The resources will be made available to those containers which consume them by name.\n\nThis is an alpha field and requires enabling the DynamicResourceAllocation feature gate.\n\nThis field is immutable.", "description": "ResourceClaims defines which ResourceClaims must be allocated and reserved before the Pod is allowed to start. The resources will be made available to those containers which consume them by name.\n\nThis is an alpha field and requires enabling the DynamicResourceAllocation feature gate.\n\nThis field is immutable.",
@@ -8973,7 +9091,8 @@
"items": { "items": {
"$ref": "#/definitions/io.k8s.api.core.v1.Toleration" "$ref": "#/definitions/io.k8s.api.core.v1.Toleration"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"topologySpreadConstraints": { "topologySpreadConstraints": {
"description": "TopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. All topologySpreadConstraints are ANDed.", "description": "TopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. All topologySpreadConstraints are ANDed.",
@@ -8995,6 +9114,10 @@
"$ref": "#/definitions/io.k8s.api.core.v1.Volume" "$ref": "#/definitions/io.k8s.api.core.v1.Volume"
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"name"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "name", "x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge,retainKeys" "x-kubernetes-patch-strategy": "merge,retainKeys"
} }
@@ -9013,6 +9136,10 @@
"$ref": "#/definitions/io.k8s.api.core.v1.PodCondition" "$ref": "#/definitions/io.k8s.api.core.v1.PodCondition"
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"type"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "type", "x-kubernetes-patch-merge-key": "type",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -9021,14 +9148,16 @@
"items": { "items": {
"$ref": "#/definitions/io.k8s.api.core.v1.ContainerStatus" "$ref": "#/definitions/io.k8s.api.core.v1.ContainerStatus"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"ephemeralContainerStatuses": { "ephemeralContainerStatuses": {
"description": "Status for any ephemeral containers that have run in this pod.", "description": "Status for any ephemeral containers that have run in this pod.",
"items": { "items": {
"$ref": "#/definitions/io.k8s.api.core.v1.ContainerStatus" "$ref": "#/definitions/io.k8s.api.core.v1.ContainerStatus"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"hostIP": { "hostIP": {
"description": "hostIP holds the IP address of the host to which the pod is assigned. Empty if the pod has not started yet. A pod can be assigned to a node that has a problem in kubelet which in turns mean that HostIP will not be updated even if there is a node is assigned to pod", "description": "hostIP holds the IP address of the host to which the pod is assigned. Empty if the pod has not started yet. A pod can be assigned to a node that has a problem in kubelet which in turns mean that HostIP will not be updated even if there is a node is assigned to pod",
@@ -9049,7 +9178,8 @@
"items": { "items": {
"$ref": "#/definitions/io.k8s.api.core.v1.ContainerStatus" "$ref": "#/definitions/io.k8s.api.core.v1.ContainerStatus"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"message": { "message": {
"description": "A human readable message indicating details about why the pod is in this condition.", "description": "A human readable message indicating details about why the pod is in this condition.",
@@ -9073,6 +9203,10 @@
"$ref": "#/definitions/io.k8s.api.core.v1.PodIP" "$ref": "#/definitions/io.k8s.api.core.v1.PodIP"
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"ip"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "ip", "x-kubernetes-patch-merge-key": "ip",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -9313,7 +9447,8 @@
"items": { "items": {
"$ref": "#/definitions/io.k8s.api.core.v1.VolumeProjection" "$ref": "#/definitions/io.k8s.api.core.v1.VolumeProjection"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object" "type": "object"
@@ -9372,7 +9507,8 @@
"items": { "items": {
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"pool": { "pool": {
"description": "pool is the rados pool name. Default is rbd. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it", "description": "pool is the rados pool name. Default is rbd. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it",
@@ -9417,7 +9553,8 @@
"items": { "items": {
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"pool": { "pool": {
"description": "pool is the rados pool name. Default is rbd. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it", "description": "pool is the rados pool name. Default is rbd. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it",
@@ -9582,6 +9719,10 @@
"$ref": "#/definitions/io.k8s.api.core.v1.ReplicationControllerCondition" "$ref": "#/definitions/io.k8s.api.core.v1.ReplicationControllerCondition"
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"type"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "type", "x-kubernetes-patch-merge-key": "type",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -9733,7 +9874,8 @@
"items": { "items": {
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object" "type": "object"
@@ -9921,7 +10063,8 @@
"items": { "items": {
"$ref": "#/definitions/io.k8s.api.core.v1.ScopedResourceSelectorRequirement" "$ref": "#/definitions/io.k8s.api.core.v1.ScopedResourceSelectorRequirement"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object", "type": "object",
@@ -9943,7 +10086,8 @@
"items": { "items": {
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"required": [ "required": [
@@ -10104,7 +10248,8 @@
"items": { "items": {
"$ref": "#/definitions/io.k8s.api.core.v1.KeyToPath" "$ref": "#/definitions/io.k8s.api.core.v1.KeyToPath"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"name": { "name": {
"description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
@@ -10145,7 +10290,8 @@
"items": { "items": {
"$ref": "#/definitions/io.k8s.api.core.v1.KeyToPath" "$ref": "#/definitions/io.k8s.api.core.v1.KeyToPath"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"optional": { "optional": {
"description": "optional field specify whether the Secret or its keys must be defined", "description": "optional field specify whether the Secret or its keys must be defined",
@@ -10259,7 +10405,8 @@
"items": { "items": {
"$ref": "#/definitions/io.k8s.api.core.v1.LocalObjectReference" "$ref": "#/definitions/io.k8s.api.core.v1.LocalObjectReference"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"kind": { "kind": {
"description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
@@ -10275,6 +10422,10 @@
"$ref": "#/definitions/io.k8s.api.core.v1.ObjectReference" "$ref": "#/definitions/io.k8s.api.core.v1.ObjectReference"
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"name"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "name", "x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
} }
@@ -10439,7 +10590,8 @@
"items": { "items": {
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"externalName": { "externalName": {
"description": "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 \"ExternalName\".", "description": "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 \"ExternalName\".",
@@ -10483,7 +10635,8 @@
"items": { "items": {
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"ports": { "ports": {
"description": "The list of ports that are exposed by this service. More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies", "description": "The list of ports that are exposed by this service. More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies",
@@ -10725,7 +10878,8 @@
"items": { "items": {
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"required": [ "required": [
@@ -10742,7 +10896,8 @@
"items": { "items": {
"$ref": "#/definitions/io.k8s.api.core.v1.TopologySelectorLabelRequirement" "$ref": "#/definitions/io.k8s.api.core.v1.TopologySelectorLabelRequirement"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object", "type": "object",

View File

@@ -536,7 +536,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"drop": { "drop": {
"description": "Removed capabilities", "description": "Removed capabilities",
@@ -544,7 +545,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object" "type": "object"
@@ -558,7 +560,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"path": { "path": {
"description": "path is Optional: Used as the mounted root, rather than the full Ceph tree, default is /", "description": "path is Optional: Used as the mounted root, rather than the full Ceph tree, default is /",
@@ -599,7 +602,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"path": { "path": {
"description": "path is Optional: Used as the mounted root, rather than the full Ceph tree, default is /", "description": "path is Optional: Used as the mounted root, rather than the full Ceph tree, default is /",
@@ -796,6 +800,10 @@
"default": {} "default": {}
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"type"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "type", "x-kubernetes-patch-merge-key": "type",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -1046,7 +1054,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"name": { "name": {
"description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
@@ -1077,7 +1086,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"name": { "name": {
"description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
@@ -1099,7 +1109,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"command": { "command": {
"description": "Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell", "description": "Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell",
@@ -1107,7 +1118,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"env": { "env": {
"description": "List of environment variables to set in the container. Cannot be updated.", "description": "List of environment variables to set in the container. Cannot be updated.",
@@ -1120,6 +1132,10 @@
"default": {} "default": {}
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"name"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "name", "x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -1133,7 +1149,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"image": { "image": {
"description": "Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.", "description": "Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.",
@@ -1264,6 +1281,10 @@
"default": {} "default": {}
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"devicePath"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "devicePath", "x-kubernetes-patch-merge-key": "devicePath",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -1278,6 +1299,10 @@
"default": {} "default": {}
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"mountPath"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "mountPath", "x-kubernetes-patch-merge-key": "mountPath",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -1300,7 +1325,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"sizeBytes": { "sizeBytes": {
"description": "The size of the image in bytes.", "description": "The size of the image in bytes.",
@@ -1577,7 +1603,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object" "type": "object"
@@ -1635,7 +1662,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object" "type": "object"
@@ -1730,7 +1758,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"notReadyAddresses": { "notReadyAddresses": {
"description": "IP addresses which offer the related ports but are not currently marked as ready because they have not yet finished starting, have recently failed a readiness check, or have recently failed a liveness check.", "description": "IP addresses which offer the related ports but are not currently marked as ready because they have not yet finished starting, have recently failed a readiness check, or have recently failed a liveness check.",
@@ -1742,7 +1771,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"ports": { "ports": {
"description": "Port numbers available on the related IP addresses.", "description": "Port numbers available on the related IP addresses.",
@@ -1754,7 +1784,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object" "type": "object"
@@ -1789,7 +1820,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object", "type": "object",
@@ -1945,7 +1977,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"command": { "command": {
"description": "Entrypoint array. Not executed within a shell. The image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell", "description": "Entrypoint array. Not executed within a shell. The image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell",
@@ -1953,7 +1986,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"env": { "env": {
"description": "List of environment variables to set in the container. Cannot be updated.", "description": "List of environment variables to set in the container. Cannot be updated.",
@@ -1966,6 +2000,10 @@
"default": {} "default": {}
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"name"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "name", "x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -1979,7 +2017,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"image": { "image": {
"description": "Container image name. More info: https://kubernetes.io/docs/concepts/containers/images", "description": "Container image name. More info: https://kubernetes.io/docs/concepts/containers/images",
@@ -2114,6 +2153,10 @@
"default": {} "default": {}
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"devicePath"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "devicePath", "x-kubernetes-patch-merge-key": "devicePath",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -2128,6 +2171,10 @@
"default": {} "default": {}
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"mountPath"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "mountPath", "x-kubernetes-patch-merge-key": "mountPath",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -2365,7 +2412,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object" "type": "object"
@@ -2392,7 +2440,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"wwids": { "wwids": {
"description": "wwids Optional: FC volume world wide identifiers (wwids) Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously.", "description": "wwids Optional: FC volume world wide identifiers (wwids) Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously.",
@@ -2400,7 +2449,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object" "type": "object"
@@ -2632,7 +2682,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"path": { "path": {
"description": "Path to access on the HTTP server.", "description": "Path to access on the HTTP server.",
@@ -2685,7 +2736,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"ip": { "ip": {
"description": "IP address of the host file entry.", "description": "IP address of the host file entry.",
@@ -2762,7 +2814,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"readOnly": { "readOnly": {
"description": "readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false.", "description": "readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false.",
@@ -2829,7 +2882,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"readOnly": { "readOnly": {
"description": "readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false.", "description": "readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false.",
@@ -3087,7 +3141,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"required": [ "required": [
@@ -3139,7 +3194,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object" "type": "object"
@@ -3346,7 +3402,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object" "type": "object"
@@ -3365,6 +3422,10 @@
"default": {} "default": {}
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"type"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "type", "x-kubernetes-patch-merge-key": "type",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -3456,7 +3517,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"requiredDuringSchedulingIgnoredDuringExecution": { "requiredDuringSchedulingIgnoredDuringExecution": {
"allOf": [ "allOf": [
@@ -3634,7 +3696,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"required": [ "required": [
@@ -3662,7 +3725,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"required": [ "required": [
@@ -3684,7 +3748,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"matchFields": { "matchFields": {
"description": "A list of node selector requirements by node's fields.", "description": "A list of node selector requirements by node's fields.",
@@ -3696,7 +3761,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object", "type": "object",
@@ -3728,6 +3794,7 @@
"type": "string" "type": "string"
}, },
"type": "array", "type": "array",
"x-kubernetes-list-type": "set",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
"providerID": { "providerID": {
@@ -3744,7 +3811,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"unschedulable": { "unschedulable": {
"description": "Unschedulable controls node schedulability of new pods. By default, node is schedulable. More info: https://kubernetes.io/docs/concepts/nodes/node/#manual-node-administration", "description": "Unschedulable controls node schedulability of new pods. By default, node is schedulable. More info: https://kubernetes.io/docs/concepts/nodes/node/#manual-node-administration",
@@ -3767,6 +3835,10 @@
"default": {} "default": {}
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"type"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "type", "x-kubernetes-patch-merge-key": "type",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -3795,6 +3867,10 @@
"default": {} "default": {}
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"type"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "type", "x-kubernetes-patch-merge-key": "type",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -3825,7 +3901,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"nodeInfo": { "nodeInfo": {
"allOf": [ "allOf": [
@@ -3850,7 +3927,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"volumesInUse": { "volumesInUse": {
"description": "List of attachable volumes in use (mounted) by the node.", "description": "List of attachable volumes in use (mounted) by the node.",
@@ -3858,7 +3936,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object" "type": "object"
@@ -4177,7 +4256,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"dataSource": { "dataSource": {
"allOf": [ "allOf": [
@@ -4240,7 +4320,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"allocatedResourceStatuses": { "allocatedResourceStatuses": {
"additionalProperties": { "additionalProperties": {
@@ -4276,6 +4357,10 @@
"default": {} "default": {}
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"type"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "type", "x-kubernetes-patch-merge-key": "type",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -4397,7 +4482,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"awsElasticBlockStore": { "awsElasticBlockStore": {
"allOf": [ "allOf": [
@@ -4533,7 +4619,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"nfs": { "nfs": {
"allOf": [ "allOf": [
@@ -4731,7 +4818,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"requiredDuringSchedulingIgnoredDuringExecution": { "requiredDuringSchedulingIgnoredDuringExecution": {
"description": "If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.", "description": "If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.",
@@ -4743,7 +4831,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object" "type": "object"
@@ -4791,7 +4880,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"topologyKey": { "topologyKey": {
"default": "", "default": "",
@@ -4817,7 +4907,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"requiredDuringSchedulingIgnoredDuringExecution": { "requiredDuringSchedulingIgnoredDuringExecution": {
"description": "If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.", "description": "If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.",
@@ -4829,7 +4920,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object" "type": "object"
@@ -4887,7 +4979,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"options": { "options": {
"description": "A list of DNS resolver options. This will be merged with the base options generated from DNSPolicy. Duplicated entries will be removed. Resolution options given in Options will override those that appear in the base DNSPolicy.", "description": "A list of DNS resolver options. This will be merged with the base options generated from DNSPolicy. Duplicated entries will be removed. Resolution options given in Options will override those that appear in the base DNSPolicy.",
@@ -4899,7 +4992,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"searches": { "searches": {
"description": "A list of DNS search domains for host-name lookup. This will be appended to the base search paths generated from DNSPolicy. Duplicated search paths will be removed.", "description": "A list of DNS search domains for host-name lookup. This will be appended to the base search paths generated from DNSPolicy. Duplicated search paths will be removed.",
@@ -4907,7 +5001,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object" "type": "object"
@@ -5112,7 +5207,8 @@
"format": "int64", "format": "int64",
"type": "integer" "type": "integer"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"sysctls": { "sysctls": {
"description": "Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported sysctls (by the container runtime) might fail to launch. Note that this field cannot be set when spec.os.name is windows.", "description": "Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported sysctls (by the container runtime) might fail to launch. Note that this field cannot be set when spec.os.name is windows.",
@@ -5124,7 +5220,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"windowsOptions": { "windowsOptions": {
"allOf": [ "allOf": [
@@ -5168,6 +5265,10 @@
"default": {} "default": {}
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"name"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "name", "x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -5198,6 +5299,10 @@
"default": {} "default": {}
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"name"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "name", "x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -5212,6 +5317,10 @@
"default": {} "default": {}
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"ip"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "ip", "x-kubernetes-patch-merge-key": "ip",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -5246,6 +5355,10 @@
"default": {} "default": {}
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"name"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "name", "x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -5260,6 +5373,10 @@
"default": {} "default": {}
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"name"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "name", "x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -5314,7 +5431,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"resourceClaims": { "resourceClaims": {
"description": "ResourceClaims defines which ResourceClaims must be allocated and reserved before the Pod is allowed to start. The resources will be made available to those containers which consume them by name.\n\nThis is an alpha field and requires enabling the DynamicResourceAllocation feature gate.\n\nThis field is immutable.", "description": "ResourceClaims defines which ResourceClaims must be allocated and reserved before the Pod is allowed to start. The resources will be made available to those containers which consume them by name.\n\nThis is an alpha field and requires enabling the DynamicResourceAllocation feature gate.\n\nThis field is immutable.",
@@ -5407,7 +5525,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"topologySpreadConstraints": { "topologySpreadConstraints": {
"description": "TopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. All topologySpreadConstraints are ANDed.", "description": "TopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. All topologySpreadConstraints are ANDed.",
@@ -5439,6 +5558,10 @@
"default": {} "default": {}
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"name"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "name", "x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge,retainKeys" "x-kubernetes-patch-strategy": "merge,retainKeys"
} }
@@ -5462,6 +5585,10 @@
"default": {} "default": {}
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"type"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "type", "x-kubernetes-patch-merge-key": "type",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -5475,7 +5602,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"ephemeralContainerStatuses": { "ephemeralContainerStatuses": {
"description": "Status for any ephemeral containers that have run in this pod.", "description": "Status for any ephemeral containers that have run in this pod.",
@@ -5487,7 +5615,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"hostIP": { "hostIP": {
"description": "hostIP holds the IP address of the host to which the pod is assigned. Empty if the pod has not started yet. A pod can be assigned to a node that has a problem in kubelet which in turns mean that HostIP will not be updated even if there is a node is assigned to pod", "description": "hostIP holds the IP address of the host to which the pod is assigned. Empty if the pod has not started yet. A pod can be assigned to a node that has a problem in kubelet which in turns mean that HostIP will not be updated even if there is a node is assigned to pod",
@@ -5518,7 +5647,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"message": { "message": {
"description": "A human readable message indicating details about why the pod is in this condition.", "description": "A human readable message indicating details about why the pod is in this condition.",
@@ -5547,6 +5677,10 @@
"default": {} "default": {}
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"ip"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "ip", "x-kubernetes-patch-merge-key": "ip",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -5856,7 +5990,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object" "type": "object"
@@ -5919,7 +6054,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"pool": { "pool": {
"description": "pool is the rados pool name. Default is rbd. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it", "description": "pool is the rados pool name. Default is rbd. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it",
@@ -5970,7 +6106,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"pool": { "pool": {
"description": "pool is the rados pool name. Default is rbd. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it", "description": "pool is the rados pool name. Default is rbd. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it",
@@ -6180,6 +6317,10 @@
"default": {} "default": {}
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"type"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "type", "x-kubernetes-patch-merge-key": "type",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -6368,7 +6509,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object" "type": "object"
@@ -6578,7 +6720,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object", "type": "object",
@@ -6603,7 +6746,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"required": [ "required": [
@@ -6787,7 +6931,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"name": { "name": {
"description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
@@ -6833,7 +6978,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"optional": { "optional": {
"description": "optional field specify whether the Secret or its keys must be defined", "description": "optional field specify whether the Secret or its keys must be defined",
@@ -6983,7 +7129,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"kind": { "kind": {
"description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
@@ -7009,6 +7156,10 @@
"default": {} "default": {}
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"name"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "name", "x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
} }
@@ -7202,7 +7353,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"externalName": { "externalName": {
"description": "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 \"ExternalName\".", "description": "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 \"ExternalName\".",
@@ -7248,7 +7400,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"ports": { "ports": {
"description": "The list of ports that are exposed by this service. More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies", "description": "The list of ports that are exposed by this service. More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies",

View File

@@ -1498,7 +1498,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"drop": { "drop": {
"description": "Removed capabilities", "description": "Removed capabilities",
@@ -1506,7 +1507,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object" "type": "object"
@@ -1520,7 +1522,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"path": { "path": {
"description": "path is Optional: Used as the mounted root, rather than the full Ceph tree, default is /", "description": "path is Optional: Used as the mounted root, rather than the full Ceph tree, default is /",
@@ -1680,7 +1683,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"name": { "name": {
"description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
@@ -1711,7 +1715,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"name": { "name": {
"description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
@@ -1733,7 +1738,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"command": { "command": {
"description": "Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell", "description": "Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell",
@@ -1741,7 +1747,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"env": { "env": {
"description": "List of environment variables to set in the container. Cannot be updated.", "description": "List of environment variables to set in the container. Cannot be updated.",
@@ -1754,6 +1761,10 @@
"default": {} "default": {}
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"name"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "name", "x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -1767,7 +1778,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"image": { "image": {
"description": "Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.", "description": "Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.",
@@ -1898,6 +1910,10 @@
"default": {} "default": {}
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"devicePath"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "devicePath", "x-kubernetes-patch-merge-key": "devicePath",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -1912,6 +1928,10 @@
"default": {} "default": {}
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"mountPath"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "mountPath", "x-kubernetes-patch-merge-key": "mountPath",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -1991,7 +2011,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object" "type": "object"
@@ -2049,7 +2070,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object" "type": "object"
@@ -2171,7 +2193,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"command": { "command": {
"description": "Entrypoint array. Not executed within a shell. The image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell", "description": "Entrypoint array. Not executed within a shell. The image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell",
@@ -2179,7 +2202,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"env": { "env": {
"description": "List of environment variables to set in the container. Cannot be updated.", "description": "List of environment variables to set in the container. Cannot be updated.",
@@ -2192,6 +2216,10 @@
"default": {} "default": {}
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"name"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "name", "x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -2205,7 +2233,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"image": { "image": {
"description": "Container image name. More info: https://kubernetes.io/docs/concepts/containers/images", "description": "Container image name. More info: https://kubernetes.io/docs/concepts/containers/images",
@@ -2340,6 +2369,10 @@
"default": {} "default": {}
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"devicePath"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "devicePath", "x-kubernetes-patch-merge-key": "devicePath",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -2354,6 +2387,10 @@
"default": {} "default": {}
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"mountPath"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "mountPath", "x-kubernetes-patch-merge-key": "mountPath",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -2390,7 +2427,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object" "type": "object"
@@ -2417,7 +2455,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"wwids": { "wwids": {
"description": "wwids Optional: FC volume world wide identifiers (wwids) Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously.", "description": "wwids Optional: FC volume world wide identifiers (wwids) Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously.",
@@ -2425,7 +2464,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object" "type": "object"
@@ -2591,7 +2631,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"path": { "path": {
"description": "Path to access on the HTTP server.", "description": "Path to access on the HTTP server.",
@@ -2644,7 +2685,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"ip": { "ip": {
"description": "IP address of the host file entry.", "description": "IP address of the host file entry.",
@@ -2711,7 +2753,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"readOnly": { "readOnly": {
"description": "readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false.", "description": "readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false.",
@@ -2889,7 +2932,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"requiredDuringSchedulingIgnoredDuringExecution": { "requiredDuringSchedulingIgnoredDuringExecution": {
"allOf": [ "allOf": [
@@ -2915,7 +2959,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"required": [ "required": [
@@ -2943,7 +2988,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"required": [ "required": [
@@ -2965,7 +3011,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"matchFields": { "matchFields": {
"description": "A list of node selector requirements by node's fields.", "description": "A list of node selector requirements by node's fields.",
@@ -2977,7 +3024,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object", "type": "object",
@@ -3101,7 +3149,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"dataSource": { "dataSource": {
"allOf": [ "allOf": [
@@ -3164,7 +3213,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"allocatedResourceStatuses": { "allocatedResourceStatuses": {
"additionalProperties": { "additionalProperties": {
@@ -3200,6 +3250,10 @@
"default": {} "default": {}
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"type"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "type", "x-kubernetes-patch-merge-key": "type",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -3298,7 +3352,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"requiredDuringSchedulingIgnoredDuringExecution": { "requiredDuringSchedulingIgnoredDuringExecution": {
"description": "If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.", "description": "If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.",
@@ -3310,7 +3365,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object" "type": "object"
@@ -3358,7 +3414,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"topologyKey": { "topologyKey": {
"default": "", "default": "",
@@ -3384,7 +3441,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"requiredDuringSchedulingIgnoredDuringExecution": { "requiredDuringSchedulingIgnoredDuringExecution": {
"description": "If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.", "description": "If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.",
@@ -3396,7 +3454,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object" "type": "object"
@@ -3410,7 +3469,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"options": { "options": {
"description": "A list of DNS resolver options. This will be merged with the base options generated from DNSPolicy. Duplicated entries will be removed. Resolution options given in Options will override those that appear in the base DNSPolicy.", "description": "A list of DNS resolver options. This will be merged with the base options generated from DNSPolicy. Duplicated entries will be removed. Resolution options given in Options will override those that appear in the base DNSPolicy.",
@@ -3422,7 +3482,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"searches": { "searches": {
"description": "A list of DNS search domains for host-name lookup. This will be appended to the base search paths generated from DNSPolicy. Duplicated search paths will be removed.", "description": "A list of DNS search domains for host-name lookup. This will be appended to the base search paths generated from DNSPolicy. Duplicated search paths will be removed.",
@@ -3430,7 +3491,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object" "type": "object"
@@ -3562,7 +3624,8 @@
"format": "int64", "format": "int64",
"type": "integer" "type": "integer"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"sysctls": { "sysctls": {
"description": "Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported sysctls (by the container runtime) might fail to launch. Note that this field cannot be set when spec.os.name is windows.", "description": "Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported sysctls (by the container runtime) might fail to launch. Note that this field cannot be set when spec.os.name is windows.",
@@ -3574,7 +3637,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"windowsOptions": { "windowsOptions": {
"allOf": [ "allOf": [
@@ -3618,6 +3682,10 @@
"default": {} "default": {}
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"name"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "name", "x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -3648,6 +3716,10 @@
"default": {} "default": {}
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"name"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "name", "x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -3662,6 +3734,10 @@
"default": {} "default": {}
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"ip"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "ip", "x-kubernetes-patch-merge-key": "ip",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -3696,6 +3772,10 @@
"default": {} "default": {}
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"name"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "name", "x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -3710,6 +3790,10 @@
"default": {} "default": {}
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"name"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "name", "x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -3764,7 +3848,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"resourceClaims": { "resourceClaims": {
"description": "ResourceClaims defines which ResourceClaims must be allocated and reserved before the Pod is allowed to start. The resources will be made available to those containers which consume them by name.\n\nThis is an alpha field and requires enabling the DynamicResourceAllocation feature gate.\n\nThis field is immutable.", "description": "ResourceClaims defines which ResourceClaims must be allocated and reserved before the Pod is allowed to start. The resources will be made available to those containers which consume them by name.\n\nThis is an alpha field and requires enabling the DynamicResourceAllocation feature gate.\n\nThis field is immutable.",
@@ -3857,7 +3942,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"topologySpreadConstraints": { "topologySpreadConstraints": {
"description": "TopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. All topologySpreadConstraints are ANDed.", "description": "TopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. All topologySpreadConstraints are ANDed.",
@@ -3889,6 +3975,10 @@
"default": {} "default": {}
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"name"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "name", "x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge,retainKeys" "x-kubernetes-patch-strategy": "merge,retainKeys"
} }
@@ -4055,7 +4145,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object" "type": "object"
@@ -4118,7 +4209,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"pool": { "pool": {
"description": "pool is the rados pool name. Default is rbd. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it", "description": "pool is the rados pool name. Default is rbd. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it",
@@ -4379,7 +4471,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"name": { "name": {
"description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
@@ -4410,7 +4503,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"optional": { "optional": {
"description": "optional field specify whether the Secret or its keys must be defined", "description": "optional field specify whether the Secret or its keys must be defined",

View File

@@ -798,7 +798,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"drop": { "drop": {
"description": "Removed capabilities", "description": "Removed capabilities",
@@ -806,7 +807,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object" "type": "object"
@@ -820,7 +822,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"path": { "path": {
"description": "path is Optional: Used as the mounted root, rather than the full Ceph tree, default is /", "description": "path is Optional: Used as the mounted root, rather than the full Ceph tree, default is /",
@@ -980,7 +983,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"name": { "name": {
"description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
@@ -1011,7 +1015,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"name": { "name": {
"description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
@@ -1033,7 +1038,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"command": { "command": {
"description": "Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell", "description": "Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell",
@@ -1041,7 +1047,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"env": { "env": {
"description": "List of environment variables to set in the container. Cannot be updated.", "description": "List of environment variables to set in the container. Cannot be updated.",
@@ -1054,6 +1061,10 @@
"default": {} "default": {}
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"name"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "name", "x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -1067,7 +1078,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"image": { "image": {
"description": "Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.", "description": "Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.",
@@ -1198,6 +1210,10 @@
"default": {} "default": {}
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"devicePath"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "devicePath", "x-kubernetes-patch-merge-key": "devicePath",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -1212,6 +1228,10 @@
"default": {} "default": {}
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"mountPath"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "mountPath", "x-kubernetes-patch-merge-key": "mountPath",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -1291,7 +1311,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object" "type": "object"
@@ -1349,7 +1370,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object" "type": "object"
@@ -1471,7 +1493,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"command": { "command": {
"description": "Entrypoint array. Not executed within a shell. The image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell", "description": "Entrypoint array. Not executed within a shell. The image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell",
@@ -1479,7 +1502,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"env": { "env": {
"description": "List of environment variables to set in the container. Cannot be updated.", "description": "List of environment variables to set in the container. Cannot be updated.",
@@ -1492,6 +1516,10 @@
"default": {} "default": {}
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"name"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "name", "x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -1505,7 +1533,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"image": { "image": {
"description": "Container image name. More info: https://kubernetes.io/docs/concepts/containers/images", "description": "Container image name. More info: https://kubernetes.io/docs/concepts/containers/images",
@@ -1640,6 +1669,10 @@
"default": {} "default": {}
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"devicePath"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "devicePath", "x-kubernetes-patch-merge-key": "devicePath",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -1654,6 +1687,10 @@
"default": {} "default": {}
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"mountPath"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "mountPath", "x-kubernetes-patch-merge-key": "mountPath",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -1690,7 +1727,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object" "type": "object"
@@ -1717,7 +1755,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"wwids": { "wwids": {
"description": "wwids Optional: FC volume world wide identifiers (wwids) Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously.", "description": "wwids Optional: FC volume world wide identifiers (wwids) Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously.",
@@ -1725,7 +1764,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object" "type": "object"
@@ -1891,7 +1931,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"path": { "path": {
"description": "Path to access on the HTTP server.", "description": "Path to access on the HTTP server.",
@@ -1944,7 +1985,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"ip": { "ip": {
"description": "IP address of the host file entry.", "description": "IP address of the host file entry.",
@@ -2011,7 +2053,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"readOnly": { "readOnly": {
"description": "readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false.", "description": "readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false.",
@@ -2171,7 +2214,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"requiredDuringSchedulingIgnoredDuringExecution": { "requiredDuringSchedulingIgnoredDuringExecution": {
"allOf": [ "allOf": [
@@ -2197,7 +2241,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"required": [ "required": [
@@ -2225,7 +2270,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"required": [ "required": [
@@ -2247,7 +2293,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"matchFields": { "matchFields": {
"description": "A list of node selector requirements by node's fields.", "description": "A list of node selector requirements by node's fields.",
@@ -2259,7 +2306,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object", "type": "object",
@@ -2328,7 +2376,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"dataSource": { "dataSource": {
"allOf": [ "allOf": [
@@ -2458,7 +2507,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"requiredDuringSchedulingIgnoredDuringExecution": { "requiredDuringSchedulingIgnoredDuringExecution": {
"description": "If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.", "description": "If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.",
@@ -2470,7 +2520,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object" "type": "object"
@@ -2518,7 +2569,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"topologyKey": { "topologyKey": {
"default": "", "default": "",
@@ -2544,7 +2596,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"requiredDuringSchedulingIgnoredDuringExecution": { "requiredDuringSchedulingIgnoredDuringExecution": {
"description": "If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.", "description": "If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.",
@@ -2556,7 +2609,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object" "type": "object"
@@ -2570,7 +2624,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"options": { "options": {
"description": "A list of DNS resolver options. This will be merged with the base options generated from DNSPolicy. Duplicated entries will be removed. Resolution options given in Options will override those that appear in the base DNSPolicy.", "description": "A list of DNS resolver options. This will be merged with the base options generated from DNSPolicy. Duplicated entries will be removed. Resolution options given in Options will override those that appear in the base DNSPolicy.",
@@ -2582,7 +2637,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"searches": { "searches": {
"description": "A list of DNS search domains for host-name lookup. This will be appended to the base search paths generated from DNSPolicy. Duplicated search paths will be removed.", "description": "A list of DNS search domains for host-name lookup. This will be appended to the base search paths generated from DNSPolicy. Duplicated search paths will be removed.",
@@ -2590,7 +2646,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object" "type": "object"
@@ -2722,7 +2779,8 @@
"format": "int64", "format": "int64",
"type": "integer" "type": "integer"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"sysctls": { "sysctls": {
"description": "Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported sysctls (by the container runtime) might fail to launch. Note that this field cannot be set when spec.os.name is windows.", "description": "Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported sysctls (by the container runtime) might fail to launch. Note that this field cannot be set when spec.os.name is windows.",
@@ -2734,7 +2792,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"windowsOptions": { "windowsOptions": {
"allOf": [ "allOf": [
@@ -2778,6 +2837,10 @@
"default": {} "default": {}
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"name"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "name", "x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -2808,6 +2871,10 @@
"default": {} "default": {}
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"name"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "name", "x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -2822,6 +2889,10 @@
"default": {} "default": {}
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"ip"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "ip", "x-kubernetes-patch-merge-key": "ip",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -2856,6 +2927,10 @@
"default": {} "default": {}
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"name"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "name", "x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -2870,6 +2945,10 @@
"default": {} "default": {}
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"name"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "name", "x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge" "x-kubernetes-patch-strategy": "merge"
}, },
@@ -2924,7 +3003,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"resourceClaims": { "resourceClaims": {
"description": "ResourceClaims defines which ResourceClaims must be allocated and reserved before the Pod is allowed to start. The resources will be made available to those containers which consume them by name.\n\nThis is an alpha field and requires enabling the DynamicResourceAllocation feature gate.\n\nThis field is immutable.", "description": "ResourceClaims defines which ResourceClaims must be allocated and reserved before the Pod is allowed to start. The resources will be made available to those containers which consume them by name.\n\nThis is an alpha field and requires enabling the DynamicResourceAllocation feature gate.\n\nThis field is immutable.",
@@ -3017,7 +3097,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"topologySpreadConstraints": { "topologySpreadConstraints": {
"description": "TopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. All topologySpreadConstraints are ANDed.", "description": "TopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. All topologySpreadConstraints are ANDed.",
@@ -3049,6 +3130,10 @@
"default": {} "default": {}
}, },
"type": "array", "type": "array",
"x-kubernetes-list-map-keys": [
"name"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "name", "x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge,retainKeys" "x-kubernetes-patch-strategy": "merge,retainKeys"
} }
@@ -3215,7 +3300,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object" "type": "object"
@@ -3278,7 +3364,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"pool": { "pool": {
"description": "pool is the rados pool name. Default is rbd. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it", "description": "pool is the rados pool name. Default is rbd. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it",
@@ -3539,7 +3626,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"name": { "name": {
"description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
@@ -3570,7 +3658,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"optional": { "optional": {
"description": "optional field specify whether the Secret or its keys must be defined", "description": "optional field specify whether the Secret or its keys must be defined",

View File

@@ -14,7 +14,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"required": [ "required": [
@@ -42,7 +43,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"required": [ "required": [
@@ -64,7 +66,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"matchFields": { "matchFields": {
"description": "A list of node selector requirements by node's fields.", "description": "A list of node selector requirements by node's fields.",
@@ -76,7 +79,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object", "type": "object",

View File

@@ -177,7 +177,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"path": { "path": {
"description": "path is Optional: Used as the mounted root, rather than the full Ceph tree, default is /", "description": "path is Optional: Used as the mounted root, rather than the full Ceph tree, default is /",
@@ -261,7 +262,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"wwids": { "wwids": {
"description": "wwids Optional: FC volume world wide identifiers (wwids) Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously.", "description": "wwids Optional: FC volume world wide identifiers (wwids) Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously.",
@@ -269,7 +271,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object" "type": "object"
@@ -439,7 +442,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"readOnly": { "readOnly": {
"description": "readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false.", "description": "readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false.",
@@ -521,7 +525,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"required": [ "required": [
@@ -549,7 +554,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"required": [ "required": [
@@ -571,7 +577,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"matchFields": { "matchFields": {
"description": "A list of node selector requirements by node's fields.", "description": "A list of node selector requirements by node's fields.",
@@ -583,7 +590,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object", "type": "object",
@@ -633,7 +641,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"awsElasticBlockStore": { "awsElasticBlockStore": {
"allOf": [ "allOf": [
@@ -769,7 +778,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"nfs": { "nfs": {
"allOf": [ "allOf": [
@@ -960,7 +970,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
}, },
"pool": { "pool": {
"description": "pool is the rados pool name. Default is rbd. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it", "description": "pool is the rados pool name. Default is rbd. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it",
@@ -1105,7 +1116,8 @@
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"required": [ "required": [
@@ -1127,7 +1139,8 @@
], ],
"default": {} "default": {}
}, },
"type": "array" "type": "array",
"x-kubernetes-list-type": "atomic"
} }
}, },
"type": "object", "type": "object",

File diff suppressed because it is too large Load Diff

View File

@@ -93,6 +93,7 @@ message AvoidPods {
// Bounded-sized list of signatures of pods that should avoid this node, sorted // Bounded-sized list of signatures of pods that should avoid this node, sorted
// in timestamp order from oldest to newest. Size of the slice is unspecified. // in timestamp order from oldest to newest. Size of the slice is unspecified.
// +optional // +optional
// +listType=atomic
repeated PreferAvoidPodsEntry preferAvoidPods = 1; repeated PreferAvoidPodsEntry preferAvoidPods = 1;
} }
@@ -269,10 +270,12 @@ message CSIVolumeSource {
message Capabilities { message Capabilities {
// Added capabilities // Added capabilities
// +optional // +optional
// +listType=atomic
repeated string add = 1; repeated string add = 1;
// Removed capabilities // Removed capabilities
// +optional // +optional
// +listType=atomic
repeated string drop = 2; repeated string drop = 2;
} }
@@ -281,6 +284,7 @@ message Capabilities {
message CephFSPersistentVolumeSource { message CephFSPersistentVolumeSource {
// monitors is Required: Monitors is a collection of Ceph monitors // monitors is Required: Monitors is a collection of Ceph monitors
// More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it // More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
// +listType=atomic
repeated string monitors = 1; repeated string monitors = 1;
// path is Optional: Used as the mounted root, rather than the full Ceph tree, default is / // path is Optional: Used as the mounted root, rather than the full Ceph tree, default is /
@@ -314,6 +318,7 @@ message CephFSPersistentVolumeSource {
message CephFSVolumeSource { message CephFSVolumeSource {
// monitors is Required: Monitors is a collection of Ceph monitors // monitors is Required: Monitors is a collection of Ceph monitors
// More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it // More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
// +listType=atomic
repeated string monitors = 1; repeated string monitors = 1;
// path is Optional: Used as the mounted root, rather than the full Ceph tree, default is / // path is Optional: Used as the mounted root, rather than the full Ceph tree, default is /
@@ -498,6 +503,8 @@ message ComponentStatus {
// +optional // +optional
// +patchMergeKey=type // +patchMergeKey=type
// +patchStrategy=merge // +patchStrategy=merge
// +listType=map
// +listMapKey=type
repeated ComponentCondition conditions = 2; repeated ComponentCondition conditions = 2;
} }
@@ -628,6 +635,7 @@ message ConfigMapProjection {
// the volume setup will error unless it is marked optional. Paths must be // the volume setup will error unless it is marked optional. Paths must be
// relative and may not contain the '..' path or start with '..'. // relative and may not contain the '..' path or start with '..'.
// +optional // +optional
// +listType=atomic
repeated KeyToPath items = 2; repeated KeyToPath items = 2;
// optional specify whether the ConfigMap or its keys must be defined // optional specify whether the ConfigMap or its keys must be defined
@@ -652,6 +660,7 @@ message ConfigMapVolumeSource {
// the volume setup will error unless it is marked optional. Paths must be // the volume setup will error unless it is marked optional. Paths must be
// relative and may not contain the '..' path or start with '..'. // relative and may not contain the '..' path or start with '..'.
// +optional // +optional
// +listType=atomic
repeated KeyToPath items = 2; repeated KeyToPath items = 2;
// defaultMode is optional: mode bits used to set permissions on created files by default. // defaultMode is optional: mode bits used to set permissions on created files by default.
@@ -692,6 +701,7 @@ message Container {
// of whether the variable exists or not. Cannot be updated. // of whether the variable exists or not. Cannot be updated.
// More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell // More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
// +optional // +optional
// +listType=atomic
repeated string command = 3; repeated string command = 3;
// Arguments to the entrypoint. // Arguments to the entrypoint.
@@ -703,6 +713,7 @@ message Container {
// of whether the variable exists or not. Cannot be updated. // of whether the variable exists or not. Cannot be updated.
// More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell // More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
// +optional // +optional
// +listType=atomic
repeated string args = 4; repeated string args = 4;
// Container's working directory. // Container's working directory.
@@ -734,6 +745,7 @@ message Container {
// Values defined by an Env with a duplicate key will take precedence. // Values defined by an Env with a duplicate key will take precedence.
// Cannot be updated. // Cannot be updated.
// +optional // +optional
// +listType=atomic
repeated EnvFromSource envFrom = 19; repeated EnvFromSource envFrom = 19;
// List of environment variables to set in the container. // List of environment variables to set in the container.
@@ -741,6 +753,8 @@ message Container {
// +optional // +optional
// +patchMergeKey=name // +patchMergeKey=name
// +patchStrategy=merge // +patchStrategy=merge
// +listType=map
// +listMapKey=name
repeated EnvVar env = 7; repeated EnvVar env = 7;
// Compute Resources required by this container. // Compute Resources required by this container.
@@ -779,11 +793,15 @@ message Container {
// +optional // +optional
// +patchMergeKey=mountPath // +patchMergeKey=mountPath
// +patchStrategy=merge // +patchStrategy=merge
// +listType=map
// +listMapKey=mountPath
repeated VolumeMount volumeMounts = 9; repeated VolumeMount volumeMounts = 9;
// volumeDevices is the list of block devices to be used by the container. // volumeDevices is the list of block devices to be used by the container.
// +patchMergeKey=devicePath // +patchMergeKey=devicePath
// +patchStrategy=merge // +patchStrategy=merge
// +listType=map
// +listMapKey=devicePath
// +optional // +optional
repeated VolumeDevice volumeDevices = 21; repeated VolumeDevice volumeDevices = 21;
@@ -877,6 +895,7 @@ message ContainerImage {
// Names by which this image is known. // Names by which this image is known.
// e.g. ["kubernetes.example/hyperkube:v1.0.7", "cloud-vendor.registry.example/cloud-vendor/hyperkube:v1.0.7"] // e.g. ["kubernetes.example/hyperkube:v1.0.7", "cloud-vendor.registry.example/cloud-vendor/hyperkube:v1.0.7"]
// +optional // +optional
// +listType=atomic
repeated string names = 1; repeated string names = 1;
// The size of the image in bytes. // The size of the image in bytes.
@@ -1076,6 +1095,7 @@ message DaemonEndpoint {
message DownwardAPIProjection { message DownwardAPIProjection {
// Items is a list of DownwardAPIVolume file // Items is a list of DownwardAPIVolume file
// +optional // +optional
// +listType=atomic
repeated DownwardAPIVolumeFile items = 1; repeated DownwardAPIVolumeFile items = 1;
} }
@@ -1108,6 +1128,7 @@ message DownwardAPIVolumeFile {
message DownwardAPIVolumeSource { message DownwardAPIVolumeSource {
// Items is a list of downward API volume file // Items is a list of downward API volume file
// +optional // +optional
// +listType=atomic
repeated DownwardAPIVolumeFile items = 1; repeated DownwardAPIVolumeFile items = 1;
// Optional: mode bits to use on created files by default. Must be a // Optional: mode bits to use on created files by default. Must be a
@@ -1218,16 +1239,19 @@ message EndpointSubset {
// IP addresses which offer the related ports that are marked as ready. These endpoints // IP addresses which offer the related ports that are marked as ready. These endpoints
// should be considered safe for load balancers and clients to utilize. // should be considered safe for load balancers and clients to utilize.
// +optional // +optional
// +listType=atomic
repeated EndpointAddress addresses = 1; repeated EndpointAddress addresses = 1;
// IP addresses which offer the related ports but are not currently marked as ready // IP addresses which offer the related ports but are not currently marked as ready
// because they have not yet finished starting, have recently failed a readiness check, // because they have not yet finished starting, have recently failed a readiness check,
// or have recently failed a liveness check. // or have recently failed a liveness check.
// +optional // +optional
// +listType=atomic
repeated EndpointAddress notReadyAddresses = 2; repeated EndpointAddress notReadyAddresses = 2;
// Port numbers available on the related IP addresses. // Port numbers available on the related IP addresses.
// +optional // +optional
// +listType=atomic
repeated EndpointPort ports = 3; repeated EndpointPort ports = 3;
} }
@@ -1258,6 +1282,7 @@ message Endpoints {
// NotReadyAddresses in the same subset. // NotReadyAddresses in the same subset.
// Sets of addresses and ports that comprise a service. // Sets of addresses and ports that comprise a service.
// +optional // +optional
// +listType=atomic
repeated EndpointSubset subsets = 2; repeated EndpointSubset subsets = 2;
} }
@@ -1377,6 +1402,7 @@ message EphemeralContainerCommon {
// of whether the variable exists or not. Cannot be updated. // of whether the variable exists or not. Cannot be updated.
// More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell // More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
// +optional // +optional
// +listType=atomic
repeated string command = 3; repeated string command = 3;
// Arguments to the entrypoint. // Arguments to the entrypoint.
@@ -1388,6 +1414,7 @@ message EphemeralContainerCommon {
// of whether the variable exists or not. Cannot be updated. // of whether the variable exists or not. Cannot be updated.
// More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell // More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
// +optional // +optional
// +listType=atomic
repeated string args = 4; repeated string args = 4;
// Container's working directory. // Container's working directory.
@@ -1413,6 +1440,7 @@ message EphemeralContainerCommon {
// Values defined by an Env with a duplicate key will take precedence. // Values defined by an Env with a duplicate key will take precedence.
// Cannot be updated. // Cannot be updated.
// +optional // +optional
// +listType=atomic
repeated EnvFromSource envFrom = 19; repeated EnvFromSource envFrom = 19;
// List of environment variables to set in the container. // List of environment variables to set in the container.
@@ -1420,6 +1448,8 @@ message EphemeralContainerCommon {
// +optional // +optional
// +patchMergeKey=name // +patchMergeKey=name
// +patchStrategy=merge // +patchStrategy=merge
// +listType=map
// +listMapKey=name
repeated EnvVar env = 7; repeated EnvVar env = 7;
// Resources are not allowed for ephemeral containers. Ephemeral containers use spare resources // Resources are not allowed for ephemeral containers. Ephemeral containers use spare resources
@@ -1446,11 +1476,15 @@ message EphemeralContainerCommon {
// +optional // +optional
// +patchMergeKey=mountPath // +patchMergeKey=mountPath
// +patchStrategy=merge // +patchStrategy=merge
// +listType=map
// +listMapKey=mountPath
repeated VolumeMount volumeMounts = 9; repeated VolumeMount volumeMounts = 9;
// volumeDevices is the list of block devices to be used by the container. // volumeDevices is the list of block devices to be used by the container.
// +patchMergeKey=devicePath // +patchMergeKey=devicePath
// +patchStrategy=merge // +patchStrategy=merge
// +listType=map
// +listMapKey=devicePath
// +optional // +optional
repeated VolumeDevice volumeDevices = 21; repeated VolumeDevice volumeDevices = 21;
@@ -1661,6 +1695,7 @@ message ExecAction {
// a shell, you need to explicitly call out to that shell. // a shell, you need to explicitly call out to that shell.
// Exit status of 0 is treated as live/healthy and non-zero is unhealthy. // Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
// +optional // +optional
// +listType=atomic
repeated string command = 1; repeated string command = 1;
} }
@@ -1670,6 +1705,7 @@ message ExecAction {
message FCVolumeSource { message FCVolumeSource {
// targetWWNs is Optional: FC target worldwide names (WWNs) // targetWWNs is Optional: FC target worldwide names (WWNs)
// +optional // +optional
// +listType=atomic
repeated string targetWWNs = 1; repeated string targetWWNs = 1;
// lun is Optional: FC target lun number // lun is Optional: FC target lun number
@@ -1691,6 +1727,7 @@ message FCVolumeSource {
// wwids Optional: FC volume world wide identifiers (wwids) // wwids Optional: FC volume world wide identifiers (wwids)
// Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously. // Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously.
// +optional // +optional
// +listType=atomic
repeated string wwids = 5; repeated string wwids = 5;
} }
@@ -1903,6 +1940,7 @@ message HTTPGetAction {
// Custom headers to set in the request. HTTP allows repeated headers. // Custom headers to set in the request. HTTP allows repeated headers.
// +optional // +optional
// +listType=atomic
repeated HTTPHeader httpHeaders = 5; repeated HTTPHeader httpHeaders = 5;
} }
@@ -1923,6 +1961,7 @@ message HostAlias {
optional string ip = 1; optional string ip = 1;
// Hostnames for the above IP address. // Hostnames for the above IP address.
// +listType=atomic
repeated string hostnames = 2; repeated string hostnames = 2;
} }
@@ -1982,6 +2021,7 @@ message ISCSIPersistentVolumeSource {
// portals is the iSCSI Target Portal List. The Portal is either an IP or ip_addr:port if the port // portals is the iSCSI Target Portal List. The Portal is either an IP or ip_addr:port if the port
// is other than default (typically TCP ports 860 and 3260). // is other than default (typically TCP ports 860 and 3260).
// +optional // +optional
// +listType=atomic
repeated string portals = 7; repeated string portals = 7;
// chapAuthDiscovery defines whether support iSCSI Discovery CHAP authentication // chapAuthDiscovery defines whether support iSCSI Discovery CHAP authentication
@@ -2038,6 +2078,7 @@ message ISCSIVolumeSource {
// portals is the iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port // portals is the iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port
// is other than default (typically TCP ports 860 and 3260). // is other than default (typically TCP ports 860 and 3260).
// +optional // +optional
// +listType=atomic
repeated string portals = 7; repeated string portals = 7;
// chapAuthDiscovery defines whether support iSCSI Discovery CHAP authentication // chapAuthDiscovery defines whether support iSCSI Discovery CHAP authentication
@@ -2181,6 +2222,7 @@ message LimitRangeList {
// LimitRangeSpec defines a min/max usage limit for resources that match on kind. // LimitRangeSpec defines a min/max usage limit for resources that match on kind.
message LimitRangeSpec { message LimitRangeSpec {
// Limits is the list of LimitRangeItem objects that are enforced. // Limits is the list of LimitRangeItem objects that are enforced.
// +listType=atomic
repeated LimitRangeItem limits = 1; repeated LimitRangeItem limits = 1;
} }
@@ -2229,6 +2271,7 @@ message LoadBalancerStatus {
// Ingress is a list containing ingress points for the load-balancer. // Ingress is a list containing ingress points for the load-balancer.
// Traffic intended for the service should be sent to these ingress points. // Traffic intended for the service should be sent to these ingress points.
// +optional // +optional
// +listType=atomic
repeated LoadBalancerIngress ingress = 1; repeated LoadBalancerIngress ingress = 1;
} }
@@ -2347,6 +2390,7 @@ message NamespaceSpec {
// Finalizers is an opaque list of values that must be empty to permanently remove object from storage. // Finalizers is an opaque list of values that must be empty to permanently remove object from storage.
// More info: https://kubernetes.io/docs/tasks/administer-cluster/namespaces/ // More info: https://kubernetes.io/docs/tasks/administer-cluster/namespaces/
// +optional // +optional
// +listType=atomic
repeated string finalizers = 1; repeated string finalizers = 1;
} }
@@ -2361,6 +2405,8 @@ message NamespaceStatus {
// +optional // +optional
// +patchMergeKey=type // +patchMergeKey=type
// +patchStrategy=merge // +patchStrategy=merge
// +listType=map
// +listMapKey=type
repeated NamespaceCondition conditions = 2; repeated NamespaceCondition conditions = 2;
} }
@@ -2414,6 +2460,7 @@ message NodeAffinity {
// "weight" to the sum if the node matches the corresponding matchExpressions; the // "weight" to the sum if the node matches the corresponding matchExpressions; the
// node(s) with the highest sum are the most preferred. // node(s) with the highest sum are the most preferred.
// +optional // +optional
// +listType=atomic
repeated PreferredSchedulingTerm preferredDuringSchedulingIgnoredDuringExecution = 2; repeated PreferredSchedulingTerm preferredDuringSchedulingIgnoredDuringExecution = 2;
} }
@@ -2537,6 +2584,7 @@ message NodeResources {
// +structType=atomic // +structType=atomic
message NodeSelector { message NodeSelector {
// Required. A list of node selector terms. The terms are ORed. // Required. A list of node selector terms. The terms are ORed.
// +listType=atomic
repeated NodeSelectorTerm nodeSelectorTerms = 1; repeated NodeSelectorTerm nodeSelectorTerms = 1;
} }
@@ -2556,6 +2604,7 @@ message NodeSelectorRequirement {
// array must have a single element, which will be interpreted as an integer. // array must have a single element, which will be interpreted as an integer.
// This array is replaced during a strategic merge patch. // This array is replaced during a strategic merge patch.
// +optional // +optional
// +listType=atomic
repeated string values = 3; repeated string values = 3;
} }
@@ -2566,10 +2615,12 @@ message NodeSelectorRequirement {
message NodeSelectorTerm { message NodeSelectorTerm {
// A list of node selector requirements by node's labels. // A list of node selector requirements by node's labels.
// +optional // +optional
// +listType=atomic
repeated NodeSelectorRequirement matchExpressions = 1; repeated NodeSelectorRequirement matchExpressions = 1;
// A list of node selector requirements by node's fields. // A list of node selector requirements by node's fields.
// +optional // +optional
// +listType=atomic
repeated NodeSelectorRequirement matchFields = 2; repeated NodeSelectorRequirement matchFields = 2;
} }
@@ -2584,6 +2635,7 @@ message NodeSpec {
// each of IPv4 and IPv6. // each of IPv4 and IPv6.
// +optional // +optional
// +patchStrategy=merge // +patchStrategy=merge
// +listType=set
repeated string podCIDRs = 7; repeated string podCIDRs = 7;
// ID of the node assigned by the cloud provider in the format: <ProviderName>://<ProviderSpecificNodeID> // ID of the node assigned by the cloud provider in the format: <ProviderName>://<ProviderSpecificNodeID>
@@ -2597,6 +2649,7 @@ message NodeSpec {
// If specified, the node's taints. // If specified, the node's taints.
// +optional // +optional
// +listType=atomic
repeated Taint taints = 5; repeated Taint taints = 5;
// Deprecated: Previously used to specify the source of the node's configuration for the DynamicKubeletConfig feature. This feature is removed. // Deprecated: Previously used to specify the source of the node's configuration for the DynamicKubeletConfig feature. This feature is removed.
@@ -2632,6 +2685,8 @@ message NodeStatus {
// +optional // +optional
// +patchMergeKey=type // +patchMergeKey=type
// +patchStrategy=merge // +patchStrategy=merge
// +listType=map
// +listMapKey=type
repeated NodeCondition conditions = 4; repeated NodeCondition conditions = 4;
// List of addresses reachable to the node. // List of addresses reachable to the node.
@@ -2647,6 +2702,8 @@ message NodeStatus {
// +optional // +optional
// +patchMergeKey=type // +patchMergeKey=type
// +patchStrategy=merge // +patchStrategy=merge
// +listType=map
// +listMapKey=type
repeated NodeAddress addresses = 5; repeated NodeAddress addresses = 5;
// Endpoints of daemons running on the Node. // Endpoints of daemons running on the Node.
@@ -2660,14 +2717,17 @@ message NodeStatus {
// List of container images on this node // List of container images on this node
// +optional // +optional
// +listType=atomic
repeated ContainerImage images = 8; repeated ContainerImage images = 8;
// List of attachable volumes in use (mounted) by the node. // List of attachable volumes in use (mounted) by the node.
// +optional // +optional
// +listType=atomic
repeated string volumesInUse = 9; repeated string volumesInUse = 9;
// List of volumes that are attached to the node. // List of volumes that are attached to the node.
// +optional // +optional
// +listType=atomic
repeated AttachedVolume volumesAttached = 10; repeated AttachedVolume volumesAttached = 10;
// Status of the config assigned to the node via the dynamic Kubelet config feature. // Status of the config assigned to the node via the dynamic Kubelet config feature.
@@ -2868,6 +2928,7 @@ message PersistentVolumeClaimSpec {
// accessModes contains the desired access modes the volume should have. // accessModes contains the desired access modes the volume should have.
// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 // More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
// +optional // +optional
// +listType=atomic
repeated string accessModes = 1; repeated string accessModes = 1;
// selector is a label query over volumes to consider for binding. // selector is a label query over volumes to consider for binding.
@@ -2959,6 +3020,7 @@ message PersistentVolumeClaimStatus {
// accessModes contains the actual access modes the volume backing the PVC has. // accessModes contains the actual access modes the volume backing the PVC has.
// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 // More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
// +optional // +optional
// +listType=atomic
repeated string accessModes = 2; repeated string accessModes = 2;
// capacity represents the actual resources of the underlying volume. // capacity represents the actual resources of the underlying volume.
@@ -2970,6 +3032,8 @@ message PersistentVolumeClaimStatus {
// +optional // +optional
// +patchMergeKey=type // +patchMergeKey=type
// +patchStrategy=merge // +patchStrategy=merge
// +listType=map
// +listMapKey=type
repeated PersistentVolumeClaimCondition conditions = 4; repeated PersistentVolumeClaimCondition conditions = 4;
// allocatedResources tracks the resources allocated to a PVC including its capacity. // allocatedResources tracks the resources allocated to a PVC including its capacity.
@@ -3217,6 +3281,7 @@ message PersistentVolumeSpec {
// accessModes contains all ways the volume can be mounted. // accessModes contains all ways the volume can be mounted.
// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes // More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes
// +optional // +optional
// +listType=atomic
repeated string accessModes = 3; repeated string accessModes = 3;
// claimRef is part of a bi-directional binding between PersistentVolume and PersistentVolumeClaim. // claimRef is part of a bi-directional binding between PersistentVolume and PersistentVolumeClaim.
@@ -3244,6 +3309,7 @@ message PersistentVolumeSpec {
// simply fail if one is invalid. // simply fail if one is invalid.
// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes/#mount-options // More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes/#mount-options
// +optional // +optional
// +listType=atomic
repeated string mountOptions = 7; repeated string mountOptions = 7;
// volumeMode defines if a volume is intended to be used with a formatted filesystem // volumeMode defines if a volume is intended to be used with a formatted filesystem
@@ -3335,6 +3401,7 @@ message PodAffinity {
// When there are multiple elements, the lists of nodes corresponding to each // When there are multiple elements, the lists of nodes corresponding to each
// podAffinityTerm are intersected, i.e. all terms must be satisfied. // podAffinityTerm are intersected, i.e. all terms must be satisfied.
// +optional // +optional
// +listType=atomic
repeated PodAffinityTerm requiredDuringSchedulingIgnoredDuringExecution = 1; repeated PodAffinityTerm requiredDuringSchedulingIgnoredDuringExecution = 1;
// The scheduler will prefer to schedule pods to nodes that satisfy // The scheduler will prefer to schedule pods to nodes that satisfy
@@ -3347,6 +3414,7 @@ message PodAffinity {
// "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the // "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
// node(s) with the highest sum are the most preferred. // node(s) with the highest sum are the most preferred.
// +optional // +optional
// +listType=atomic
repeated WeightedPodAffinityTerm preferredDuringSchedulingIgnoredDuringExecution = 2; repeated WeightedPodAffinityTerm preferredDuringSchedulingIgnoredDuringExecution = 2;
} }
@@ -3367,6 +3435,7 @@ message PodAffinityTerm {
// and the ones selected by namespaceSelector. // and the ones selected by namespaceSelector.
// null or empty namespaces list and null namespaceSelector means "this pod's namespace". // null or empty namespaces list and null namespaceSelector means "this pod's namespace".
// +optional // +optional
// +listType=atomic
repeated string namespaces = 2; repeated string namespaces = 2;
// This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching // This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
@@ -3421,6 +3490,7 @@ message PodAntiAffinity {
// When there are multiple elements, the lists of nodes corresponding to each // When there are multiple elements, the lists of nodes corresponding to each
// podAffinityTerm are intersected, i.e. all terms must be satisfied. // podAffinityTerm are intersected, i.e. all terms must be satisfied.
// +optional // +optional
// +listType=atomic
repeated PodAffinityTerm requiredDuringSchedulingIgnoredDuringExecution = 1; repeated PodAffinityTerm requiredDuringSchedulingIgnoredDuringExecution = 1;
// The scheduler will prefer to schedule pods to nodes that satisfy // The scheduler will prefer to schedule pods to nodes that satisfy
@@ -3433,6 +3503,7 @@ message PodAntiAffinity {
// "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the // "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
// node(s) with the highest sum are the most preferred. // node(s) with the highest sum are the most preferred.
// +optional // +optional
// +listType=atomic
repeated WeightedPodAffinityTerm preferredDuringSchedulingIgnoredDuringExecution = 2; repeated WeightedPodAffinityTerm preferredDuringSchedulingIgnoredDuringExecution = 2;
} }
@@ -3504,12 +3575,14 @@ message PodDNSConfig {
// This will be appended to the base nameservers generated from DNSPolicy. // This will be appended to the base nameservers generated from DNSPolicy.
// Duplicated nameservers will be removed. // Duplicated nameservers will be removed.
// +optional // +optional
// +listType=atomic
repeated string nameservers = 1; repeated string nameservers = 1;
// A list of DNS search domains for host-name lookup. // A list of DNS search domains for host-name lookup.
// This will be appended to the base search paths generated from DNSPolicy. // This will be appended to the base search paths generated from DNSPolicy.
// Duplicated search paths will be removed. // Duplicated search paths will be removed.
// +optional // +optional
// +listType=atomic
repeated string searches = 2; repeated string searches = 2;
// A list of DNS resolver options. // A list of DNS resolver options.
@@ -3517,6 +3590,7 @@ message PodDNSConfig {
// Duplicated entries will be removed. Resolution options given in Options // Duplicated entries will be removed. Resolution options given in Options
// will override those that appear in the base DNSPolicy. // will override those that appear in the base DNSPolicy.
// +optional // +optional
// +listType=atomic
repeated PodDNSConfigOption options = 3; repeated PodDNSConfigOption options = 3;
} }
@@ -3558,6 +3632,7 @@ message PodExecOptions {
optional string container = 5; optional string container = 5;
// Command is the remote command to execute. argv array. Not executed within a shell. // Command is the remote command to execute. argv array. Not executed within a shell.
// +listType=atomic
repeated string command = 6; repeated string command = 6;
} }
@@ -3652,6 +3727,7 @@ message PodPortForwardOptions {
// List of ports to forward // List of ports to forward
// Required when using WebSockets // Required when using WebSockets
// +optional // +optional
// +listType=atomic
repeated int32 ports = 1; repeated int32 ports = 1;
} }
@@ -3760,6 +3836,7 @@ message PodSecurityContext {
// even if they are not included in this list. // even if they are not included in this list.
// Note that this field cannot be set when spec.os.name is windows. // Note that this field cannot be set when spec.os.name is windows.
// +optional // +optional
// +listType=atomic
repeated int64 supplementalGroups = 4; repeated int64 supplementalGroups = 4;
// A special supplemental group that applies to all containers in a pod. // A special supplemental group that applies to all containers in a pod.
@@ -3779,6 +3856,7 @@ message PodSecurityContext {
// sysctls (by the container runtime) might fail to launch. // sysctls (by the container runtime) might fail to launch.
// Note that this field cannot be set when spec.os.name is windows. // Note that this field cannot be set when spec.os.name is windows.
// +optional // +optional
// +listType=atomic
repeated Sysctl sysctls = 7; repeated Sysctl sysctls = 7;
// fsGroupChangePolicy defines behavior of changing ownership and permission of the volume // fsGroupChangePolicy defines behavior of changing ownership and permission of the volume
@@ -3812,6 +3890,8 @@ message PodSpec {
// +optional // +optional
// +patchMergeKey=name // +patchMergeKey=name
// +patchStrategy=merge,retainKeys // +patchStrategy=merge,retainKeys
// +listType=map
// +listMapKey=name
repeated Volume volumes = 1; repeated Volume volumes = 1;
// List of initialization containers belonging to the pod. // List of initialization containers belonging to the pod.
@@ -3829,6 +3909,8 @@ message PodSpec {
// More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ // More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
// +patchMergeKey=name // +patchMergeKey=name
// +patchStrategy=merge // +patchStrategy=merge
// +listType=map
// +listMapKey=name
repeated Container initContainers = 20; repeated Container initContainers = 20;
// List of containers belonging to the pod. // List of containers belonging to the pod.
@@ -3837,6 +3919,8 @@ message PodSpec {
// Cannot be updated. // Cannot be updated.
// +patchMergeKey=name // +patchMergeKey=name
// +patchStrategy=merge // +patchStrategy=merge
// +listType=map
// +listMapKey=name
repeated Container containers = 2; repeated Container containers = 2;
// List of ephemeral containers run in this pod. Ephemeral containers may be run in an existing // List of ephemeral containers run in this pod. Ephemeral containers may be run in an existing
@@ -3846,6 +3930,8 @@ message PodSpec {
// +optional // +optional
// +patchMergeKey=name // +patchMergeKey=name
// +patchStrategy=merge // +patchStrategy=merge
// +listType=map
// +listMapKey=name
repeated EphemeralContainer ephemeralContainers = 34; repeated EphemeralContainer ephemeralContainers = 34;
// Restart policy for all containers within the pod. // Restart policy for all containers within the pod.
@@ -3948,6 +4034,8 @@ message PodSpec {
// +optional // +optional
// +patchMergeKey=name // +patchMergeKey=name
// +patchStrategy=merge // +patchStrategy=merge
// +listType=map
// +listMapKey=name
repeated LocalObjectReference imagePullSecrets = 15; repeated LocalObjectReference imagePullSecrets = 15;
// Specifies the hostname of the Pod // Specifies the hostname of the Pod
@@ -3971,6 +4059,7 @@ message PodSpec {
// If specified, the pod's tolerations. // If specified, the pod's tolerations.
// +optional // +optional
// +listType=atomic
repeated Toleration tolerations = 22; repeated Toleration tolerations = 22;
// HostAliases is an optional list of hosts and IPs that will be injected into the pod's hosts // HostAliases is an optional list of hosts and IPs that will be injected into the pod's hosts
@@ -3978,6 +4067,8 @@ message PodSpec {
// +optional // +optional
// +patchMergeKey=ip // +patchMergeKey=ip
// +patchStrategy=merge // +patchStrategy=merge
// +listType=map
// +listMapKey=ip
repeated HostAlias hostAliases = 23; repeated HostAlias hostAliases = 23;
// If specified, indicates the pod's priority. "system-node-critical" and // If specified, indicates the pod's priority. "system-node-critical" and
@@ -4008,6 +4099,7 @@ message PodSpec {
// all conditions specified in the readiness gates have status equal to "True" // all conditions specified in the readiness gates have status equal to "True"
// More info: https://git.k8s.io/enhancements/keps/sig-network/580-pod-readiness-gates // More info: https://git.k8s.io/enhancements/keps/sig-network/580-pod-readiness-gates
// +optional // +optional
// +listType=atomic
repeated PodReadinessGate readinessGates = 28; repeated PodReadinessGate readinessGates = 28;
// RuntimeClassName refers to a RuntimeClass object in the node.k8s.io group, which should be used // RuntimeClassName refers to a RuntimeClass object in the node.k8s.io group, which should be used
@@ -4168,6 +4260,8 @@ message PodStatus {
// +optional // +optional
// +patchMergeKey=type // +patchMergeKey=type
// +patchStrategy=merge // +patchStrategy=merge
// +listType=map
// +listMapKey=type
repeated PodCondition conditions = 2; repeated PodCondition conditions = 2;
// A human readable message indicating details about why the pod is in this condition. // A human readable message indicating details about why the pod is in this condition.
@@ -4216,6 +4310,8 @@ message PodStatus {
// +optional // +optional
// +patchStrategy=merge // +patchStrategy=merge
// +patchMergeKey=ip // +patchMergeKey=ip
// +listType=map
// +listMapKey=ip
repeated PodIP podIPs = 12; repeated PodIP podIPs = 12;
// RFC 3339 date and time at which the object was acknowledged by the Kubelet. // RFC 3339 date and time at which the object was acknowledged by the Kubelet.
@@ -4227,11 +4323,13 @@ message PodStatus {
// init container will have ready = true, the most recently started container will have // init container will have ready = true, the most recently started container will have
// startTime set. // startTime set.
// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-and-container-status // More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-and-container-status
// +listType=atomic
repeated ContainerStatus initContainerStatuses = 10; repeated ContainerStatus initContainerStatuses = 10;
// The list has one entry per container in the manifest. // The list has one entry per container in the manifest.
// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-and-container-status // More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-and-container-status
// +optional // +optional
// +listType=atomic
repeated ContainerStatus containerStatuses = 8; repeated ContainerStatus containerStatuses = 8;
// The Quality of Service (QOS) classification assigned to the pod based on resource requirements // The Quality of Service (QOS) classification assigned to the pod based on resource requirements
@@ -4242,6 +4340,7 @@ message PodStatus {
// Status for any ephemeral containers that have run in this pod. // Status for any ephemeral containers that have run in this pod.
// +optional // +optional
// +listType=atomic
repeated ContainerStatus ephemeralContainerStatuses = 13; repeated ContainerStatus ephemeralContainerStatuses = 13;
// Status of resources resize desired for pod's containers. // Status of resources resize desired for pod's containers.
@@ -4459,6 +4558,7 @@ message ProbeHandler {
message ProjectedVolumeSource { message ProjectedVolumeSource {
// sources is the list of volume projections // sources is the list of volume projections
// +optional // +optional
// +listType=atomic
repeated VolumeProjection sources = 1; repeated VolumeProjection sources = 1;
// defaultMode are the mode bits used to set permissions on created files by default. // defaultMode are the mode bits used to set permissions on created files by default.
@@ -4508,6 +4608,7 @@ message QuobyteVolumeSource {
message RBDPersistentVolumeSource { message RBDPersistentVolumeSource {
// monitors is a collection of Ceph monitors. // monitors is a collection of Ceph monitors.
// More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it // More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
// +listType=atomic
repeated string monitors = 1; repeated string monitors = 1;
// image is the rados image name. // image is the rados image name.
@@ -4559,6 +4660,7 @@ message RBDPersistentVolumeSource {
message RBDVolumeSource { message RBDVolumeSource {
// monitors is a collection of Ceph monitors. // monitors is a collection of Ceph monitors.
// More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it // More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
// +listType=atomic
repeated string monitors = 1; repeated string monitors = 1;
// image is the rados image name. // image is the rados image name.
@@ -4733,6 +4835,8 @@ message ReplicationControllerStatus {
// +optional // +optional
// +patchMergeKey=type // +patchMergeKey=type
// +patchStrategy=merge // +patchStrategy=merge
// +listType=map
// +listMapKey=type
repeated ReplicationControllerCondition conditions = 6; repeated ReplicationControllerCondition conditions = 6;
} }
@@ -4799,6 +4903,7 @@ message ResourceQuotaSpec {
// A collection of filters that must match each object tracked by a quota. // A collection of filters that must match each object tracked by a quota.
// If not specified, the quota matches all objects. // If not specified, the quota matches all objects.
// +optional // +optional
// +listType=atomic
repeated string scopes = 2; repeated string scopes = 2;
// scopeSelector is also a collection of filters like scopes that must match each object tracked by a quota // scopeSelector is also a collection of filters like scopes that must match each object tracked by a quota
@@ -4966,6 +5071,7 @@ message ScaleIOVolumeSource {
message ScopeSelector { message ScopeSelector {
// A list of scope selector requirements by scope of the resources. // A list of scope selector requirements by scope of the resources.
// +optional // +optional
// +listType=atomic
repeated ScopedResourceSelectorRequirement matchExpressions = 1; repeated ScopedResourceSelectorRequirement matchExpressions = 1;
} }
@@ -4984,6 +5090,7 @@ message ScopedResourceSelectorRequirement {
// the values array must be empty. // the values array must be empty.
// This array is replaced during a strategic merge patch. // This array is replaced during a strategic merge patch.
// +optional // +optional
// +listType=atomic
repeated string values = 3; repeated string values = 3;
} }
@@ -5101,6 +5208,7 @@ message SecretProjection {
// the volume setup will error unless it is marked optional. Paths must be // the volume setup will error unless it is marked optional. Paths must be
// relative and may not contain the '..' path or start with '..'. // relative and may not contain the '..' path or start with '..'.
// +optional // +optional
// +listType=atomic
repeated KeyToPath items = 2; repeated KeyToPath items = 2;
// optional field specify whether the Secret or its key must be defined // optional field specify whether the Secret or its key must be defined
@@ -5140,6 +5248,7 @@ message SecretVolumeSource {
// the volume setup will error unless it is marked optional. Paths must be // the volume setup will error unless it is marked optional. Paths must be
// relative and may not contain the '..' path or start with '..'. // relative and may not contain the '..' path or start with '..'.
// +optional // +optional
// +listType=atomic
repeated KeyToPath items = 2; repeated KeyToPath items = 2;
// defaultMode is Optional: mode bits used to set permissions on created files by default. // defaultMode is Optional: mode bits used to set permissions on created files by default.
@@ -5293,6 +5402,8 @@ message ServiceAccount {
// +optional // +optional
// +patchMergeKey=name // +patchMergeKey=name
// +patchStrategy=merge // +patchStrategy=merge
// +listType=map
// +listMapKey=name
repeated ObjectReference secrets = 2; repeated ObjectReference secrets = 2;
// ImagePullSecrets is a list of references to secrets in the same namespace to use for pulling any images // ImagePullSecrets is a list of references to secrets in the same namespace to use for pulling any images
@@ -5300,6 +5411,7 @@ message ServiceAccount {
// can be mounted in the pod, but ImagePullSecrets are only accessed by the kubelet. // can be mounted in the pod, but ImagePullSecrets are only accessed by the kubelet.
// More info: https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod // More info: https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod
// +optional // +optional
// +listType=atomic
repeated LocalObjectReference imagePullSecrets = 3; repeated LocalObjectReference imagePullSecrets = 3;
// AutomountServiceAccountToken indicates whether pods running as this service account should have an API token automatically mounted. // AutomountServiceAccountToken indicates whether pods running as this service account should have an API token automatically mounted.
@@ -5520,6 +5632,7 @@ message ServiceSpec {
// at a node with this IP. A common example is external load-balancers // at a node with this IP. A common example is external load-balancers
// that are not part of the Kubernetes system. // that are not part of the Kubernetes system.
// +optional // +optional
// +listType=atomic
repeated string externalIPs = 5; repeated string externalIPs = 5;
// Supports "ClientIP" and "None". Used to maintain session affinity. // Supports "ClientIP" and "None". Used to maintain session affinity.
@@ -5545,6 +5658,7 @@ message ServiceSpec {
// cloud-provider does not support the feature." // cloud-provider does not support the feature."
// More info: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/ // More info: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/
// +optional // +optional
// +listType=atomic
repeated string loadBalancerSourceRanges = 9; repeated string loadBalancerSourceRanges = 9;
// externalName is the external reference that discovery mechanisms will // externalName is the external reference that discovery mechanisms will
@@ -5838,6 +5952,7 @@ message TopologySelectorLabelRequirement {
// An array of string values. One value must match the label to be selected. // An array of string values. One value must match the label to be selected.
// Each entry in Values is ORed. // Each entry in Values is ORed.
// +listType=atomic
repeated string values = 2; repeated string values = 2;
} }
@@ -5850,6 +5965,7 @@ message TopologySelectorLabelRequirement {
message TopologySelectorTerm { message TopologySelectorTerm {
// A list of topology selector requirements by labels. // A list of topology selector requirements by labels.
// +optional // +optional
// +listType=atomic
repeated TopologySelectorLabelRequirement matchLabelExpressions = 1; repeated TopologySelectorLabelRequirement matchLabelExpressions = 1;
} }

View File

@@ -331,6 +331,7 @@ type PersistentVolumeSpec struct {
// accessModes contains all ways the volume can be mounted. // accessModes contains all ways the volume can be mounted.
// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes // More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes
// +optional // +optional
// +listType=atomic
AccessModes []PersistentVolumeAccessMode `json:"accessModes,omitempty" protobuf:"bytes,3,rep,name=accessModes,casttype=PersistentVolumeAccessMode"` AccessModes []PersistentVolumeAccessMode `json:"accessModes,omitempty" protobuf:"bytes,3,rep,name=accessModes,casttype=PersistentVolumeAccessMode"`
// claimRef is part of a bi-directional binding between PersistentVolume and PersistentVolumeClaim. // claimRef is part of a bi-directional binding between PersistentVolume and PersistentVolumeClaim.
// Expected to be non-nil when bound. // Expected to be non-nil when bound.
@@ -354,6 +355,7 @@ type PersistentVolumeSpec struct {
// simply fail if one is invalid. // simply fail if one is invalid.
// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes/#mount-options // More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes/#mount-options
// +optional // +optional
// +listType=atomic
MountOptions []string `json:"mountOptions,omitempty" protobuf:"bytes,7,opt,name=mountOptions"` MountOptions []string `json:"mountOptions,omitempty" protobuf:"bytes,7,opt,name=mountOptions"`
// volumeMode defines if a volume is intended to be used with a formatted filesystem // volumeMode defines if a volume is intended to be used with a formatted filesystem
// or to remain in raw block state. Value of Filesystem is implied when not included in spec. // or to remain in raw block state. Value of Filesystem is implied when not included in spec.
@@ -486,6 +488,7 @@ type PersistentVolumeClaimSpec struct {
// accessModes contains the desired access modes the volume should have. // accessModes contains the desired access modes the volume should have.
// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 // More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
// +optional // +optional
// +listType=atomic
AccessModes []PersistentVolumeAccessMode `json:"accessModes,omitempty" protobuf:"bytes,1,rep,name=accessModes,casttype=PersistentVolumeAccessMode"` AccessModes []PersistentVolumeAccessMode `json:"accessModes,omitempty" protobuf:"bytes,1,rep,name=accessModes,casttype=PersistentVolumeAccessMode"`
// selector is a label query over volumes to consider for binding. // selector is a label query over volumes to consider for binding.
// +optional // +optional
@@ -677,6 +680,7 @@ type PersistentVolumeClaimStatus struct {
// accessModes contains the actual access modes the volume backing the PVC has. // accessModes contains the actual access modes the volume backing the PVC has.
// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 // More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
// +optional // +optional
// +listType=atomic
AccessModes []PersistentVolumeAccessMode `json:"accessModes,omitempty" protobuf:"bytes,2,rep,name=accessModes,casttype=PersistentVolumeAccessMode"` AccessModes []PersistentVolumeAccessMode `json:"accessModes,omitempty" protobuf:"bytes,2,rep,name=accessModes,casttype=PersistentVolumeAccessMode"`
// capacity represents the actual resources of the underlying volume. // capacity represents the actual resources of the underlying volume.
// +optional // +optional
@@ -686,6 +690,8 @@ type PersistentVolumeClaimStatus struct {
// +optional // +optional
// +patchMergeKey=type // +patchMergeKey=type
// +patchStrategy=merge // +patchStrategy=merge
// +listType=map
// +listMapKey=type
Conditions []PersistentVolumeClaimCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,4,rep,name=conditions"` Conditions []PersistentVolumeClaimCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,4,rep,name=conditions"`
// allocatedResources tracks the resources allocated to a PVC including its capacity. // allocatedResources tracks the resources allocated to a PVC including its capacity.
// Key names follow standard Kubernetes label syntax. Valid values are either: // Key names follow standard Kubernetes label syntax. Valid values are either:
@@ -921,6 +927,7 @@ type GlusterfsPersistentVolumeSource struct {
type RBDVolumeSource struct { type RBDVolumeSource struct {
// monitors is a collection of Ceph monitors. // monitors is a collection of Ceph monitors.
// More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it // More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
// +listType=atomic
CephMonitors []string `json:"monitors" protobuf:"bytes,1,rep,name=monitors"` CephMonitors []string `json:"monitors" protobuf:"bytes,1,rep,name=monitors"`
// image is the rados image name. // image is the rados image name.
// More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it // More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
@@ -965,6 +972,7 @@ type RBDVolumeSource struct {
type RBDPersistentVolumeSource struct { type RBDPersistentVolumeSource struct {
// monitors is a collection of Ceph monitors. // monitors is a collection of Ceph monitors.
// More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it // More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
// +listType=atomic
CephMonitors []string `json:"monitors" protobuf:"bytes,1,rep,name=monitors"` CephMonitors []string `json:"monitors" protobuf:"bytes,1,rep,name=monitors"`
// image is the rados image name. // image is the rados image name.
// More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it // More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
@@ -1059,6 +1067,7 @@ type CinderPersistentVolumeSource struct {
type CephFSVolumeSource struct { type CephFSVolumeSource struct {
// monitors is Required: Monitors is a collection of Ceph monitors // monitors is Required: Monitors is a collection of Ceph monitors
// More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it // More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
// +listType=atomic
Monitors []string `json:"monitors" protobuf:"bytes,1,rep,name=monitors"` Monitors []string `json:"monitors" protobuf:"bytes,1,rep,name=monitors"`
// path is Optional: Used as the mounted root, rather than the full Ceph tree, default is / // path is Optional: Used as the mounted root, rather than the full Ceph tree, default is /
// +optional // +optional
@@ -1099,6 +1108,7 @@ type SecretReference struct {
type CephFSPersistentVolumeSource struct { type CephFSPersistentVolumeSource struct {
// monitors is Required: Monitors is a collection of Ceph monitors // monitors is Required: Monitors is a collection of Ceph monitors
// More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it // More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
// +listType=atomic
Monitors []string `json:"monitors" protobuf:"bytes,1,rep,name=monitors"` Monitors []string `json:"monitors" protobuf:"bytes,1,rep,name=monitors"`
// path is Optional: Used as the mounted root, rather than the full Ceph tree, default is / // path is Optional: Used as the mounted root, rather than the full Ceph tree, default is /
// +optional // +optional
@@ -1341,6 +1351,7 @@ type SecretVolumeSource struct {
// the volume setup will error unless it is marked optional. Paths must be // the volume setup will error unless it is marked optional. Paths must be
// relative and may not contain the '..' path or start with '..'. // relative and may not contain the '..' path or start with '..'.
// +optional // +optional
// +listType=atomic
Items []KeyToPath `json:"items,omitempty" protobuf:"bytes,2,rep,name=items"` Items []KeyToPath `json:"items,omitempty" protobuf:"bytes,2,rep,name=items"`
// defaultMode is Optional: mode bits used to set permissions on created files by default. // defaultMode is Optional: mode bits used to set permissions on created files by default.
// Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. // Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
@@ -1376,6 +1387,7 @@ type SecretProjection struct {
// the volume setup will error unless it is marked optional. Paths must be // the volume setup will error unless it is marked optional. Paths must be
// relative and may not contain the '..' path or start with '..'. // relative and may not contain the '..' path or start with '..'.
// +optional // +optional
// +listType=atomic
Items []KeyToPath `json:"items,omitempty" protobuf:"bytes,2,rep,name=items"` Items []KeyToPath `json:"items,omitempty" protobuf:"bytes,2,rep,name=items"`
// optional field specify whether the Secret or its key must be defined // optional field specify whether the Secret or its key must be defined
// +optional // +optional
@@ -1429,6 +1441,7 @@ type ISCSIVolumeSource struct {
// portals is the iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port // portals is the iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port
// is other than default (typically TCP ports 860 and 3260). // is other than default (typically TCP ports 860 and 3260).
// +optional // +optional
// +listType=atomic
Portals []string `json:"portals,omitempty" protobuf:"bytes,7,opt,name=portals"` Portals []string `json:"portals,omitempty" protobuf:"bytes,7,opt,name=portals"`
// chapAuthDiscovery defines whether support iSCSI Discovery CHAP authentication // chapAuthDiscovery defines whether support iSCSI Discovery CHAP authentication
// +optional // +optional
@@ -1475,6 +1488,7 @@ type ISCSIPersistentVolumeSource struct {
// portals is the iSCSI Target Portal List. The Portal is either an IP or ip_addr:port if the port // portals is the iSCSI Target Portal List. The Portal is either an IP or ip_addr:port if the port
// is other than default (typically TCP ports 860 and 3260). // is other than default (typically TCP ports 860 and 3260).
// +optional // +optional
// +listType=atomic
Portals []string `json:"portals,omitempty" protobuf:"bytes,7,opt,name=portals"` Portals []string `json:"portals,omitempty" protobuf:"bytes,7,opt,name=portals"`
// chapAuthDiscovery defines whether support iSCSI Discovery CHAP authentication // chapAuthDiscovery defines whether support iSCSI Discovery CHAP authentication
// +optional // +optional
@@ -1498,6 +1512,7 @@ type ISCSIPersistentVolumeSource struct {
type FCVolumeSource struct { type FCVolumeSource struct {
// targetWWNs is Optional: FC target worldwide names (WWNs) // targetWWNs is Optional: FC target worldwide names (WWNs)
// +optional // +optional
// +listType=atomic
TargetWWNs []string `json:"targetWWNs,omitempty" protobuf:"bytes,1,rep,name=targetWWNs"` TargetWWNs []string `json:"targetWWNs,omitempty" protobuf:"bytes,1,rep,name=targetWWNs"`
// lun is Optional: FC target lun number // lun is Optional: FC target lun number
// +optional // +optional
@@ -1515,6 +1530,7 @@ type FCVolumeSource struct {
// wwids Optional: FC volume world wide identifiers (wwids) // wwids Optional: FC volume world wide identifiers (wwids)
// Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously. // Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously.
// +optional // +optional
// +listType=atomic
WWIDs []string `json:"wwids,omitempty" protobuf:"bytes,5,rep,name=wwids"` WWIDs []string `json:"wwids,omitempty" protobuf:"bytes,5,rep,name=wwids"`
} }
@@ -1771,6 +1787,7 @@ type ConfigMapVolumeSource struct {
// the volume setup will error unless it is marked optional. Paths must be // the volume setup will error unless it is marked optional. Paths must be
// relative and may not contain the '..' path or start with '..'. // relative and may not contain the '..' path or start with '..'.
// +optional // +optional
// +listType=atomic
Items []KeyToPath `json:"items,omitempty" protobuf:"bytes,2,rep,name=items"` Items []KeyToPath `json:"items,omitempty" protobuf:"bytes,2,rep,name=items"`
// defaultMode is optional: mode bits used to set permissions on created files by default. // defaultMode is optional: mode bits used to set permissions on created files by default.
// Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. // Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
@@ -1807,6 +1824,7 @@ type ConfigMapProjection struct {
// the volume setup will error unless it is marked optional. Paths must be // the volume setup will error unless it is marked optional. Paths must be
// relative and may not contain the '..' path or start with '..'. // relative and may not contain the '..' path or start with '..'.
// +optional // +optional
// +listType=atomic
Items []KeyToPath `json:"items,omitempty" protobuf:"bytes,2,rep,name=items"` Items []KeyToPath `json:"items,omitempty" protobuf:"bytes,2,rep,name=items"`
// optional specify whether the ConfigMap or its keys must be defined // optional specify whether the ConfigMap or its keys must be defined
// +optional // +optional
@@ -1875,6 +1893,7 @@ type ClusterTrustBundleProjection struct {
type ProjectedVolumeSource struct { type ProjectedVolumeSource struct {
// sources is the list of volume projections // sources is the list of volume projections
// +optional // +optional
// +listType=atomic
Sources []VolumeProjection `json:"sources" protobuf:"bytes,1,rep,name=sources"` Sources []VolumeProjection `json:"sources" protobuf:"bytes,1,rep,name=sources"`
// defaultMode are the mode bits used to set permissions on created files by default. // defaultMode are the mode bits used to set permissions on created files by default.
// Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. // Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
@@ -2347,6 +2366,7 @@ type HTTPGetAction struct {
Scheme URIScheme `json:"scheme,omitempty" protobuf:"bytes,4,opt,name=scheme,casttype=URIScheme"` Scheme URIScheme `json:"scheme,omitempty" protobuf:"bytes,4,opt,name=scheme,casttype=URIScheme"`
// Custom headers to set in the request. HTTP allows repeated headers. // Custom headers to set in the request. HTTP allows repeated headers.
// +optional // +optional
// +listType=atomic
HTTPHeaders []HTTPHeader `json:"httpHeaders,omitempty" protobuf:"bytes,5,rep,name=httpHeaders"` HTTPHeaders []HTTPHeader `json:"httpHeaders,omitempty" protobuf:"bytes,5,rep,name=httpHeaders"`
} }
@@ -2393,6 +2413,7 @@ type ExecAction struct {
// a shell, you need to explicitly call out to that shell. // a shell, you need to explicitly call out to that shell.
// Exit status of 0 is treated as live/healthy and non-zero is unhealthy. // Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
// +optional // +optional
// +listType=atomic
Command []string `json:"command,omitempty" protobuf:"bytes,1,rep,name=command"` Command []string `json:"command,omitempty" protobuf:"bytes,1,rep,name=command"`
} }
@@ -2514,9 +2535,11 @@ type Capability string
type Capabilities struct { type Capabilities struct {
// Added capabilities // Added capabilities
// +optional // +optional
// +listType=atomic
Add []Capability `json:"add,omitempty" protobuf:"bytes,1,rep,name=add,casttype=Capability"` Add []Capability `json:"add,omitempty" protobuf:"bytes,1,rep,name=add,casttype=Capability"`
// Removed capabilities // Removed capabilities
// +optional // +optional
// +listType=atomic
Drop []Capability `json:"drop,omitempty" protobuf:"bytes,2,rep,name=drop,casttype=Capability"` Drop []Capability `json:"drop,omitempty" protobuf:"bytes,2,rep,name=drop,casttype=Capability"`
} }
@@ -2602,6 +2625,7 @@ type Container struct {
// of whether the variable exists or not. Cannot be updated. // of whether the variable exists or not. Cannot be updated.
// More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell // More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
// +optional // +optional
// +listType=atomic
Command []string `json:"command,omitempty" protobuf:"bytes,3,rep,name=command"` Command []string `json:"command,omitempty" protobuf:"bytes,3,rep,name=command"`
// Arguments to the entrypoint. // Arguments to the entrypoint.
// The container image's CMD is used if this is not provided. // The container image's CMD is used if this is not provided.
@@ -2612,6 +2636,7 @@ type Container struct {
// of whether the variable exists or not. Cannot be updated. // of whether the variable exists or not. Cannot be updated.
// More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell // More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
// +optional // +optional
// +listType=atomic
Args []string `json:"args,omitempty" protobuf:"bytes,4,rep,name=args"` Args []string `json:"args,omitempty" protobuf:"bytes,4,rep,name=args"`
// Container's working directory. // Container's working directory.
// If not specified, the container runtime's default will be used, which // If not specified, the container runtime's default will be used, which
@@ -2640,12 +2665,15 @@ type Container struct {
// Values defined by an Env with a duplicate key will take precedence. // Values defined by an Env with a duplicate key will take precedence.
// Cannot be updated. // Cannot be updated.
// +optional // +optional
// +listType=atomic
EnvFrom []EnvFromSource `json:"envFrom,omitempty" protobuf:"bytes,19,rep,name=envFrom"` EnvFrom []EnvFromSource `json:"envFrom,omitempty" protobuf:"bytes,19,rep,name=envFrom"`
// List of environment variables to set in the container. // List of environment variables to set in the container.
// Cannot be updated. // Cannot be updated.
// +optional // +optional
// +patchMergeKey=name // +patchMergeKey=name
// +patchStrategy=merge // +patchStrategy=merge
// +listType=map
// +listMapKey=name
Env []EnvVar `json:"env,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,7,rep,name=env"` Env []EnvVar `json:"env,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,7,rep,name=env"`
// Compute Resources required by this container. // Compute Resources required by this container.
// Cannot be updated. // Cannot be updated.
@@ -2680,10 +2708,14 @@ type Container struct {
// +optional // +optional
// +patchMergeKey=mountPath // +patchMergeKey=mountPath
// +patchStrategy=merge // +patchStrategy=merge
// +listType=map
// +listMapKey=mountPath
VolumeMounts []VolumeMount `json:"volumeMounts,omitempty" patchStrategy:"merge" patchMergeKey:"mountPath" protobuf:"bytes,9,rep,name=volumeMounts"` VolumeMounts []VolumeMount `json:"volumeMounts,omitempty" patchStrategy:"merge" patchMergeKey:"mountPath" protobuf:"bytes,9,rep,name=volumeMounts"`
// volumeDevices is the list of block devices to be used by the container. // volumeDevices is the list of block devices to be used by the container.
// +patchMergeKey=devicePath // +patchMergeKey=devicePath
// +patchStrategy=merge // +patchStrategy=merge
// +listType=map
// +listMapKey=devicePath
// +optional // +optional
VolumeDevices []VolumeDevice `json:"volumeDevices,omitempty" patchStrategy:"merge" patchMergeKey:"devicePath" protobuf:"bytes,21,rep,name=volumeDevices"` VolumeDevices []VolumeDevice `json:"volumeDevices,omitempty" patchStrategy:"merge" patchMergeKey:"devicePath" protobuf:"bytes,21,rep,name=volumeDevices"`
// Periodic probe of container liveness. // Periodic probe of container liveness.
@@ -3123,6 +3155,7 @@ const (
// +structType=atomic // +structType=atomic
type NodeSelector struct { type NodeSelector struct {
// Required. A list of node selector terms. The terms are ORed. // Required. A list of node selector terms. The terms are ORed.
// +listType=atomic
NodeSelectorTerms []NodeSelectorTerm `json:"nodeSelectorTerms" protobuf:"bytes,1,rep,name=nodeSelectorTerms"` NodeSelectorTerms []NodeSelectorTerm `json:"nodeSelectorTerms" protobuf:"bytes,1,rep,name=nodeSelectorTerms"`
} }
@@ -3133,9 +3166,11 @@ type NodeSelector struct {
type NodeSelectorTerm struct { type NodeSelectorTerm struct {
// A list of node selector requirements by node's labels. // A list of node selector requirements by node's labels.
// +optional // +optional
// +listType=atomic
MatchExpressions []NodeSelectorRequirement `json:"matchExpressions,omitempty" protobuf:"bytes,1,rep,name=matchExpressions"` MatchExpressions []NodeSelectorRequirement `json:"matchExpressions,omitempty" protobuf:"bytes,1,rep,name=matchExpressions"`
// A list of node selector requirements by node's fields. // A list of node selector requirements by node's fields.
// +optional // +optional
// +listType=atomic
MatchFields []NodeSelectorRequirement `json:"matchFields,omitempty" protobuf:"bytes,2,rep,name=matchFields"` MatchFields []NodeSelectorRequirement `json:"matchFields,omitempty" protobuf:"bytes,2,rep,name=matchFields"`
} }
@@ -3153,6 +3188,7 @@ type NodeSelectorRequirement struct {
// array must have a single element, which will be interpreted as an integer. // array must have a single element, which will be interpreted as an integer.
// This array is replaced during a strategic merge patch. // This array is replaced during a strategic merge patch.
// +optional // +optional
// +listType=atomic
Values []string `json:"values,omitempty" protobuf:"bytes,3,rep,name=values"` Values []string `json:"values,omitempty" protobuf:"bytes,3,rep,name=values"`
} }
@@ -3181,6 +3217,7 @@ type TopologySelectorTerm struct {
// A list of topology selector requirements by labels. // A list of topology selector requirements by labels.
// +optional // +optional
// +listType=atomic
MatchLabelExpressions []TopologySelectorLabelRequirement `json:"matchLabelExpressions,omitempty" protobuf:"bytes,1,rep,name=matchLabelExpressions"` MatchLabelExpressions []TopologySelectorLabelRequirement `json:"matchLabelExpressions,omitempty" protobuf:"bytes,1,rep,name=matchLabelExpressions"`
} }
@@ -3191,6 +3228,7 @@ type TopologySelectorLabelRequirement struct {
Key string `json:"key" protobuf:"bytes,1,opt,name=key"` Key string `json:"key" protobuf:"bytes,1,opt,name=key"`
// An array of string values. One value must match the label to be selected. // An array of string values. One value must match the label to be selected.
// Each entry in Values is ORed. // Each entry in Values is ORed.
// +listType=atomic
Values []string `json:"values" protobuf:"bytes,2,rep,name=values"` Values []string `json:"values" protobuf:"bytes,2,rep,name=values"`
} }
@@ -3228,6 +3266,7 @@ type PodAffinity struct {
// When there are multiple elements, the lists of nodes corresponding to each // When there are multiple elements, the lists of nodes corresponding to each
// podAffinityTerm are intersected, i.e. all terms must be satisfied. // podAffinityTerm are intersected, i.e. all terms must be satisfied.
// +optional // +optional
// +listType=atomic
RequiredDuringSchedulingIgnoredDuringExecution []PodAffinityTerm `json:"requiredDuringSchedulingIgnoredDuringExecution,omitempty" protobuf:"bytes,1,rep,name=requiredDuringSchedulingIgnoredDuringExecution"` RequiredDuringSchedulingIgnoredDuringExecution []PodAffinityTerm `json:"requiredDuringSchedulingIgnoredDuringExecution,omitempty" protobuf:"bytes,1,rep,name=requiredDuringSchedulingIgnoredDuringExecution"`
// The scheduler will prefer to schedule pods to nodes that satisfy // The scheduler will prefer to schedule pods to nodes that satisfy
// the affinity expressions specified by this field, but it may choose // the affinity expressions specified by this field, but it may choose
@@ -3239,6 +3278,7 @@ type PodAffinity struct {
// "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the // "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
// node(s) with the highest sum are the most preferred. // node(s) with the highest sum are the most preferred.
// +optional // +optional
// +listType=atomic
PreferredDuringSchedulingIgnoredDuringExecution []WeightedPodAffinityTerm `json:"preferredDuringSchedulingIgnoredDuringExecution,omitempty" protobuf:"bytes,2,rep,name=preferredDuringSchedulingIgnoredDuringExecution"` PreferredDuringSchedulingIgnoredDuringExecution []WeightedPodAffinityTerm `json:"preferredDuringSchedulingIgnoredDuringExecution,omitempty" protobuf:"bytes,2,rep,name=preferredDuringSchedulingIgnoredDuringExecution"`
} }
@@ -3263,6 +3303,7 @@ type PodAntiAffinity struct {
// When there are multiple elements, the lists of nodes corresponding to each // When there are multiple elements, the lists of nodes corresponding to each
// podAffinityTerm are intersected, i.e. all terms must be satisfied. // podAffinityTerm are intersected, i.e. all terms must be satisfied.
// +optional // +optional
// +listType=atomic
RequiredDuringSchedulingIgnoredDuringExecution []PodAffinityTerm `json:"requiredDuringSchedulingIgnoredDuringExecution,omitempty" protobuf:"bytes,1,rep,name=requiredDuringSchedulingIgnoredDuringExecution"` RequiredDuringSchedulingIgnoredDuringExecution []PodAffinityTerm `json:"requiredDuringSchedulingIgnoredDuringExecution,omitempty" protobuf:"bytes,1,rep,name=requiredDuringSchedulingIgnoredDuringExecution"`
// The scheduler will prefer to schedule pods to nodes that satisfy // The scheduler will prefer to schedule pods to nodes that satisfy
// the anti-affinity expressions specified by this field, but it may choose // the anti-affinity expressions specified by this field, but it may choose
@@ -3274,6 +3315,7 @@ type PodAntiAffinity struct {
// "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the // "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
// node(s) with the highest sum are the most preferred. // node(s) with the highest sum are the most preferred.
// +optional // +optional
// +listType=atomic
PreferredDuringSchedulingIgnoredDuringExecution []WeightedPodAffinityTerm `json:"preferredDuringSchedulingIgnoredDuringExecution,omitempty" protobuf:"bytes,2,rep,name=preferredDuringSchedulingIgnoredDuringExecution"` PreferredDuringSchedulingIgnoredDuringExecution []WeightedPodAffinityTerm `json:"preferredDuringSchedulingIgnoredDuringExecution,omitempty" protobuf:"bytes,2,rep,name=preferredDuringSchedulingIgnoredDuringExecution"`
} }
@@ -3302,6 +3344,7 @@ type PodAffinityTerm struct {
// and the ones selected by namespaceSelector. // and the ones selected by namespaceSelector.
// null or empty namespaces list and null namespaceSelector means "this pod's namespace". // null or empty namespaces list and null namespaceSelector means "this pod's namespace".
// +optional // +optional
// +listType=atomic
Namespaces []string `json:"namespaces,omitempty" protobuf:"bytes,2,rep,name=namespaces"` 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 // This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
// the labelSelector in the specified namespaces, where co-located is defined as running on a node // the labelSelector in the specified namespaces, where co-located is defined as running on a node
@@ -3370,6 +3413,7 @@ type NodeAffinity struct {
// "weight" to the sum if the node matches the corresponding matchExpressions; the // "weight" to the sum if the node matches the corresponding matchExpressions; the
// node(s) with the highest sum are the most preferred. // node(s) with the highest sum are the most preferred.
// +optional // +optional
// +listType=atomic
PreferredDuringSchedulingIgnoredDuringExecution []PreferredSchedulingTerm `json:"preferredDuringSchedulingIgnoredDuringExecution,omitempty" protobuf:"bytes,2,rep,name=preferredDuringSchedulingIgnoredDuringExecution"` PreferredDuringSchedulingIgnoredDuringExecution []PreferredSchedulingTerm `json:"preferredDuringSchedulingIgnoredDuringExecution,omitempty" protobuf:"bytes,2,rep,name=preferredDuringSchedulingIgnoredDuringExecution"`
} }
@@ -3475,6 +3519,8 @@ type PodSpec struct {
// +optional // +optional
// +patchMergeKey=name // +patchMergeKey=name
// +patchStrategy=merge,retainKeys // +patchStrategy=merge,retainKeys
// +listType=map
// +listMapKey=name
Volumes []Volume `json:"volumes,omitempty" patchStrategy:"merge,retainKeys" patchMergeKey:"name" protobuf:"bytes,1,rep,name=volumes"` Volumes []Volume `json:"volumes,omitempty" patchStrategy:"merge,retainKeys" patchMergeKey:"name" protobuf:"bytes,1,rep,name=volumes"`
// List of initialization containers belonging to the pod. // List of initialization containers belonging to the pod.
// Init containers are executed in order prior to containers being started. If any // Init containers are executed in order prior to containers being started. If any
@@ -3491,6 +3537,8 @@ type PodSpec struct {
// More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ // More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
// +patchMergeKey=name // +patchMergeKey=name
// +patchStrategy=merge // +patchStrategy=merge
// +listType=map
// +listMapKey=name
InitContainers []Container `json:"initContainers,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,20,rep,name=initContainers"` InitContainers []Container `json:"initContainers,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,20,rep,name=initContainers"`
// List of containers belonging to the pod. // List of containers belonging to the pod.
// Containers cannot currently be added or removed. // Containers cannot currently be added or removed.
@@ -3498,6 +3546,8 @@ type PodSpec struct {
// Cannot be updated. // Cannot be updated.
// +patchMergeKey=name // +patchMergeKey=name
// +patchStrategy=merge // +patchStrategy=merge
// +listType=map
// +listMapKey=name
Containers []Container `json:"containers" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,2,rep,name=containers"` Containers []Container `json:"containers" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,2,rep,name=containers"`
// List of ephemeral containers run in this pod. Ephemeral containers may be run in an existing // List of ephemeral containers run in this pod. Ephemeral containers may be run in an existing
// pod to perform user-initiated actions such as debugging. This list cannot be specified when // pod to perform user-initiated actions such as debugging. This list cannot be specified when
@@ -3506,6 +3556,8 @@ type PodSpec struct {
// +optional // +optional
// +patchMergeKey=name // +patchMergeKey=name
// +patchStrategy=merge // +patchStrategy=merge
// +listType=map
// +listMapKey=name
EphemeralContainers []EphemeralContainer `json:"ephemeralContainers,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,34,rep,name=ephemeralContainers"` EphemeralContainers []EphemeralContainer `json:"ephemeralContainers,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,34,rep,name=ephemeralContainers"`
// Restart policy for all containers within the pod. // Restart policy for all containers within the pod.
// One of Always, OnFailure, Never. In some contexts, only a subset of those values may be permitted. // One of Always, OnFailure, Never. In some contexts, only a subset of those values may be permitted.
@@ -3595,6 +3647,8 @@ type PodSpec struct {
// +optional // +optional
// +patchMergeKey=name // +patchMergeKey=name
// +patchStrategy=merge // +patchStrategy=merge
// +listType=map
// +listMapKey=name
ImagePullSecrets []LocalObjectReference `json:"imagePullSecrets,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,15,rep,name=imagePullSecrets"` ImagePullSecrets []LocalObjectReference `json:"imagePullSecrets,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,15,rep,name=imagePullSecrets"`
// Specifies the hostname of the Pod // Specifies the hostname of the Pod
// If not specified, the pod's hostname will be set to a system-defined value. // If not specified, the pod's hostname will be set to a system-defined value.
@@ -3613,12 +3667,15 @@ type PodSpec struct {
SchedulerName string `json:"schedulerName,omitempty" protobuf:"bytes,19,opt,name=schedulerName"` SchedulerName string `json:"schedulerName,omitempty" protobuf:"bytes,19,opt,name=schedulerName"`
// If specified, the pod's tolerations. // If specified, the pod's tolerations.
// +optional // +optional
// +listType=atomic
Tolerations []Toleration `json:"tolerations,omitempty" protobuf:"bytes,22,opt,name=tolerations"` Tolerations []Toleration `json:"tolerations,omitempty" protobuf:"bytes,22,opt,name=tolerations"`
// HostAliases is an optional list of hosts and IPs that will be injected into the pod's hosts // HostAliases is an optional list of hosts and IPs that will be injected into the pod's hosts
// file if specified. This is only valid for non-hostNetwork pods. // file if specified. This is only valid for non-hostNetwork pods.
// +optional // +optional
// +patchMergeKey=ip // +patchMergeKey=ip
// +patchStrategy=merge // +patchStrategy=merge
// +listType=map
// +listMapKey=ip
HostAliases []HostAlias `json:"hostAliases,omitempty" patchStrategy:"merge" patchMergeKey:"ip" protobuf:"bytes,23,rep,name=hostAliases"` HostAliases []HostAlias `json:"hostAliases,omitempty" patchStrategy:"merge" patchMergeKey:"ip" protobuf:"bytes,23,rep,name=hostAliases"`
// If specified, indicates the pod's priority. "system-node-critical" and // If specified, indicates the pod's priority. "system-node-critical" and
// "system-cluster-critical" are two special keywords which indicate the // "system-cluster-critical" are two special keywords which indicate the
@@ -3645,6 +3702,7 @@ type PodSpec struct {
// all conditions specified in the readiness gates have status equal to "True" // all conditions specified in the readiness gates have status equal to "True"
// More info: https://git.k8s.io/enhancements/keps/sig-network/580-pod-readiness-gates // More info: https://git.k8s.io/enhancements/keps/sig-network/580-pod-readiness-gates
// +optional // +optional
// +listType=atomic
ReadinessGates []PodReadinessGate `json:"readinessGates,omitempty" protobuf:"bytes,28,opt,name=readinessGates"` ReadinessGates []PodReadinessGate `json:"readinessGates,omitempty" protobuf:"bytes,28,opt,name=readinessGates"`
// RuntimeClassName refers to a RuntimeClass object in the node.k8s.io group, which should be used // RuntimeClassName refers to a RuntimeClass object in the node.k8s.io group, which should be used
// to run this pod. If no RuntimeClass resource matches the named class, the pod will not be run. // to run this pod. If no RuntimeClass resource matches the named class, the pod will not be run.
@@ -4001,6 +4059,7 @@ type HostAlias struct {
// IP address of the host file entry. // IP address of the host file entry.
IP string `json:"ip,omitempty" protobuf:"bytes,1,opt,name=ip"` IP string `json:"ip,omitempty" protobuf:"bytes,1,opt,name=ip"`
// Hostnames for the above IP address. // Hostnames for the above IP address.
// +listType=atomic
Hostnames []string `json:"hostnames,omitempty" protobuf:"bytes,2,rep,name=hostnames"` Hostnames []string `json:"hostnames,omitempty" protobuf:"bytes,2,rep,name=hostnames"`
} }
@@ -4071,6 +4130,7 @@ type PodSecurityContext struct {
// even if they are not included in this list. // even if they are not included in this list.
// Note that this field cannot be set when spec.os.name is windows. // Note that this field cannot be set when spec.os.name is windows.
// +optional // +optional
// +listType=atomic
SupplementalGroups []int64 `json:"supplementalGroups,omitempty" protobuf:"varint,4,rep,name=supplementalGroups"` SupplementalGroups []int64 `json:"supplementalGroups,omitempty" protobuf:"varint,4,rep,name=supplementalGroups"`
// A special supplemental group that applies to all containers in a pod. // A special supplemental group that applies to all containers in a pod.
// Some volume types allow the Kubelet to change the ownership of that volume // Some volume types allow the Kubelet to change the ownership of that volume
@@ -4088,6 +4148,7 @@ type PodSecurityContext struct {
// sysctls (by the container runtime) might fail to launch. // sysctls (by the container runtime) might fail to launch.
// Note that this field cannot be set when spec.os.name is windows. // Note that this field cannot be set when spec.os.name is windows.
// +optional // +optional
// +listType=atomic
Sysctls []Sysctl `json:"sysctls,omitempty" protobuf:"bytes,7,rep,name=sysctls"` Sysctls []Sysctl `json:"sysctls,omitempty" protobuf:"bytes,7,rep,name=sysctls"`
// fsGroupChangePolicy defines behavior of changing ownership and permission of the volume // fsGroupChangePolicy defines behavior of changing ownership and permission of the volume
// before being exposed inside Pod. This field will only apply to // before being exposed inside Pod. This field will only apply to
@@ -4158,17 +4219,20 @@ type PodDNSConfig struct {
// This will be appended to the base nameservers generated from DNSPolicy. // This will be appended to the base nameservers generated from DNSPolicy.
// Duplicated nameservers will be removed. // Duplicated nameservers will be removed.
// +optional // +optional
// +listType=atomic
Nameservers []string `json:"nameservers,omitempty" protobuf:"bytes,1,rep,name=nameservers"` Nameservers []string `json:"nameservers,omitempty" protobuf:"bytes,1,rep,name=nameservers"`
// A list of DNS search domains for host-name lookup. // A list of DNS search domains for host-name lookup.
// This will be appended to the base search paths generated from DNSPolicy. // This will be appended to the base search paths generated from DNSPolicy.
// Duplicated search paths will be removed. // Duplicated search paths will be removed.
// +optional // +optional
// +listType=atomic
Searches []string `json:"searches,omitempty" protobuf:"bytes,2,rep,name=searches"` Searches []string `json:"searches,omitempty" protobuf:"bytes,2,rep,name=searches"`
// A list of DNS resolver options. // A list of DNS resolver options.
// This will be merged with the base options generated from DNSPolicy. // This will be merged with the base options generated from DNSPolicy.
// Duplicated entries will be removed. Resolution options given in Options // Duplicated entries will be removed. Resolution options given in Options
// will override those that appear in the base DNSPolicy. // will override those that appear in the base DNSPolicy.
// +optional // +optional
// +listType=atomic
Options []PodDNSConfigOption `json:"options,omitempty" protobuf:"bytes,3,rep,name=options"` Options []PodDNSConfigOption `json:"options,omitempty" protobuf:"bytes,3,rep,name=options"`
} }
@@ -4212,6 +4276,7 @@ type EphemeralContainerCommon struct {
// of whether the variable exists or not. Cannot be updated. // of whether the variable exists or not. Cannot be updated.
// More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell // More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
// +optional // +optional
// +listType=atomic
Command []string `json:"command,omitempty" protobuf:"bytes,3,rep,name=command"` Command []string `json:"command,omitempty" protobuf:"bytes,3,rep,name=command"`
// Arguments to the entrypoint. // Arguments to the entrypoint.
// The image's CMD is used if this is not provided. // The image's CMD is used if this is not provided.
@@ -4222,6 +4287,7 @@ type EphemeralContainerCommon struct {
// of whether the variable exists or not. Cannot be updated. // of whether the variable exists or not. Cannot be updated.
// More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell // More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
// +optional // +optional
// +listType=atomic
Args []string `json:"args,omitempty" protobuf:"bytes,4,rep,name=args"` Args []string `json:"args,omitempty" protobuf:"bytes,4,rep,name=args"`
// Container's working directory. // Container's working directory.
// If not specified, the container runtime's default will be used, which // If not specified, the container runtime's default will be used, which
@@ -4244,12 +4310,15 @@ type EphemeralContainerCommon struct {
// Values defined by an Env with a duplicate key will take precedence. // Values defined by an Env with a duplicate key will take precedence.
// Cannot be updated. // Cannot be updated.
// +optional // +optional
// +listType=atomic
EnvFrom []EnvFromSource `json:"envFrom,omitempty" protobuf:"bytes,19,rep,name=envFrom"` EnvFrom []EnvFromSource `json:"envFrom,omitempty" protobuf:"bytes,19,rep,name=envFrom"`
// List of environment variables to set in the container. // List of environment variables to set in the container.
// Cannot be updated. // Cannot be updated.
// +optional // +optional
// +patchMergeKey=name // +patchMergeKey=name
// +patchStrategy=merge // +patchStrategy=merge
// +listType=map
// +listMapKey=name
Env []EnvVar `json:"env,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,7,rep,name=env"` Env []EnvVar `json:"env,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,7,rep,name=env"`
// Resources are not allowed for ephemeral containers. Ephemeral containers use spare resources // Resources are not allowed for ephemeral containers. Ephemeral containers use spare resources
// already allocated to the pod. // already allocated to the pod.
@@ -4272,10 +4341,14 @@ type EphemeralContainerCommon struct {
// +optional // +optional
// +patchMergeKey=mountPath // +patchMergeKey=mountPath
// +patchStrategy=merge // +patchStrategy=merge
// +listType=map
// +listMapKey=mountPath
VolumeMounts []VolumeMount `json:"volumeMounts,omitempty" patchStrategy:"merge" patchMergeKey:"mountPath" protobuf:"bytes,9,rep,name=volumeMounts"` VolumeMounts []VolumeMount `json:"volumeMounts,omitempty" patchStrategy:"merge" patchMergeKey:"mountPath" protobuf:"bytes,9,rep,name=volumeMounts"`
// volumeDevices is the list of block devices to be used by the container. // volumeDevices is the list of block devices to be used by the container.
// +patchMergeKey=devicePath // +patchMergeKey=devicePath
// +patchStrategy=merge // +patchStrategy=merge
// +listType=map
// +listMapKey=devicePath
// +optional // +optional
VolumeDevices []VolumeDevice `json:"volumeDevices,omitempty" patchStrategy:"merge" patchMergeKey:"devicePath" protobuf:"bytes,21,rep,name=volumeDevices"` VolumeDevices []VolumeDevice `json:"volumeDevices,omitempty" patchStrategy:"merge" patchMergeKey:"devicePath" protobuf:"bytes,21,rep,name=volumeDevices"`
// Probes are not allowed for ephemeral containers. // Probes are not allowed for ephemeral containers.
@@ -4401,6 +4474,8 @@ type PodStatus struct {
// +optional // +optional
// +patchMergeKey=type // +patchMergeKey=type
// +patchStrategy=merge // +patchStrategy=merge
// +listType=map
// +listMapKey=type
Conditions []PodCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,2,rep,name=conditions"` Conditions []PodCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,2,rep,name=conditions"`
// A human readable message indicating details about why the pod is in this condition. // A human readable message indicating details about why the pod is in this condition.
// +optional // +optional
@@ -4446,6 +4521,8 @@ type PodStatus struct {
// +optional // +optional
// +patchStrategy=merge // +patchStrategy=merge
// +patchMergeKey=ip // +patchMergeKey=ip
// +listType=map
// +listMapKey=ip
PodIPs []PodIP `json:"podIPs,omitempty" protobuf:"bytes,12,rep,name=podIPs" patchStrategy:"merge" patchMergeKey:"ip"` PodIPs []PodIP `json:"podIPs,omitempty" protobuf:"bytes,12,rep,name=podIPs" patchStrategy:"merge" patchMergeKey:"ip"`
// RFC 3339 date and time at which the object was acknowledged by the Kubelet. // RFC 3339 date and time at which the object was acknowledged by the Kubelet.
@@ -4457,11 +4534,13 @@ type PodStatus struct {
// init container will have ready = true, the most recently started container will have // init container will have ready = true, the most recently started container will have
// startTime set. // startTime set.
// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-and-container-status // More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-and-container-status
// +listType=atomic
InitContainerStatuses []ContainerStatus `json:"initContainerStatuses,omitempty" protobuf:"bytes,10,rep,name=initContainerStatuses"` InitContainerStatuses []ContainerStatus `json:"initContainerStatuses,omitempty" protobuf:"bytes,10,rep,name=initContainerStatuses"`
// The list has one entry per container in the manifest. // The list has one entry per container in the manifest.
// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-and-container-status // More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-and-container-status
// +optional // +optional
// +listType=atomic
ContainerStatuses []ContainerStatus `json:"containerStatuses,omitempty" protobuf:"bytes,8,rep,name=containerStatuses"` ContainerStatuses []ContainerStatus `json:"containerStatuses,omitempty" protobuf:"bytes,8,rep,name=containerStatuses"`
// The Quality of Service (QOS) classification assigned to the pod based on resource requirements // The Quality of Service (QOS) classification assigned to the pod based on resource requirements
// See PodQOSClass type for available QOS classes // See PodQOSClass type for available QOS classes
@@ -4470,6 +4549,7 @@ type PodStatus struct {
QOSClass PodQOSClass `json:"qosClass,omitempty" protobuf:"bytes,9,rep,name=qosClass"` QOSClass PodQOSClass `json:"qosClass,omitempty" protobuf:"bytes,9,rep,name=qosClass"`
// Status for any ephemeral containers that have run in this pod. // Status for any ephemeral containers that have run in this pod.
// +optional // +optional
// +listType=atomic
EphemeralContainerStatuses []ContainerStatus `json:"ephemeralContainerStatuses,omitempty" protobuf:"bytes,13,rep,name=ephemeralContainerStatuses"` EphemeralContainerStatuses []ContainerStatus `json:"ephemeralContainerStatuses,omitempty" protobuf:"bytes,13,rep,name=ephemeralContainerStatuses"`
// Status of resources resize desired for pod's containers. // Status of resources resize desired for pod's containers.
@@ -4658,6 +4738,8 @@ type ReplicationControllerStatus struct {
// +optional // +optional
// +patchMergeKey=type // +patchMergeKey=type
// +patchStrategy=merge // +patchStrategy=merge
// +listType=map
// +listMapKey=type
Conditions []ReplicationControllerCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,6,rep,name=conditions"` Conditions []ReplicationControllerCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,6,rep,name=conditions"`
} }
@@ -4859,6 +4941,7 @@ type LoadBalancerStatus struct {
// Ingress is a list containing ingress points for the load-balancer. // Ingress is a list containing ingress points for the load-balancer.
// Traffic intended for the service should be sent to these ingress points. // Traffic intended for the service should be sent to these ingress points.
// +optional // +optional
// +listType=atomic
Ingress []LoadBalancerIngress `json:"ingress,omitempty" protobuf:"bytes,1,rep,name=ingress"` Ingress []LoadBalancerIngress `json:"ingress,omitempty" protobuf:"bytes,1,rep,name=ingress"`
} }
@@ -5024,6 +5107,7 @@ type ServiceSpec struct {
// at a node with this IP. A common example is external load-balancers // at a node with this IP. A common example is external load-balancers
// that are not part of the Kubernetes system. // that are not part of the Kubernetes system.
// +optional // +optional
// +listType=atomic
ExternalIPs []string `json:"externalIPs,omitempty" protobuf:"bytes,5,rep,name=externalIPs"` ExternalIPs []string `json:"externalIPs,omitempty" protobuf:"bytes,5,rep,name=externalIPs"`
// Supports "ClientIP" and "None". Used to maintain session affinity. // Supports "ClientIP" and "None". Used to maintain session affinity.
@@ -5049,6 +5133,7 @@ type ServiceSpec struct {
// cloud-provider does not support the feature." // cloud-provider does not support the feature."
// More info: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/ // More info: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/
// +optional // +optional
// +listType=atomic
LoadBalancerSourceRanges []string `json:"loadBalancerSourceRanges,omitempty" protobuf:"bytes,9,opt,name=loadBalancerSourceRanges"` LoadBalancerSourceRanges []string `json:"loadBalancerSourceRanges,omitempty" protobuf:"bytes,9,opt,name=loadBalancerSourceRanges"`
// externalName is the external reference that discovery mechanisms will // externalName is the external reference that discovery mechanisms will
@@ -5303,6 +5388,8 @@ type ServiceAccount struct {
// +optional // +optional
// +patchMergeKey=name // +patchMergeKey=name
// +patchStrategy=merge // +patchStrategy=merge
// +listType=map
// +listMapKey=name
Secrets []ObjectReference `json:"secrets,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,2,rep,name=secrets"` Secrets []ObjectReference `json:"secrets,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,2,rep,name=secrets"`
// ImagePullSecrets is a list of references to secrets in the same namespace to use for pulling any images // ImagePullSecrets is a list of references to secrets in the same namespace to use for pulling any images
@@ -5310,6 +5397,7 @@ type ServiceAccount struct {
// can be mounted in the pod, but ImagePullSecrets are only accessed by the kubelet. // can be mounted in the pod, but ImagePullSecrets are only accessed by the kubelet.
// More info: https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod // More info: https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod
// +optional // +optional
// +listType=atomic
ImagePullSecrets []LocalObjectReference `json:"imagePullSecrets,omitempty" protobuf:"bytes,3,rep,name=imagePullSecrets"` ImagePullSecrets []LocalObjectReference `json:"imagePullSecrets,omitempty" protobuf:"bytes,3,rep,name=imagePullSecrets"`
// AutomountServiceAccountToken indicates whether pods running as this service account should have an API token automatically mounted. // AutomountServiceAccountToken indicates whether pods running as this service account should have an API token automatically mounted.
@@ -5364,6 +5452,7 @@ type Endpoints struct {
// NotReadyAddresses in the same subset. // NotReadyAddresses in the same subset.
// Sets of addresses and ports that comprise a service. // Sets of addresses and ports that comprise a service.
// +optional // +optional
// +listType=atomic
Subsets []EndpointSubset `json:"subsets,omitempty" protobuf:"bytes,2,rep,name=subsets"` Subsets []EndpointSubset `json:"subsets,omitempty" protobuf:"bytes,2,rep,name=subsets"`
} }
@@ -5384,14 +5473,17 @@ type EndpointSubset struct {
// IP addresses which offer the related ports that are marked as ready. These endpoints // IP addresses which offer the related ports that are marked as ready. These endpoints
// should be considered safe for load balancers and clients to utilize. // should be considered safe for load balancers and clients to utilize.
// +optional // +optional
// +listType=atomic
Addresses []EndpointAddress `json:"addresses,omitempty" protobuf:"bytes,1,rep,name=addresses"` Addresses []EndpointAddress `json:"addresses,omitempty" protobuf:"bytes,1,rep,name=addresses"`
// IP addresses which offer the related ports but are not currently marked as ready // IP addresses which offer the related ports but are not currently marked as ready
// because they have not yet finished starting, have recently failed a readiness check, // because they have not yet finished starting, have recently failed a readiness check,
// or have recently failed a liveness check. // or have recently failed a liveness check.
// +optional // +optional
// +listType=atomic
NotReadyAddresses []EndpointAddress `json:"notReadyAddresses,omitempty" protobuf:"bytes,2,rep,name=notReadyAddresses"` NotReadyAddresses []EndpointAddress `json:"notReadyAddresses,omitempty" protobuf:"bytes,2,rep,name=notReadyAddresses"`
// Port numbers available on the related IP addresses. // Port numbers available on the related IP addresses.
// +optional // +optional
// +listType=atomic
Ports []EndpointPort `json:"ports,omitempty" protobuf:"bytes,3,rep,name=ports"` Ports []EndpointPort `json:"ports,omitempty" protobuf:"bytes,3,rep,name=ports"`
} }
@@ -5476,6 +5568,7 @@ type NodeSpec struct {
// each of IPv4 and IPv6. // each of IPv4 and IPv6.
// +optional // +optional
// +patchStrategy=merge // +patchStrategy=merge
// +listType=set
PodCIDRs []string `json:"podCIDRs,omitempty" protobuf:"bytes,7,opt,name=podCIDRs" patchStrategy:"merge"` PodCIDRs []string `json:"podCIDRs,omitempty" protobuf:"bytes,7,opt,name=podCIDRs" patchStrategy:"merge"`
// ID of the node assigned by the cloud provider in the format: <ProviderName>://<ProviderSpecificNodeID> // ID of the node assigned by the cloud provider in the format: <ProviderName>://<ProviderSpecificNodeID>
@@ -5487,6 +5580,7 @@ type NodeSpec struct {
Unschedulable bool `json:"unschedulable,omitempty" protobuf:"varint,4,opt,name=unschedulable"` Unschedulable bool `json:"unschedulable,omitempty" protobuf:"varint,4,opt,name=unschedulable"`
// If specified, the node's taints. // If specified, the node's taints.
// +optional // +optional
// +listType=atomic
Taints []Taint `json:"taints,omitempty" protobuf:"bytes,5,opt,name=taints"` Taints []Taint `json:"taints,omitempty" protobuf:"bytes,5,opt,name=taints"`
// Deprecated: Previously used to specify the source of the node's configuration for the DynamicKubeletConfig feature. This feature is removed. // Deprecated: Previously used to specify the source of the node's configuration for the DynamicKubeletConfig feature. This feature is removed.
@@ -5657,6 +5751,8 @@ type NodeStatus struct {
// +optional // +optional
// +patchMergeKey=type // +patchMergeKey=type
// +patchStrategy=merge // +patchStrategy=merge
// +listType=map
// +listMapKey=type
Conditions []NodeCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,4,rep,name=conditions"` Conditions []NodeCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,4,rep,name=conditions"`
// List of addresses reachable to the node. // List of addresses reachable to the node.
// Queried from cloud provider, if available. // Queried from cloud provider, if available.
@@ -5671,6 +5767,8 @@ type NodeStatus struct {
// +optional // +optional
// +patchMergeKey=type // +patchMergeKey=type
// +patchStrategy=merge // +patchStrategy=merge
// +listType=map
// +listMapKey=type
Addresses []NodeAddress `json:"addresses,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,5,rep,name=addresses"` Addresses []NodeAddress `json:"addresses,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,5,rep,name=addresses"`
// Endpoints of daemons running on the Node. // Endpoints of daemons running on the Node.
// +optional // +optional
@@ -5681,12 +5779,15 @@ type NodeStatus struct {
NodeInfo NodeSystemInfo `json:"nodeInfo,omitempty" protobuf:"bytes,7,opt,name=nodeInfo"` NodeInfo NodeSystemInfo `json:"nodeInfo,omitempty" protobuf:"bytes,7,opt,name=nodeInfo"`
// List of container images on this node // List of container images on this node
// +optional // +optional
// +listType=atomic
Images []ContainerImage `json:"images,omitempty" protobuf:"bytes,8,rep,name=images"` Images []ContainerImage `json:"images,omitempty" protobuf:"bytes,8,rep,name=images"`
// List of attachable volumes in use (mounted) by the node. // List of attachable volumes in use (mounted) by the node.
// +optional // +optional
// +listType=atomic
VolumesInUse []UniqueVolumeName `json:"volumesInUse,omitempty" protobuf:"bytes,9,rep,name=volumesInUse"` VolumesInUse []UniqueVolumeName `json:"volumesInUse,omitempty" protobuf:"bytes,9,rep,name=volumesInUse"`
// List of volumes that are attached to the node. // List of volumes that are attached to the node.
// +optional // +optional
// +listType=atomic
VolumesAttached []AttachedVolume `json:"volumesAttached,omitempty" protobuf:"bytes,10,rep,name=volumesAttached"` VolumesAttached []AttachedVolume `json:"volumesAttached,omitempty" protobuf:"bytes,10,rep,name=volumesAttached"`
// Status of the config assigned to the node via the dynamic Kubelet config feature. // Status of the config assigned to the node via the dynamic Kubelet config feature.
// +optional // +optional
@@ -5711,6 +5812,7 @@ type AvoidPods struct {
// Bounded-sized list of signatures of pods that should avoid this node, sorted // Bounded-sized list of signatures of pods that should avoid this node, sorted
// in timestamp order from oldest to newest. Size of the slice is unspecified. // in timestamp order from oldest to newest. Size of the slice is unspecified.
// +optional // +optional
// +listType=atomic
PreferAvoidPods []PreferAvoidPodsEntry `json:"preferAvoidPods,omitempty" protobuf:"bytes,1,rep,name=preferAvoidPods"` PreferAvoidPods []PreferAvoidPodsEntry `json:"preferAvoidPods,omitempty" protobuf:"bytes,1,rep,name=preferAvoidPods"`
} }
@@ -5742,6 +5844,7 @@ type ContainerImage struct {
// Names by which this image is known. // Names by which this image is known.
// e.g. ["kubernetes.example/hyperkube:v1.0.7", "cloud-vendor.registry.example/cloud-vendor/hyperkube:v1.0.7"] // e.g. ["kubernetes.example/hyperkube:v1.0.7", "cloud-vendor.registry.example/cloud-vendor/hyperkube:v1.0.7"]
// +optional // +optional
// +listType=atomic
Names []string `json:"names" protobuf:"bytes,1,rep,name=names"` Names []string `json:"names" protobuf:"bytes,1,rep,name=names"`
// The size of the image in bytes. // The size of the image in bytes.
// +optional // +optional
@@ -5937,6 +6040,7 @@ type NamespaceSpec struct {
// Finalizers is an opaque list of values that must be empty to permanently remove object from storage. // Finalizers is an opaque list of values that must be empty to permanently remove object from storage.
// More info: https://kubernetes.io/docs/tasks/administer-cluster/namespaces/ // More info: https://kubernetes.io/docs/tasks/administer-cluster/namespaces/
// +optional // +optional
// +listType=atomic
Finalizers []FinalizerName `json:"finalizers,omitempty" protobuf:"bytes,1,rep,name=finalizers,casttype=FinalizerName"` Finalizers []FinalizerName `json:"finalizers,omitempty" protobuf:"bytes,1,rep,name=finalizers,casttype=FinalizerName"`
} }
@@ -5951,6 +6055,8 @@ type NamespaceStatus struct {
// +optional // +optional
// +patchMergeKey=type // +patchMergeKey=type
// +patchStrategy=merge // +patchStrategy=merge
// +listType=map
// +listMapKey=type
Conditions []NamespaceCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,2,rep,name=conditions"` Conditions []NamespaceCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,2,rep,name=conditions"`
} }
@@ -6188,6 +6294,7 @@ type PodExecOptions struct {
Container string `json:"container,omitempty" protobuf:"bytes,5,opt,name=container"` Container string `json:"container,omitempty" protobuf:"bytes,5,opt,name=container"`
// Command is the remote command to execute. argv array. Not executed within a shell. // Command is the remote command to execute. argv array. Not executed within a shell.
// +listType=atomic
Command []string `json:"command" protobuf:"bytes,6,rep,name=command"` Command []string `json:"command" protobuf:"bytes,6,rep,name=command"`
} }
@@ -6206,6 +6313,7 @@ type PodPortForwardOptions struct {
// List of ports to forward // List of ports to forward
// Required when using WebSockets // Required when using WebSockets
// +optional // +optional
// +listType=atomic
Ports []int32 `json:"ports,omitempty" protobuf:"varint,1,rep,name=ports"` Ports []int32 `json:"ports,omitempty" protobuf:"varint,1,rep,name=ports"`
} }
@@ -6499,6 +6607,7 @@ type LimitRangeItem struct {
// LimitRangeSpec defines a min/max usage limit for resources that match on kind. // LimitRangeSpec defines a min/max usage limit for resources that match on kind.
type LimitRangeSpec struct { type LimitRangeSpec struct {
// Limits is the list of LimitRangeItem objects that are enforced. // Limits is the list of LimitRangeItem objects that are enforced.
// +listType=atomic
Limits []LimitRangeItem `json:"limits" protobuf:"bytes,1,rep,name=limits"` Limits []LimitRangeItem `json:"limits" protobuf:"bytes,1,rep,name=limits"`
} }
@@ -6607,6 +6716,7 @@ type ResourceQuotaSpec struct {
// A collection of filters that must match each object tracked by a quota. // A collection of filters that must match each object tracked by a quota.
// If not specified, the quota matches all objects. // If not specified, the quota matches all objects.
// +optional // +optional
// +listType=atomic
Scopes []ResourceQuotaScope `json:"scopes,omitempty" protobuf:"bytes,2,rep,name=scopes,casttype=ResourceQuotaScope"` Scopes []ResourceQuotaScope `json:"scopes,omitempty" protobuf:"bytes,2,rep,name=scopes,casttype=ResourceQuotaScope"`
// scopeSelector is also a collection of filters like scopes that must match each object tracked by a quota // scopeSelector is also a collection of filters like scopes that must match each object tracked by a quota
// but expressed using ScopeSelectorOperator in combination with possible values. // but expressed using ScopeSelectorOperator in combination with possible values.
@@ -6621,6 +6731,7 @@ type ResourceQuotaSpec struct {
type ScopeSelector struct { type ScopeSelector struct {
// A list of scope selector requirements by scope of the resources. // A list of scope selector requirements by scope of the resources.
// +optional // +optional
// +listType=atomic
MatchExpressions []ScopedResourceSelectorRequirement `json:"matchExpressions,omitempty" protobuf:"bytes,1,rep,name=matchExpressions"` MatchExpressions []ScopedResourceSelectorRequirement `json:"matchExpressions,omitempty" protobuf:"bytes,1,rep,name=matchExpressions"`
} }
@@ -6637,6 +6748,7 @@ type ScopedResourceSelectorRequirement struct {
// the values array must be empty. // the values array must be empty.
// This array is replaced during a strategic merge patch. // This array is replaced during a strategic merge patch.
// +optional // +optional
// +listType=atomic
Values []string `json:"values,omitempty" protobuf:"bytes,3,rep,name=values"` Values []string `json:"values,omitempty" protobuf:"bytes,3,rep,name=values"`
} }
@@ -6936,6 +7048,8 @@ type ComponentStatus struct {
// +optional // +optional
// +patchMergeKey=type // +patchMergeKey=type
// +patchStrategy=merge // +patchStrategy=merge
// +listType=map
// +listMapKey=type
Conditions []ComponentCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,2,rep,name=conditions"` Conditions []ComponentCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,2,rep,name=conditions"`
} }
@@ -6959,6 +7073,7 @@ type ComponentStatusList struct {
type DownwardAPIVolumeSource struct { type DownwardAPIVolumeSource struct {
// Items is a list of downward API volume file // Items is a list of downward API volume file
// +optional // +optional
// +listType=atomic
Items []DownwardAPIVolumeFile `json:"items,omitempty" protobuf:"bytes,1,rep,name=items"` Items []DownwardAPIVolumeFile `json:"items,omitempty" protobuf:"bytes,1,rep,name=items"`
// Optional: mode bits to use on created files by default. Must be a // Optional: mode bits to use on created files by default. Must be a
// Optional: mode bits used to set permissions on created files by default. // Optional: mode bits used to set permissions on created files by default.
@@ -7003,6 +7118,7 @@ type DownwardAPIVolumeFile struct {
type DownwardAPIProjection struct { type DownwardAPIProjection struct {
// Items is a list of DownwardAPIVolume file // Items is a list of DownwardAPIVolume file
// +optional // +optional
// +listType=atomic
Items []DownwardAPIVolumeFile `json:"items,omitempty" protobuf:"bytes,1,rep,name=items"` Items []DownwardAPIVolumeFile `json:"items,omitempty" protobuf:"bytes,1,rep,name=items"`
} }