Ingress Nginx Integration
[infra/stack/kubernetes.git] / apps / ceph / kubespray / playbooks / roles / install / templates / crds.yaml.j2
1 # ============LICENSE_START=======================================================
2 #  Copyright (C) 2021 The Nordix Foundation. All rights reserved.
3 # ================================================================================
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
7 #
8 #      http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
15 #
16 # SPDX-License-Identifier: Apache-2.0
17 # ============LICENSE_END=========================================================
18
19 ##############################################################################
20 # Create the CRDs that are necessary before creating your Rook cluster.
21 # These resources *must* be created before the cluster.yaml or their variants.
22 ##############################################################################
23 ---
24 apiVersion: apiextensions.k8s.io/v1
25 kind: CustomResourceDefinition
26 metadata:
27   annotations:
28     controller-gen.kubebuilder.io/version: v0.5.1-0.20210420220833-f284e2e8098c
29   creationTimestamp: null
30   name: cephblockpools.ceph.rook.io
31 spec:
32   group: ceph.rook.io
33   names:
34     kind: CephBlockPool
35     listKind: CephBlockPoolList
36     plural: cephblockpools
37     singular: cephblockpool
38   scope: Namespaced
39   versions:
40     - name: v1
41       schema:
42         openAPIV3Schema:
43           description: CephBlockPool represents a Ceph Storage Pool
44           properties:
45             apiVersion:
46               description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
47               type: string
48             kind:
49               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'
50               type: string
51             metadata:
52               type: object
53             spec:
54               description: PoolSpec represents the spec of ceph pool
55               properties:
56                 compressionMode:
57                   default: none
58                   description: 'The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force)'
59                   enum:
60                     - none
61                     - passive
62                     - aggressive
63                     - force
64                     - ""
65                   nullable: true
66                   type: string
67                 crushRoot:
68                   description: The root of the crush hierarchy utilized by the pool
69                   nullable: true
70                   type: string
71                 deviceClass:
72                   description: The device class the OSD should set to for use in the pool
73                   nullable: true
74                   type: string
75                 enableRBDStats:
76                   description: EnableRBDStats is used to enable gathering of statistics for all RBD images in the pool
77                   type: boolean
78                 erasureCoded:
79                   description: The erasure code settings
80                   properties:
81                     algorithm:
82                       description: The algorithm for erasure coding
83                       type: string
84                     codingChunks:
85                       description: Number of coding chunks per object in an erasure coded storage pool (required for erasure-coded pool type)
86                       maximum: 9
87                       minimum: 0
88                       type: integer
89                     dataChunks:
90                       description: Number of data chunks per object in an erasure coded storage pool (required for erasure-coded pool type)
91                       maximum: 9
92                       minimum: 0
93                       type: integer
94                   required:
95                     - codingChunks
96                     - dataChunks
97                   type: object
98                 failureDomain:
99                   description: 'The failure domain: osd/host/(region or zone if available) - technically also any type in the crush map'
100                   type: string
101                 mirroring:
102                   description: The mirroring settings
103                   properties:
104                     enabled:
105                       description: Enabled whether this pool is mirrored or not
106                       type: boolean
107                     mode:
108                       description: 'Mode is the mirroring mode: either pool or image'
109                       type: string
110                     snapshotSchedules:
111                       description: SnapshotSchedules is the scheduling of snapshot for mirrored images/pools
112                       items:
113                         description: SnapshotScheduleSpec represents the snapshot scheduling settings of a mirrored pool
114                         properties:
115                           interval:
116                             description: Interval represent the periodicity of the snapshot.
117                             type: string
118                           startTime:
119                             description: StartTime indicates when to start the snapshot
120                             type: string
121                         type: object
122                       type: array
123                   type: object
124                 parameters:
125                   additionalProperties:
126                     type: string
127                   description: Parameters is a list of properties to enable on a given pool
128                   nullable: true
129                   type: object
130                   x-kubernetes-preserve-unknown-fields: true
131                 quotas:
132                   description: The quota settings
133                   nullable: true
134                   properties:
135                     maxBytes:
136                       description: MaxBytes represents the quota in bytes Deprecated in favor of MaxSize
137                       format: int64
138                       type: integer
139                     maxObjects:
140                       description: MaxObjects represents the quota in objects
141                       format: int64
142                       type: integer
143                     maxSize:
144                       description: MaxSize represents the quota in bytes as a string
145                       pattern: ^[0-9]+[\.]?[0-9]*([KMGTPE]i|[kMGTPE])?$
146                       type: string
147                   type: object
148                 replicated:
149                   description: The replication settings
150                   properties:
151                     replicasPerFailureDomain:
152                       description: ReplicasPerFailureDomain the number of replica in the specified failure domain
153                       minimum: 1
154                       type: integer
155                     requireSafeReplicaSize:
156                       description: RequireSafeReplicaSize if false allows you to set replica 1
157                       type: boolean
158                     size:
159                       description: Size - Number of copies per object in a replicated storage pool, including the object itself (required for replicated pool type)
160                       minimum: 0
161                       type: integer
162                     subFailureDomain:
163                       description: SubFailureDomain the name of the sub-failure domain
164                       type: string
165                     targetSizeRatio:
166                       description: TargetSizeRatio gives a hint (%) to Ceph in terms of expected consumption of the total cluster capacity
167                       type: number
168                   required:
169                     - size
170                   type: object
171                 statusCheck:
172                   description: The mirroring statusCheck
173                   properties:
174                     mirror:
175                       description: HealthCheckSpec represents the health check of an object store bucket
176                       nullable: true
177                       properties:
178                         disabled:
179                           type: boolean
180                         interval:
181                           description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
182                           type: string
183                         timeout:
184                           type: string
185                       type: object
186                   type: object
187                   x-kubernetes-preserve-unknown-fields: true
188               type: object
189             status:
190               description: CephBlockPoolStatus represents the mirroring status of Ceph Storage Pool
191               properties:
192                 info:
193                   additionalProperties:
194                     type: string
195                   description: Use only info and put mirroringStatus in it?
196                   nullable: true
197                   type: object
198                 mirroringInfo:
199                   description: MirroringInfoSpec is the status of the pool mirroring
200                   properties:
201                     details:
202                       type: string
203                     lastChanged:
204                       type: string
205                     lastChecked:
206                       type: string
207                     mode:
208                       description: Mode is the mirroring mode
209                       type: string
210                     peers:
211                       description: Peers are the list of peer sites connected to that cluster
212                       items:
213                         description: PeersSpec contains peer details
214                         properties:
215                           client_name:
216                             description: ClientName is the CephX user used to connect to the peer
217                             type: string
218                           direction:
219                             description: Direction is the peer mirroring direction
220                             type: string
221                           mirror_uuid:
222                             description: MirrorUUID is the mirror UUID
223                             type: string
224                           site_name:
225                             description: SiteName is the current site name
226                             type: string
227                           uuid:
228                             description: UUID is the peer UUID
229                             type: string
230                         type: object
231                       type: array
232                     site_name:
233                       description: SiteName is the current site name
234                       type: string
235                   type: object
236                 mirroringStatus:
237                   description: MirroringStatusSpec is the status of the pool mirroring
238                   properties:
239                     details:
240                       description: Details contains potential status errors
241                       type: string
242                     lastChanged:
243                       description: LastChanged is the last time time the status last changed
244                       type: string
245                     lastChecked:
246                       description: LastChecked is the last time time the status was checked
247                       type: string
248                     summary:
249                       description: Summary is the mirroring status summary
250                       properties:
251                         daemon_health:
252                           description: DaemonHealth is the health of the mirroring daemon
253                           type: string
254                         health:
255                           description: Health is the mirroring health
256                           type: string
257                         image_health:
258                           description: ImageHealth is the health of the mirrored image
259                           type: string
260                         states:
261                           description: States is the various state for all mirrored images
262                           nullable: true
263                           properties:
264                             error:
265                               description: Error is when the mirroring state is errored
266                               type: integer
267                             replaying:
268                               description: Replaying is when the replay of the mirroring journal is on-going
269                               type: integer
270                             starting_replay:
271                               description: StartingReplay is when the replay of the mirroring journal starts
272                               type: integer
273                             stopped:
274                               description: Stopped is when the mirroring state is stopped
275                               type: integer
276                             stopping_replay:
277                               description: StopReplaying is when the replay of the mirroring journal stops
278                               type: integer
279                             syncing:
280                               description: Syncing is when the image is syncing
281                               type: integer
282                             unknown:
283                               description: Unknown is when the mirroring state is unknown
284                               type: integer
285                           type: object
286                       type: object
287                   type: object
288                 phase:
289                   description: ConditionType represent a resource's status
290                   type: string
291                 snapshotScheduleStatus:
292                   description: SnapshotScheduleStatusSpec is the status of the snapshot schedule
293                   properties:
294                     details:
295                       description: Details contains potential status errors
296                       type: string
297                     lastChanged:
298                       description: LastChanged is the last time time the status last changed
299                       type: string
300                     lastChecked:
301                       description: LastChecked is the last time time the status was checked
302                       type: string
303                     snapshotSchedules:
304                       description: SnapshotSchedules is the list of snapshots scheduled
305                       items:
306                         description: SnapshotSchedulesSpec is the list of snapshot scheduled for images in a pool
307                         properties:
308                           image:
309                             description: Image is the mirrored image
310                             type: string
311                           items:
312                             description: Items is the list schedules times for a given snapshot
313                             items:
314                               description: SnapshotSchedule is a schedule
315                               properties:
316                                 interval:
317                                   description: Interval is the interval in which snapshots will be taken
318                                   type: string
319                                 start_time:
320                                   description: StartTime is the snapshot starting time
321                                   type: string
322                               type: object
323                             type: array
324                           namespace:
325                             description: Namespace is the RADOS namespace the image is part of
326                             type: string
327                           pool:
328                             description: Pool is the pool name
329                             type: string
330                         type: object
331                       nullable: true
332                       type: array
333                   type: object
334               type: object
335               x-kubernetes-preserve-unknown-fields: true
336           required:
337             - metadata
338             - spec
339           type: object
340       served: true
341       storage: true
342       subresources:
343         status: {}
344 status:
345   acceptedNames:
346     kind: ""
347     plural: ""
348   conditions: []
349   storedVersions: []
350 ---
351 apiVersion: apiextensions.k8s.io/v1
352 kind: CustomResourceDefinition
353 metadata:
354   annotations:
355     controller-gen.kubebuilder.io/version: v0.5.1-0.20210420220833-f284e2e8098c
356   creationTimestamp: null
357   name: cephclients.ceph.rook.io
358 spec:
359   group: ceph.rook.io
360   names:
361     kind: CephClient
362     listKind: CephClientList
363     plural: cephclients
364     singular: cephclient
365   scope: Namespaced
366   versions:
367     - name: v1
368       schema:
369         openAPIV3Schema:
370           description: CephClient represents a Ceph Client
371           properties:
372             apiVersion:
373               description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
374               type: string
375             kind:
376               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'
377               type: string
378             metadata:
379               type: object
380             spec:
381               description: Spec represents the specification of a Ceph Client
382               properties:
383                 caps:
384                   additionalProperties:
385                     type: string
386                   type: object
387                   x-kubernetes-preserve-unknown-fields: true
388                 name:
389                   type: string
390               required:
391                 - caps
392               type: object
393             status:
394               description: Status represents the status of a Ceph Client
395               properties:
396                 info:
397                   additionalProperties:
398                     type: string
399                   nullable: true
400                   type: object
401                 phase:
402                   description: ConditionType represent a resource's status
403                   type: string
404               type: object
405               x-kubernetes-preserve-unknown-fields: true
406           required:
407             - metadata
408             - spec
409           type: object
410       served: true
411       storage: true
412       subresources:
413         status: {}
414 status:
415   acceptedNames:
416     kind: ""
417     plural: ""
418   conditions: []
419   storedVersions: []
420 ---
421 apiVersion: apiextensions.k8s.io/v1
422 kind: CustomResourceDefinition
423 metadata:
424   annotations:
425     controller-gen.kubebuilder.io/version: v0.5.1-0.20210420220833-f284e2e8098c
426   creationTimestamp: null
427   name: cephclusters.ceph.rook.io
428 spec:
429   group: ceph.rook.io
430   names:
431     kind: CephCluster
432     listKind: CephClusterList
433     plural: cephclusters
434     singular: cephcluster
435   scope: Namespaced
436   versions:
437     - additionalPrinterColumns:
438         - description: Directory used on the K8s nodes
439           jsonPath: .spec.dataDirHostPath
440           name: DataDirHostPath
441           type: string
442         - description: Number of MONs
443           jsonPath: .spec.mon.count
444           name: MonCount
445           type: string
446         - jsonPath: .metadata.creationTimestamp
447           name: Age
448           type: date
449         - description: Phase
450           jsonPath: .status.phase
451           name: Phase
452           type: string
453         - description: Message
454           jsonPath: .status.message
455           name: Message
456           type: string
457         - description: Ceph Health
458           jsonPath: .status.ceph.health
459           name: Health
460           type: string
461         - jsonPath: .spec.external.enable
462           name: External
463           type: boolean
464       name: v1
465       schema:
466         openAPIV3Schema:
467           description: CephCluster is a Ceph storage cluster
468           properties:
469             apiVersion:
470               description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
471               type: string
472             kind:
473               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'
474               type: string
475             metadata:
476               type: object
477             spec:
478               description: ClusterSpec represents the specification of Ceph Cluster
479               properties:
480                 annotations:
481                   additionalProperties:
482                     additionalProperties:
483                       type: string
484                     description: Annotations are annotations
485                     type: object
486                   description: The annotations-related configuration to add/set on each Pod related object.
487                   nullable: true
488                   type: object
489                   x-kubernetes-preserve-unknown-fields: true
490                 cephVersion:
491                   description: The version information that instructs Rook to orchestrate a particular version of Ceph.
492                   nullable: true
493                   properties:
494                     allowUnsupported:
495                       description: Whether to allow unsupported versions (do not set to true in production)
496                       type: boolean
497                     image:
498                       description: Image is the container image used to launch the ceph daemons, such as ceph/ceph:v16.2.4
499                       type: string
500                   type: object
501                 cleanupPolicy:
502                   description: Indicates user intent when deleting a cluster; blocks orchestration and should not be set if cluster deletion is not imminent.
503                   nullable: true
504                   properties:
505                     allowUninstallWithVolumes:
506                       description: AllowUninstallWithVolumes defines whether we can proceed with the uninstall if they are RBD images still present
507                       type: boolean
508                     confirmation:
509                       description: Confirmation represents the cleanup confirmation
510                       nullable: true
511                       pattern: ^$|^yes-really-destroy-data$
512                       type: string
513                     sanitizeDisks:
514                       description: SanitizeDisks represents way we sanitize disks
515                       nullable: true
516                       properties:
517                         dataSource:
518                           description: DataSource is the data source to use to sanitize the disk with
519                           enum:
520                             - zero
521                             - random
522                           type: string
523                         iteration:
524                           description: Iteration is the number of pass to apply the sanitizing
525                           format: int32
526                           type: integer
527                         method:
528                           description: Method is the method we use to sanitize disks
529                           enum:
530                             - complete
531                             - quick
532                           type: string
533                       type: object
534                   type: object
535                 continueUpgradeAfterChecksEvenIfNotHealthy:
536                   description: ContinueUpgradeAfterChecksEvenIfNotHealthy defines if an upgrade should continue even if PGs are not clean
537                   type: boolean
538                 crashCollector:
539                   description: A spec for the crash controller
540                   nullable: true
541                   properties:
542                     daysToRetain:
543                       description: DaysToRetain represents the number of days to retain crash until they get pruned
544                       type: integer
545                     disable:
546                       description: Disable determines whether we should enable the crash collector
547                       type: boolean
548                   type: object
549                 dashboard:
550                   description: Dashboard settings
551                   nullable: true
552                   properties:
553                     enabled:
554                       description: Enabled determines whether to enable the dashboard
555                       type: boolean
556                     port:
557                       description: Port is the dashboard webserver port
558                       maximum: 65535
559                       minimum: 0
560                       type: integer
561                     ssl:
562                       description: SSL determines whether SSL should be used
563                       type: boolean
564                     urlPrefix:
565                       description: URLPrefix is a prefix for all URLs to use the dashboard with a reverse proxy
566                       type: string
567                   type: object
568                 dataDirHostPath:
569                   description: The path on the host where config and data can be persisted
570                   pattern: ^/(\S+)
571                   type: string
572                 disruptionManagement:
573                   description: A spec for configuring disruption management.
574                   nullable: true
575                   properties:
576                     machineDisruptionBudgetNamespace:
577                       description: Namespace to look for MDBs by the machineDisruptionBudgetController
578                       type: string
579                     manageMachineDisruptionBudgets:
580                       description: This enables management of machinedisruptionbudgets
581                       type: boolean
582                     managePodBudgets:
583                       description: This enables management of poddisruptionbudgets
584                       type: boolean
585                     osdMaintenanceTimeout:
586                       description: OSDMaintenanceTimeout sets how many additional minutes the DOWN/OUT interval is for drained failure domains it only works if managePodBudgets is true. the default is 30 minutes
587                       format: int64
588                       type: integer
589                     pgHealthCheckTimeout:
590                       description: PGHealthCheckTimeout is the time (in minutes) that the operator will wait for the placement groups to become healthy (active+clean) after a drain was completed and OSDs came back up. Rook will continue with the next drain if the timeout exceeds. It only works if managePodBudgets is true. No values or 0 means that the operator will wait until the placement groups are healthy before unblocking the next drain.
591                       format: int64
592                       type: integer
593                   type: object
594                 external:
595                   description: Whether the Ceph Cluster is running external to this Kubernetes cluster mon, mgr, osd, mds, and discover daemons will not be created for external clusters.
596                   nullable: true
597                   properties:
598                     enable:
599                       description: Enable determines whether external mode is enabled or not
600                       type: boolean
601                   type: object
602                   x-kubernetes-preserve-unknown-fields: true
603                 healthCheck:
604                   description: Internal daemon healthchecks and liveness probe
605                   nullable: true
606                   properties:
607                     daemonHealth:
608                       description: DaemonHealth is the health check for a given daemon
609                       nullable: true
610                       properties:
611                         mon:
612                           description: Monitor represents the health check settings for the Ceph monitor
613                           nullable: true
614                           properties:
615                             disabled:
616                               type: boolean
617                             interval:
618                               description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
619                               type: string
620                             timeout:
621                               type: string
622                           type: object
623                         osd:
624                           description: ObjectStorageDaemon represents the health check settings for the Ceph OSDs
625                           nullable: true
626                           properties:
627                             disabled:
628                               type: boolean
629                             interval:
630                               description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
631                               type: string
632                             timeout:
633                               type: string
634                           type: object
635                         status:
636                           description: Status represents the health check settings for the Ceph health
637                           nullable: true
638                           properties:
639                             disabled:
640                               type: boolean
641                             interval:
642                               description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
643                               type: string
644                             timeout:
645                               type: string
646                           type: object
647                       type: object
648                     livenessProbe:
649                       additionalProperties:
650                         description: ProbeSpec is a wrapper around Probe so it can be enabled or disabled for a Ceph daemon
651                         properties:
652                           disabled:
653                             description: Disabled determines whether probe is disable or not
654                             type: boolean
655                           probe:
656                             description: Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic.
657                             properties:
658                               exec:
659                                 description: One and only one of the following should be specified. Exec specifies the action to take.
660                                 properties:
661                                   command:
662                                     description: Command is the command line to execute inside the container, the working directory for the command  is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use 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.
663                                     items:
664                                       type: string
665                                     type: array
666                                 type: object
667                               failureThreshold:
668                                 description: Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
669                                 format: int32
670                                 type: integer
671                               httpGet:
672                                 description: HTTPGet specifies the http request to perform.
673                                 properties:
674                                   host:
675                                     description: Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.
676                                     type: string
677                                   httpHeaders:
678                                     description: Custom headers to set in the request. HTTP allows repeated headers.
679                                     items:
680                                       description: HTTPHeader describes a custom header to be used in HTTP probes
681                                       properties:
682                                         name:
683                                           description: The header field name
684                                           type: string
685                                         value:
686                                           description: The header field value
687                                           type: string
688                                       required:
689                                         - name
690                                         - value
691                                       type: object
692                                     type: array
693                                   path:
694                                     description: Path to access on the HTTP server.
695                                     type: string
696                                   port:
697                                     anyOf:
698                                       - type: integer
699                                       - type: string
700                                     description: Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
701                                     x-kubernetes-int-or-string: true
702                                   scheme:
703                                     description: Scheme to use for connecting to the host. Defaults to HTTP.
704                                     type: string
705                                 required:
706                                   - port
707                                 type: object
708                               initialDelaySeconds:
709                                 description: 'Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
710                                 format: int32
711                                 type: integer
712                               periodSeconds:
713                                 description: How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.
714                                 format: int32
715                                 type: integer
716                               successThreshold:
717                                 description: Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
718                                 format: int32
719                                 type: integer
720                               tcpSocket:
721                                 description: 'TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported TODO: implement a realistic TCP lifecycle hook'
722                                 properties:
723                                   host:
724                                     description: 'Optional: Host name to connect to, defaults to the pod IP.'
725                                     type: string
726                                   port:
727                                     anyOf:
728                                       - type: integer
729                                       - type: string
730                                     description: Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
731                                     x-kubernetes-int-or-string: true
732                                 required:
733                                   - port
734                                 type: object
735                               terminationGracePeriodSeconds:
736                                 description: Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is an alpha field and requires enabling ProbeTerminationGracePeriod feature gate.
737                                 format: int64
738                                 type: integer
739                               timeoutSeconds:
740                                 description: 'Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
741                                 format: int32
742                                 type: integer
743                             type: object
744                         type: object
745                       description: LivenessProbe allows to change the livenessprobe configuration for a given daemon
746                       type: object
747                   type: object
748                 labels:
749                   additionalProperties:
750                     additionalProperties:
751                       type: string
752                     description: Labels are label for a given daemons
753                     type: object
754                   description: The labels-related configuration to add/set on each Pod related object.
755                   nullable: true
756                   type: object
757                   x-kubernetes-preserve-unknown-fields: true
758                 logCollector:
759                   description: Logging represents loggings settings
760                   nullable: true
761                   properties:
762                     enabled:
763                       description: Enabled represents whether the log collector is enabled
764                       type: boolean
765                     periodicity:
766                       description: Periodicity is the periodicity of the log rotation
767                       type: string
768                   type: object
769                 mgr:
770                   description: A spec for mgr related options
771                   nullable: true
772                   properties:
773                     allowMultiplePerNode:
774                       description: AllowMultiplePerNode allows to run multiple managers on the same node (not recommended)
775                       type: boolean
776                     count:
777                       description: Count is the number of manager to run
778                       maximum: 2
779                       minimum: 0
780                       type: integer
781                     modules:
782                       description: Modules is the list of ceph manager modules to enable/disable
783                       items:
784                         description: Module represents mgr modules that the user wants to enable or disable
785                         properties:
786                           enabled:
787                             description: Enabled determines whether a module should be enabled or not
788                             type: boolean
789                           name:
790                             description: Name is the name of the ceph manager module
791                             type: string
792                         type: object
793                       nullable: true
794                       type: array
795                   type: object
796                 mon:
797                   description: A spec for mon related options
798                   nullable: true
799                   properties:
800                     allowMultiplePerNode:
801                       description: AllowMultiplePerNode determines if we can run multiple monitors on the same node (not recommended)
802                       type: boolean
803                     count:
804                       description: Count is the number of Ceph monitors
805                       minimum: 0
806                       type: integer
807                     stretchCluster:
808                       description: StretchCluster is the stretch cluster specification
809                       properties:
810                         failureDomainLabel:
811                           description: 'FailureDomainLabel the failure domain name (e,g: zone)'
812                           type: string
813                         subFailureDomain:
814                           description: SubFailureDomain is the failure domain within a zone
815                           type: string
816                         zones:
817                           description: Zones is the list of zones
818                           items:
819                             description: StretchClusterZoneSpec represents the specification of a stretched zone in a Ceph Cluster
820                             properties:
821                               arbiter:
822                                 description: Arbiter determines if the zone contains the arbiter
823                                 type: boolean
824                               name:
825                                 description: Name is the name of the zone
826                                 type: string
827                               volumeClaimTemplate:
828                                 description: VolumeClaimTemplate is the PVC template
829                                 properties:
830                                   apiVersion:
831                                     description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
832                                     type: string
833                                   kind:
834                                     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'
835                                     type: string
836                                   metadata:
837                                     description: 'Standard object''s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata'
838                                     properties:
839                                       annotations:
840                                         additionalProperties:
841                                           type: string
842                                         type: object
843                                       finalizers:
844                                         items:
845                                           type: string
846                                         type: array
847                                       labels:
848                                         additionalProperties:
849                                           type: string
850                                         type: object
851                                       name:
852                                         type: string
853                                       namespace:
854                                         type: string
855                                     type: object
856                                   spec:
857                                     description: 'Spec defines the desired characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
858                                     properties:
859                                       accessModes:
860                                         description: 'AccessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
861                                         items:
862                                           type: string
863                                         type: array
864                                       dataSource:
865                                         description: 'This field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) * An existing custom resource that implements data population (Alpha) In order to use custom resource types that implement data population, the AnyVolumeDataSource feature gate must be enabled. If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source.'
866                                         properties:
867                                           apiGroup:
868                                             description: APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required.
869                                             type: string
870                                           kind:
871                                             description: Kind is the type of resource being referenced
872                                             type: string
873                                           name:
874                                             description: Name is the name of resource being referenced
875                                             type: string
876                                         required:
877                                           - kind
878                                           - name
879                                         type: object
880                                       resources:
881                                         description: 'Resources represents the minimum resources the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources'
882                                         properties:
883                                           limits:
884                                             additionalProperties:
885                                               anyOf:
886                                                 - type: integer
887                                                 - type: string
888                                               pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
889                                               x-kubernetes-int-or-string: true
890                                             description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
891                                             type: object
892                                           requests:
893                                             additionalProperties:
894                                               anyOf:
895                                                 - type: integer
896                                                 - type: string
897                                               pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
898                                               x-kubernetes-int-or-string: true
899                                             description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
900                                             type: object
901                                         type: object
902                                       selector:
903                                         description: A label query over volumes to consider for binding.
904                                         properties:
905                                           matchExpressions:
906                                             description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
907                                             items:
908                                               description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
909                                               properties:
910                                                 key:
911                                                   description: key is the label key that the selector applies to.
912                                                   type: string
913                                                 operator:
914                                                   description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
915                                                   type: string
916                                                 values:
917                                                   description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
918                                                   items:
919                                                     type: string
920                                                   type: array
921                                               required:
922                                                 - key
923                                                 - operator
924                                               type: object
925                                             type: array
926                                           matchLabels:
927                                             additionalProperties:
928                                               type: string
929                                             description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
930                                             type: object
931                                         type: object
932                                       storageClassName:
933                                         description: 'Name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1'
934                                         type: string
935                                       volumeMode:
936                                         description: volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec.
937                                         type: string
938                                       volumeName:
939                                         description: VolumeName is the binding reference to the PersistentVolume backing this claim.
940                                         type: string
941                                     type: object
942                                   status:
943                                     description: 'Status represents the current information/status of a persistent volume claim. Read-only. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
944                                     properties:
945                                       accessModes:
946                                         description: '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'
947                                         items:
948                                           type: string
949                                         type: array
950                                       capacity:
951                                         additionalProperties:
952                                           anyOf:
953                                             - type: integer
954                                             - type: string
955                                           pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
956                                           x-kubernetes-int-or-string: true
957                                         description: Represents the actual resources of the underlying volume.
958                                         type: object
959                                       conditions:
960                                         description: Current Condition of persistent volume claim. If underlying persistent volume is being resized then the Condition will be set to 'ResizeStarted'.
961                                         items:
962                                           description: PersistentVolumeClaimCondition contails details about state of pvc
963                                           properties:
964                                             lastProbeTime:
965                                               description: Last time we probed the condition.
966                                               format: date-time
967                                               type: string
968                                             lastTransitionTime:
969                                               description: Last time the condition transitioned from one status to another.
970                                               format: date-time
971                                               type: string
972                                             message:
973                                               description: Human-readable message indicating details about last transition.
974                                               type: string
975                                             reason:
976                                               description: Unique, this should be a short, machine understandable string that gives the reason for condition's last transition. If it reports "ResizeStarted" that means the underlying persistent volume is being resized.
977                                               type: string
978                                             status:
979                                               type: string
980                                             type:
981                                               description: PersistentVolumeClaimConditionType is a valid value of PersistentVolumeClaimCondition.Type
982                                               type: string
983                                           required:
984                                             - status
985                                             - type
986                                           type: object
987                                         type: array
988                                       phase:
989                                         description: Phase represents the current phase of PersistentVolumeClaim.
990                                         type: string
991                                     type: object
992                                 type: object
993                                 x-kubernetes-preserve-unknown-fields: true
994                             type: object
995                           nullable: true
996                           type: array
997                       type: object
998                     volumeClaimTemplate:
999                       description: VolumeClaimTemplate is the PVC definition
1000                       properties:
1001                         apiVersion:
1002                           description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
1003                           type: string
1004                         kind:
1005                           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'
1006                           type: string
1007                         metadata:
1008                           description: 'Standard object''s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata'
1009                           properties:
1010                             annotations:
1011                               additionalProperties:
1012                                 type: string
1013                               type: object
1014                             finalizers:
1015                               items:
1016                                 type: string
1017                               type: array
1018                             labels:
1019                               additionalProperties:
1020                                 type: string
1021                               type: object
1022                             name:
1023                               type: string
1024                             namespace:
1025                               type: string
1026                           type: object
1027                         spec:
1028                           description: 'Spec defines the desired characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
1029                           properties:
1030                             accessModes:
1031                               description: 'AccessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
1032                               items:
1033                                 type: string
1034                               type: array
1035                             dataSource:
1036                               description: 'This field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) * An existing custom resource that implements data population (Alpha) In order to use custom resource types that implement data population, the AnyVolumeDataSource feature gate must be enabled. If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source.'
1037                               properties:
1038                                 apiGroup:
1039                                   description: APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required.
1040                                   type: string
1041                                 kind:
1042                                   description: Kind is the type of resource being referenced
1043                                   type: string
1044                                 name:
1045                                   description: Name is the name of resource being referenced
1046                                   type: string
1047                               required:
1048                                 - kind
1049                                 - name
1050                               type: object
1051                             resources:
1052                               description: 'Resources represents the minimum resources the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources'
1053                               properties:
1054                                 limits:
1055                                   additionalProperties:
1056                                     anyOf:
1057                                       - type: integer
1058                                       - type: string
1059                                     pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
1060                                     x-kubernetes-int-or-string: true
1061                                   description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
1062                                   type: object
1063                                 requests:
1064                                   additionalProperties:
1065                                     anyOf:
1066                                       - type: integer
1067                                       - type: string
1068                                     pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
1069                                     x-kubernetes-int-or-string: true
1070                                   description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
1071                                   type: object
1072                               type: object
1073                             selector:
1074                               description: A label query over volumes to consider for binding.
1075                               properties:
1076                                 matchExpressions:
1077                                   description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
1078                                   items:
1079                                     description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
1080                                     properties:
1081                                       key:
1082                                         description: key is the label key that the selector applies to.
1083                                         type: string
1084                                       operator:
1085                                         description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
1086                                         type: string
1087                                       values:
1088                                         description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
1089                                         items:
1090                                           type: string
1091                                         type: array
1092                                     required:
1093                                       - key
1094                                       - operator
1095                                     type: object
1096                                   type: array
1097                                 matchLabels:
1098                                   additionalProperties:
1099                                     type: string
1100                                   description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
1101                                   type: object
1102                               type: object
1103                             storageClassName:
1104                               description: 'Name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1'
1105                               type: string
1106                             volumeMode:
1107                               description: volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec.
1108                               type: string
1109                             volumeName:
1110                               description: VolumeName is the binding reference to the PersistentVolume backing this claim.
1111                               type: string
1112                           type: object
1113                         status:
1114                           description: 'Status represents the current information/status of a persistent volume claim. Read-only. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
1115                           properties:
1116                             accessModes:
1117                               description: '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'
1118                               items:
1119                                 type: string
1120                               type: array
1121                             capacity:
1122                               additionalProperties:
1123                                 anyOf:
1124                                   - type: integer
1125                                   - type: string
1126                                 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
1127                                 x-kubernetes-int-or-string: true
1128                               description: Represents the actual resources of the underlying volume.
1129                               type: object
1130                             conditions:
1131                               description: Current Condition of persistent volume claim. If underlying persistent volume is being resized then the Condition will be set to 'ResizeStarted'.
1132                               items:
1133                                 description: PersistentVolumeClaimCondition contails details about state of pvc
1134                                 properties:
1135                                   lastProbeTime:
1136                                     description: Last time we probed the condition.
1137                                     format: date-time
1138                                     type: string
1139                                   lastTransitionTime:
1140                                     description: Last time the condition transitioned from one status to another.
1141                                     format: date-time
1142                                     type: string
1143                                   message:
1144                                     description: Human-readable message indicating details about last transition.
1145                                     type: string
1146                                   reason:
1147                                     description: Unique, this should be a short, machine understandable string that gives the reason for condition's last transition. If it reports "ResizeStarted" that means the underlying persistent volume is being resized.
1148                                     type: string
1149                                   status:
1150                                     type: string
1151                                   type:
1152                                     description: PersistentVolumeClaimConditionType is a valid value of PersistentVolumeClaimCondition.Type
1153                                     type: string
1154                                 required:
1155                                   - status
1156                                   - type
1157                                 type: object
1158                               type: array
1159                             phase:
1160                               description: Phase represents the current phase of PersistentVolumeClaim.
1161                               type: string
1162                           type: object
1163                       type: object
1164                       x-kubernetes-preserve-unknown-fields: true
1165                   type: object
1166                 monitoring:
1167                   description: Prometheus based Monitoring settings
1168                   nullable: true
1169                   properties:
1170                     enabled:
1171                       description: Enabled determines whether to create the prometheus rules for the ceph cluster. If true, the prometheus types must exist or the creation will fail.
1172                       type: boolean
1173                     externalMgrEndpoints:
1174                       description: ExternalMgrEndpoints points to an existing Ceph prometheus exporter endpoint
1175                       items:
1176                         description: EndpointAddress is a tuple that describes single IP address.
1177                         properties:
1178                           hostname:
1179                             description: The Hostname of this endpoint
1180                             type: string
1181                           ip:
1182                             description: 'The IP of this endpoint. May not be loopback (127.0.0.0/8), link-local (169.254.0.0/16), or link-local multicast ((224.0.0.0/24). IPv6 is also accepted but not fully supported on all platforms. Also, certain kubernetes components, like kube-proxy, are not IPv6 ready. TODO: This should allow hostname or IP, See #4447.'
1183                             type: string
1184                           nodeName:
1185                             description: 'Optional: Node hosting this endpoint. This can be used to determine endpoints local to a node.'
1186                             type: string
1187                           targetRef:
1188                             description: Reference to object providing the endpoint.
1189                             properties:
1190                               apiVersion:
1191                                 description: API version of the referent.
1192                                 type: string
1193                               fieldPath:
1194                                 description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.'
1195                                 type: string
1196                               kind:
1197                                 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
1198                                 type: string
1199                               name:
1200                                 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
1201                                 type: string
1202                               namespace:
1203                                 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
1204                                 type: string
1205                               resourceVersion:
1206                                 description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
1207                                 type: string
1208                               uid:
1209                                 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
1210                                 type: string
1211                             type: object
1212                         required:
1213                           - ip
1214                         type: object
1215                       nullable: true
1216                       type: array
1217                     externalMgrPrometheusPort:
1218                       description: ExternalMgrPrometheusPort Prometheus exporter port
1219                       maximum: 65535
1220                       minimum: 0
1221                       type: integer
1222                     rulesNamespace:
1223                       description: RulesNamespace is the namespace where the prometheus rules and alerts should be created. If empty, the same namespace as the cluster will be used.
1224                       type: string
1225                   type: object
1226                 network:
1227                   description: Network related configuration
1228                   nullable: true
1229                   properties:
1230                     dualStack:
1231                       description: DualStack determines whether Ceph daemons should listen on both IPv4 and IPv6
1232                       type: boolean
1233                     hostNetwork:
1234                       description: HostNetwork to enable host network
1235                       type: boolean
1236                     ipFamily:
1237                       default: IPv4
1238                       description: IPFamily is the single stack IPv6 or IPv4 protocol
1239                       enum:
1240                         - IPv4
1241                         - IPv6
1242                       nullable: true
1243                       type: string
1244                     provider:
1245                       description: Provider is what provides network connectivity to the cluster e.g. "host" or "multus"
1246                       nullable: true
1247                       type: string
1248                     selectors:
1249                       additionalProperties:
1250                         type: string
1251                       description: Selectors string values describe what networks will be used to connect the cluster. Meanwhile the keys describe each network respective responsibilities or any metadata storage provider decide.
1252                       nullable: true
1253                       type: object
1254                   type: object
1255                   x-kubernetes-preserve-unknown-fields: true
1256                 placement:
1257                   additionalProperties:
1258                     description: Placement is the placement for an object
1259                     properties:
1260                       nodeAffinity:
1261                         description: NodeAffinity is a group of node affinity scheduling rules
1262                         properties:
1263                           preferredDuringSchedulingIgnoredDuringExecution:
1264                             description: The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node matches the corresponding matchExpressions; the node(s) with the highest sum are the most preferred.
1265                             items:
1266                               description: An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
1267                               properties:
1268                                 preference:
1269                                   description: A node selector term, associated with the corresponding weight.
1270                                   properties:
1271                                     matchExpressions:
1272                                       description: A list of node selector requirements by node's labels.
1273                                       items:
1274                                         description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
1275                                         properties:
1276                                           key:
1277                                             description: The label key that the selector applies to.
1278                                             type: string
1279                                           operator:
1280                                             description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
1281                                             type: string
1282                                           values:
1283                                             description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
1284                                             items:
1285                                               type: string
1286                                             type: array
1287                                         required:
1288                                           - key
1289                                           - operator
1290                                         type: object
1291                                       type: array
1292                                     matchFields:
1293                                       description: A list of node selector requirements by node's fields.
1294                                       items:
1295                                         description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
1296                                         properties:
1297                                           key:
1298                                             description: The label key that the selector applies to.
1299                                             type: string
1300                                           operator:
1301                                             description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
1302                                             type: string
1303                                           values:
1304                                             description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
1305                                             items:
1306                                               type: string
1307                                             type: array
1308                                         required:
1309                                           - key
1310                                           - operator
1311                                         type: object
1312                                       type: array
1313                                   type: object
1314                                 weight:
1315                                   description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
1316                                   format: int32
1317                                   type: integer
1318                               required:
1319                                 - preference
1320                                 - weight
1321                               type: object
1322                             type: array
1323                           requiredDuringSchedulingIgnoredDuringExecution:
1324                             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 an update), the system may or may not try to eventually evict the pod from its node.
1325                             properties:
1326                               nodeSelectorTerms:
1327                                 description: Required. A list of node selector terms. The terms are ORed.
1328                                 items:
1329                                   description: A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
1330                                   properties:
1331                                     matchExpressions:
1332                                       description: A list of node selector requirements by node's labels.
1333                                       items:
1334                                         description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
1335                                         properties:
1336                                           key:
1337                                             description: The label key that the selector applies to.
1338                                             type: string
1339                                           operator:
1340                                             description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
1341                                             type: string
1342                                           values:
1343                                             description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
1344                                             items:
1345                                               type: string
1346                                             type: array
1347                                         required:
1348                                           - key
1349                                           - operator
1350                                         type: object
1351                                       type: array
1352                                     matchFields:
1353                                       description: A list of node selector requirements by node's fields.
1354                                       items:
1355                                         description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
1356                                         properties:
1357                                           key:
1358                                             description: The label key that the selector applies to.
1359                                             type: string
1360                                           operator:
1361                                             description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
1362                                             type: string
1363                                           values:
1364                                             description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
1365                                             items:
1366                                               type: string
1367                                             type: array
1368                                         required:
1369                                           - key
1370                                           - operator
1371                                         type: object
1372                                       type: array
1373                                   type: object
1374                                 type: array
1375                             required:
1376                               - nodeSelectorTerms
1377                             type: object
1378                         type: object
1379                       podAffinity:
1380                         description: PodAffinity is a group of inter pod affinity scheduling rules
1381                         properties:
1382                           preferredDuringSchedulingIgnoredDuringExecution:
1383                             description: The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "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.
1384                             items:
1385                               description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
1386                               properties:
1387                                 podAffinityTerm:
1388                                   description: Required. A pod affinity term, associated with the corresponding weight.
1389                                   properties:
1390                                     labelSelector:
1391                                       description: A label query over a set of resources, in this case pods.
1392                                       properties:
1393                                         matchExpressions:
1394                                           description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
1395                                           items:
1396                                             description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
1397                                             properties:
1398                                               key:
1399                                                 description: key is the label key that the selector applies to.
1400                                                 type: string
1401                                               operator:
1402                                                 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
1403                                                 type: string
1404                                               values:
1405                                                 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
1406                                                 items:
1407                                                   type: string
1408                                                 type: array
1409                                             required:
1410                                               - key
1411                                               - operator
1412                                             type: object
1413                                           type: array
1414                                         matchLabels:
1415                                           additionalProperties:
1416                                             type: string
1417                                           description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
1418                                           type: object
1419                                       type: object
1420                                     namespaceSelector:
1421                                       description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
1422                                       properties:
1423                                         matchExpressions:
1424                                           description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
1425                                           items:
1426                                             description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
1427                                             properties:
1428                                               key:
1429                                                 description: key is the label key that the selector applies to.
1430                                                 type: string
1431                                               operator:
1432                                                 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
1433                                                 type: string
1434                                               values:
1435                                                 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
1436                                                 items:
1437                                                   type: string
1438                                                 type: array
1439                                             required:
1440                                               - key
1441                                               - operator
1442                                             type: object
1443                                           type: array
1444                                         matchLabels:
1445                                           additionalProperties:
1446                                             type: string
1447                                           description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
1448                                           type: object
1449                                       type: object
1450                                     namespaces:
1451                                       description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
1452                                       items:
1453                                         type: string
1454                                       type: array
1455                                     topologyKey:
1456                                       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.
1457                                       type: string
1458                                   required:
1459                                     - topologyKey
1460                                   type: object
1461                                 weight:
1462                                   description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
1463                                   format: int32
1464                                   type: integer
1465                               required:
1466                                 - podAffinityTerm
1467                                 - weight
1468                               type: object
1469                             type: array
1470                           requiredDuringSchedulingIgnoredDuringExecution:
1471                             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.
1472                             items:
1473                               description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, 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 a pod of the set of pods is running
1474                               properties:
1475                                 labelSelector:
1476                                   description: A label query over a set of resources, in this case pods.
1477                                   properties:
1478                                     matchExpressions:
1479                                       description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
1480                                       items:
1481                                         description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
1482                                         properties:
1483                                           key:
1484                                             description: key is the label key that the selector applies to.
1485                                             type: string
1486                                           operator:
1487                                             description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
1488                                             type: string
1489                                           values:
1490                                             description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
1491                                             items:
1492                                               type: string
1493                                             type: array
1494                                         required:
1495                                           - key
1496                                           - operator
1497                                         type: object
1498                                       type: array
1499                                     matchLabels:
1500                                       additionalProperties:
1501                                         type: string
1502                                       description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
1503                                       type: object
1504                                   type: object
1505                                 namespaceSelector:
1506                                   description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
1507                                   properties:
1508                                     matchExpressions:
1509                                       description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
1510                                       items:
1511                                         description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
1512                                         properties:
1513                                           key:
1514                                             description: key is the label key that the selector applies to.
1515                                             type: string
1516                                           operator:
1517                                             description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
1518                                             type: string
1519                                           values:
1520                                             description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
1521                                             items:
1522                                               type: string
1523                                             type: array
1524                                         required:
1525                                           - key
1526                                           - operator
1527                                         type: object
1528                                       type: array
1529                                     matchLabels:
1530                                       additionalProperties:
1531                                         type: string
1532                                       description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
1533                                       type: object
1534                                   type: object
1535                                 namespaces:
1536                                   description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
1537                                   items:
1538                                     type: string
1539                                   type: array
1540                                 topologyKey:
1541                                   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.
1542                                   type: string
1543                               required:
1544                                 - topologyKey
1545                               type: object
1546                             type: array
1547                         type: object
1548                       podAntiAffinity:
1549                         description: PodAntiAffinity is a group of inter pod anti affinity scheduling rules
1550                         properties:
1551                           preferredDuringSchedulingIgnoredDuringExecution:
1552                             description: The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "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.
1553                             items:
1554                               description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
1555                               properties:
1556                                 podAffinityTerm:
1557                                   description: Required. A pod affinity term, associated with the corresponding weight.
1558                                   properties:
1559                                     labelSelector:
1560                                       description: A label query over a set of resources, in this case pods.
1561                                       properties:
1562                                         matchExpressions:
1563                                           description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
1564                                           items:
1565                                             description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
1566                                             properties:
1567                                               key:
1568                                                 description: key is the label key that the selector applies to.
1569                                                 type: string
1570                                               operator:
1571                                                 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
1572                                                 type: string
1573                                               values:
1574                                                 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
1575                                                 items:
1576                                                   type: string
1577                                                 type: array
1578                                             required:
1579                                               - key
1580                                               - operator
1581                                             type: object
1582                                           type: array
1583                                         matchLabels:
1584                                           additionalProperties:
1585                                             type: string
1586                                           description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
1587                                           type: object
1588                                       type: object
1589                                     namespaceSelector:
1590                                       description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
1591                                       properties:
1592                                         matchExpressions:
1593                                           description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
1594                                           items:
1595                                             description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
1596                                             properties:
1597                                               key:
1598                                                 description: key is the label key that the selector applies to.
1599                                                 type: string
1600                                               operator:
1601                                                 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
1602                                                 type: string
1603                                               values:
1604                                                 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
1605                                                 items:
1606                                                   type: string
1607                                                 type: array
1608                                             required:
1609                                               - key
1610                                               - operator
1611                                             type: object
1612                                           type: array
1613                                         matchLabels:
1614                                           additionalProperties:
1615                                             type: string
1616                                           description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
1617                                           type: object
1618                                       type: object
1619                                     namespaces:
1620                                       description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
1621                                       items:
1622                                         type: string
1623                                       type: array
1624                                     topologyKey:
1625                                       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.
1626                                       type: string
1627                                   required:
1628                                     - topologyKey
1629                                   type: object
1630                                 weight:
1631                                   description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
1632                                   format: int32
1633                                   type: integer
1634                               required:
1635                                 - podAffinityTerm
1636                                 - weight
1637                               type: object
1638                             type: array
1639                           requiredDuringSchedulingIgnoredDuringExecution:
1640                             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.
1641                             items:
1642                               description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, 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 a pod of the set of pods is running
1643                               properties:
1644                                 labelSelector:
1645                                   description: A label query over a set of resources, in this case pods.
1646                                   properties:
1647                                     matchExpressions:
1648                                       description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
1649                                       items:
1650                                         description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
1651                                         properties:
1652                                           key:
1653                                             description: key is the label key that the selector applies to.
1654                                             type: string
1655                                           operator:
1656                                             description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
1657                                             type: string
1658                                           values:
1659                                             description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
1660                                             items:
1661                                               type: string
1662                                             type: array
1663                                         required:
1664                                           - key
1665                                           - operator
1666                                         type: object
1667                                       type: array
1668                                     matchLabels:
1669                                       additionalProperties:
1670                                         type: string
1671                                       description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
1672                                       type: object
1673                                   type: object
1674                                 namespaceSelector:
1675                                   description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
1676                                   properties:
1677                                     matchExpressions:
1678                                       description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
1679                                       items:
1680                                         description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
1681                                         properties:
1682                                           key:
1683                                             description: key is the label key that the selector applies to.
1684                                             type: string
1685                                           operator:
1686                                             description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
1687                                             type: string
1688                                           values:
1689                                             description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
1690                                             items:
1691                                               type: string
1692                                             type: array
1693                                         required:
1694                                           - key
1695                                           - operator
1696                                         type: object
1697                                       type: array
1698                                     matchLabels:
1699                                       additionalProperties:
1700                                         type: string
1701                                       description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
1702                                       type: object
1703                                   type: object
1704                                 namespaces:
1705                                   description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
1706                                   items:
1707                                     type: string
1708                                   type: array
1709                                 topologyKey:
1710                                   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.
1711                                   type: string
1712                               required:
1713                                 - topologyKey
1714                               type: object
1715                             type: array
1716                         type: object
1717                       tolerations:
1718                         description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>
1719                         items:
1720                           description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.
1721                           properties:
1722                             effect:
1723                               description: Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
1724                               type: string
1725                             key:
1726                               description: Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.
1727                               type: string
1728                             operator:
1729                               description: Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.
1730                               type: string
1731                             tolerationSeconds:
1732                               description: TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.
1733                               format: int64
1734                               type: integer
1735                             value:
1736                               description: Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.
1737                               type: string
1738                           type: object
1739                         type: array
1740                       topologySpreadConstraints:
1741                         description: TopologySpreadConstraint specifies how to spread matching pods among the given topology
1742                         items:
1743                           description: TopologySpreadConstraint specifies how to spread matching pods among the given topology.
1744                           properties:
1745                             labelSelector:
1746                               description: LabelSelector is used to find matching pods. Pods that match this label selector are counted to determine the number of pods in their corresponding topology domain.
1747                               properties:
1748                                 matchExpressions:
1749                                   description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
1750                                   items:
1751                                     description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
1752                                     properties:
1753                                       key:
1754                                         description: key is the label key that the selector applies to.
1755                                         type: string
1756                                       operator:
1757                                         description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
1758                                         type: string
1759                                       values:
1760                                         description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
1761                                         items:
1762                                           type: string
1763                                         type: array
1764                                     required:
1765                                       - key
1766                                       - operator
1767                                     type: object
1768                                   type: array
1769                                 matchLabels:
1770                                   additionalProperties:
1771                                     type: string
1772                                   description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
1773                                   type: object
1774                               type: object
1775                             maxSkew:
1776                               description: 'MaxSkew describes the degree to which pods may be unevenly distributed. When `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference between the number of matching pods in the target topology and the global minimum. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 1/1/0: | zone1 | zone2 | zone3 | |   P   |   P   |       | - if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 1/1/1; scheduling it onto zone1(zone2) would make the ActualSkew(2-0) on zone1(zone2) violate MaxSkew(1). - if MaxSkew is 2, incoming pod can be scheduled onto any zone. When `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence to topologies that satisfy it. It''s a required field. Default value is 1 and 0 is not allowed.'
1777                               format: int32
1778                               type: integer
1779                             topologyKey:
1780                               description: TopologyKey is the key of node labels. Nodes that have a label with this key and identical values are considered to be in the same topology. We consider each <key, value> as a "bucket", and try to put balanced number of pods into each bucket. It's a required field.
1781                               type: string
1782                             whenUnsatisfiable:
1783                               description: 'WhenUnsatisfiable indicates how to deal with a pod if it doesn''t satisfy the spread constraint. - DoNotSchedule (default) tells the scheduler not to schedule it. - ScheduleAnyway tells the scheduler to schedule the pod in any location,   but giving higher precedence to topologies that would help reduce the   skew. A constraint is considered "Unsatisfiable" for an incoming pod if and only if every possible node assigment for that pod would violate "MaxSkew" on some topology. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 3/1/1: | zone1 | zone2 | zone3 | | P P P |   P   |   P   | If WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled to zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies MaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler won''t make it *more* imbalanced. It''s a required field.'
1784                               type: string
1785                           required:
1786                             - maxSkew
1787                             - topologyKey
1788                             - whenUnsatisfiable
1789                           type: object
1790                         type: array
1791                     type: object
1792                   description: The placement-related configuration to pass to kubernetes (affinity, node selector, tolerations).
1793                   nullable: true
1794                   type: object
1795                   x-kubernetes-preserve-unknown-fields: true
1796                 priorityClassNames:
1797                   additionalProperties:
1798                     type: string
1799                   description: PriorityClassNames sets priority classes on components
1800                   nullable: true
1801                   type: object
1802                   x-kubernetes-preserve-unknown-fields: true
1803                 removeOSDsIfOutAndSafeToRemove:
1804                   description: Remove the OSD that is out and safe to remove only if this option is true
1805                   type: boolean
1806                 resources:
1807                   additionalProperties:
1808                     description: ResourceRequirements describes the compute resource requirements.
1809                     properties:
1810                       limits:
1811                         additionalProperties:
1812                           anyOf:
1813                             - type: integer
1814                             - type: string
1815                           pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
1816                           x-kubernetes-int-or-string: true
1817                         description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
1818                         type: object
1819                       requests:
1820                         additionalProperties:
1821                           anyOf:
1822                             - type: integer
1823                             - type: string
1824                           pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
1825                           x-kubernetes-int-or-string: true
1826                         description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
1827                         type: object
1828                     type: object
1829                   description: Resources set resource requests and limits
1830                   nullable: true
1831                   type: object
1832                   x-kubernetes-preserve-unknown-fields: true
1833                 security:
1834                   description: Security represents security settings
1835                   nullable: true
1836                   properties:
1837                     kms:
1838                       description: KeyManagementService is the main Key Management option
1839                       nullable: true
1840                       properties:
1841                         connectionDetails:
1842                           additionalProperties:
1843                             type: string
1844                           description: ConnectionDetails contains the KMS connection details (address, port etc)
1845                           nullable: true
1846                           type: object
1847                           x-kubernetes-preserve-unknown-fields: true
1848                         tokenSecretName:
1849                           description: TokenSecretName is the kubernetes secret containing the KMS token
1850                           type: string
1851                       type: object
1852                   type: object
1853                 skipUpgradeChecks:
1854                   description: SkipUpgradeChecks defines if an upgrade should be forced even if one of the check fails
1855                   type: boolean
1856                 storage:
1857                   description: A spec for available storage in the cluster and how it should be used
1858                   nullable: true
1859                   properties:
1860                     config:
1861                       additionalProperties:
1862                         type: string
1863                       nullable: true
1864                       type: object
1865                       x-kubernetes-preserve-unknown-fields: true
1866                     deviceFilter:
1867                       description: A regular expression to allow more fine-grained selection of devices on nodes across the cluster
1868                       type: string
1869                     devicePathFilter:
1870                       description: A regular expression to allow more fine-grained selection of devices with path names
1871                       type: string
1872                     devices:
1873                       description: List of devices to use as storage devices
1874                       items:
1875                         description: Device represents a disk to use in the cluster
1876                         properties:
1877                           config:
1878                             additionalProperties:
1879                               type: string
1880                             nullable: true
1881                             type: object
1882                             x-kubernetes-preserve-unknown-fields: true
1883                           fullpath:
1884                             type: string
1885                           name:
1886                             type: string
1887                         type: object
1888                       nullable: true
1889                       type: array
1890                       x-kubernetes-preserve-unknown-fields: true
1891                     nodes:
1892                       items:
1893                         description: Node is a storage nodes
1894                         properties:
1895                           config:
1896                             additionalProperties:
1897                               type: string
1898                             nullable: true
1899                             type: object
1900                             x-kubernetes-preserve-unknown-fields: true
1901                           deviceFilter:
1902                             description: A regular expression to allow more fine-grained selection of devices on nodes across the cluster
1903                             type: string
1904                           devicePathFilter:
1905                             description: A regular expression to allow more fine-grained selection of devices with path names
1906                             type: string
1907                           devices:
1908                             description: List of devices to use as storage devices
1909                             items:
1910                               description: Device represents a disk to use in the cluster
1911                               properties:
1912                                 config:
1913                                   additionalProperties:
1914                                     type: string
1915                                   nullable: true
1916                                   type: object
1917                                   x-kubernetes-preserve-unknown-fields: true
1918                                 fullpath:
1919                                   type: string
1920                                 name:
1921                                   type: string
1922                               type: object
1923                             nullable: true
1924                             type: array
1925                             x-kubernetes-preserve-unknown-fields: true
1926                           name:
1927                             type: string
1928                           resources:
1929                             description: ResourceRequirements describes the compute resource requirements.
1930                             nullable: true
1931                             properties:
1932                               limits:
1933                                 additionalProperties:
1934                                   anyOf:
1935                                     - type: integer
1936                                     - type: string
1937                                   pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
1938                                   x-kubernetes-int-or-string: true
1939                                 description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
1940                                 type: object
1941                               requests:
1942                                 additionalProperties:
1943                                   anyOf:
1944                                     - type: integer
1945                                     - type: string
1946                                   pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
1947                                   x-kubernetes-int-or-string: true
1948                                 description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
1949                                 type: object
1950                             type: object
1951                             x-kubernetes-preserve-unknown-fields: true
1952                           useAllDevices:
1953                             description: Whether to consume all the storage devices found on a machine
1954                             type: boolean
1955                           volumeClaimTemplates:
1956                             description: PersistentVolumeClaims to use as storage
1957                             items:
1958                               description: PersistentVolumeClaim is a user's request for and claim to a persistent volume
1959                               properties:
1960                                 apiVersion:
1961                                   description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
1962                                   type: string
1963                                 kind:
1964                                   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'
1965                                   type: string
1966                                 metadata:
1967                                   description: 'Standard object''s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata'
1968                                   properties:
1969                                     annotations:
1970                                       additionalProperties:
1971                                         type: string
1972                                       type: object
1973                                     finalizers:
1974                                       items:
1975                                         type: string
1976                                       type: array
1977                                     labels:
1978                                       additionalProperties:
1979                                         type: string
1980                                       type: object
1981                                     name:
1982                                       type: string
1983                                     namespace:
1984                                       type: string
1985                                   type: object
1986                                 spec:
1987                                   description: 'Spec defines the desired characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
1988                                   properties:
1989                                     accessModes:
1990                                       description: 'AccessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
1991                                       items:
1992                                         type: string
1993                                       type: array
1994                                     dataSource:
1995                                       description: 'This field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) * An existing custom resource that implements data population (Alpha) In order to use custom resource types that implement data population, the AnyVolumeDataSource feature gate must be enabled. If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source.'
1996                                       properties:
1997                                         apiGroup:
1998                                           description: APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required.
1999                                           type: string
2000                                         kind:
2001                                           description: Kind is the type of resource being referenced
2002                                           type: string
2003                                         name:
2004                                           description: Name is the name of resource being referenced
2005                                           type: string
2006                                       required:
2007                                         - kind
2008                                         - name
2009                                       type: object
2010                                     resources:
2011                                       description: 'Resources represents the minimum resources the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources'
2012                                       properties:
2013                                         limits:
2014                                           additionalProperties:
2015                                             anyOf:
2016                                               - type: integer
2017                                               - type: string
2018                                             pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
2019                                             x-kubernetes-int-or-string: true
2020                                           description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
2021                                           type: object
2022                                         requests:
2023                                           additionalProperties:
2024                                             anyOf:
2025                                               - type: integer
2026                                               - type: string
2027                                             pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
2028                                             x-kubernetes-int-or-string: true
2029                                           description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
2030                                           type: object
2031                                       type: object
2032                                     selector:
2033                                       description: A label query over volumes to consider for binding.
2034                                       properties:
2035                                         matchExpressions:
2036                                           description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
2037                                           items:
2038                                             description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
2039                                             properties:
2040                                               key:
2041                                                 description: key is the label key that the selector applies to.
2042                                                 type: string
2043                                               operator:
2044                                                 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
2045                                                 type: string
2046                                               values:
2047                                                 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
2048                                                 items:
2049                                                   type: string
2050                                                 type: array
2051                                             required:
2052                                               - key
2053                                               - operator
2054                                             type: object
2055                                           type: array
2056                                         matchLabels:
2057                                           additionalProperties:
2058                                             type: string
2059                                           description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
2060                                           type: object
2061                                       type: object
2062                                     storageClassName:
2063                                       description: 'Name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1'
2064                                       type: string
2065                                     volumeMode:
2066                                       description: volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec.
2067                                       type: string
2068                                     volumeName:
2069                                       description: VolumeName is the binding reference to the PersistentVolume backing this claim.
2070                                       type: string
2071                                   type: object
2072                                 status:
2073                                   description: 'Status represents the current information/status of a persistent volume claim. Read-only. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
2074                                   properties:
2075                                     accessModes:
2076                                       description: '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'
2077                                       items:
2078                                         type: string
2079                                       type: array
2080                                     capacity:
2081                                       additionalProperties:
2082                                         anyOf:
2083                                           - type: integer
2084                                           - type: string
2085                                         pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
2086                                         x-kubernetes-int-or-string: true
2087                                       description: Represents the actual resources of the underlying volume.
2088                                       type: object
2089                                     conditions:
2090                                       description: Current Condition of persistent volume claim. If underlying persistent volume is being resized then the Condition will be set to 'ResizeStarted'.
2091                                       items:
2092                                         description: PersistentVolumeClaimCondition contails details about state of pvc
2093                                         properties:
2094                                           lastProbeTime:
2095                                             description: Last time we probed the condition.
2096                                             format: date-time
2097                                             type: string
2098                                           lastTransitionTime:
2099                                             description: Last time the condition transitioned from one status to another.
2100                                             format: date-time
2101                                             type: string
2102                                           message:
2103                                             description: Human-readable message indicating details about last transition.
2104                                             type: string
2105                                           reason:
2106                                             description: Unique, this should be a short, machine understandable string that gives the reason for condition's last transition. If it reports "ResizeStarted" that means the underlying persistent volume is being resized.
2107                                             type: string
2108                                           status:
2109                                             type: string
2110                                           type:
2111                                             description: PersistentVolumeClaimConditionType is a valid value of PersistentVolumeClaimCondition.Type
2112                                             type: string
2113                                         required:
2114                                           - status
2115                                           - type
2116                                         type: object
2117                                       type: array
2118                                     phase:
2119                                       description: Phase represents the current phase of PersistentVolumeClaim.
2120                                       type: string
2121                                   type: object
2122                               type: object
2123                             type: array
2124                         type: object
2125                       nullable: true
2126                       type: array
2127                     onlyApplyOSDPlacement:
2128                       type: boolean
2129                     storageClassDeviceSets:
2130                       items:
2131                         description: StorageClassDeviceSet is a storage class device set
2132                         properties:
2133                           config:
2134                             additionalProperties:
2135                               type: string
2136                             description: Provider-specific device configuration
2137                             nullable: true
2138                             type: object
2139                             x-kubernetes-preserve-unknown-fields: true
2140                           count:
2141                             description: Count is the number of devices in this set
2142                             minimum: 1
2143                             type: integer
2144                           encrypted:
2145                             description: Whether to encrypt the deviceSet
2146                             type: boolean
2147                           name:
2148                             description: Name is a unique identifier for the set
2149                             type: string
2150                           placement:
2151                             description: Placement is the placement for an object
2152                             nullable: true
2153                             properties:
2154                               nodeAffinity:
2155                                 description: NodeAffinity is a group of node affinity scheduling rules
2156                                 properties:
2157                                   preferredDuringSchedulingIgnoredDuringExecution:
2158                                     description: The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node matches the corresponding matchExpressions; the node(s) with the highest sum are the most preferred.
2159                                     items:
2160                                       description: An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
2161                                       properties:
2162                                         preference:
2163                                           description: A node selector term, associated with the corresponding weight.
2164                                           properties:
2165                                             matchExpressions:
2166                                               description: A list of node selector requirements by node's labels.
2167                                               items:
2168                                                 description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
2169                                                 properties:
2170                                                   key:
2171                                                     description: The label key that the selector applies to.
2172                                                     type: string
2173                                                   operator:
2174                                                     description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
2175                                                     type: string
2176                                                   values:
2177                                                     description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
2178                                                     items:
2179                                                       type: string
2180                                                     type: array
2181                                                 required:
2182                                                   - key
2183                                                   - operator
2184                                                 type: object
2185                                               type: array
2186                                             matchFields:
2187                                               description: A list of node selector requirements by node's fields.
2188                                               items:
2189                                                 description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
2190                                                 properties:
2191                                                   key:
2192                                                     description: The label key that the selector applies to.
2193                                                     type: string
2194                                                   operator:
2195                                                     description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
2196                                                     type: string
2197                                                   values:
2198                                                     description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
2199                                                     items:
2200                                                       type: string
2201                                                     type: array
2202                                                 required:
2203                                                   - key
2204                                                   - operator
2205                                                 type: object
2206                                               type: array
2207                                           type: object
2208                                         weight:
2209                                           description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
2210                                           format: int32
2211                                           type: integer
2212                                       required:
2213                                         - preference
2214                                         - weight
2215                                       type: object
2216                                     type: array
2217                                   requiredDuringSchedulingIgnoredDuringExecution:
2218                                     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 an update), the system may or may not try to eventually evict the pod from its node.
2219                                     properties:
2220                                       nodeSelectorTerms:
2221                                         description: Required. A list of node selector terms. The terms are ORed.
2222                                         items:
2223                                           description: A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
2224                                           properties:
2225                                             matchExpressions:
2226                                               description: A list of node selector requirements by node's labels.
2227                                               items:
2228                                                 description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
2229                                                 properties:
2230                                                   key:
2231                                                     description: The label key that the selector applies to.
2232                                                     type: string
2233                                                   operator:
2234                                                     description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
2235                                                     type: string
2236                                                   values:
2237                                                     description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
2238                                                     items:
2239                                                       type: string
2240                                                     type: array
2241                                                 required:
2242                                                   - key
2243                                                   - operator
2244                                                 type: object
2245                                               type: array
2246                                             matchFields:
2247                                               description: A list of node selector requirements by node's fields.
2248                                               items:
2249                                                 description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
2250                                                 properties:
2251                                                   key:
2252                                                     description: The label key that the selector applies to.
2253                                                     type: string
2254                                                   operator:
2255                                                     description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
2256                                                     type: string
2257                                                   values:
2258                                                     description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
2259                                                     items:
2260                                                       type: string
2261                                                     type: array
2262                                                 required:
2263                                                   - key
2264                                                   - operator
2265                                                 type: object
2266                                               type: array
2267                                           type: object
2268                                         type: array
2269                                     required:
2270                                       - nodeSelectorTerms
2271                                     type: object
2272                                 type: object
2273                               podAffinity:
2274                                 description: PodAffinity is a group of inter pod affinity scheduling rules
2275                                 properties:
2276                                   preferredDuringSchedulingIgnoredDuringExecution:
2277                                     description: The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "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.
2278                                     items:
2279                                       description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
2280                                       properties:
2281                                         podAffinityTerm:
2282                                           description: Required. A pod affinity term, associated with the corresponding weight.
2283                                           properties:
2284                                             labelSelector:
2285                                               description: A label query over a set of resources, in this case pods.
2286                                               properties:
2287                                                 matchExpressions:
2288                                                   description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
2289                                                   items:
2290                                                     description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
2291                                                     properties:
2292                                                       key:
2293                                                         description: key is the label key that the selector applies to.
2294                                                         type: string
2295                                                       operator:
2296                                                         description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
2297                                                         type: string
2298                                                       values:
2299                                                         description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
2300                                                         items:
2301                                                           type: string
2302                                                         type: array
2303                                                     required:
2304                                                       - key
2305                                                       - operator
2306                                                     type: object
2307                                                   type: array
2308                                                 matchLabels:
2309                                                   additionalProperties:
2310                                                     type: string
2311                                                   description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
2312                                                   type: object
2313                                               type: object
2314                                             namespaceSelector:
2315                                               description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
2316                                               properties:
2317                                                 matchExpressions:
2318                                                   description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
2319                                                   items:
2320                                                     description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
2321                                                     properties:
2322                                                       key:
2323                                                         description: key is the label key that the selector applies to.
2324                                                         type: string
2325                                                       operator:
2326                                                         description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
2327                                                         type: string
2328                                                       values:
2329                                                         description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
2330                                                         items:
2331                                                           type: string
2332                                                         type: array
2333                                                     required:
2334                                                       - key
2335                                                       - operator
2336                                                     type: object
2337                                                   type: array
2338                                                 matchLabels:
2339                                                   additionalProperties:
2340                                                     type: string
2341                                                   description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
2342                                                   type: object
2343                                               type: object
2344                                             namespaces:
2345                                               description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
2346                                               items:
2347                                                 type: string
2348                                               type: array
2349                                             topologyKey:
2350                                               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.
2351                                               type: string
2352                                           required:
2353                                             - topologyKey
2354                                           type: object
2355                                         weight:
2356                                           description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
2357                                           format: int32
2358                                           type: integer
2359                                       required:
2360                                         - podAffinityTerm
2361                                         - weight
2362                                       type: object
2363                                     type: array
2364                                   requiredDuringSchedulingIgnoredDuringExecution:
2365                                     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.
2366                                     items:
2367                                       description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, 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 a pod of the set of pods is running
2368                                       properties:
2369                                         labelSelector:
2370                                           description: A label query over a set of resources, in this case pods.
2371                                           properties:
2372                                             matchExpressions:
2373                                               description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
2374                                               items:
2375                                                 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
2376                                                 properties:
2377                                                   key:
2378                                                     description: key is the label key that the selector applies to.
2379                                                     type: string
2380                                                   operator:
2381                                                     description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
2382                                                     type: string
2383                                                   values:
2384                                                     description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
2385                                                     items:
2386                                                       type: string
2387                                                     type: array
2388                                                 required:
2389                                                   - key
2390                                                   - operator
2391                                                 type: object
2392                                               type: array
2393                                             matchLabels:
2394                                               additionalProperties:
2395                                                 type: string
2396                                               description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
2397                                               type: object
2398                                           type: object
2399                                         namespaceSelector:
2400                                           description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
2401                                           properties:
2402                                             matchExpressions:
2403                                               description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
2404                                               items:
2405                                                 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
2406                                                 properties:
2407                                                   key:
2408                                                     description: key is the label key that the selector applies to.
2409                                                     type: string
2410                                                   operator:
2411                                                     description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
2412                                                     type: string
2413                                                   values:
2414                                                     description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
2415                                                     items:
2416                                                       type: string
2417                                                     type: array
2418                                                 required:
2419                                                   - key
2420                                                   - operator
2421                                                 type: object
2422                                               type: array
2423                                             matchLabels:
2424                                               additionalProperties:
2425                                                 type: string
2426                                               description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
2427                                               type: object
2428                                           type: object
2429                                         namespaces:
2430                                           description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
2431                                           items:
2432                                             type: string
2433                                           type: array
2434                                         topologyKey:
2435                                           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.
2436                                           type: string
2437                                       required:
2438                                         - topologyKey
2439                                       type: object
2440                                     type: array
2441                                 type: object
2442                               podAntiAffinity:
2443                                 description: PodAntiAffinity is a group of inter pod anti affinity scheduling rules
2444                                 properties:
2445                                   preferredDuringSchedulingIgnoredDuringExecution:
2446                                     description: The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "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.
2447                                     items:
2448                                       description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
2449                                       properties:
2450                                         podAffinityTerm:
2451                                           description: Required. A pod affinity term, associated with the corresponding weight.
2452                                           properties:
2453                                             labelSelector:
2454                                               description: A label query over a set of resources, in this case pods.
2455                                               properties:
2456                                                 matchExpressions:
2457                                                   description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
2458                                                   items:
2459                                                     description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
2460                                                     properties:
2461                                                       key:
2462                                                         description: key is the label key that the selector applies to.
2463                                                         type: string
2464                                                       operator:
2465                                                         description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
2466                                                         type: string
2467                                                       values:
2468                                                         description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
2469                                                         items:
2470                                                           type: string
2471                                                         type: array
2472                                                     required:
2473                                                       - key
2474                                                       - operator
2475                                                     type: object
2476                                                   type: array
2477                                                 matchLabels:
2478                                                   additionalProperties:
2479                                                     type: string
2480                                                   description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
2481                                                   type: object
2482                                               type: object
2483                                             namespaceSelector:
2484                                               description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
2485                                               properties:
2486                                                 matchExpressions:
2487                                                   description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
2488                                                   items:
2489                                                     description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
2490                                                     properties:
2491                                                       key:
2492                                                         description: key is the label key that the selector applies to.
2493                                                         type: string
2494                                                       operator:
2495                                                         description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
2496                                                         type: string
2497                                                       values:
2498                                                         description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
2499                                                         items:
2500                                                           type: string
2501                                                         type: array
2502                                                     required:
2503                                                       - key
2504                                                       - operator
2505                                                     type: object
2506                                                   type: array
2507                                                 matchLabels:
2508                                                   additionalProperties:
2509                                                     type: string
2510                                                   description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
2511                                                   type: object
2512                                               type: object
2513                                             namespaces:
2514                                               description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
2515                                               items:
2516                                                 type: string
2517                                               type: array
2518                                             topologyKey:
2519                                               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.
2520                                               type: string
2521                                           required:
2522                                             - topologyKey
2523                                           type: object
2524                                         weight:
2525                                           description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
2526                                           format: int32
2527                                           type: integer
2528                                       required:
2529                                         - podAffinityTerm
2530                                         - weight
2531                                       type: object
2532                                     type: array
2533                                   requiredDuringSchedulingIgnoredDuringExecution:
2534                                     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.
2535                                     items:
2536                                       description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, 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 a pod of the set of pods is running
2537                                       properties:
2538                                         labelSelector:
2539                                           description: A label query over a set of resources, in this case pods.
2540                                           properties:
2541                                             matchExpressions:
2542                                               description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
2543                                               items:
2544                                                 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
2545                                                 properties:
2546                                                   key:
2547                                                     description: key is the label key that the selector applies to.
2548                                                     type: string
2549                                                   operator:
2550                                                     description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
2551                                                     type: string
2552                                                   values:
2553                                                     description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
2554                                                     items:
2555                                                       type: string
2556                                                     type: array
2557                                                 required:
2558                                                   - key
2559                                                   - operator
2560                                                 type: object
2561                                               type: array
2562                                             matchLabels:
2563                                               additionalProperties:
2564                                                 type: string
2565                                               description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
2566                                               type: object
2567                                           type: object
2568                                         namespaceSelector:
2569                                           description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
2570                                           properties:
2571                                             matchExpressions:
2572                                               description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
2573                                               items:
2574                                                 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
2575                                                 properties:
2576                                                   key:
2577                                                     description: key is the label key that the selector applies to.
2578                                                     type: string
2579                                                   operator:
2580                                                     description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
2581                                                     type: string
2582                                                   values:
2583                                                     description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
2584                                                     items:
2585                                                       type: string
2586                                                     type: array
2587                                                 required:
2588                                                   - key
2589                                                   - operator
2590                                                 type: object
2591                                               type: array
2592                                             matchLabels:
2593                                               additionalProperties:
2594                                                 type: string
2595                                               description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
2596                                               type: object
2597                                           type: object
2598                                         namespaces:
2599                                           description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
2600                                           items:
2601                                             type: string
2602                                           type: array
2603                                         topologyKey:
2604                                           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.
2605                                           type: string
2606                                       required:
2607                                         - topologyKey
2608                                       type: object
2609                                     type: array
2610                                 type: object
2611                               tolerations:
2612                                 description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>
2613                                 items:
2614                                   description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.
2615                                   properties:
2616                                     effect:
2617                                       description: Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
2618                                       type: string
2619                                     key:
2620                                       description: Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.
2621                                       type: string
2622                                     operator:
2623                                       description: Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.
2624                                       type: string
2625                                     tolerationSeconds:
2626                                       description: TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.
2627                                       format: int64
2628                                       type: integer
2629                                     value:
2630                                       description: Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.
2631                                       type: string
2632                                   type: object
2633                                 type: array
2634                               topologySpreadConstraints:
2635                                 description: TopologySpreadConstraint specifies how to spread matching pods among the given topology
2636                                 items:
2637                                   description: TopologySpreadConstraint specifies how to spread matching pods among the given topology.
2638                                   properties:
2639                                     labelSelector:
2640                                       description: LabelSelector is used to find matching pods. Pods that match this label selector are counted to determine the number of pods in their corresponding topology domain.
2641                                       properties:
2642                                         matchExpressions:
2643                                           description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
2644                                           items:
2645                                             description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
2646                                             properties:
2647                                               key:
2648                                                 description: key is the label key that the selector applies to.
2649                                                 type: string
2650                                               operator:
2651                                                 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
2652                                                 type: string
2653                                               values:
2654                                                 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
2655                                                 items:
2656                                                   type: string
2657                                                 type: array
2658                                             required:
2659                                               - key
2660                                               - operator
2661                                             type: object
2662                                           type: array
2663                                         matchLabels:
2664                                           additionalProperties:
2665                                             type: string
2666                                           description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
2667                                           type: object
2668                                       type: object
2669                                     maxSkew:
2670                                       description: 'MaxSkew describes the degree to which pods may be unevenly distributed. When `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference between the number of matching pods in the target topology and the global minimum. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 1/1/0: | zone1 | zone2 | zone3 | |   P   |   P   |       | - if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 1/1/1; scheduling it onto zone1(zone2) would make the ActualSkew(2-0) on zone1(zone2) violate MaxSkew(1). - if MaxSkew is 2, incoming pod can be scheduled onto any zone. When `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence to topologies that satisfy it. It''s a required field. Default value is 1 and 0 is not allowed.'
2671                                       format: int32
2672                                       type: integer
2673                                     topologyKey:
2674                                       description: TopologyKey is the key of node labels. Nodes that have a label with this key and identical values are considered to be in the same topology. We consider each <key, value> as a "bucket", and try to put balanced number of pods into each bucket. It's a required field.
2675                                       type: string
2676                                     whenUnsatisfiable:
2677                                       description: 'WhenUnsatisfiable indicates how to deal with a pod if it doesn''t satisfy the spread constraint. - DoNotSchedule (default) tells the scheduler not to schedule it. - ScheduleAnyway tells the scheduler to schedule the pod in any location,   but giving higher precedence to topologies that would help reduce the   skew. A constraint is considered "Unsatisfiable" for an incoming pod if and only if every possible node assigment for that pod would violate "MaxSkew" on some topology. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 3/1/1: | zone1 | zone2 | zone3 | | P P P |   P   |   P   | If WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled to zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies MaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler won''t make it *more* imbalanced. It''s a required field.'
2678                                       type: string
2679                                   required:
2680                                     - maxSkew
2681                                     - topologyKey
2682                                     - whenUnsatisfiable
2683                                   type: object
2684                                 type: array
2685                             type: object
2686                             x-kubernetes-preserve-unknown-fields: true
2687                           portable:
2688                             description: Portable represents OSD portability across the hosts
2689                             type: boolean
2690                           preparePlacement:
2691                             description: Placement is the placement for an object
2692                             nullable: true
2693                             properties:
2694                               nodeAffinity:
2695                                 description: NodeAffinity is a group of node affinity scheduling rules
2696                                 properties:
2697                                   preferredDuringSchedulingIgnoredDuringExecution:
2698                                     description: The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node matches the corresponding matchExpressions; the node(s) with the highest sum are the most preferred.
2699                                     items:
2700                                       description: An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
2701                                       properties:
2702                                         preference:
2703                                           description: A node selector term, associated with the corresponding weight.
2704                                           properties:
2705                                             matchExpressions:
2706                                               description: A list of node selector requirements by node's labels.
2707                                               items:
2708                                                 description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
2709                                                 properties:
2710                                                   key:
2711                                                     description: The label key that the selector applies to.
2712                                                     type: string
2713                                                   operator:
2714                                                     description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
2715                                                     type: string
2716                                                   values:
2717                                                     description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
2718                                                     items:
2719                                                       type: string
2720                                                     type: array
2721                                                 required:
2722                                                   - key
2723                                                   - operator
2724                                                 type: object
2725                                               type: array
2726                                             matchFields:
2727                                               description: A list of node selector requirements by node's fields.
2728                                               items:
2729                                                 description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
2730                                                 properties:
2731                                                   key:
2732                                                     description: The label key that the selector applies to.
2733                                                     type: string
2734                                                   operator:
2735                                                     description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
2736                                                     type: string
2737                                                   values:
2738                                                     description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
2739                                                     items:
2740                                                       type: string
2741                                                     type: array
2742                                                 required:
2743                                                   - key
2744                                                   - operator
2745                                                 type: object
2746                                               type: array
2747                                           type: object
2748                                         weight:
2749                                           description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
2750                                           format: int32
2751                                           type: integer
2752                                       required:
2753                                         - preference
2754                                         - weight
2755                                       type: object
2756                                     type: array
2757                                   requiredDuringSchedulingIgnoredDuringExecution:
2758                                     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 an update), the system may or may not try to eventually evict the pod from its node.
2759                                     properties:
2760                                       nodeSelectorTerms:
2761                                         description: Required. A list of node selector terms. The terms are ORed.
2762                                         items:
2763                                           description: A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
2764                                           properties:
2765                                             matchExpressions:
2766                                               description: A list of node selector requirements by node's labels.
2767                                               items:
2768                                                 description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
2769                                                 properties:
2770                                                   key:
2771                                                     description: The label key that the selector applies to.
2772                                                     type: string
2773                                                   operator:
2774                                                     description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
2775                                                     type: string
2776                                                   values:
2777                                                     description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
2778                                                     items:
2779                                                       type: string
2780                                                     type: array
2781                                                 required:
2782                                                   - key
2783                                                   - operator
2784                                                 type: object
2785                                               type: array
2786                                             matchFields:
2787                                               description: A list of node selector requirements by node's fields.
2788                                               items:
2789                                                 description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
2790                                                 properties:
2791                                                   key:
2792                                                     description: The label key that the selector applies to.
2793                                                     type: string
2794                                                   operator:
2795                                                     description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
2796                                                     type: string
2797                                                   values:
2798                                                     description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
2799                                                     items:
2800                                                       type: string
2801                                                     type: array
2802                                                 required:
2803                                                   - key
2804                                                   - operator
2805                                                 type: object
2806                                               type: array
2807                                           type: object
2808                                         type: array
2809                                     required:
2810                                       - nodeSelectorTerms
2811                                     type: object
2812                                 type: object
2813                               podAffinity:
2814                                 description: PodAffinity is a group of inter pod affinity scheduling rules
2815                                 properties:
2816                                   preferredDuringSchedulingIgnoredDuringExecution:
2817                                     description: The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "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.
2818                                     items:
2819                                       description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
2820                                       properties:
2821                                         podAffinityTerm:
2822                                           description: Required. A pod affinity term, associated with the corresponding weight.
2823                                           properties:
2824                                             labelSelector:
2825                                               description: A label query over a set of resources, in this case pods.
2826                                               properties:
2827                                                 matchExpressions:
2828                                                   description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
2829                                                   items:
2830                                                     description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
2831                                                     properties:
2832                                                       key:
2833                                                         description: key is the label key that the selector applies to.
2834                                                         type: string
2835                                                       operator:
2836                                                         description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
2837                                                         type: string
2838                                                       values:
2839                                                         description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
2840                                                         items:
2841                                                           type: string
2842                                                         type: array
2843                                                     required:
2844                                                       - key
2845                                                       - operator
2846                                                     type: object
2847                                                   type: array
2848                                                 matchLabels:
2849                                                   additionalProperties:
2850                                                     type: string
2851                                                   description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
2852                                                   type: object
2853                                               type: object
2854                                             namespaceSelector:
2855                                               description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
2856                                               properties:
2857                                                 matchExpressions:
2858                                                   description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
2859                                                   items:
2860                                                     description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
2861                                                     properties:
2862                                                       key:
2863                                                         description: key is the label key that the selector applies to.
2864                                                         type: string
2865                                                       operator:
2866                                                         description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
2867                                                         type: string
2868                                                       values:
2869                                                         description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
2870                                                         items:
2871                                                           type: string
2872                                                         type: array
2873                                                     required:
2874                                                       - key
2875                                                       - operator
2876                                                     type: object
2877                                                   type: array
2878                                                 matchLabels:
2879                                                   additionalProperties:
2880                                                     type: string
2881                                                   description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
2882                                                   type: object
2883                                               type: object
2884                                             namespaces:
2885                                               description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
2886                                               items:
2887                                                 type: string
2888                                               type: array
2889                                             topologyKey:
2890                                               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.
2891                                               type: string
2892                                           required:
2893                                             - topologyKey
2894                                           type: object
2895                                         weight:
2896                                           description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
2897                                           format: int32
2898                                           type: integer
2899                                       required:
2900                                         - podAffinityTerm
2901                                         - weight
2902                                       type: object
2903                                     type: array
2904                                   requiredDuringSchedulingIgnoredDuringExecution:
2905                                     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.
2906                                     items:
2907                                       description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, 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 a pod of the set of pods is running
2908                                       properties:
2909                                         labelSelector:
2910                                           description: A label query over a set of resources, in this case pods.
2911                                           properties:
2912                                             matchExpressions:
2913                                               description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
2914                                               items:
2915                                                 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
2916                                                 properties:
2917                                                   key:
2918                                                     description: key is the label key that the selector applies to.
2919                                                     type: string
2920                                                   operator:
2921                                                     description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
2922                                                     type: string
2923                                                   values:
2924                                                     description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
2925                                                     items:
2926                                                       type: string
2927                                                     type: array
2928                                                 required:
2929                                                   - key
2930                                                   - operator
2931                                                 type: object
2932                                               type: array
2933                                             matchLabels:
2934                                               additionalProperties:
2935                                                 type: string
2936                                               description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
2937                                               type: object
2938                                           type: object
2939                                         namespaceSelector:
2940                                           description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
2941                                           properties:
2942                                             matchExpressions:
2943                                               description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
2944                                               items:
2945                                                 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
2946                                                 properties:
2947                                                   key:
2948                                                     description: key is the label key that the selector applies to.
2949                                                     type: string
2950                                                   operator:
2951                                                     description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
2952                                                     type: string
2953                                                   values:
2954                                                     description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
2955                                                     items:
2956                                                       type: string
2957                                                     type: array
2958                                                 required:
2959                                                   - key
2960                                                   - operator
2961                                                 type: object
2962                                               type: array
2963                                             matchLabels:
2964                                               additionalProperties:
2965                                                 type: string
2966                                               description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
2967                                               type: object
2968                                           type: object
2969                                         namespaces:
2970                                           description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
2971                                           items:
2972                                             type: string
2973                                           type: array
2974                                         topologyKey:
2975                                           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.
2976                                           type: string
2977                                       required:
2978                                         - topologyKey
2979                                       type: object
2980                                     type: array
2981                                 type: object
2982                               podAntiAffinity:
2983                                 description: PodAntiAffinity is a group of inter pod anti affinity scheduling rules
2984                                 properties:
2985                                   preferredDuringSchedulingIgnoredDuringExecution:
2986                                     description: The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "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.
2987                                     items:
2988                                       description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
2989                                       properties:
2990                                         podAffinityTerm:
2991                                           description: Required. A pod affinity term, associated with the corresponding weight.
2992                                           properties:
2993                                             labelSelector:
2994                                               description: A label query over a set of resources, in this case pods.
2995                                               properties:
2996                                                 matchExpressions:
2997                                                   description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
2998                                                   items:
2999                                                     description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
3000                                                     properties:
3001                                                       key:
3002                                                         description: key is the label key that the selector applies to.
3003                                                         type: string
3004                                                       operator:
3005                                                         description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
3006                                                         type: string
3007                                                       values:
3008                                                         description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
3009                                                         items:
3010                                                           type: string
3011                                                         type: array
3012                                                     required:
3013                                                       - key
3014                                                       - operator
3015                                                     type: object
3016                                                   type: array
3017                                                 matchLabels:
3018                                                   additionalProperties:
3019                                                     type: string
3020                                                   description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
3021                                                   type: object
3022                                               type: object
3023                                             namespaceSelector:
3024                                               description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
3025                                               properties:
3026                                                 matchExpressions:
3027                                                   description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
3028                                                   items:
3029                                                     description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
3030                                                     properties:
3031                                                       key:
3032                                                         description: key is the label key that the selector applies to.
3033                                                         type: string
3034                                                       operator:
3035                                                         description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
3036                                                         type: string
3037                                                       values:
3038                                                         description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
3039                                                         items:
3040                                                           type: string
3041                                                         type: array
3042                                                     required:
3043                                                       - key
3044                                                       - operator
3045                                                     type: object
3046                                                   type: array
3047                                                 matchLabels:
3048                                                   additionalProperties:
3049                                                     type: string
3050                                                   description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
3051                                                   type: object
3052                                               type: object
3053                                             namespaces:
3054                                               description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
3055                                               items:
3056                                                 type: string
3057                                               type: array
3058                                             topologyKey:
3059                                               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.
3060                                               type: string
3061                                           required:
3062                                             - topologyKey
3063                                           type: object
3064                                         weight:
3065                                           description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
3066                                           format: int32
3067                                           type: integer
3068                                       required:
3069                                         - podAffinityTerm
3070                                         - weight
3071                                       type: object
3072                                     type: array
3073                                   requiredDuringSchedulingIgnoredDuringExecution:
3074                                     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.
3075                                     items:
3076                                       description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, 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 a pod of the set of pods is running
3077                                       properties:
3078                                         labelSelector:
3079                                           description: A label query over a set of resources, in this case pods.
3080                                           properties:
3081                                             matchExpressions:
3082                                               description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
3083                                               items:
3084                                                 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
3085                                                 properties:
3086                                                   key:
3087                                                     description: key is the label key that the selector applies to.
3088                                                     type: string
3089                                                   operator:
3090                                                     description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
3091                                                     type: string
3092                                                   values:
3093                                                     description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
3094                                                     items:
3095                                                       type: string
3096                                                     type: array
3097                                                 required:
3098                                                   - key
3099                                                   - operator
3100                                                 type: object
3101                                               type: array
3102                                             matchLabels:
3103                                               additionalProperties:
3104                                                 type: string
3105                                               description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
3106                                               type: object
3107                                           type: object
3108                                         namespaceSelector:
3109                                           description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
3110                                           properties:
3111                                             matchExpressions:
3112                                               description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
3113                                               items:
3114                                                 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
3115                                                 properties:
3116                                                   key:
3117                                                     description: key is the label key that the selector applies to.
3118                                                     type: string
3119                                                   operator:
3120                                                     description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
3121                                                     type: string
3122                                                   values:
3123                                                     description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
3124                                                     items:
3125                                                       type: string
3126                                                     type: array
3127                                                 required:
3128                                                   - key
3129                                                   - operator
3130                                                 type: object
3131                                               type: array
3132                                             matchLabels:
3133                                               additionalProperties:
3134                                                 type: string
3135                                               description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
3136                                               type: object
3137                                           type: object
3138                                         namespaces:
3139                                           description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
3140                                           items:
3141                                             type: string
3142                                           type: array
3143                                         topologyKey:
3144                                           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.
3145                                           type: string
3146                                       required:
3147                                         - topologyKey
3148                                       type: object
3149                                     type: array
3150                                 type: object
3151                               tolerations:
3152                                 description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>
3153                                 items:
3154                                   description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.
3155                                   properties:
3156                                     effect:
3157                                       description: Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
3158                                       type: string
3159                                     key:
3160                                       description: Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.
3161                                       type: string
3162                                     operator:
3163                                       description: Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.
3164                                       type: string
3165                                     tolerationSeconds:
3166                                       description: TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.
3167                                       format: int64
3168                                       type: integer
3169                                     value:
3170                                       description: Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.
3171                                       type: string
3172                                   type: object
3173                                 type: array
3174                               topologySpreadConstraints:
3175                                 description: TopologySpreadConstraint specifies how to spread matching pods among the given topology
3176                                 items:
3177                                   description: TopologySpreadConstraint specifies how to spread matching pods among the given topology.
3178                                   properties:
3179                                     labelSelector:
3180                                       description: LabelSelector is used to find matching pods. Pods that match this label selector are counted to determine the number of pods in their corresponding topology domain.
3181                                       properties:
3182                                         matchExpressions:
3183                                           description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
3184                                           items:
3185                                             description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
3186                                             properties:
3187                                               key:
3188                                                 description: key is the label key that the selector applies to.
3189                                                 type: string
3190                                               operator:
3191                                                 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
3192                                                 type: string
3193                                               values:
3194                                                 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
3195                                                 items:
3196                                                   type: string
3197                                                 type: array
3198                                             required:
3199                                               - key
3200                                               - operator
3201                                             type: object
3202                                           type: array
3203                                         matchLabels:
3204                                           additionalProperties:
3205                                             type: string
3206                                           description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
3207                                           type: object
3208                                       type: object
3209                                     maxSkew:
3210                                       description: 'MaxSkew describes the degree to which pods may be unevenly distributed. When `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference between the number of matching pods in the target topology and the global minimum. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 1/1/0: | zone1 | zone2 | zone3 | |   P   |   P   |       | - if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 1/1/1; scheduling it onto zone1(zone2) would make the ActualSkew(2-0) on zone1(zone2) violate MaxSkew(1). - if MaxSkew is 2, incoming pod can be scheduled onto any zone. When `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence to topologies that satisfy it. It''s a required field. Default value is 1 and 0 is not allowed.'
3211                                       format: int32
3212                                       type: integer
3213                                     topologyKey:
3214                                       description: TopologyKey is the key of node labels. Nodes that have a label with this key and identical values are considered to be in the same topology. We consider each <key, value> as a "bucket", and try to put balanced number of pods into each bucket. It's a required field.
3215                                       type: string
3216                                     whenUnsatisfiable:
3217                                       description: 'WhenUnsatisfiable indicates how to deal with a pod if it doesn''t satisfy the spread constraint. - DoNotSchedule (default) tells the scheduler not to schedule it. - ScheduleAnyway tells the scheduler to schedule the pod in any location,   but giving higher precedence to topologies that would help reduce the   skew. A constraint is considered "Unsatisfiable" for an incoming pod if and only if every possible node assigment for that pod would violate "MaxSkew" on some topology. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 3/1/1: | zone1 | zone2 | zone3 | | P P P |   P   |   P   | If WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled to zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies MaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler won''t make it *more* imbalanced. It''s a required field.'
3218                                       type: string
3219                                   required:
3220                                     - maxSkew
3221                                     - topologyKey
3222                                     - whenUnsatisfiable
3223                                   type: object
3224                                 type: array
3225                             type: object
3226                             x-kubernetes-preserve-unknown-fields: true
3227                           resources:
3228                             description: ResourceRequirements describes the compute resource requirements.
3229                             nullable: true
3230                             properties:
3231                               limits:
3232                                 additionalProperties:
3233                                   anyOf:
3234                                     - type: integer
3235                                     - type: string
3236                                   pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
3237                                   x-kubernetes-int-or-string: true
3238                                 description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
3239                                 type: object
3240                               requests:
3241                                 additionalProperties:
3242                                   anyOf:
3243                                     - type: integer
3244                                     - type: string
3245                                   pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
3246                                   x-kubernetes-int-or-string: true
3247                                 description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
3248                                 type: object
3249                             type: object
3250                             x-kubernetes-preserve-unknown-fields: true
3251                           schedulerName:
3252                             description: Scheduler name for OSD pod placement
3253                             type: string
3254                           tuneDeviceClass:
3255                             description: TuneSlowDeviceClass Tune the OSD when running on a slow Device Class
3256                             type: boolean
3257                           tuneFastDeviceClass:
3258                             description: TuneFastDeviceClass Tune the OSD when running on a fast Device Class
3259                             type: boolean
3260                           volumeClaimTemplates:
3261                             description: VolumeClaimTemplates is a list of PVC templates for the underlying storage devices
3262                             items:
3263                               description: PersistentVolumeClaim is a user's request for and claim to a persistent volume
3264                               properties:
3265                                 apiVersion:
3266                                   description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
3267                                   type: string
3268                                 kind:
3269                                   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'
3270                                   type: string
3271                                 metadata:
3272                                   description: 'Standard object''s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata'
3273                                   properties:
3274                                     annotations:
3275                                       additionalProperties:
3276                                         type: string
3277                                       type: object
3278                                       x-kubernetes-preserve-unknown-fields: true
3279                                     finalizers:
3280                                       items:
3281                                         type: string
3282                                       type: array
3283                                     labels:
3284                                       additionalProperties:
3285                                         type: string
3286                                       type: object
3287                                     name:
3288                                       type: string
3289                                     namespace:
3290                                       type: string
3291                                   type: object
3292                                 spec:
3293                                   description: 'Spec defines the desired characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
3294                                   properties:
3295                                     accessModes:
3296                                       description: 'AccessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
3297                                       items:
3298                                         type: string
3299                                       type: array
3300                                     dataSource:
3301                                       description: 'This field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) * An existing custom resource that implements data population (Alpha) In order to use custom resource types that implement data population, the AnyVolumeDataSource feature gate must be enabled. If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source.'
3302                                       properties:
3303                                         apiGroup:
3304                                           description: APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required.
3305                                           type: string
3306                                         kind:
3307                                           description: Kind is the type of resource being referenced
3308                                           type: string
3309                                         name:
3310                                           description: Name is the name of resource being referenced
3311                                           type: string
3312                                       required:
3313                                         - kind
3314                                         - name
3315                                       type: object
3316                                     resources:
3317                                       description: 'Resources represents the minimum resources the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources'
3318                                       properties:
3319                                         limits:
3320                                           additionalProperties:
3321                                             anyOf:
3322                                               - type: integer
3323                                               - type: string
3324                                             pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
3325                                             x-kubernetes-int-or-string: true
3326                                           description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
3327                                           type: object
3328                                         requests:
3329                                           additionalProperties:
3330                                             anyOf:
3331                                               - type: integer
3332                                               - type: string
3333                                             pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
3334                                             x-kubernetes-int-or-string: true
3335                                           description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
3336                                           type: object
3337                                       type: object
3338                                     selector:
3339                                       description: A label query over volumes to consider for binding.
3340                                       properties:
3341                                         matchExpressions:
3342                                           description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
3343                                           items:
3344                                             description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
3345                                             properties:
3346                                               key:
3347                                                 description: key is the label key that the selector applies to.
3348                                                 type: string
3349                                               operator:
3350                                                 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
3351                                                 type: string
3352                                               values:
3353                                                 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
3354                                                 items:
3355                                                   type: string
3356                                                 type: array
3357                                             required:
3358                                               - key
3359                                               - operator
3360                                             type: object
3361                                           type: array
3362                                         matchLabels:
3363                                           additionalProperties:
3364                                             type: string
3365                                           description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
3366                                           type: object
3367                                       type: object
3368                                     storageClassName:
3369                                       description: 'Name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1'
3370                                       type: string
3371                                     volumeMode:
3372                                       description: volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec.
3373                                       type: string
3374                                     volumeName:
3375                                       description: VolumeName is the binding reference to the PersistentVolume backing this claim.
3376                                       type: string
3377                                   type: object
3378                                 status:
3379                                   description: 'Status represents the current information/status of a persistent volume claim. Read-only. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
3380                                   properties:
3381                                     accessModes:
3382                                       description: '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'
3383                                       items:
3384                                         type: string
3385                                       type: array
3386                                     capacity:
3387                                       additionalProperties:
3388                                         anyOf:
3389                                           - type: integer
3390                                           - type: string
3391                                         pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
3392                                         x-kubernetes-int-or-string: true
3393                                       description: Represents the actual resources of the underlying volume.
3394                                       type: object
3395                                     conditions:
3396                                       description: Current Condition of persistent volume claim. If underlying persistent volume is being resized then the Condition will be set to 'ResizeStarted'.
3397                                       items:
3398                                         description: PersistentVolumeClaimCondition contails details about state of pvc
3399                                         properties:
3400                                           lastProbeTime:
3401                                             description: Last time we probed the condition.
3402                                             format: date-time
3403                                             type: string
3404                                           lastTransitionTime:
3405                                             description: Last time the condition transitioned from one status to another.
3406                                             format: date-time
3407                                             type: string
3408                                           message:
3409                                             description: Human-readable message indicating details about last transition.
3410                                             type: string
3411                                           reason:
3412                                             description: Unique, this should be a short, machine understandable string that gives the reason for condition's last transition. If it reports "ResizeStarted" that means the underlying persistent volume is being resized.
3413                                             type: string
3414                                           status:
3415                                             type: string
3416                                           type:
3417                                             description: PersistentVolumeClaimConditionType is a valid value of PersistentVolumeClaimCondition.Type
3418                                             type: string
3419                                         required:
3420                                           - status
3421                                           - type
3422                                         type: object
3423                                       type: array
3424                                     phase:
3425                                       description: Phase represents the current phase of PersistentVolumeClaim.
3426                                       type: string
3427                                   type: object
3428                               type: object
3429                             type: array
3430                         required:
3431                           - count
3432                           - name
3433                           - volumeClaimTemplates
3434                         type: object
3435                       nullable: true
3436                       type: array
3437                     useAllDevices:
3438                       description: Whether to consume all the storage devices found on a machine
3439                       type: boolean
3440                     useAllNodes:
3441                       type: boolean
3442                     volumeClaimTemplates:
3443                       description: PersistentVolumeClaims to use as storage
3444                       items:
3445                         description: PersistentVolumeClaim is a user's request for and claim to a persistent volume
3446                         properties:
3447                           apiVersion:
3448                             description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
3449                             type: string
3450                           kind:
3451                             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'
3452                             type: string
3453                           metadata:
3454                             description: 'Standard object''s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata'
3455                             properties:
3456                               annotations:
3457                                 additionalProperties:
3458                                   type: string
3459                                 type: object
3460                               finalizers:
3461                                 items:
3462                                   type: string
3463                                 type: array
3464                               labels:
3465                                 additionalProperties:
3466                                   type: string
3467                                 type: object
3468                               name:
3469                                 type: string
3470                               namespace:
3471                                 type: string
3472                             type: object
3473                           spec:
3474                             description: 'Spec defines the desired characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
3475                             properties:
3476                               accessModes:
3477                                 description: 'AccessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
3478                                 items:
3479                                   type: string
3480                                 type: array
3481                               dataSource:
3482                                 description: 'This field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) * An existing custom resource that implements data population (Alpha) In order to use custom resource types that implement data population, the AnyVolumeDataSource feature gate must be enabled. If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source.'
3483                                 properties:
3484                                   apiGroup:
3485                                     description: APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required.
3486                                     type: string
3487                                   kind:
3488                                     description: Kind is the type of resource being referenced
3489                                     type: string
3490                                   name:
3491                                     description: Name is the name of resource being referenced
3492                                     type: string
3493                                 required:
3494                                   - kind
3495                                   - name
3496                                 type: object
3497                               resources:
3498                                 description: 'Resources represents the minimum resources the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources'
3499                                 properties:
3500                                   limits:
3501                                     additionalProperties:
3502                                       anyOf:
3503                                         - type: integer
3504                                         - type: string
3505                                       pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
3506                                       x-kubernetes-int-or-string: true
3507                                     description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
3508                                     type: object
3509                                   requests:
3510                                     additionalProperties:
3511                                       anyOf:
3512                                         - type: integer
3513                                         - type: string
3514                                       pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
3515                                       x-kubernetes-int-or-string: true
3516                                     description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
3517                                     type: object
3518                                 type: object
3519                               selector:
3520                                 description: A label query over volumes to consider for binding.
3521                                 properties:
3522                                   matchExpressions:
3523                                     description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
3524                                     items:
3525                                       description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
3526                                       properties:
3527                                         key:
3528                                           description: key is the label key that the selector applies to.
3529                                           type: string
3530                                         operator:
3531                                           description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
3532                                           type: string
3533                                         values:
3534                                           description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
3535                                           items:
3536                                             type: string
3537                                           type: array
3538                                       required:
3539                                         - key
3540                                         - operator
3541                                       type: object
3542                                     type: array
3543                                   matchLabels:
3544                                     additionalProperties:
3545                                       type: string
3546                                     description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
3547                                     type: object
3548                                 type: object
3549                               storageClassName:
3550                                 description: 'Name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1'
3551                                 type: string
3552                               volumeMode:
3553                                 description: volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec.
3554                                 type: string
3555                               volumeName:
3556                                 description: VolumeName is the binding reference to the PersistentVolume backing this claim.
3557                                 type: string
3558                             type: object
3559                           status:
3560                             description: 'Status represents the current information/status of a persistent volume claim. Read-only. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
3561                             properties:
3562                               accessModes:
3563                                 description: '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'
3564                                 items:
3565                                   type: string
3566                                 type: array
3567                               capacity:
3568                                 additionalProperties:
3569                                   anyOf:
3570                                     - type: integer
3571                                     - type: string
3572                                   pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
3573                                   x-kubernetes-int-or-string: true
3574                                 description: Represents the actual resources of the underlying volume.
3575                                 type: object
3576                               conditions:
3577                                 description: Current Condition of persistent volume claim. If underlying persistent volume is being resized then the Condition will be set to 'ResizeStarted'.
3578                                 items:
3579                                   description: PersistentVolumeClaimCondition contails details about state of pvc
3580                                   properties:
3581                                     lastProbeTime:
3582                                       description: Last time we probed the condition.
3583                                       format: date-time
3584                                       type: string
3585                                     lastTransitionTime:
3586                                       description: Last time the condition transitioned from one status to another.
3587                                       format: date-time
3588                                       type: string
3589                                     message:
3590                                       description: Human-readable message indicating details about last transition.
3591                                       type: string
3592                                     reason:
3593                                       description: Unique, this should be a short, machine understandable string that gives the reason for condition's last transition. If it reports "ResizeStarted" that means the underlying persistent volume is being resized.
3594                                       type: string
3595                                     status:
3596                                       type: string
3597                                     type:
3598                                       description: PersistentVolumeClaimConditionType is a valid value of PersistentVolumeClaimCondition.Type
3599                                       type: string
3600                                   required:
3601                                     - status
3602                                     - type
3603                                   type: object
3604                                 type: array
3605                               phase:
3606                                 description: Phase represents the current phase of PersistentVolumeClaim.
3607                                 type: string
3608                             type: object
3609                         type: object
3610                       type: array
3611                   type: object
3612                 waitTimeoutForHealthyOSDInMinutes:
3613                   description: WaitTimeoutForHealthyOSDInMinutes defines the time the operator would wait before an OSD can be stopped for upgrade or restart. If the timeout exceeds and OSD is not ok to stop, then the operator would skip upgrade for the current OSD and proceed with the next one if `continueUpgradeAfterChecksEvenIfNotHealthy` is `false`. If `continueUpgradeAfterChecksEvenIfNotHealthy` is `true`, then operator would continue with the upgrade of an OSD even if its not ok to stop after the timeout. This timeout won't be applied if `skipUpgradeChecks` is `true`. The default wait timeout is 10 minutes.
3614                   format: int64
3615                   type: integer
3616               type: object
3617             status:
3618               description: ClusterStatus represents the status of a Ceph cluster
3619               nullable: true
3620               properties:
3621                 ceph:
3622                   description: CephStatus is the details health of a Ceph Cluster
3623                   properties:
3624                     capacity:
3625                       description: Capacity is the capacity information of a Ceph Cluster
3626                       properties:
3627                         bytesAvailable:
3628                           format: int64
3629                           type: integer
3630                         bytesTotal:
3631                           format: int64
3632                           type: integer
3633                         bytesUsed:
3634                           format: int64
3635                           type: integer
3636                         lastUpdated:
3637                           type: string
3638                       type: object
3639                     details:
3640                       additionalProperties:
3641                         description: CephHealthMessage represents the health message of a Ceph Cluster
3642                         properties:
3643                           message:
3644                             type: string
3645                           severity:
3646                             type: string
3647                         required:
3648                           - message
3649                           - severity
3650                         type: object
3651                       type: object
3652                     health:
3653                       type: string
3654                     lastChanged:
3655                       type: string
3656                     lastChecked:
3657                       type: string
3658                     previousHealth:
3659                       type: string
3660                     versions:
3661                       description: CephDaemonsVersions show the current ceph version for different ceph daemons
3662                       properties:
3663                         cephfs-mirror:
3664                           additionalProperties:
3665                             type: integer
3666                           description: CephFSMirror shows CephFSMirror Ceph version
3667                           type: object
3668                         mds:
3669                           additionalProperties:
3670                             type: integer
3671                           description: Mds shows Mds Ceph version
3672                           type: object
3673                         mgr:
3674                           additionalProperties:
3675                             type: integer
3676                           description: Mgr shows Mgr Ceph version
3677                           type: object
3678                         mon:
3679                           additionalProperties:
3680                             type: integer
3681                           description: Mon shows Mon Ceph version
3682                           type: object
3683                         osd:
3684                           additionalProperties:
3685                             type: integer
3686                           description: Osd shows Osd Ceph version
3687                           type: object
3688                         overall:
3689                           additionalProperties:
3690                             type: integer
3691                           description: Overall shows overall Ceph version
3692                           type: object
3693                         rbd-mirror:
3694                           additionalProperties:
3695                             type: integer
3696                           description: RbdMirror shows RbdMirror Ceph version
3697                           type: object
3698                         rgw:
3699                           additionalProperties:
3700                             type: integer
3701                           description: Rgw shows Rgw Ceph version
3702                           type: object
3703                       type: object
3704                   type: object
3705                 conditions:
3706                   items:
3707                     description: Condition represents
3708                     properties:
3709                       lastHeartbeatTime:
3710                         format: date-time
3711                         type: string
3712                       lastTransitionTime:
3713                         format: date-time
3714                         type: string
3715                       message:
3716                         type: string
3717                       reason:
3718                         description: ClusterReasonType is cluster reason
3719                         type: string
3720                       status:
3721                         type: string
3722                       type:
3723                         description: ConditionType represent a resource's status
3724                         type: string
3725                     type: object
3726                   type: array
3727                 message:
3728                   type: string
3729                 phase:
3730                   description: ConditionType represent a resource's status
3731                   type: string
3732                 state:
3733                   description: ClusterState represents the state of a Ceph Cluster
3734                   type: string
3735                 storage:
3736                   description: CephStorage represents flavors of Ceph Cluster Storage
3737                   properties:
3738                     deviceClasses:
3739                       items:
3740                         description: DeviceClasses represents device classes of a Ceph Cluster
3741                         properties:
3742                           name:
3743                             type: string
3744                         type: object
3745                       type: array
3746                   type: object
3747                 version:
3748                   description: ClusterVersion represents the version of a Ceph Cluster
3749                   properties:
3750                     image:
3751                       type: string
3752                     version:
3753                       type: string
3754                   type: object
3755               type: object
3756               x-kubernetes-preserve-unknown-fields: true
3757           required:
3758             - metadata
3759             - spec
3760           type: object
3761       served: true
3762       storage: true
3763       subresources:
3764         status: {}
3765 status:
3766   acceptedNames:
3767     kind: ""
3768     plural: ""
3769   conditions: []
3770   storedVersions: []
3771 ---
3772 apiVersion: apiextensions.k8s.io/v1
3773 kind: CustomResourceDefinition
3774 metadata:
3775   annotations:
3776     controller-gen.kubebuilder.io/version: v0.5.1-0.20210420220833-f284e2e8098c
3777   creationTimestamp: null
3778   name: cephfilesystemmirrors.ceph.rook.io
3779 spec:
3780   group: ceph.rook.io
3781   names:
3782     kind: CephFilesystemMirror
3783     listKind: CephFilesystemMirrorList
3784     plural: cephfilesystemmirrors
3785     singular: cephfilesystemmirror
3786   scope: Namespaced
3787   versions:
3788     - name: v1
3789       schema:
3790         openAPIV3Schema:
3791           description: CephFilesystemMirror is the Ceph Filesystem Mirror object definition
3792           properties:
3793             apiVersion:
3794               description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
3795               type: string
3796             kind:
3797               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'
3798               type: string
3799             metadata:
3800               type: object
3801             spec:
3802               description: FilesystemMirroringSpec is the filesystem mirorring specification
3803               properties:
3804                 annotations:
3805                   additionalProperties:
3806                     type: string
3807                   description: The annotations-related configuration to add/set on each Pod related object.
3808                   nullable: true
3809                   type: object
3810                 labels:
3811                   additionalProperties:
3812                     type: string
3813                   description: The labels-related configuration to add/set on each Pod related object.
3814                   nullable: true
3815                   type: object
3816                 placement:
3817                   description: The affinity to place the rgw pods (default is to place on any available node)
3818                   nullable: true
3819                   properties:
3820                     nodeAffinity:
3821                       description: NodeAffinity is a group of node affinity scheduling rules
3822                       properties:
3823                         preferredDuringSchedulingIgnoredDuringExecution:
3824                           description: The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node matches the corresponding matchExpressions; the node(s) with the highest sum are the most preferred.
3825                           items:
3826                             description: An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
3827                             properties:
3828                               preference:
3829                                 description: A node selector term, associated with the corresponding weight.
3830                                 properties:
3831                                   matchExpressions:
3832                                     description: A list of node selector requirements by node's labels.
3833                                     items:
3834                                       description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
3835                                       properties:
3836                                         key:
3837                                           description: The label key that the selector applies to.
3838                                           type: string
3839                                         operator:
3840                                           description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
3841                                           type: string
3842                                         values:
3843                                           description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
3844                                           items:
3845                                             type: string
3846                                           type: array
3847                                       required:
3848                                         - key
3849                                         - operator
3850                                       type: object
3851                                     type: array
3852                                   matchFields:
3853                                     description: A list of node selector requirements by node's fields.
3854                                     items:
3855                                       description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
3856                                       properties:
3857                                         key:
3858                                           description: The label key that the selector applies to.
3859                                           type: string
3860                                         operator:
3861                                           description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
3862                                           type: string
3863                                         values:
3864                                           description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
3865                                           items:
3866                                             type: string
3867                                           type: array
3868                                       required:
3869                                         - key
3870                                         - operator
3871                                       type: object
3872                                     type: array
3873                                 type: object
3874                               weight:
3875                                 description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
3876                                 format: int32
3877                                 type: integer
3878                             required:
3879                               - preference
3880                               - weight
3881                             type: object
3882                           type: array
3883                         requiredDuringSchedulingIgnoredDuringExecution:
3884                           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 an update), the system may or may not try to eventually evict the pod from its node.
3885                           properties:
3886                             nodeSelectorTerms:
3887                               description: Required. A list of node selector terms. The terms are ORed.
3888                               items:
3889                                 description: A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
3890                                 properties:
3891                                   matchExpressions:
3892                                     description: A list of node selector requirements by node's labels.
3893                                     items:
3894                                       description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
3895                                       properties:
3896                                         key:
3897                                           description: The label key that the selector applies to.
3898                                           type: string
3899                                         operator:
3900                                           description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
3901                                           type: string
3902                                         values:
3903                                           description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
3904                                           items:
3905                                             type: string
3906                                           type: array
3907                                       required:
3908                                         - key
3909                                         - operator
3910                                       type: object
3911                                     type: array
3912                                   matchFields:
3913                                     description: A list of node selector requirements by node's fields.
3914                                     items:
3915                                       description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
3916                                       properties:
3917                                         key:
3918                                           description: The label key that the selector applies to.
3919                                           type: string
3920                                         operator:
3921                                           description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
3922                                           type: string
3923                                         values:
3924                                           description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
3925                                           items:
3926                                             type: string
3927                                           type: array
3928                                       required:
3929                                         - key
3930                                         - operator
3931                                       type: object
3932                                     type: array
3933                                 type: object
3934                               type: array
3935                           required:
3936                             - nodeSelectorTerms
3937                           type: object
3938                       type: object
3939                     podAffinity:
3940                       description: PodAffinity is a group of inter pod affinity scheduling rules
3941                       properties:
3942                         preferredDuringSchedulingIgnoredDuringExecution:
3943                           description: The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "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.
3944                           items:
3945                             description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
3946                             properties:
3947                               podAffinityTerm:
3948                                 description: Required. A pod affinity term, associated with the corresponding weight.
3949                                 properties:
3950                                   labelSelector:
3951                                     description: A label query over a set of resources, in this case pods.
3952                                     properties:
3953                                       matchExpressions:
3954                                         description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
3955                                         items:
3956                                           description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
3957                                           properties:
3958                                             key:
3959                                               description: key is the label key that the selector applies to.
3960                                               type: string
3961                                             operator:
3962                                               description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
3963                                               type: string
3964                                             values:
3965                                               description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
3966                                               items:
3967                                                 type: string
3968                                               type: array
3969                                           required:
3970                                             - key
3971                                             - operator
3972                                           type: object
3973                                         type: array
3974                                       matchLabels:
3975                                         additionalProperties:
3976                                           type: string
3977                                         description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
3978                                         type: object
3979                                     type: object
3980                                   namespaceSelector:
3981                                     description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
3982                                     properties:
3983                                       matchExpressions:
3984                                         description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
3985                                         items:
3986                                           description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
3987                                           properties:
3988                                             key:
3989                                               description: key is the label key that the selector applies to.
3990                                               type: string
3991                                             operator:
3992                                               description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
3993                                               type: string
3994                                             values:
3995                                               description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
3996                                               items:
3997                                                 type: string
3998                                               type: array
3999                                           required:
4000                                             - key
4001                                             - operator
4002                                           type: object
4003                                         type: array
4004                                       matchLabels:
4005                                         additionalProperties:
4006                                           type: string
4007                                         description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
4008                                         type: object
4009                                     type: object
4010                                   namespaces:
4011                                     description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
4012                                     items:
4013                                       type: string
4014                                     type: array
4015                                   topologyKey:
4016                                     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.
4017                                     type: string
4018                                 required:
4019                                   - topologyKey
4020                                 type: object
4021                               weight:
4022                                 description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
4023                                 format: int32
4024                                 type: integer
4025                             required:
4026                               - podAffinityTerm
4027                               - weight
4028                             type: object
4029                           type: array
4030                         requiredDuringSchedulingIgnoredDuringExecution:
4031                           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.
4032                           items:
4033                             description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, 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 a pod of the set of pods is running
4034                             properties:
4035                               labelSelector:
4036                                 description: A label query over a set of resources, in this case pods.
4037                                 properties:
4038                                   matchExpressions:
4039                                     description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
4040                                     items:
4041                                       description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
4042                                       properties:
4043                                         key:
4044                                           description: key is the label key that the selector applies to.
4045                                           type: string
4046                                         operator:
4047                                           description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
4048                                           type: string
4049                                         values:
4050                                           description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
4051                                           items:
4052                                             type: string
4053                                           type: array
4054                                       required:
4055                                         - key
4056                                         - operator
4057                                       type: object
4058                                     type: array
4059                                   matchLabels:
4060                                     additionalProperties:
4061                                       type: string
4062                                     description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
4063                                     type: object
4064                                 type: object
4065                               namespaceSelector:
4066                                 description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
4067                                 properties:
4068                                   matchExpressions:
4069                                     description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
4070                                     items:
4071                                       description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
4072                                       properties:
4073                                         key:
4074                                           description: key is the label key that the selector applies to.
4075                                           type: string
4076                                         operator:
4077                                           description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
4078                                           type: string
4079                                         values:
4080                                           description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
4081                                           items:
4082                                             type: string
4083                                           type: array
4084                                       required:
4085                                         - key
4086                                         - operator
4087                                       type: object
4088                                     type: array
4089                                   matchLabels:
4090                                     additionalProperties:
4091                                       type: string
4092                                     description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
4093                                     type: object
4094                                 type: object
4095                               namespaces:
4096                                 description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
4097                                 items:
4098                                   type: string
4099                                 type: array
4100                               topologyKey:
4101                                 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.
4102                                 type: string
4103                             required:
4104                               - topologyKey
4105                             type: object
4106                           type: array
4107                       type: object
4108                     podAntiAffinity:
4109                       description: PodAntiAffinity is a group of inter pod anti affinity scheduling rules
4110                       properties:
4111                         preferredDuringSchedulingIgnoredDuringExecution:
4112                           description: The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "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.
4113                           items:
4114                             description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
4115                             properties:
4116                               podAffinityTerm:
4117                                 description: Required. A pod affinity term, associated with the corresponding weight.
4118                                 properties:
4119                                   labelSelector:
4120                                     description: A label query over a set of resources, in this case pods.
4121                                     properties:
4122                                       matchExpressions:
4123                                         description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
4124                                         items:
4125                                           description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
4126                                           properties:
4127                                             key:
4128                                               description: key is the label key that the selector applies to.
4129                                               type: string
4130                                             operator:
4131                                               description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
4132                                               type: string
4133                                             values:
4134                                               description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
4135                                               items:
4136                                                 type: string
4137                                               type: array
4138                                           required:
4139                                             - key
4140                                             - operator
4141                                           type: object
4142                                         type: array
4143                                       matchLabels:
4144                                         additionalProperties:
4145                                           type: string
4146                                         description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
4147                                         type: object
4148                                     type: object
4149                                   namespaceSelector:
4150                                     description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
4151                                     properties:
4152                                       matchExpressions:
4153                                         description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
4154                                         items:
4155                                           description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
4156                                           properties:
4157                                             key:
4158                                               description: key is the label key that the selector applies to.
4159                                               type: string
4160                                             operator:
4161                                               description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
4162                                               type: string
4163                                             values:
4164                                               description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
4165                                               items:
4166                                                 type: string
4167                                               type: array
4168                                           required:
4169                                             - key
4170                                             - operator
4171                                           type: object
4172                                         type: array
4173                                       matchLabels:
4174                                         additionalProperties:
4175                                           type: string
4176                                         description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
4177                                         type: object
4178                                     type: object
4179                                   namespaces:
4180                                     description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
4181                                     items:
4182                                       type: string
4183                                     type: array
4184                                   topologyKey:
4185                                     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.
4186                                     type: string
4187                                 required:
4188                                   - topologyKey
4189                                 type: object
4190                               weight:
4191                                 description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
4192                                 format: int32
4193                                 type: integer
4194                             required:
4195                               - podAffinityTerm
4196                               - weight
4197                             type: object
4198                           type: array
4199                         requiredDuringSchedulingIgnoredDuringExecution:
4200                           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.
4201                           items:
4202                             description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, 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 a pod of the set of pods is running
4203                             properties:
4204                               labelSelector:
4205                                 description: A label query over a set of resources, in this case pods.
4206                                 properties:
4207                                   matchExpressions:
4208                                     description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
4209                                     items:
4210                                       description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
4211                                       properties:
4212                                         key:
4213                                           description: key is the label key that the selector applies to.
4214                                           type: string
4215                                         operator:
4216                                           description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
4217                                           type: string
4218                                         values:
4219                                           description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
4220                                           items:
4221                                             type: string
4222                                           type: array
4223                                       required:
4224                                         - key
4225                                         - operator
4226                                       type: object
4227                                     type: array
4228                                   matchLabels:
4229                                     additionalProperties:
4230                                       type: string
4231                                     description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
4232                                     type: object
4233                                 type: object
4234                               namespaceSelector:
4235                                 description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
4236                                 properties:
4237                                   matchExpressions:
4238                                     description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
4239                                     items:
4240                                       description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
4241                                       properties:
4242                                         key:
4243                                           description: key is the label key that the selector applies to.
4244                                           type: string
4245                                         operator:
4246                                           description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
4247                                           type: string
4248                                         values:
4249                                           description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
4250                                           items:
4251                                             type: string
4252                                           type: array
4253                                       required:
4254                                         - key
4255                                         - operator
4256                                       type: object
4257                                     type: array
4258                                   matchLabels:
4259                                     additionalProperties:
4260                                       type: string
4261                                     description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
4262                                     type: object
4263                                 type: object
4264                               namespaces:
4265                                 description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
4266                                 items:
4267                                   type: string
4268                                 type: array
4269                               topologyKey:
4270                                 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.
4271                                 type: string
4272                             required:
4273                               - topologyKey
4274                             type: object
4275                           type: array
4276                       type: object
4277                     tolerations:
4278                       description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>
4279                       items:
4280                         description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.
4281                         properties:
4282                           effect:
4283                             description: Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
4284                             type: string
4285                           key:
4286                             description: Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.
4287                             type: string
4288                           operator:
4289                             description: Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.
4290                             type: string
4291                           tolerationSeconds:
4292                             description: TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.
4293                             format: int64
4294                             type: integer
4295                           value:
4296                             description: Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.
4297                             type: string
4298                         type: object
4299                       type: array
4300                     topologySpreadConstraints:
4301                       description: TopologySpreadConstraint specifies how to spread matching pods among the given topology
4302                       items:
4303                         description: TopologySpreadConstraint specifies how to spread matching pods among the given topology.
4304                         properties:
4305                           labelSelector:
4306                             description: LabelSelector is used to find matching pods. Pods that match this label selector are counted to determine the number of pods in their corresponding topology domain.
4307                             properties:
4308                               matchExpressions:
4309                                 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
4310                                 items:
4311                                   description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
4312                                   properties:
4313                                     key:
4314                                       description: key is the label key that the selector applies to.
4315                                       type: string
4316                                     operator:
4317                                       description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
4318                                       type: string
4319                                     values:
4320                                       description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
4321                                       items:
4322                                         type: string
4323                                       type: array
4324                                   required:
4325                                     - key
4326                                     - operator
4327                                   type: object
4328                                 type: array
4329                               matchLabels:
4330                                 additionalProperties:
4331                                   type: string
4332                                 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
4333                                 type: object
4334                             type: object
4335                           maxSkew:
4336                             description: 'MaxSkew describes the degree to which pods may be unevenly distributed. When `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference between the number of matching pods in the target topology and the global minimum. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 1/1/0: | zone1 | zone2 | zone3 | |   P   |   P   |       | - if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 1/1/1; scheduling it onto zone1(zone2) would make the ActualSkew(2-0) on zone1(zone2) violate MaxSkew(1). - if MaxSkew is 2, incoming pod can be scheduled onto any zone. When `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence to topologies that satisfy it. It''s a required field. Default value is 1 and 0 is not allowed.'
4337                             format: int32
4338                             type: integer
4339                           topologyKey:
4340                             description: TopologyKey is the key of node labels. Nodes that have a label with this key and identical values are considered to be in the same topology. We consider each <key, value> as a "bucket", and try to put balanced number of pods into each bucket. It's a required field.
4341                             type: string
4342                           whenUnsatisfiable:
4343                             description: 'WhenUnsatisfiable indicates how to deal with a pod if it doesn''t satisfy the spread constraint. - DoNotSchedule (default) tells the scheduler not to schedule it. - ScheduleAnyway tells the scheduler to schedule the pod in any location,   but giving higher precedence to topologies that would help reduce the   skew. A constraint is considered "Unsatisfiable" for an incoming pod if and only if every possible node assigment for that pod would violate "MaxSkew" on some topology. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 3/1/1: | zone1 | zone2 | zone3 | | P P P |   P   |   P   | If WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled to zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies MaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler won''t make it *more* imbalanced. It''s a required field.'
4344                             type: string
4345                         required:
4346                           - maxSkew
4347                           - topologyKey
4348                           - whenUnsatisfiable
4349                         type: object
4350                       type: array
4351                   type: object
4352                 priorityClassName:
4353                   description: PriorityClassName sets priority class on the cephfs-mirror pods
4354                   type: string
4355                 resources:
4356                   description: The resource requirements for the cephfs-mirror pods
4357                   nullable: true
4358                   properties:
4359                     limits:
4360                       additionalProperties:
4361                         anyOf:
4362                           - type: integer
4363                           - type: string
4364                         pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
4365                         x-kubernetes-int-or-string: true
4366                       description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
4367                       type: object
4368                     requests:
4369                       additionalProperties:
4370                         anyOf:
4371                           - type: integer
4372                           - type: string
4373                         pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
4374                         x-kubernetes-int-or-string: true
4375                       description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
4376                       type: object
4377                   type: object
4378               type: object
4379             status:
4380               description: Status represents the status of an object
4381               properties:
4382                 phase:
4383                   type: string
4384               type: object
4385           required:
4386             - metadata
4387             - spec
4388           type: object
4389       served: true
4390       storage: true
4391       subresources:
4392         status: {}
4393 status:
4394   acceptedNames:
4395     kind: ""
4396     plural: ""
4397   conditions: []
4398   storedVersions: []
4399 ---
4400 apiVersion: apiextensions.k8s.io/v1
4401 kind: CustomResourceDefinition
4402 metadata:
4403   annotations:
4404     controller-gen.kubebuilder.io/version: v0.5.1-0.20210420220833-f284e2e8098c
4405   creationTimestamp: null
4406   name: cephfilesystems.ceph.rook.io
4407 spec:
4408   group: ceph.rook.io
4409   names:
4410     kind: CephFilesystem
4411     listKind: CephFilesystemList
4412     plural: cephfilesystems
4413     singular: cephfilesystem
4414   scope: Namespaced
4415   versions:
4416     - additionalPrinterColumns:
4417         - description: Number of desired active MDS daemons
4418           jsonPath: .spec.metadataServer.activeCount
4419           name: ActiveMDS
4420           type: string
4421         - jsonPath: .metadata.creationTimestamp
4422           name: Age
4423           type: date
4424         - jsonPath: .status.phase
4425           name: Phase
4426           type: string
4427       name: v1
4428       schema:
4429         openAPIV3Schema:
4430           description: CephFilesystem represents a Ceph Filesystem
4431           properties:
4432             apiVersion:
4433               description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
4434               type: string
4435             kind:
4436               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'
4437               type: string
4438             metadata:
4439               type: object
4440             spec:
4441               description: FilesystemSpec represents the spec of a file system
4442               properties:
4443                 dataPools:
4444                   description: The data pool settings
4445                   items:
4446                     description: PoolSpec represents the spec of ceph pool
4447                     properties:
4448                       compressionMode:
4449                         default: none
4450                         description: 'The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force)'
4451                         enum:
4452                           - none
4453                           - passive
4454                           - aggressive
4455                           - force
4456                           - ""
4457                         nullable: true
4458                         type: string
4459                       crushRoot:
4460                         description: The root of the crush hierarchy utilized by the pool
4461                         nullable: true
4462                         type: string
4463                       deviceClass:
4464                         description: The device class the OSD should set to for use in the pool
4465                         nullable: true
4466                         type: string
4467                       enableRBDStats:
4468                         description: EnableRBDStats is used to enable gathering of statistics for all RBD images in the pool
4469                         type: boolean
4470                       erasureCoded:
4471                         description: The erasure code settings
4472                         properties:
4473                           algorithm:
4474                             description: The algorithm for erasure coding
4475                             type: string
4476                           codingChunks:
4477                             description: Number of coding chunks per object in an erasure coded storage pool (required for erasure-coded pool type)
4478                             maximum: 9
4479                             minimum: 0
4480                             type: integer
4481                           dataChunks:
4482                             description: Number of data chunks per object in an erasure coded storage pool (required for erasure-coded pool type)
4483                             maximum: 9
4484                             minimum: 0
4485                             type: integer
4486                         required:
4487                           - codingChunks
4488                           - dataChunks
4489                         type: object
4490                       failureDomain:
4491                         description: 'The failure domain: osd/host/(region or zone if available) - technically also any type in the crush map'
4492                         type: string
4493                       mirroring:
4494                         description: The mirroring settings
4495                         properties:
4496                           enabled:
4497                             description: Enabled whether this pool is mirrored or not
4498                             type: boolean
4499                           mode:
4500                             description: 'Mode is the mirroring mode: either pool or image'
4501                             type: string
4502                           snapshotSchedules:
4503                             description: SnapshotSchedules is the scheduling of snapshot for mirrored images/pools
4504                             items:
4505                               description: SnapshotScheduleSpec represents the snapshot scheduling settings of a mirrored pool
4506                               properties:
4507                                 interval:
4508                                   description: Interval represent the periodicity of the snapshot.
4509                                   type: string
4510                                 startTime:
4511                                   description: StartTime indicates when to start the snapshot
4512                                   type: string
4513                               type: object
4514                             type: array
4515                         type: object
4516                       parameters:
4517                         additionalProperties:
4518                           type: string
4519                         description: Parameters is a list of properties to enable on a given pool
4520                         nullable: true
4521                         type: object
4522                         x-kubernetes-preserve-unknown-fields: true
4523                       quotas:
4524                         description: The quota settings
4525                         nullable: true
4526                         properties:
4527                           maxBytes:
4528                             description: MaxBytes represents the quota in bytes Deprecated in favor of MaxSize
4529                             format: int64
4530                             type: integer
4531                           maxObjects:
4532                             description: MaxObjects represents the quota in objects
4533                             format: int64
4534                             type: integer
4535                           maxSize:
4536                             description: MaxSize represents the quota in bytes as a string
4537                             pattern: ^[0-9]+[\.]?[0-9]*([KMGTPE]i|[kMGTPE])?$
4538                             type: string
4539                         type: object
4540                       replicated:
4541                         description: The replication settings
4542                         properties:
4543                           replicasPerFailureDomain:
4544                             description: ReplicasPerFailureDomain the number of replica in the specified failure domain
4545                             minimum: 1
4546                             type: integer
4547                           requireSafeReplicaSize:
4548                             description: RequireSafeReplicaSize if false allows you to set replica 1
4549                             type: boolean
4550                           size:
4551                             description: Size - Number of copies per object in a replicated storage pool, including the object itself (required for replicated pool type)
4552                             minimum: 0
4553                             type: integer
4554                           subFailureDomain:
4555                             description: SubFailureDomain the name of the sub-failure domain
4556                             type: string
4557                           targetSizeRatio:
4558                             description: TargetSizeRatio gives a hint (%) to Ceph in terms of expected consumption of the total cluster capacity
4559                             type: number
4560                         required:
4561                           - size
4562                         type: object
4563                       statusCheck:
4564                         description: The mirroring statusCheck
4565                         properties:
4566                           mirror:
4567                             description: HealthCheckSpec represents the health check of an object store bucket
4568                             nullable: true
4569                             properties:
4570                               disabled:
4571                                 type: boolean
4572                               interval:
4573                                 description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
4574                                 type: string
4575                               timeout:
4576                                 type: string
4577                             type: object
4578                         type: object
4579                         x-kubernetes-preserve-unknown-fields: true
4580                     type: object
4581                   nullable: true
4582                   type: array
4583                 metadataPool:
4584                   description: The metadata pool settings
4585                   nullable: true
4586                   properties:
4587                     compressionMode:
4588                       default: none
4589                       description: 'The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force)'
4590                       enum:
4591                         - none
4592                         - passive
4593                         - aggressive
4594                         - force
4595                         - ""
4596                       nullable: true
4597                       type: string
4598                     crushRoot:
4599                       description: The root of the crush hierarchy utilized by the pool
4600                       nullable: true
4601                       type: string
4602                     deviceClass:
4603                       description: The device class the OSD should set to for use in the pool
4604                       nullable: true
4605                       type: string
4606                     enableRBDStats:
4607                       description: EnableRBDStats is used to enable gathering of statistics for all RBD images in the pool
4608                       type: boolean
4609                     erasureCoded:
4610                       description: The erasure code settings
4611                       properties:
4612                         algorithm:
4613                           description: The algorithm for erasure coding
4614                           type: string
4615                         codingChunks:
4616                           description: Number of coding chunks per object in an erasure coded storage pool (required for erasure-coded pool type)
4617                           maximum: 9
4618                           minimum: 0
4619                           type: integer
4620                         dataChunks:
4621                           description: Number of data chunks per object in an erasure coded storage pool (required for erasure-coded pool type)
4622                           maximum: 9
4623                           minimum: 0
4624                           type: integer
4625                       required:
4626                         - codingChunks
4627                         - dataChunks
4628                       type: object
4629                     failureDomain:
4630                       description: 'The failure domain: osd/host/(region or zone if available) - technically also any type in the crush map'
4631                       type: string
4632                     mirroring:
4633                       description: The mirroring settings
4634                       properties:
4635                         enabled:
4636                           description: Enabled whether this pool is mirrored or not
4637                           type: boolean
4638                         mode:
4639                           description: 'Mode is the mirroring mode: either pool or image'
4640                           type: string
4641                         snapshotSchedules:
4642                           description: SnapshotSchedules is the scheduling of snapshot for mirrored images/pools
4643                           items:
4644                             description: SnapshotScheduleSpec represents the snapshot scheduling settings of a mirrored pool
4645                             properties:
4646                               interval:
4647                                 description: Interval represent the periodicity of the snapshot.
4648                                 type: string
4649                               startTime:
4650                                 description: StartTime indicates when to start the snapshot
4651                                 type: string
4652                             type: object
4653                           type: array
4654                       type: object
4655                     parameters:
4656                       additionalProperties:
4657                         type: string
4658                       description: Parameters is a list of properties to enable on a given pool
4659                       nullable: true
4660                       type: object
4661                       x-kubernetes-preserve-unknown-fields: true
4662                     quotas:
4663                       description: The quota settings
4664                       nullable: true
4665                       properties:
4666                         maxBytes:
4667                           description: MaxBytes represents the quota in bytes Deprecated in favor of MaxSize
4668                           format: int64
4669                           type: integer
4670                         maxObjects:
4671                           description: MaxObjects represents the quota in objects
4672                           format: int64
4673                           type: integer
4674                         maxSize:
4675                           description: MaxSize represents the quota in bytes as a string
4676                           pattern: ^[0-9]+[\.]?[0-9]*([KMGTPE]i|[kMGTPE])?$
4677                           type: string
4678                       type: object
4679                     replicated:
4680                       description: The replication settings
4681                       properties:
4682                         replicasPerFailureDomain:
4683                           description: ReplicasPerFailureDomain the number of replica in the specified failure domain
4684                           minimum: 1
4685                           type: integer
4686                         requireSafeReplicaSize:
4687                           description: RequireSafeReplicaSize if false allows you to set replica 1
4688                           type: boolean
4689                         size:
4690                           description: Size - Number of copies per object in a replicated storage pool, including the object itself (required for replicated pool type)
4691                           minimum: 0
4692                           type: integer
4693                         subFailureDomain:
4694                           description: SubFailureDomain the name of the sub-failure domain
4695                           type: string
4696                         targetSizeRatio:
4697                           description: TargetSizeRatio gives a hint (%) to Ceph in terms of expected consumption of the total cluster capacity
4698                           type: number
4699                       required:
4700                         - size
4701                       type: object
4702                     statusCheck:
4703                       description: The mirroring statusCheck
4704                       properties:
4705                         mirror:
4706                           description: HealthCheckSpec represents the health check of an object store bucket
4707                           nullable: true
4708                           properties:
4709                             disabled:
4710                               type: boolean
4711                             interval:
4712                               description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
4713                               type: string
4714                             timeout:
4715                               type: string
4716                           type: object
4717                       type: object
4718                       x-kubernetes-preserve-unknown-fields: true
4719                   type: object
4720                 metadataServer:
4721                   description: The mds pod info
4722                   properties:
4723                     activeCount:
4724                       description: The number of metadata servers that are active. The remaining servers in the cluster will be in standby mode.
4725                       format: int32
4726                       maximum: 10
4727                       minimum: 1
4728                       type: integer
4729                     activeStandby:
4730                       description: Whether each active MDS instance will have an active standby with a warm metadata cache for faster failover. If false, standbys will still be available, but will not have a warm metadata cache.
4731                       type: boolean
4732                     annotations:
4733                       additionalProperties:
4734                         type: string
4735                       description: The annotations-related configuration to add/set on each Pod related object.
4736                       nullable: true
4737                       type: object
4738                       x-kubernetes-preserve-unknown-fields: true
4739                     labels:
4740                       additionalProperties:
4741                         type: string
4742                       description: The labels-related configuration to add/set on each Pod related object.
4743                       nullable: true
4744                       type: object
4745                       x-kubernetes-preserve-unknown-fields: true
4746                     placement:
4747                       description: The affinity to place the mds pods (default is to place on all available node) with a daemonset
4748                       nullable: true
4749                       properties:
4750                         nodeAffinity:
4751                           description: NodeAffinity is a group of node affinity scheduling rules
4752                           properties:
4753                             preferredDuringSchedulingIgnoredDuringExecution:
4754                               description: The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node matches the corresponding matchExpressions; the node(s) with the highest sum are the most preferred.
4755                               items:
4756                                 description: An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
4757                                 properties:
4758                                   preference:
4759                                     description: A node selector term, associated with the corresponding weight.
4760                                     properties:
4761                                       matchExpressions:
4762                                         description: A list of node selector requirements by node's labels.
4763                                         items:
4764                                           description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
4765                                           properties:
4766                                             key:
4767                                               description: The label key that the selector applies to.
4768                                               type: string
4769                                             operator:
4770                                               description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
4771                                               type: string
4772                                             values:
4773                                               description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
4774                                               items:
4775                                                 type: string
4776                                               type: array
4777                                           required:
4778                                             - key
4779                                             - operator
4780                                           type: object
4781                                         type: array
4782                                       matchFields:
4783                                         description: A list of node selector requirements by node's fields.
4784                                         items:
4785                                           description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
4786                                           properties:
4787                                             key:
4788                                               description: The label key that the selector applies to.
4789                                               type: string
4790                                             operator:
4791                                               description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
4792                                               type: string
4793                                             values:
4794                                               description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
4795                                               items:
4796                                                 type: string
4797                                               type: array
4798                                           required:
4799                                             - key
4800                                             - operator
4801                                           type: object
4802                                         type: array
4803                                     type: object
4804                                   weight:
4805                                     description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
4806                                     format: int32
4807                                     type: integer
4808                                 required:
4809                                   - preference
4810                                   - weight
4811                                 type: object
4812                               type: array
4813                             requiredDuringSchedulingIgnoredDuringExecution:
4814                               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 an update), the system may or may not try to eventually evict the pod from its node.
4815                               properties:
4816                                 nodeSelectorTerms:
4817                                   description: Required. A list of node selector terms. The terms are ORed.
4818                                   items:
4819                                     description: A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
4820                                     properties:
4821                                       matchExpressions:
4822                                         description: A list of node selector requirements by node's labels.
4823                                         items:
4824                                           description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
4825                                           properties:
4826                                             key:
4827                                               description: The label key that the selector applies to.
4828                                               type: string
4829                                             operator:
4830                                               description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
4831                                               type: string
4832                                             values:
4833                                               description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
4834                                               items:
4835                                                 type: string
4836                                               type: array
4837                                           required:
4838                                             - key
4839                                             - operator
4840                                           type: object
4841                                         type: array
4842                                       matchFields:
4843                                         description: A list of node selector requirements by node's fields.
4844                                         items:
4845                                           description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
4846                                           properties:
4847                                             key:
4848                                               description: The label key that the selector applies to.
4849                                               type: string
4850                                             operator:
4851                                               description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
4852                                               type: string
4853                                             values:
4854                                               description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
4855                                               items:
4856                                                 type: string
4857                                               type: array
4858                                           required:
4859                                             - key
4860                                             - operator
4861                                           type: object
4862                                         type: array
4863                                     type: object
4864                                   type: array
4865                               required:
4866                                 - nodeSelectorTerms
4867                               type: object
4868                           type: object
4869                         podAffinity:
4870                           description: PodAffinity is a group of inter pod affinity scheduling rules
4871                           properties:
4872                             preferredDuringSchedulingIgnoredDuringExecution:
4873                               description: The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "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.
4874                               items:
4875                                 description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
4876                                 properties:
4877                                   podAffinityTerm:
4878                                     description: Required. A pod affinity term, associated with the corresponding weight.
4879                                     properties:
4880                                       labelSelector:
4881                                         description: A label query over a set of resources, in this case pods.
4882                                         properties:
4883                                           matchExpressions:
4884                                             description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
4885                                             items:
4886                                               description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
4887                                               properties:
4888                                                 key:
4889                                                   description: key is the label key that the selector applies to.
4890                                                   type: string
4891                                                 operator:
4892                                                   description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
4893                                                   type: string
4894                                                 values:
4895                                                   description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
4896                                                   items:
4897                                                     type: string
4898                                                   type: array
4899                                               required:
4900                                                 - key
4901                                                 - operator
4902                                               type: object
4903                                             type: array
4904                                           matchLabels:
4905                                             additionalProperties:
4906                                               type: string
4907                                             description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
4908                                             type: object
4909                                         type: object
4910                                       namespaceSelector:
4911                                         description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
4912                                         properties:
4913                                           matchExpressions:
4914                                             description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
4915                                             items:
4916                                               description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
4917                                               properties:
4918                                                 key:
4919                                                   description: key is the label key that the selector applies to.
4920                                                   type: string
4921                                                 operator:
4922                                                   description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
4923                                                   type: string
4924                                                 values:
4925                                                   description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
4926                                                   items:
4927                                                     type: string
4928                                                   type: array
4929                                               required:
4930                                                 - key
4931                                                 - operator
4932                                               type: object
4933                                             type: array
4934                                           matchLabels:
4935                                             additionalProperties:
4936                                               type: string
4937                                             description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
4938                                             type: object
4939                                         type: object
4940                                       namespaces:
4941                                         description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
4942                                         items:
4943                                           type: string
4944                                         type: array
4945                                       topologyKey:
4946                                         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.
4947                                         type: string
4948                                     required:
4949                                       - topologyKey
4950                                     type: object
4951                                   weight:
4952                                     description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
4953                                     format: int32
4954                                     type: integer
4955                                 required:
4956                                   - podAffinityTerm
4957                                   - weight
4958                                 type: object
4959                               type: array
4960                             requiredDuringSchedulingIgnoredDuringExecution:
4961                               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.
4962                               items:
4963                                 description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, 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 a pod of the set of pods is running
4964                                 properties:
4965                                   labelSelector:
4966                                     description: A label query over a set of resources, in this case pods.
4967                                     properties:
4968                                       matchExpressions:
4969                                         description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
4970                                         items:
4971                                           description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
4972                                           properties:
4973                                             key:
4974                                               description: key is the label key that the selector applies to.
4975                                               type: string
4976                                             operator:
4977                                               description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
4978                                               type: string
4979                                             values:
4980                                               description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
4981                                               items:
4982                                                 type: string
4983                                               type: array
4984                                           required:
4985                                             - key
4986                                             - operator
4987                                           type: object
4988                                         type: array
4989                                       matchLabels:
4990                                         additionalProperties:
4991                                           type: string
4992                                         description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
4993                                         type: object
4994                                     type: object
4995                                   namespaceSelector:
4996                                     description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
4997                                     properties:
4998                                       matchExpressions:
4999                                         description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
5000                                         items:
5001                                           description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
5002                                           properties:
5003                                             key:
5004                                               description: key is the label key that the selector applies to.
5005                                               type: string
5006                                             operator:
5007                                               description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
5008                                               type: string
5009                                             values:
5010                                               description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
5011                                               items:
5012                                                 type: string
5013                                               type: array
5014                                           required:
5015                                             - key
5016                                             - operator
5017                                           type: object
5018                                         type: array
5019                                       matchLabels:
5020                                         additionalProperties:
5021                                           type: string
5022                                         description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
5023                                         type: object
5024                                     type: object
5025                                   namespaces:
5026                                     description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
5027                                     items:
5028                                       type: string
5029                                     type: array
5030                                   topologyKey:
5031                                     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.
5032                                     type: string
5033                                 required:
5034                                   - topologyKey
5035                                 type: object
5036                               type: array
5037                           type: object
5038                         podAntiAffinity:
5039                           description: PodAntiAffinity is a group of inter pod anti affinity scheduling rules
5040                           properties:
5041                             preferredDuringSchedulingIgnoredDuringExecution:
5042                               description: The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "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.
5043                               items:
5044                                 description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
5045                                 properties:
5046                                   podAffinityTerm:
5047                                     description: Required. A pod affinity term, associated with the corresponding weight.
5048                                     properties:
5049                                       labelSelector:
5050                                         description: A label query over a set of resources, in this case pods.
5051                                         properties:
5052                                           matchExpressions:
5053                                             description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
5054                                             items:
5055                                               description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
5056                                               properties:
5057                                                 key:
5058                                                   description: key is the label key that the selector applies to.
5059                                                   type: string
5060                                                 operator:
5061                                                   description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
5062                                                   type: string
5063                                                 values:
5064                                                   description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
5065                                                   items:
5066                                                     type: string
5067                                                   type: array
5068                                               required:
5069                                                 - key
5070                                                 - operator
5071                                               type: object
5072                                             type: array
5073                                           matchLabels:
5074                                             additionalProperties:
5075                                               type: string
5076                                             description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
5077                                             type: object
5078                                         type: object
5079                                       namespaceSelector:
5080                                         description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
5081                                         properties:
5082                                           matchExpressions:
5083                                             description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
5084                                             items:
5085                                               description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
5086                                               properties:
5087                                                 key:
5088                                                   description: key is the label key that the selector applies to.
5089                                                   type: string
5090                                                 operator:
5091                                                   description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
5092                                                   type: string
5093                                                 values:
5094                                                   description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
5095                                                   items:
5096                                                     type: string
5097                                                   type: array
5098                                               required:
5099                                                 - key
5100                                                 - operator
5101                                               type: object
5102                                             type: array
5103                                           matchLabels:
5104                                             additionalProperties:
5105                                               type: string
5106                                             description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
5107                                             type: object
5108                                         type: object
5109                                       namespaces:
5110                                         description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
5111                                         items:
5112                                           type: string
5113                                         type: array
5114                                       topologyKey:
5115                                         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.
5116                                         type: string
5117                                     required:
5118                                       - topologyKey
5119                                     type: object
5120                                   weight:
5121                                     description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
5122                                     format: int32
5123                                     type: integer
5124                                 required:
5125                                   - podAffinityTerm
5126                                   - weight
5127                                 type: object
5128                               type: array
5129                             requiredDuringSchedulingIgnoredDuringExecution:
5130                               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.
5131                               items:
5132                                 description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, 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 a pod of the set of pods is running
5133                                 properties:
5134                                   labelSelector:
5135                                     description: A label query over a set of resources, in this case pods.
5136                                     properties:
5137                                       matchExpressions:
5138                                         description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
5139                                         items:
5140                                           description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
5141                                           properties:
5142                                             key:
5143                                               description: key is the label key that the selector applies to.
5144                                               type: string
5145                                             operator:
5146                                               description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
5147                                               type: string
5148                                             values:
5149                                               description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
5150                                               items:
5151                                                 type: string
5152                                               type: array
5153                                           required:
5154                                             - key
5155                                             - operator
5156                                           type: object
5157                                         type: array
5158                                       matchLabels:
5159                                         additionalProperties:
5160                                           type: string
5161                                         description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
5162                                         type: object
5163                                     type: object
5164                                   namespaceSelector:
5165                                     description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
5166                                     properties:
5167                                       matchExpressions:
5168                                         description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
5169                                         items:
5170                                           description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
5171                                           properties:
5172                                             key:
5173                                               description: key is the label key that the selector applies to.
5174                                               type: string
5175                                             operator:
5176                                               description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
5177                                               type: string
5178                                             values:
5179                                               description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
5180                                               items:
5181                                                 type: string
5182                                               type: array
5183                                           required:
5184                                             - key
5185                                             - operator
5186                                           type: object
5187                                         type: array
5188                                       matchLabels:
5189                                         additionalProperties:
5190                                           type: string
5191                                         description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
5192                                         type: object
5193                                     type: object
5194                                   namespaces:
5195                                     description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
5196                                     items:
5197                                       type: string
5198                                     type: array
5199                                   topologyKey:
5200                                     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.
5201                                     type: string
5202                                 required:
5203                                   - topologyKey
5204                                 type: object
5205                               type: array
5206                           type: object
5207                         tolerations:
5208                           description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>
5209                           items:
5210                             description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.
5211                             properties:
5212                               effect:
5213                                 description: Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
5214                                 type: string
5215                               key:
5216                                 description: Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.
5217                                 type: string
5218                               operator:
5219                                 description: Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.
5220                                 type: string
5221                               tolerationSeconds:
5222                                 description: TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.
5223                                 format: int64
5224                                 type: integer
5225                               value:
5226                                 description: Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.
5227                                 type: string
5228                             type: object
5229                           type: array
5230                         topologySpreadConstraints:
5231                           description: TopologySpreadConstraint specifies how to spread matching pods among the given topology
5232                           items:
5233                             description: TopologySpreadConstraint specifies how to spread matching pods among the given topology.
5234                             properties:
5235                               labelSelector:
5236                                 description: LabelSelector is used to find matching pods. Pods that match this label selector are counted to determine the number of pods in their corresponding topology domain.
5237                                 properties:
5238                                   matchExpressions:
5239                                     description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
5240                                     items:
5241                                       description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
5242                                       properties:
5243                                         key:
5244                                           description: key is the label key that the selector applies to.
5245                                           type: string
5246                                         operator:
5247                                           description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
5248                                           type: string
5249                                         values:
5250                                           description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
5251                                           items:
5252                                             type: string
5253                                           type: array
5254                                       required:
5255                                         - key
5256                                         - operator
5257                                       type: object
5258                                     type: array
5259                                   matchLabels:
5260                                     additionalProperties:
5261                                       type: string
5262                                     description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
5263                                     type: object
5264                                 type: object
5265                               maxSkew:
5266                                 description: 'MaxSkew describes the degree to which pods may be unevenly distributed. When `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference between the number of matching pods in the target topology and the global minimum. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 1/1/0: | zone1 | zone2 | zone3 | |   P   |   P   |       | - if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 1/1/1; scheduling it onto zone1(zone2) would make the ActualSkew(2-0) on zone1(zone2) violate MaxSkew(1). - if MaxSkew is 2, incoming pod can be scheduled onto any zone. When `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence to topologies that satisfy it. It''s a required field. Default value is 1 and 0 is not allowed.'
5267                                 format: int32
5268                                 type: integer
5269                               topologyKey:
5270                                 description: TopologyKey is the key of node labels. Nodes that have a label with this key and identical values are considered to be in the same topology. We consider each <key, value> as a "bucket", and try to put balanced number of pods into each bucket. It's a required field.
5271                                 type: string
5272                               whenUnsatisfiable:
5273                                 description: 'WhenUnsatisfiable indicates how to deal with a pod if it doesn''t satisfy the spread constraint. - DoNotSchedule (default) tells the scheduler not to schedule it. - ScheduleAnyway tells the scheduler to schedule the pod in any location,   but giving higher precedence to topologies that would help reduce the   skew. A constraint is considered "Unsatisfiable" for an incoming pod if and only if every possible node assigment for that pod would violate "MaxSkew" on some topology. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 3/1/1: | zone1 | zone2 | zone3 | | P P P |   P   |   P   | If WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled to zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies MaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler won''t make it *more* imbalanced. It''s a required field.'
5274                                 type: string
5275                             required:
5276                               - maxSkew
5277                               - topologyKey
5278                               - whenUnsatisfiable
5279                             type: object
5280                           type: array
5281                       type: object
5282                       x-kubernetes-preserve-unknown-fields: true
5283                     priorityClassName:
5284                       description: PriorityClassName sets priority classes on components
5285                       type: string
5286                     resources:
5287                       description: The resource requirements for the rgw pods
5288                       nullable: true
5289                       properties:
5290                         limits:
5291                           additionalProperties:
5292                             anyOf:
5293                               - type: integer
5294                               - type: string
5295                             pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
5296                             x-kubernetes-int-or-string: true
5297                           description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
5298                           type: object
5299                         requests:
5300                           additionalProperties:
5301                             anyOf:
5302                               - type: integer
5303                               - type: string
5304                             pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
5305                             x-kubernetes-int-or-string: true
5306                           description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
5307                           type: object
5308                       type: object
5309                       x-kubernetes-preserve-unknown-fields: true
5310                   required:
5311                     - activeCount
5312                   type: object
5313                 mirroring:
5314                   description: The mirroring settings
5315                   nullable: true
5316                   properties:
5317                     enabled:
5318                       description: Enabled whether this filesystem is mirrored or not
5319                       type: boolean
5320                   type: object
5321                 preserveFilesystemOnDelete:
5322                   description: Preserve the fs in the cluster on CephFilesystem CR deletion. Setting this to true automatically implies PreservePoolsOnDelete is true.
5323                   type: boolean
5324                 preservePoolsOnDelete:
5325                   description: Preserve pools on filesystem deletion
5326                   type: boolean
5327               required:
5328                 - dataPools
5329                 - metadataPool
5330                 - metadataServer
5331               type: object
5332             status:
5333               description: Status represents the status of an object
5334               properties:
5335                 phase:
5336                   type: string
5337               type: object
5338               x-kubernetes-preserve-unknown-fields: true
5339           required:
5340             - metadata
5341             - spec
5342           type: object
5343       served: true
5344       storage: true
5345       subresources:
5346         status: {}
5347 status:
5348   acceptedNames:
5349     kind: ""
5350     plural: ""
5351   conditions: []
5352   storedVersions: []
5353 ---
5354 apiVersion: apiextensions.k8s.io/v1
5355 kind: CustomResourceDefinition
5356 metadata:
5357   annotations:
5358     controller-gen.kubebuilder.io/version: v0.5.1-0.20210420220833-f284e2e8098c
5359   creationTimestamp: null
5360   name: cephnfses.ceph.rook.io
5361 spec:
5362   group: ceph.rook.io
5363   names:
5364     kind: CephNFS
5365     listKind: CephNFSList
5366     plural: cephnfses
5367     shortNames:
5368       - nfs
5369     singular: cephnfs
5370   scope: Namespaced
5371   versions:
5372     - name: v1
5373       schema:
5374         openAPIV3Schema:
5375           description: CephNFS represents a Ceph NFS
5376           properties:
5377             apiVersion:
5378               description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
5379               type: string
5380             kind:
5381               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'
5382               type: string
5383             metadata:
5384               type: object
5385             spec:
5386               description: NFSGaneshaSpec represents the spec of an nfs ganesha server
5387               properties:
5388                 rados:
5389                   description: RADOS is the Ganesha RADOS specification
5390                   properties:
5391                     namespace:
5392                       description: Namespace is the RADOS namespace where NFS client recovery data is stored.
5393                       type: string
5394                     pool:
5395                       description: Pool is the RADOS pool where NFS client recovery data is stored.
5396                       type: string
5397                   required:
5398                     - namespace
5399                     - pool
5400                   type: object
5401                 server:
5402                   description: Server is the Ganesha Server specification
5403                   properties:
5404                     active:
5405                       description: The number of active Ganesha servers
5406                       type: integer
5407                     annotations:
5408                       additionalProperties:
5409                         type: string
5410                       description: The annotations-related configuration to add/set on each Pod related object.
5411                       nullable: true
5412                       type: object
5413                       x-kubernetes-preserve-unknown-fields: true
5414                     labels:
5415                       additionalProperties:
5416                         type: string
5417                       description: The labels-related configuration to add/set on each Pod related object.
5418                       nullable: true
5419                       type: object
5420                       x-kubernetes-preserve-unknown-fields: true
5421                     logLevel:
5422                       description: LogLevel set logging level
5423                       type: string
5424                     placement:
5425                       description: The affinity to place the ganesha pods
5426                       nullable: true
5427                       properties:
5428                         nodeAffinity:
5429                           description: NodeAffinity is a group of node affinity scheduling rules
5430                           properties:
5431                             preferredDuringSchedulingIgnoredDuringExecution:
5432                               description: The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node matches the corresponding matchExpressions; the node(s) with the highest sum are the most preferred.
5433                               items:
5434                                 description: An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
5435                                 properties:
5436                                   preference:
5437                                     description: A node selector term, associated with the corresponding weight.
5438                                     properties:
5439                                       matchExpressions:
5440                                         description: A list of node selector requirements by node's labels.
5441                                         items:
5442                                           description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
5443                                           properties:
5444                                             key:
5445                                               description: The label key that the selector applies to.
5446                                               type: string
5447                                             operator:
5448                                               description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
5449                                               type: string
5450                                             values:
5451                                               description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
5452                                               items:
5453                                                 type: string
5454                                               type: array
5455                                           required:
5456                                             - key
5457                                             - operator
5458                                           type: object
5459                                         type: array
5460                                       matchFields:
5461                                         description: A list of node selector requirements by node's fields.
5462                                         items:
5463                                           description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
5464                                           properties:
5465                                             key:
5466                                               description: The label key that the selector applies to.
5467                                               type: string
5468                                             operator:
5469                                               description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
5470                                               type: string
5471                                             values:
5472                                               description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
5473                                               items:
5474                                                 type: string
5475                                               type: array
5476                                           required:
5477                                             - key
5478                                             - operator
5479                                           type: object
5480                                         type: array
5481                                     type: object
5482                                   weight:
5483                                     description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
5484                                     format: int32
5485                                     type: integer
5486                                 required:
5487                                   - preference
5488                                   - weight
5489                                 type: object
5490                               type: array
5491                             requiredDuringSchedulingIgnoredDuringExecution:
5492                               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 an update), the system may or may not try to eventually evict the pod from its node.
5493                               properties:
5494                                 nodeSelectorTerms:
5495                                   description: Required. A list of node selector terms. The terms are ORed.
5496                                   items:
5497                                     description: A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
5498                                     properties:
5499                                       matchExpressions:
5500                                         description: A list of node selector requirements by node's labels.
5501                                         items:
5502                                           description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
5503                                           properties:
5504                                             key:
5505                                               description: The label key that the selector applies to.
5506                                               type: string
5507                                             operator:
5508                                               description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
5509                                               type: string
5510                                             values:
5511                                               description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
5512                                               items:
5513                                                 type: string
5514                                               type: array
5515                                           required:
5516                                             - key
5517                                             - operator
5518                                           type: object
5519                                         type: array
5520                                       matchFields:
5521                                         description: A list of node selector requirements by node's fields.
5522                                         items:
5523                                           description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
5524                                           properties:
5525                                             key:
5526                                               description: The label key that the selector applies to.
5527                                               type: string
5528                                             operator:
5529                                               description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
5530                                               type: string
5531                                             values:
5532                                               description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
5533                                               items:
5534                                                 type: string
5535                                               type: array
5536                                           required:
5537                                             - key
5538                                             - operator
5539                                           type: object
5540                                         type: array
5541                                     type: object
5542                                   type: array
5543                               required:
5544                                 - nodeSelectorTerms
5545                               type: object
5546                           type: object
5547                         podAffinity:
5548                           description: PodAffinity is a group of inter pod affinity scheduling rules
5549                           properties:
5550                             preferredDuringSchedulingIgnoredDuringExecution:
5551                               description: The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "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.
5552                               items:
5553                                 description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
5554                                 properties:
5555                                   podAffinityTerm:
5556                                     description: Required. A pod affinity term, associated with the corresponding weight.
5557                                     properties:
5558                                       labelSelector:
5559                                         description: A label query over a set of resources, in this case pods.
5560                                         properties:
5561                                           matchExpressions:
5562                                             description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
5563                                             items:
5564                                               description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
5565                                               properties:
5566                                                 key:
5567                                                   description: key is the label key that the selector applies to.
5568                                                   type: string
5569                                                 operator:
5570                                                   description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
5571                                                   type: string
5572                                                 values:
5573                                                   description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
5574                                                   items:
5575                                                     type: string
5576                                                   type: array
5577                                               required:
5578                                                 - key
5579                                                 - operator
5580                                               type: object
5581                                             type: array
5582                                           matchLabels:
5583                                             additionalProperties:
5584                                               type: string
5585                                             description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
5586                                             type: object
5587                                         type: object
5588                                       namespaceSelector:
5589                                         description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
5590                                         properties:
5591                                           matchExpressions:
5592                                             description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
5593                                             items:
5594                                               description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
5595                                               properties:
5596                                                 key:
5597                                                   description: key is the label key that the selector applies to.
5598                                                   type: string
5599                                                 operator:
5600                                                   description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
5601                                                   type: string
5602                                                 values:
5603                                                   description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
5604                                                   items:
5605                                                     type: string
5606                                                   type: array
5607                                               required:
5608                                                 - key
5609                                                 - operator
5610                                               type: object
5611                                             type: array
5612                                           matchLabels:
5613                                             additionalProperties:
5614                                               type: string
5615                                             description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
5616                                             type: object
5617                                         type: object
5618                                       namespaces:
5619                                         description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
5620                                         items:
5621                                           type: string
5622                                         type: array
5623                                       topologyKey:
5624                                         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.
5625                                         type: string
5626                                     required:
5627                                       - topologyKey
5628                                     type: object
5629                                   weight:
5630                                     description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
5631                                     format: int32
5632                                     type: integer
5633                                 required:
5634                                   - podAffinityTerm
5635                                   - weight
5636                                 type: object
5637                               type: array
5638                             requiredDuringSchedulingIgnoredDuringExecution:
5639                               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.
5640                               items:
5641                                 description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, 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 a pod of the set of pods is running
5642                                 properties:
5643                                   labelSelector:
5644                                     description: A label query over a set of resources, in this case pods.
5645                                     properties:
5646                                       matchExpressions:
5647                                         description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
5648                                         items:
5649                                           description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
5650                                           properties:
5651                                             key:
5652                                               description: key is the label key that the selector applies to.
5653                                               type: string
5654                                             operator:
5655                                               description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
5656                                               type: string
5657                                             values:
5658                                               description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
5659                                               items:
5660                                                 type: string
5661                                               type: array
5662                                           required:
5663                                             - key
5664                                             - operator
5665                                           type: object
5666                                         type: array
5667                                       matchLabels:
5668                                         additionalProperties:
5669                                           type: string
5670                                         description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
5671                                         type: object
5672                                     type: object
5673                                   namespaceSelector:
5674                                     description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
5675                                     properties:
5676                                       matchExpressions:
5677                                         description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
5678                                         items:
5679                                           description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
5680                                           properties:
5681                                             key:
5682                                               description: key is the label key that the selector applies to.
5683                                               type: string
5684                                             operator:
5685                                               description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
5686                                               type: string
5687                                             values:
5688                                               description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
5689                                               items:
5690                                                 type: string
5691                                               type: array
5692                                           required:
5693                                             - key
5694                                             - operator
5695                                           type: object
5696                                         type: array
5697                                       matchLabels:
5698                                         additionalProperties:
5699                                           type: string
5700                                         description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
5701                                         type: object
5702                                     type: object
5703                                   namespaces:
5704                                     description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
5705                                     items:
5706                                       type: string
5707                                     type: array
5708                                   topologyKey:
5709                                     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.
5710                                     type: string
5711                                 required:
5712                                   - topologyKey
5713                                 type: object
5714                               type: array
5715                           type: object
5716                         podAntiAffinity:
5717                           description: PodAntiAffinity is a group of inter pod anti affinity scheduling rules
5718                           properties:
5719                             preferredDuringSchedulingIgnoredDuringExecution:
5720                               description: The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "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.
5721                               items:
5722                                 description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
5723                                 properties:
5724                                   podAffinityTerm:
5725                                     description: Required. A pod affinity term, associated with the corresponding weight.
5726                                     properties:
5727                                       labelSelector:
5728                                         description: A label query over a set of resources, in this case pods.
5729                                         properties:
5730                                           matchExpressions:
5731                                             description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
5732                                             items:
5733                                               description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
5734                                               properties:
5735                                                 key:
5736                                                   description: key is the label key that the selector applies to.
5737                                                   type: string
5738                                                 operator:
5739                                                   description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
5740                                                   type: string
5741                                                 values:
5742                                                   description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
5743                                                   items:
5744                                                     type: string
5745                                                   type: array
5746                                               required:
5747                                                 - key
5748                                                 - operator
5749                                               type: object
5750                                             type: array
5751                                           matchLabels:
5752                                             additionalProperties:
5753                                               type: string
5754                                             description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
5755                                             type: object
5756                                         type: object
5757                                       namespaceSelector:
5758                                         description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
5759                                         properties:
5760                                           matchExpressions:
5761                                             description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
5762                                             items:
5763                                               description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
5764                                               properties:
5765                                                 key:
5766                                                   description: key is the label key that the selector applies to.
5767                                                   type: string
5768                                                 operator:
5769                                                   description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
5770                                                   type: string
5771                                                 values:
5772                                                   description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
5773                                                   items:
5774                                                     type: string
5775                                                   type: array
5776                                               required:
5777                                                 - key
5778                                                 - operator
5779                                               type: object
5780                                             type: array
5781                                           matchLabels:
5782                                             additionalProperties:
5783                                               type: string
5784                                             description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
5785                                             type: object
5786                                         type: object
5787                                       namespaces:
5788                                         description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
5789                                         items:
5790                                           type: string
5791                                         type: array
5792                                       topologyKey:
5793                                         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.
5794                                         type: string
5795                                     required:
5796                                       - topologyKey
5797                                     type: object
5798                                   weight:
5799                                     description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
5800                                     format: int32
5801                                     type: integer
5802                                 required:
5803                                   - podAffinityTerm
5804                                   - weight
5805                                 type: object
5806                               type: array
5807                             requiredDuringSchedulingIgnoredDuringExecution:
5808                               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.
5809                               items:
5810                                 description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, 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 a pod of the set of pods is running
5811                                 properties:
5812                                   labelSelector:
5813                                     description: A label query over a set of resources, in this case pods.
5814                                     properties:
5815                                       matchExpressions:
5816                                         description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
5817                                         items:
5818                                           description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
5819                                           properties:
5820                                             key:
5821                                               description: key is the label key that the selector applies to.
5822                                               type: string
5823                                             operator:
5824                                               description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
5825                                               type: string
5826                                             values:
5827                                               description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
5828                                               items:
5829                                                 type: string
5830                                               type: array
5831                                           required:
5832                                             - key
5833                                             - operator
5834                                           type: object
5835                                         type: array
5836                                       matchLabels:
5837                                         additionalProperties:
5838                                           type: string
5839                                         description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
5840                                         type: object
5841                                     type: object
5842                                   namespaceSelector:
5843                                     description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
5844                                     properties:
5845                                       matchExpressions:
5846                                         description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
5847                                         items:
5848                                           description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
5849                                           properties:
5850                                             key:
5851                                               description: key is the label key that the selector applies to.
5852                                               type: string
5853                                             operator:
5854                                               description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
5855                                               type: string
5856                                             values:
5857                                               description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
5858                                               items:
5859                                                 type: string
5860                                               type: array
5861                                           required:
5862                                             - key
5863                                             - operator
5864                                           type: object
5865                                         type: array
5866                                       matchLabels:
5867                                         additionalProperties:
5868                                           type: string
5869                                         description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
5870                                         type: object
5871                                     type: object
5872                                   namespaces:
5873                                     description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
5874                                     items:
5875                                       type: string
5876                                     type: array
5877                                   topologyKey:
5878                                     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.
5879                                     type: string
5880                                 required:
5881                                   - topologyKey
5882                                 type: object
5883                               type: array
5884                           type: object
5885                         tolerations:
5886                           description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>
5887                           items:
5888                             description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.
5889                             properties:
5890                               effect:
5891                                 description: Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
5892                                 type: string
5893                               key:
5894                                 description: Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.
5895                                 type: string
5896                               operator:
5897                                 description: Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.
5898                                 type: string
5899                               tolerationSeconds:
5900                                 description: TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.
5901                                 format: int64
5902                                 type: integer
5903                               value:
5904                                 description: Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.
5905                                 type: string
5906                             type: object
5907                           type: array
5908                         topologySpreadConstraints:
5909                           description: TopologySpreadConstraint specifies how to spread matching pods among the given topology
5910                           items:
5911                             description: TopologySpreadConstraint specifies how to spread matching pods among the given topology.
5912                             properties:
5913                               labelSelector:
5914                                 description: LabelSelector is used to find matching pods. Pods that match this label selector are counted to determine the number of pods in their corresponding topology domain.
5915                                 properties:
5916                                   matchExpressions:
5917                                     description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
5918                                     items:
5919                                       description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
5920                                       properties:
5921                                         key:
5922                                           description: key is the label key that the selector applies to.
5923                                           type: string
5924                                         operator:
5925                                           description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
5926                                           type: string
5927                                         values:
5928                                           description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
5929                                           items:
5930                                             type: string
5931                                           type: array
5932                                       required:
5933                                         - key
5934                                         - operator
5935                                       type: object
5936                                     type: array
5937                                   matchLabels:
5938                                     additionalProperties:
5939                                       type: string
5940                                     description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
5941                                     type: object
5942                                 type: object
5943                               maxSkew:
5944                                 description: 'MaxSkew describes the degree to which pods may be unevenly distributed. When `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference between the number of matching pods in the target topology and the global minimum. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 1/1/0: | zone1 | zone2 | zone3 | |   P   |   P   |       | - if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 1/1/1; scheduling it onto zone1(zone2) would make the ActualSkew(2-0) on zone1(zone2) violate MaxSkew(1). - if MaxSkew is 2, incoming pod can be scheduled onto any zone. When `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence to topologies that satisfy it. It''s a required field. Default value is 1 and 0 is not allowed.'
5945                                 format: int32
5946                                 type: integer
5947                               topologyKey:
5948                                 description: TopologyKey is the key of node labels. Nodes that have a label with this key and identical values are considered to be in the same topology. We consider each <key, value> as a "bucket", and try to put balanced number of pods into each bucket. It's a required field.
5949                                 type: string
5950                               whenUnsatisfiable:
5951                                 description: 'WhenUnsatisfiable indicates how to deal with a pod if it doesn''t satisfy the spread constraint. - DoNotSchedule (default) tells the scheduler not to schedule it. - ScheduleAnyway tells the scheduler to schedule the pod in any location,   but giving higher precedence to topologies that would help reduce the   skew. A constraint is considered "Unsatisfiable" for an incoming pod if and only if every possible node assigment for that pod would violate "MaxSkew" on some topology. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 3/1/1: | zone1 | zone2 | zone3 | | P P P |   P   |   P   | If WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled to zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies MaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler won''t make it *more* imbalanced. It''s a required field.'
5952                                 type: string
5953                             required:
5954                               - maxSkew
5955                               - topologyKey
5956                               - whenUnsatisfiable
5957                             type: object
5958                           type: array
5959                       type: object
5960                       x-kubernetes-preserve-unknown-fields: true
5961                     priorityClassName:
5962                       description: PriorityClassName sets the priority class on the pods
5963                       type: string
5964                     resources:
5965                       description: Resources set resource requests and limits
5966                       nullable: true
5967                       properties:
5968                         limits:
5969                           additionalProperties:
5970                             anyOf:
5971                               - type: integer
5972                               - type: string
5973                             pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
5974                             x-kubernetes-int-or-string: true
5975                           description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
5976                           type: object
5977                         requests:
5978                           additionalProperties:
5979                             anyOf:
5980                               - type: integer
5981                               - type: string
5982                             pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
5983                             x-kubernetes-int-or-string: true
5984                           description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
5985                           type: object
5986                       type: object
5987                       x-kubernetes-preserve-unknown-fields: true
5988                   required:
5989                     - active
5990                   type: object
5991               required:
5992                 - rados
5993                 - server
5994               type: object
5995             status:
5996               description: Status represents the status of an object
5997               properties:
5998                 phase:
5999                   type: string
6000               type: object
6001               x-kubernetes-preserve-unknown-fields: true
6002           required:
6003             - metadata
6004             - spec
6005           type: object
6006       served: true
6007       storage: true
6008       subresources:
6009         status: {}
6010 status:
6011   acceptedNames:
6012     kind: ""
6013     plural: ""
6014   conditions: []
6015   storedVersions: []
6016 ---
6017 apiVersion: apiextensions.k8s.io/v1
6018 kind: CustomResourceDefinition
6019 metadata:
6020   annotations:
6021     controller-gen.kubebuilder.io/version: v0.5.1-0.20210420220833-f284e2e8098c
6022   creationTimestamp: null
6023   name: cephobjectrealms.ceph.rook.io
6024 spec:
6025   group: ceph.rook.io
6026   names:
6027     kind: CephObjectRealm
6028     listKind: CephObjectRealmList
6029     plural: cephobjectrealms
6030     singular: cephobjectrealm
6031   scope: Namespaced
6032   versions:
6033     - name: v1
6034       schema:
6035         openAPIV3Schema:
6036           description: CephObjectRealm represents a Ceph Object Store Gateway Realm
6037           properties:
6038             apiVersion:
6039               description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
6040               type: string
6041             kind:
6042               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'
6043               type: string
6044             metadata:
6045               type: object
6046             spec:
6047               description: ObjectRealmSpec represent the spec of an ObjectRealm
6048               nullable: true
6049               properties:
6050                 pull:
6051                   description: PullSpec represents the pulling specification of a Ceph Object Storage Gateway Realm
6052                   properties:
6053                     endpoint:
6054                       type: string
6055                   required:
6056                     - endpoint
6057                   type: object
6058               required:
6059                 - pull
6060               type: object
6061             status:
6062               description: Status represents the status of an object
6063               properties:
6064                 phase:
6065                   type: string
6066               type: object
6067               x-kubernetes-preserve-unknown-fields: true
6068           required:
6069             - metadata
6070           type: object
6071       served: true
6072       storage: true
6073       subresources:
6074         status: {}
6075 status:
6076   acceptedNames:
6077     kind: ""
6078     plural: ""
6079   conditions: []
6080   storedVersions: []
6081 ---
6082 apiVersion: apiextensions.k8s.io/v1
6083 kind: CustomResourceDefinition
6084 metadata:
6085   annotations:
6086     controller-gen.kubebuilder.io/version: v0.5.1-0.20210420220833-f284e2e8098c
6087   creationTimestamp: null
6088   name: cephobjectstores.ceph.rook.io
6089 spec:
6090   group: ceph.rook.io
6091   names:
6092     kind: CephObjectStore
6093     listKind: CephObjectStoreList
6094     plural: cephobjectstores
6095     singular: cephobjectstore
6096   scope: Namespaced
6097   versions:
6098     - name: v1
6099       schema:
6100         openAPIV3Schema:
6101           description: CephObjectStore represents a Ceph Object Store Gateway
6102           properties:
6103             apiVersion:
6104               description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
6105               type: string
6106             kind:
6107               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'
6108               type: string
6109             metadata:
6110               type: object
6111             spec:
6112               description: ObjectStoreSpec represent the spec of a pool
6113               properties:
6114                 dataPool:
6115                   description: The data pool settings
6116                   nullable: true
6117                   properties:
6118                     compressionMode:
6119                       default: none
6120                       description: 'The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force)'
6121                       enum:
6122                         - none
6123                         - passive
6124                         - aggressive
6125                         - force
6126                         - ""
6127                       nullable: true
6128                       type: string
6129                     crushRoot:
6130                       description: The root of the crush hierarchy utilized by the pool
6131                       nullable: true
6132                       type: string
6133                     deviceClass:
6134                       description: The device class the OSD should set to for use in the pool
6135                       nullable: true
6136                       type: string
6137                     enableRBDStats:
6138                       description: EnableRBDStats is used to enable gathering of statistics for all RBD images in the pool
6139                       type: boolean
6140                     erasureCoded:
6141                       description: The erasure code settings
6142                       properties:
6143                         algorithm:
6144                           description: The algorithm for erasure coding
6145                           type: string
6146                         codingChunks:
6147                           description: Number of coding chunks per object in an erasure coded storage pool (required for erasure-coded pool type)
6148                           maximum: 9
6149                           minimum: 0
6150                           type: integer
6151                         dataChunks:
6152                           description: Number of data chunks per object in an erasure coded storage pool (required for erasure-coded pool type)
6153                           maximum: 9
6154                           minimum: 0
6155                           type: integer
6156                       required:
6157                         - codingChunks
6158                         - dataChunks
6159                       type: object
6160                     failureDomain:
6161                       description: 'The failure domain: osd/host/(region or zone if available) - technically also any type in the crush map'
6162                       type: string
6163                     mirroring:
6164                       description: The mirroring settings
6165                       properties:
6166                         enabled:
6167                           description: Enabled whether this pool is mirrored or not
6168                           type: boolean
6169                         mode:
6170                           description: 'Mode is the mirroring mode: either pool or image'
6171                           type: string
6172                         snapshotSchedules:
6173                           description: SnapshotSchedules is the scheduling of snapshot for mirrored images/pools
6174                           items:
6175                             description: SnapshotScheduleSpec represents the snapshot scheduling settings of a mirrored pool
6176                             properties:
6177                               interval:
6178                                 description: Interval represent the periodicity of the snapshot.
6179                                 type: string
6180                               startTime:
6181                                 description: StartTime indicates when to start the snapshot
6182                                 type: string
6183                             type: object
6184                           type: array
6185                       type: object
6186                     parameters:
6187                       additionalProperties:
6188                         type: string
6189                       description: Parameters is a list of properties to enable on a given pool
6190                       nullable: true
6191                       type: object
6192                       x-kubernetes-preserve-unknown-fields: true
6193                     quotas:
6194                       description: The quota settings
6195                       nullable: true
6196                       properties:
6197                         maxBytes:
6198                           description: MaxBytes represents the quota in bytes Deprecated in favor of MaxSize
6199                           format: int64
6200                           type: integer
6201                         maxObjects:
6202                           description: MaxObjects represents the quota in objects
6203                           format: int64
6204                           type: integer
6205                         maxSize:
6206                           description: MaxSize represents the quota in bytes as a string
6207                           pattern: ^[0-9]+[\.]?[0-9]*([KMGTPE]i|[kMGTPE])?$
6208                           type: string
6209                       type: object
6210                     replicated:
6211                       description: The replication settings
6212                       properties:
6213                         replicasPerFailureDomain:
6214                           description: ReplicasPerFailureDomain the number of replica in the specified failure domain
6215                           minimum: 1
6216                           type: integer
6217                         requireSafeReplicaSize:
6218                           description: RequireSafeReplicaSize if false allows you to set replica 1
6219                           type: boolean
6220                         size:
6221                           description: Size - Number of copies per object in a replicated storage pool, including the object itself (required for replicated pool type)
6222                           minimum: 0
6223                           type: integer
6224                         subFailureDomain:
6225                           description: SubFailureDomain the name of the sub-failure domain
6226                           type: string
6227                         targetSizeRatio:
6228                           description: TargetSizeRatio gives a hint (%) to Ceph in terms of expected consumption of the total cluster capacity
6229                           type: number
6230                       required:
6231                         - size
6232                       type: object
6233                     statusCheck:
6234                       description: The mirroring statusCheck
6235                       properties:
6236                         mirror:
6237                           description: HealthCheckSpec represents the health check of an object store bucket
6238                           nullable: true
6239                           properties:
6240                             disabled:
6241                               type: boolean
6242                             interval:
6243                               description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
6244                               type: string
6245                             timeout:
6246                               type: string
6247                           type: object
6248                       type: object
6249                       x-kubernetes-preserve-unknown-fields: true
6250                   type: object
6251                 gateway:
6252                   description: The rgw pod info
6253                   nullable: true
6254                   properties:
6255                     annotations:
6256                       additionalProperties:
6257                         type: string
6258                       description: The annotations-related configuration to add/set on each Pod related object.
6259                       nullable: true
6260                       type: object
6261                       x-kubernetes-preserve-unknown-fields: true
6262                     externalRgwEndpoints:
6263                       description: ExternalRgwEndpoints points to external rgw endpoint(s)
6264                       items:
6265                         description: EndpointAddress is a tuple that describes single IP address.
6266                         properties:
6267                           hostname:
6268                             description: The Hostname of this endpoint
6269                             type: string
6270                           ip:
6271                             description: 'The IP of this endpoint. May not be loopback (127.0.0.0/8), link-local (169.254.0.0/16), or link-local multicast ((224.0.0.0/24). IPv6 is also accepted but not fully supported on all platforms. Also, certain kubernetes components, like kube-proxy, are not IPv6 ready. TODO: This should allow hostname or IP, See #4447.'
6272                             type: string
6273                           nodeName:
6274                             description: 'Optional: Node hosting this endpoint. This can be used to determine endpoints local to a node.'
6275                             type: string
6276                           targetRef:
6277                             description: Reference to object providing the endpoint.
6278                             properties:
6279                               apiVersion:
6280                                 description: API version of the referent.
6281                                 type: string
6282                               fieldPath:
6283                                 description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.'
6284                                 type: string
6285                               kind:
6286                                 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
6287                                 type: string
6288                               name:
6289                                 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
6290                                 type: string
6291                               namespace:
6292                                 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
6293                                 type: string
6294                               resourceVersion:
6295                                 description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
6296                                 type: string
6297                               uid:
6298                                 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
6299                                 type: string
6300                             type: object
6301                         required:
6302                           - ip
6303                         type: object
6304                       nullable: true
6305                       type: array
6306                     instances:
6307                       description: The number of pods in the rgw replicaset.
6308                       format: int32
6309                       nullable: true
6310                       type: integer
6311                     labels:
6312                       additionalProperties:
6313                         type: string
6314                       description: The labels-related configuration to add/set on each Pod related object.
6315                       nullable: true
6316                       type: object
6317                       x-kubernetes-preserve-unknown-fields: true
6318                     placement:
6319                       description: The affinity to place the rgw pods (default is to place on any available node)
6320                       nullable: true
6321                       properties:
6322                         nodeAffinity:
6323                           description: NodeAffinity is a group of node affinity scheduling rules
6324                           properties:
6325                             preferredDuringSchedulingIgnoredDuringExecution:
6326                               description: The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node matches the corresponding matchExpressions; the node(s) with the highest sum are the most preferred.
6327                               items:
6328                                 description: An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
6329                                 properties:
6330                                   preference:
6331                                     description: A node selector term, associated with the corresponding weight.
6332                                     properties:
6333                                       matchExpressions:
6334                                         description: A list of node selector requirements by node's labels.
6335                                         items:
6336                                           description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
6337                                           properties:
6338                                             key:
6339                                               description: The label key that the selector applies to.
6340                                               type: string
6341                                             operator:
6342                                               description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
6343                                               type: string
6344                                             values:
6345                                               description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
6346                                               items:
6347                                                 type: string
6348                                               type: array
6349                                           required:
6350                                             - key
6351                                             - operator
6352                                           type: object
6353                                         type: array
6354                                       matchFields:
6355                                         description: A list of node selector requirements by node's fields.
6356                                         items:
6357                                           description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
6358                                           properties:
6359                                             key:
6360                                               description: The label key that the selector applies to.
6361                                               type: string
6362                                             operator:
6363                                               description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
6364                                               type: string
6365                                             values:
6366                                               description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
6367                                               items:
6368                                                 type: string
6369                                               type: array
6370                                           required:
6371                                             - key
6372                                             - operator
6373                                           type: object
6374                                         type: array
6375                                     type: object
6376                                   weight:
6377                                     description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
6378                                     format: int32
6379                                     type: integer
6380                                 required:
6381                                   - preference
6382                                   - weight
6383                                 type: object
6384                               type: array
6385                             requiredDuringSchedulingIgnoredDuringExecution:
6386                               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 an update), the system may or may not try to eventually evict the pod from its node.
6387                               properties:
6388                                 nodeSelectorTerms:
6389                                   description: Required. A list of node selector terms. The terms are ORed.
6390                                   items:
6391                                     description: A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
6392                                     properties:
6393                                       matchExpressions:
6394                                         description: A list of node selector requirements by node's labels.
6395                                         items:
6396                                           description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
6397                                           properties:
6398                                             key:
6399                                               description: The label key that the selector applies to.
6400                                               type: string
6401                                             operator:
6402                                               description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
6403                                               type: string
6404                                             values:
6405                                               description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
6406                                               items:
6407                                                 type: string
6408                                               type: array
6409                                           required:
6410                                             - key
6411                                             - operator
6412                                           type: object
6413                                         type: array
6414                                       matchFields:
6415                                         description: A list of node selector requirements by node's fields.
6416                                         items:
6417                                           description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
6418                                           properties:
6419                                             key:
6420                                               description: The label key that the selector applies to.
6421                                               type: string
6422                                             operator:
6423                                               description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
6424                                               type: string
6425                                             values:
6426                                               description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
6427                                               items:
6428                                                 type: string
6429                                               type: array
6430                                           required:
6431                                             - key
6432                                             - operator
6433                                           type: object
6434                                         type: array
6435                                     type: object
6436                                   type: array
6437                               required:
6438                                 - nodeSelectorTerms
6439                               type: object
6440                           type: object
6441                         podAffinity:
6442                           description: PodAffinity is a group of inter pod affinity scheduling rules
6443                           properties:
6444                             preferredDuringSchedulingIgnoredDuringExecution:
6445                               description: The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "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.
6446                               items:
6447                                 description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
6448                                 properties:
6449                                   podAffinityTerm:
6450                                     description: Required. A pod affinity term, associated with the corresponding weight.
6451                                     properties:
6452                                       labelSelector:
6453                                         description: A label query over a set of resources, in this case pods.
6454                                         properties:
6455                                           matchExpressions:
6456                                             description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
6457                                             items:
6458                                               description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
6459                                               properties:
6460                                                 key:
6461                                                   description: key is the label key that the selector applies to.
6462                                                   type: string
6463                                                 operator:
6464                                                   description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
6465                                                   type: string
6466                                                 values:
6467                                                   description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
6468                                                   items:
6469                                                     type: string
6470                                                   type: array
6471                                               required:
6472                                                 - key
6473                                                 - operator
6474                                               type: object
6475                                             type: array
6476                                           matchLabels:
6477                                             additionalProperties:
6478                                               type: string
6479                                             description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
6480                                             type: object
6481                                         type: object
6482                                       namespaceSelector:
6483                                         description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
6484                                         properties:
6485                                           matchExpressions:
6486                                             description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
6487                                             items:
6488                                               description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
6489                                               properties:
6490                                                 key:
6491                                                   description: key is the label key that the selector applies to.
6492                                                   type: string
6493                                                 operator:
6494                                                   description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
6495                                                   type: string
6496                                                 values:
6497                                                   description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
6498                                                   items:
6499                                                     type: string
6500                                                   type: array
6501                                               required:
6502                                                 - key
6503                                                 - operator
6504                                               type: object
6505                                             type: array
6506                                           matchLabels:
6507                                             additionalProperties:
6508                                               type: string
6509                                             description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
6510                                             type: object
6511                                         type: object
6512                                       namespaces:
6513                                         description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
6514                                         items:
6515                                           type: string
6516                                         type: array
6517                                       topologyKey:
6518                                         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.
6519                                         type: string
6520                                     required:
6521                                       - topologyKey
6522                                     type: object
6523                                   weight:
6524                                     description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
6525                                     format: int32
6526                                     type: integer
6527                                 required:
6528                                   - podAffinityTerm
6529                                   - weight
6530                                 type: object
6531                               type: array
6532                             requiredDuringSchedulingIgnoredDuringExecution:
6533                               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.
6534                               items:
6535                                 description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, 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 a pod of the set of pods is running
6536                                 properties:
6537                                   labelSelector:
6538                                     description: A label query over a set of resources, in this case pods.
6539                                     properties:
6540                                       matchExpressions:
6541                                         description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
6542                                         items:
6543                                           description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
6544                                           properties:
6545                                             key:
6546                                               description: key is the label key that the selector applies to.
6547                                               type: string
6548                                             operator:
6549                                               description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
6550                                               type: string
6551                                             values:
6552                                               description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
6553                                               items:
6554                                                 type: string
6555                                               type: array
6556                                           required:
6557                                             - key
6558                                             - operator
6559                                           type: object
6560                                         type: array
6561                                       matchLabels:
6562                                         additionalProperties:
6563                                           type: string
6564                                         description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
6565                                         type: object
6566                                     type: object
6567                                   namespaceSelector:
6568                                     description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
6569                                     properties:
6570                                       matchExpressions:
6571                                         description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
6572                                         items:
6573                                           description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
6574                                           properties:
6575                                             key:
6576                                               description: key is the label key that the selector applies to.
6577                                               type: string
6578                                             operator:
6579                                               description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
6580                                               type: string
6581                                             values:
6582                                               description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
6583                                               items:
6584                                                 type: string
6585                                               type: array
6586                                           required:
6587                                             - key
6588                                             - operator
6589                                           type: object
6590                                         type: array
6591                                       matchLabels:
6592                                         additionalProperties:
6593                                           type: string
6594                                         description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
6595                                         type: object
6596                                     type: object
6597                                   namespaces:
6598                                     description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
6599                                     items:
6600                                       type: string
6601                                     type: array
6602                                   topologyKey:
6603                                     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.
6604                                     type: string
6605                                 required:
6606                                   - topologyKey
6607                                 type: object
6608                               type: array
6609                           type: object
6610                         podAntiAffinity:
6611                           description: PodAntiAffinity is a group of inter pod anti affinity scheduling rules
6612                           properties:
6613                             preferredDuringSchedulingIgnoredDuringExecution:
6614                               description: The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "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.
6615                               items:
6616                                 description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
6617                                 properties:
6618                                   podAffinityTerm:
6619                                     description: Required. A pod affinity term, associated with the corresponding weight.
6620                                     properties:
6621                                       labelSelector:
6622                                         description: A label query over a set of resources, in this case pods.
6623                                         properties:
6624                                           matchExpressions:
6625                                             description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
6626                                             items:
6627                                               description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
6628                                               properties:
6629                                                 key:
6630                                                   description: key is the label key that the selector applies to.
6631                                                   type: string
6632                                                 operator:
6633                                                   description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
6634                                                   type: string
6635                                                 values:
6636                                                   description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
6637                                                   items:
6638                                                     type: string
6639                                                   type: array
6640                                               required:
6641                                                 - key
6642                                                 - operator
6643                                               type: object
6644                                             type: array
6645                                           matchLabels:
6646                                             additionalProperties:
6647                                               type: string
6648                                             description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
6649                                             type: object
6650                                         type: object
6651                                       namespaceSelector:
6652                                         description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
6653                                         properties:
6654                                           matchExpressions:
6655                                             description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
6656                                             items:
6657                                               description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
6658                                               properties:
6659                                                 key:
6660                                                   description: key is the label key that the selector applies to.
6661                                                   type: string
6662                                                 operator:
6663                                                   description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
6664                                                   type: string
6665                                                 values:
6666                                                   description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
6667                                                   items:
6668                                                     type: string
6669                                                   type: array
6670                                               required:
6671                                                 - key
6672                                                 - operator
6673                                               type: object
6674                                             type: array
6675                                           matchLabels:
6676                                             additionalProperties:
6677                                               type: string
6678                                             description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
6679                                             type: object
6680                                         type: object
6681                                       namespaces:
6682                                         description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
6683                                         items:
6684                                           type: string
6685                                         type: array
6686                                       topologyKey:
6687                                         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.
6688                                         type: string
6689                                     required:
6690                                       - topologyKey
6691                                     type: object
6692                                   weight:
6693                                     description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
6694                                     format: int32
6695                                     type: integer
6696                                 required:
6697                                   - podAffinityTerm
6698                                   - weight
6699                                 type: object
6700                               type: array
6701                             requiredDuringSchedulingIgnoredDuringExecution:
6702                               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.
6703                               items:
6704                                 description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, 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 a pod of the set of pods is running
6705                                 properties:
6706                                   labelSelector:
6707                                     description: A label query over a set of resources, in this case pods.
6708                                     properties:
6709                                       matchExpressions:
6710                                         description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
6711                                         items:
6712                                           description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
6713                                           properties:
6714                                             key:
6715                                               description: key is the label key that the selector applies to.
6716                                               type: string
6717                                             operator:
6718                                               description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
6719                                               type: string
6720                                             values:
6721                                               description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
6722                                               items:
6723                                                 type: string
6724                                               type: array
6725                                           required:
6726                                             - key
6727                                             - operator
6728                                           type: object
6729                                         type: array
6730                                       matchLabels:
6731                                         additionalProperties:
6732                                           type: string
6733                                         description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
6734                                         type: object
6735                                     type: object
6736                                   namespaceSelector:
6737                                     description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
6738                                     properties:
6739                                       matchExpressions:
6740                                         description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
6741                                         items:
6742                                           description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
6743                                           properties:
6744                                             key:
6745                                               description: key is the label key that the selector applies to.
6746                                               type: string
6747                                             operator:
6748                                               description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
6749                                               type: string
6750                                             values:
6751                                               description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
6752                                               items:
6753                                                 type: string
6754                                               type: array
6755                                           required:
6756                                             - key
6757                                             - operator
6758                                           type: object
6759                                         type: array
6760                                       matchLabels:
6761                                         additionalProperties:
6762                                           type: string
6763                                         description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
6764                                         type: object
6765                                     type: object
6766                                   namespaces:
6767                                     description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
6768                                     items:
6769                                       type: string
6770                                     type: array
6771                                   topologyKey:
6772                                     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.
6773                                     type: string
6774                                 required:
6775                                   - topologyKey
6776                                 type: object
6777                               type: array
6778                           type: object
6779                         tolerations:
6780                           description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>
6781                           items:
6782                             description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.
6783                             properties:
6784                               effect:
6785                                 description: Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
6786                                 type: string
6787                               key:
6788                                 description: Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.
6789                                 type: string
6790                               operator:
6791                                 description: Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.
6792                                 type: string
6793                               tolerationSeconds:
6794                                 description: TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.
6795                                 format: int64
6796                                 type: integer
6797                               value:
6798                                 description: Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.
6799                                 type: string
6800                             type: object
6801                           type: array
6802                         topologySpreadConstraints:
6803                           description: TopologySpreadConstraint specifies how to spread matching pods among the given topology
6804                           items:
6805                             description: TopologySpreadConstraint specifies how to spread matching pods among the given topology.
6806                             properties:
6807                               labelSelector:
6808                                 description: LabelSelector is used to find matching pods. Pods that match this label selector are counted to determine the number of pods in their corresponding topology domain.
6809                                 properties:
6810                                   matchExpressions:
6811                                     description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
6812                                     items:
6813                                       description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
6814                                       properties:
6815                                         key:
6816                                           description: key is the label key that the selector applies to.
6817                                           type: string
6818                                         operator:
6819                                           description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
6820                                           type: string
6821                                         values:
6822                                           description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
6823                                           items:
6824                                             type: string
6825                                           type: array
6826                                       required:
6827                                         - key
6828                                         - operator
6829                                       type: object
6830                                     type: array
6831                                   matchLabels:
6832                                     additionalProperties:
6833                                       type: string
6834                                     description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
6835                                     type: object
6836                                 type: object
6837                               maxSkew:
6838                                 description: 'MaxSkew describes the degree to which pods may be unevenly distributed. When `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference between the number of matching pods in the target topology and the global minimum. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 1/1/0: | zone1 | zone2 | zone3 | |   P   |   P   |       | - if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 1/1/1; scheduling it onto zone1(zone2) would make the ActualSkew(2-0) on zone1(zone2) violate MaxSkew(1). - if MaxSkew is 2, incoming pod can be scheduled onto any zone. When `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence to topologies that satisfy it. It''s a required field. Default value is 1 and 0 is not allowed.'
6839                                 format: int32
6840                                 type: integer
6841                               topologyKey:
6842                                 description: TopologyKey is the key of node labels. Nodes that have a label with this key and identical values are considered to be in the same topology. We consider each <key, value> as a "bucket", and try to put balanced number of pods into each bucket. It's a required field.
6843                                 type: string
6844                               whenUnsatisfiable:
6845                                 description: 'WhenUnsatisfiable indicates how to deal with a pod if it doesn''t satisfy the spread constraint. - DoNotSchedule (default) tells the scheduler not to schedule it. - ScheduleAnyway tells the scheduler to schedule the pod in any location,   but giving higher precedence to topologies that would help reduce the   skew. A constraint is considered "Unsatisfiable" for an incoming pod if and only if every possible node assigment for that pod would violate "MaxSkew" on some topology. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 3/1/1: | zone1 | zone2 | zone3 | | P P P |   P   |   P   | If WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled to zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies MaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler won''t make it *more* imbalanced. It''s a required field.'
6846                                 type: string
6847                             required:
6848                               - maxSkew
6849                               - topologyKey
6850                               - whenUnsatisfiable
6851                             type: object
6852                           type: array
6853                       type: object
6854                       x-kubernetes-preserve-unknown-fields: true
6855                     port:
6856                       description: The port the rgw service will be listening on (http)
6857                       format: int32
6858                       type: integer
6859                     priorityClassName:
6860                       description: PriorityClassName sets priority classes on the rgw pods
6861                       type: string
6862                     resources:
6863                       description: The resource requirements for the rgw pods
6864                       nullable: true
6865                       properties:
6866                         limits:
6867                           additionalProperties:
6868                             anyOf:
6869                               - type: integer
6870                               - type: string
6871                             pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
6872                             x-kubernetes-int-or-string: true
6873                           description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
6874                           type: object
6875                         requests:
6876                           additionalProperties:
6877                             anyOf:
6878                               - type: integer
6879                               - type: string
6880                             pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
6881                             x-kubernetes-int-or-string: true
6882                           description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
6883                           type: object
6884                       type: object
6885                       x-kubernetes-preserve-unknown-fields: true
6886                     securePort:
6887                       description: The port the rgw service will be listening on (https)
6888                       format: int32
6889                       maximum: 65535
6890                       minimum: 0
6891                       nullable: true
6892                       type: integer
6893                     service:
6894                       description: The configuration related to add/set on each rgw service.
6895                       nullable: true
6896                       properties:
6897                         annotations:
6898                           additionalProperties:
6899                             type: string
6900                           description: The annotations-related configuration to add/set on each rgw service. nullable optional
6901                           type: object
6902                       type: object
6903                     sslCertificateRef:
6904                       description: The name of the secret that stores the ssl certificate for secure rgw connections
6905                       nullable: true
6906                       type: string
6907                   type: object
6908                 healthCheck:
6909                   description: The rgw Bucket healthchecks and liveness probe
6910                   nullable: true
6911                   properties:
6912                     bucket:
6913                       description: HealthCheckSpec represents the health check of an object store bucket
6914                       properties:
6915                         disabled:
6916                           type: boolean
6917                         interval:
6918                           description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
6919                           type: string
6920                         timeout:
6921                           type: string
6922                       type: object
6923                     livenessProbe:
6924                       description: ProbeSpec is a wrapper around Probe so it can be enabled or disabled for a Ceph daemon
6925                       properties:
6926                         disabled:
6927                           description: Disabled determines whether probe is disable or not
6928                           type: boolean
6929                         probe:
6930                           description: Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic.
6931                           properties:
6932                             exec:
6933                               description: One and only one of the following should be specified. Exec specifies the action to take.
6934                               properties:
6935                                 command:
6936                                   description: Command is the command line to execute inside the container, the working directory for the command  is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use 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.
6937                                   items:
6938                                     type: string
6939                                   type: array
6940                               type: object
6941                             failureThreshold:
6942                               description: Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
6943                               format: int32
6944                               type: integer
6945                             httpGet:
6946                               description: HTTPGet specifies the http request to perform.
6947                               properties:
6948                                 host:
6949                                   description: Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.
6950                                   type: string
6951                                 httpHeaders:
6952                                   description: Custom headers to set in the request. HTTP allows repeated headers.
6953                                   items:
6954                                     description: HTTPHeader describes a custom header to be used in HTTP probes
6955                                     properties:
6956                                       name:
6957                                         description: The header field name
6958                                         type: string
6959                                       value:
6960                                         description: The header field value
6961                                         type: string
6962                                     required:
6963                                       - name
6964                                       - value
6965                                     type: object
6966                                   type: array
6967                                 path:
6968                                   description: Path to access on the HTTP server.
6969                                   type: string
6970                                 port:
6971                                   anyOf:
6972                                     - type: integer
6973                                     - type: string
6974                                   description: Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
6975                                   x-kubernetes-int-or-string: true
6976                                 scheme:
6977                                   description: Scheme to use for connecting to the host. Defaults to HTTP.
6978                                   type: string
6979                               required:
6980                                 - port
6981                               type: object
6982                             initialDelaySeconds:
6983                               description: 'Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
6984                               format: int32
6985                               type: integer
6986                             periodSeconds:
6987                               description: How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.
6988                               format: int32
6989                               type: integer
6990                             successThreshold:
6991                               description: Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
6992                               format: int32
6993                               type: integer
6994                             tcpSocket:
6995                               description: 'TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported TODO: implement a realistic TCP lifecycle hook'
6996                               properties:
6997                                 host:
6998                                   description: 'Optional: Host name to connect to, defaults to the pod IP.'
6999                                   type: string
7000                                 port:
7001                                   anyOf:
7002                                     - type: integer
7003                                     - type: string
7004                                   description: Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
7005                                   x-kubernetes-int-or-string: true
7006                               required:
7007                                 - port
7008                               type: object
7009                             terminationGracePeriodSeconds:
7010                               description: Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is an alpha field and requires enabling ProbeTerminationGracePeriod feature gate.
7011                               format: int64
7012                               type: integer
7013                             timeoutSeconds:
7014                               description: 'Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
7015                               format: int32
7016                               type: integer
7017                           type: object
7018                       type: object
7019                   type: object
7020                 metadataPool:
7021                   description: The metadata pool settings
7022                   nullable: true
7023                   properties:
7024                     compressionMode:
7025                       default: none
7026                       description: 'The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force)'
7027                       enum:
7028                         - none
7029                         - passive
7030                         - aggressive
7031                         - force
7032                         - ""
7033                       nullable: true
7034                       type: string
7035                     crushRoot:
7036                       description: The root of the crush hierarchy utilized by the pool
7037                       nullable: true
7038                       type: string
7039                     deviceClass:
7040                       description: The device class the OSD should set to for use in the pool
7041                       nullable: true
7042                       type: string
7043                     enableRBDStats:
7044                       description: EnableRBDStats is used to enable gathering of statistics for all RBD images in the pool
7045                       type: boolean
7046                     erasureCoded:
7047                       description: The erasure code settings
7048                       properties:
7049                         algorithm:
7050                           description: The algorithm for erasure coding
7051                           type: string
7052                         codingChunks:
7053                           description: Number of coding chunks per object in an erasure coded storage pool (required for erasure-coded pool type)
7054                           maximum: 9
7055                           minimum: 0
7056                           type: integer
7057                         dataChunks:
7058                           description: Number of data chunks per object in an erasure coded storage pool (required for erasure-coded pool type)
7059                           maximum: 9
7060                           minimum: 0
7061                           type: integer
7062                       required:
7063                         - codingChunks
7064                         - dataChunks
7065                       type: object
7066                     failureDomain:
7067                       description: 'The failure domain: osd/host/(region or zone if available) - technically also any type in the crush map'
7068                       type: string
7069                     mirroring:
7070                       description: The mirroring settings
7071                       properties:
7072                         enabled:
7073                           description: Enabled whether this pool is mirrored or not
7074                           type: boolean
7075                         mode:
7076                           description: 'Mode is the mirroring mode: either pool or image'
7077                           type: string
7078                         snapshotSchedules:
7079                           description: SnapshotSchedules is the scheduling of snapshot for mirrored images/pools
7080                           items:
7081                             description: SnapshotScheduleSpec represents the snapshot scheduling settings of a mirrored pool
7082                             properties:
7083                               interval:
7084                                 description: Interval represent the periodicity of the snapshot.
7085                                 type: string
7086                               startTime:
7087                                 description: StartTime indicates when to start the snapshot
7088                                 type: string
7089                             type: object
7090                           type: array
7091                       type: object
7092                     parameters:
7093                       additionalProperties:
7094                         type: string
7095                       description: Parameters is a list of properties to enable on a given pool
7096                       nullable: true
7097                       type: object
7098                       x-kubernetes-preserve-unknown-fields: true
7099                     quotas:
7100                       description: The quota settings
7101                       nullable: true
7102                       properties:
7103                         maxBytes:
7104                           description: MaxBytes represents the quota in bytes Deprecated in favor of MaxSize
7105                           format: int64
7106                           type: integer
7107                         maxObjects:
7108                           description: MaxObjects represents the quota in objects
7109                           format: int64
7110                           type: integer
7111                         maxSize:
7112                           description: MaxSize represents the quota in bytes as a string
7113                           pattern: ^[0-9]+[\.]?[0-9]*([KMGTPE]i|[kMGTPE])?$
7114                           type: string
7115                       type: object
7116                     replicated:
7117                       description: The replication settings
7118                       properties:
7119                         replicasPerFailureDomain:
7120                           description: ReplicasPerFailureDomain the number of replica in the specified failure domain
7121                           minimum: 1
7122                           type: integer
7123                         requireSafeReplicaSize:
7124                           description: RequireSafeReplicaSize if false allows you to set replica 1
7125                           type: boolean
7126                         size:
7127                           description: Size - Number of copies per object in a replicated storage pool, including the object itself (required for replicated pool type)
7128                           minimum: 0
7129                           type: integer
7130                         subFailureDomain:
7131                           description: SubFailureDomain the name of the sub-failure domain
7132                           type: string
7133                         targetSizeRatio:
7134                           description: TargetSizeRatio gives a hint (%) to Ceph in terms of expected consumption of the total cluster capacity
7135                           type: number
7136                       required:
7137                         - size
7138                       type: object
7139                     statusCheck:
7140                       description: The mirroring statusCheck
7141                       properties:
7142                         mirror:
7143                           description: HealthCheckSpec represents the health check of an object store bucket
7144                           nullable: true
7145                           properties:
7146                             disabled:
7147                               type: boolean
7148                             interval:
7149                               description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
7150                               type: string
7151                             timeout:
7152                               type: string
7153                           type: object
7154                       type: object
7155                       x-kubernetes-preserve-unknown-fields: true
7156                   type: object
7157                 preservePoolsOnDelete:
7158                   description: Preserve pools on object store deletion
7159                   type: boolean
7160                 security:
7161                   description: Security represents security settings
7162                   nullable: true
7163                   properties:
7164                     kms:
7165                       description: KeyManagementService is the main Key Management option
7166                       nullable: true
7167                       properties:
7168                         connectionDetails:
7169                           additionalProperties:
7170                             type: string
7171                           description: ConnectionDetails contains the KMS connection details (address, port etc)
7172                           nullable: true
7173                           type: object
7174                           x-kubernetes-preserve-unknown-fields: true
7175                         tokenSecretName:
7176                           description: TokenSecretName is the kubernetes secret containing the KMS token
7177                           type: string
7178                       type: object
7179                   type: object
7180                 zone:
7181                   description: The multisite info
7182                   nullable: true
7183                   properties:
7184                     name:
7185                       description: RGW Zone the Object Store is in
7186                       type: string
7187                   required:
7188                     - name
7189                   type: object
7190               type: object
7191             status:
7192               description: ObjectStoreStatus represents the status of a Ceph Object Store resource
7193               properties:
7194                 bucketStatus:
7195                   description: BucketStatus represents the status of a bucket
7196                   properties:
7197                     details:
7198                       type: string
7199                     health:
7200                       description: ConditionType represent a resource's status
7201                       type: string
7202                     lastChanged:
7203                       type: string
7204                     lastChecked:
7205                       type: string
7206                   type: object
7207                 info:
7208                   additionalProperties:
7209                     type: string
7210                   nullable: true
7211                   type: object
7212                 message:
7213                   type: string
7214                 phase:
7215                   description: ConditionType represent a resource's status
7216                   type: string
7217               type: object
7218               x-kubernetes-preserve-unknown-fields: true
7219           required:
7220             - metadata
7221             - spec
7222           type: object
7223       served: true
7224       storage: true
7225       subresources:
7226         status: {}
7227 status:
7228   acceptedNames:
7229     kind: ""
7230     plural: ""
7231   conditions: []
7232   storedVersions: []
7233 ---
7234 apiVersion: apiextensions.k8s.io/v1
7235 kind: CustomResourceDefinition
7236 metadata:
7237   annotations:
7238     controller-gen.kubebuilder.io/version: v0.5.1-0.20210420220833-f284e2e8098c
7239   creationTimestamp: null
7240   name: cephobjectstoreusers.ceph.rook.io
7241 spec:
7242   group: ceph.rook.io
7243   names:
7244     kind: CephObjectStoreUser
7245     listKind: CephObjectStoreUserList
7246     plural: cephobjectstoreusers
7247     shortNames:
7248       - rcou
7249       - objectuser
7250     singular: cephobjectstoreuser
7251   scope: Namespaced
7252   versions:
7253     - name: v1
7254       schema:
7255         openAPIV3Schema:
7256           description: CephObjectStoreUser represents a Ceph Object Store Gateway User
7257           properties:
7258             apiVersion:
7259               description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
7260               type: string
7261             kind:
7262               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'
7263               type: string
7264             metadata:
7265               type: object
7266             spec:
7267               description: ObjectStoreUserSpec represent the spec of an Objectstoreuser
7268               properties:
7269                 displayName:
7270                   description: The display name for the ceph users
7271                   type: string
7272                 store:
7273                   description: The store the user will be created in
7274                   type: string
7275               type: object
7276             status:
7277               description: ObjectStoreUserStatus represents the status Ceph Object Store Gateway User
7278               properties:
7279                 info:
7280                   additionalProperties:
7281                     type: string
7282                   nullable: true
7283                   type: object
7284                 phase:
7285                   type: string
7286               type: object
7287               x-kubernetes-preserve-unknown-fields: true
7288           required:
7289             - metadata
7290             - spec
7291           type: object
7292       served: true
7293       storage: true
7294       subresources:
7295         status: {}
7296 status:
7297   acceptedNames:
7298     kind: ""
7299     plural: ""
7300   conditions: []
7301   storedVersions: []
7302 ---
7303 apiVersion: apiextensions.k8s.io/v1
7304 kind: CustomResourceDefinition
7305 metadata:
7306   annotations:
7307     controller-gen.kubebuilder.io/version: v0.5.1-0.20210420220833-f284e2e8098c
7308   creationTimestamp: null
7309   name: cephobjectzonegroups.ceph.rook.io
7310 spec:
7311   group: ceph.rook.io
7312   names:
7313     kind: CephObjectZoneGroup
7314     listKind: CephObjectZoneGroupList
7315     plural: cephobjectzonegroups
7316     singular: cephobjectzonegroup
7317   scope: Namespaced
7318   versions:
7319     - name: v1
7320       schema:
7321         openAPIV3Schema:
7322           description: CephObjectZoneGroup represents a Ceph Object Store Gateway Zone Group
7323           properties:
7324             apiVersion:
7325               description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
7326               type: string
7327             kind:
7328               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'
7329               type: string
7330             metadata:
7331               type: object
7332             spec:
7333               description: ObjectZoneGroupSpec represent the spec of an ObjectZoneGroup
7334               properties:
7335                 realm:
7336                   description: The display name for the ceph users
7337                   type: string
7338               required:
7339                 - realm
7340               type: object
7341             status:
7342               description: Status represents the status of an object
7343               properties:
7344                 phase:
7345                   type: string
7346               type: object
7347               x-kubernetes-preserve-unknown-fields: true
7348           required:
7349             - metadata
7350             - spec
7351           type: object
7352       served: true
7353       storage: true
7354       subresources:
7355         status: {}
7356 status:
7357   acceptedNames:
7358     kind: ""
7359     plural: ""
7360   conditions: []
7361   storedVersions: []
7362 ---
7363 apiVersion: apiextensions.k8s.io/v1
7364 kind: CustomResourceDefinition
7365 metadata:
7366   annotations:
7367     controller-gen.kubebuilder.io/version: v0.5.1-0.20210420220833-f284e2e8098c
7368   creationTimestamp: null
7369   name: cephobjectzones.ceph.rook.io
7370 spec:
7371   group: ceph.rook.io
7372   names:
7373     kind: CephObjectZone
7374     listKind: CephObjectZoneList
7375     plural: cephobjectzones
7376     singular: cephobjectzone
7377   scope: Namespaced
7378   versions:
7379     - name: v1
7380       schema:
7381         openAPIV3Schema:
7382           description: CephObjectZone represents a Ceph Object Store Gateway Zone
7383           properties:
7384             apiVersion:
7385               description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
7386               type: string
7387             kind:
7388               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'
7389               type: string
7390             metadata:
7391               type: object
7392             spec:
7393               description: ObjectZoneSpec represent the spec of an ObjectZone
7394               properties:
7395                 dataPool:
7396                   description: The data pool settings
7397                   nullable: true
7398                   properties:
7399                     compressionMode:
7400                       default: none
7401                       description: 'The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force)'
7402                       enum:
7403                         - none
7404                         - passive
7405                         - aggressive
7406                         - force
7407                         - ""
7408                       nullable: true
7409                       type: string
7410                     crushRoot:
7411                       description: The root of the crush hierarchy utilized by the pool
7412                       nullable: true
7413                       type: string
7414                     deviceClass:
7415                       description: The device class the OSD should set to for use in the pool
7416                       nullable: true
7417                       type: string
7418                     enableRBDStats:
7419                       description: EnableRBDStats is used to enable gathering of statistics for all RBD images in the pool
7420                       type: boolean
7421                     erasureCoded:
7422                       description: The erasure code settings
7423                       properties:
7424                         algorithm:
7425                           description: The algorithm for erasure coding
7426                           type: string
7427                         codingChunks:
7428                           description: Number of coding chunks per object in an erasure coded storage pool (required for erasure-coded pool type)
7429                           maximum: 9
7430                           minimum: 0
7431                           type: integer
7432                         dataChunks:
7433                           description: Number of data chunks per object in an erasure coded storage pool (required for erasure-coded pool type)
7434                           maximum: 9
7435                           minimum: 0
7436                           type: integer
7437                       required:
7438                         - codingChunks
7439                         - dataChunks
7440                       type: object
7441                     failureDomain:
7442                       description: 'The failure domain: osd/host/(region or zone if available) - technically also any type in the crush map'
7443                       type: string
7444                     mirroring:
7445                       description: The mirroring settings
7446                       properties:
7447                         enabled:
7448                           description: Enabled whether this pool is mirrored or not
7449                           type: boolean
7450                         mode:
7451                           description: 'Mode is the mirroring mode: either pool or image'
7452                           type: string
7453                         snapshotSchedules:
7454                           description: SnapshotSchedules is the scheduling of snapshot for mirrored images/pools
7455                           items:
7456                             description: SnapshotScheduleSpec represents the snapshot scheduling settings of a mirrored pool
7457                             properties:
7458                               interval:
7459                                 description: Interval represent the periodicity of the snapshot.
7460                                 type: string
7461                               startTime:
7462                                 description: StartTime indicates when to start the snapshot
7463                                 type: string
7464                             type: object
7465                           type: array
7466                       type: object
7467                     parameters:
7468                       additionalProperties:
7469                         type: string
7470                       description: Parameters is a list of properties to enable on a given pool
7471                       nullable: true
7472                       type: object
7473                       x-kubernetes-preserve-unknown-fields: true
7474                     quotas:
7475                       description: The quota settings
7476                       nullable: true
7477                       properties:
7478                         maxBytes:
7479                           description: MaxBytes represents the quota in bytes Deprecated in favor of MaxSize
7480                           format: int64
7481                           type: integer
7482                         maxObjects:
7483                           description: MaxObjects represents the quota in objects
7484                           format: int64
7485                           type: integer
7486                         maxSize:
7487                           description: MaxSize represents the quota in bytes as a string
7488                           pattern: ^[0-9]+[\.]?[0-9]*([KMGTPE]i|[kMGTPE])?$
7489                           type: string
7490                       type: object
7491                     replicated:
7492                       description: The replication settings
7493                       properties:
7494                         replicasPerFailureDomain:
7495                           description: ReplicasPerFailureDomain the number of replica in the specified failure domain
7496                           minimum: 1
7497                           type: integer
7498                         requireSafeReplicaSize:
7499                           description: RequireSafeReplicaSize if false allows you to set replica 1
7500                           type: boolean
7501                         size:
7502                           description: Size - Number of copies per object in a replicated storage pool, including the object itself (required for replicated pool type)
7503                           minimum: 0
7504                           type: integer
7505                         subFailureDomain:
7506                           description: SubFailureDomain the name of the sub-failure domain
7507                           type: string
7508                         targetSizeRatio:
7509                           description: TargetSizeRatio gives a hint (%) to Ceph in terms of expected consumption of the total cluster capacity
7510                           type: number
7511                       required:
7512                         - size
7513                       type: object
7514                     statusCheck:
7515                       description: The mirroring statusCheck
7516                       properties:
7517                         mirror:
7518                           description: HealthCheckSpec represents the health check of an object store bucket
7519                           nullable: true
7520                           properties:
7521                             disabled:
7522                               type: boolean
7523                             interval:
7524                               description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
7525                               type: string
7526                             timeout:
7527                               type: string
7528                           type: object
7529                       type: object
7530                       x-kubernetes-preserve-unknown-fields: true
7531                   type: object
7532                 metadataPool:
7533                   description: The metadata pool settings
7534                   nullable: true
7535                   properties:
7536                     compressionMode:
7537                       default: none
7538                       description: 'The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force)'
7539                       enum:
7540                         - none
7541                         - passive
7542                         - aggressive
7543                         - force
7544                         - ""
7545                       nullable: true
7546                       type: string
7547                     crushRoot:
7548                       description: The root of the crush hierarchy utilized by the pool
7549                       nullable: true
7550                       type: string
7551                     deviceClass:
7552                       description: The device class the OSD should set to for use in the pool
7553                       nullable: true
7554                       type: string
7555                     enableRBDStats:
7556                       description: EnableRBDStats is used to enable gathering of statistics for all RBD images in the pool
7557                       type: boolean
7558                     erasureCoded:
7559                       description: The erasure code settings
7560                       properties:
7561                         algorithm:
7562                           description: The algorithm for erasure coding
7563                           type: string
7564                         codingChunks:
7565                           description: Number of coding chunks per object in an erasure coded storage pool (required for erasure-coded pool type)
7566                           maximum: 9
7567                           minimum: 0
7568                           type: integer
7569                         dataChunks:
7570                           description: Number of data chunks per object in an erasure coded storage pool (required for erasure-coded pool type)
7571                           maximum: 9
7572                           minimum: 0
7573                           type: integer
7574                       required:
7575                         - codingChunks
7576                         - dataChunks
7577                       type: object
7578                     failureDomain:
7579                       description: 'The failure domain: osd/host/(region or zone if available) - technically also any type in the crush map'
7580                       type: string
7581                     mirroring:
7582                       description: The mirroring settings
7583                       properties:
7584                         enabled:
7585                           description: Enabled whether this pool is mirrored or not
7586                           type: boolean
7587                         mode:
7588                           description: 'Mode is the mirroring mode: either pool or image'
7589                           type: string
7590                         snapshotSchedules:
7591                           description: SnapshotSchedules is the scheduling of snapshot for mirrored images/pools
7592                           items:
7593                             description: SnapshotScheduleSpec represents the snapshot scheduling settings of a mirrored pool
7594                             properties:
7595                               interval:
7596                                 description: Interval represent the periodicity of the snapshot.
7597                                 type: string
7598                               startTime:
7599                                 description: StartTime indicates when to start the snapshot
7600                                 type: string
7601                             type: object
7602                           type: array
7603                       type: object
7604                     parameters:
7605                       additionalProperties:
7606                         type: string
7607                       description: Parameters is a list of properties to enable on a given pool
7608                       nullable: true
7609                       type: object
7610                       x-kubernetes-preserve-unknown-fields: true
7611                     quotas:
7612                       description: The quota settings
7613                       nullable: true
7614                       properties:
7615                         maxBytes:
7616                           description: MaxBytes represents the quota in bytes Deprecated in favor of MaxSize
7617                           format: int64
7618                           type: integer
7619                         maxObjects:
7620                           description: MaxObjects represents the quota in objects
7621                           format: int64
7622                           type: integer
7623                         maxSize:
7624                           description: MaxSize represents the quota in bytes as a string
7625                           pattern: ^[0-9]+[\.]?[0-9]*([KMGTPE]i|[kMGTPE])?$
7626                           type: string
7627                       type: object
7628                     replicated:
7629                       description: The replication settings
7630                       properties:
7631                         replicasPerFailureDomain:
7632                           description: ReplicasPerFailureDomain the number of replica in the specified failure domain
7633                           minimum: 1
7634                           type: integer
7635                         requireSafeReplicaSize:
7636                           description: RequireSafeReplicaSize if false allows you to set replica 1
7637                           type: boolean
7638                         size:
7639                           description: Size - Number of copies per object in a replicated storage pool, including the object itself (required for replicated pool type)
7640                           minimum: 0
7641                           type: integer
7642                         subFailureDomain:
7643                           description: SubFailureDomain the name of the sub-failure domain
7644                           type: string
7645                         targetSizeRatio:
7646                           description: TargetSizeRatio gives a hint (%) to Ceph in terms of expected consumption of the total cluster capacity
7647                           type: number
7648                       required:
7649                         - size
7650                       type: object
7651                     statusCheck:
7652                       description: The mirroring statusCheck
7653                       properties:
7654                         mirror:
7655                           description: HealthCheckSpec represents the health check of an object store bucket
7656                           nullable: true
7657                           properties:
7658                             disabled:
7659                               type: boolean
7660                             interval:
7661                               description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
7662                               type: string
7663                             timeout:
7664                               type: string
7665                           type: object
7666                       type: object
7667                       x-kubernetes-preserve-unknown-fields: true
7668                   type: object
7669                 zoneGroup:
7670                   description: The display name for the ceph users
7671                   type: string
7672               required:
7673                 - dataPool
7674                 - metadataPool
7675                 - zoneGroup
7676               type: object
7677             status:
7678               description: Status represents the status of an object
7679               properties:
7680                 phase:
7681                   type: string
7682               type: object
7683               x-kubernetes-preserve-unknown-fields: true
7684           required:
7685             - metadata
7686             - spec
7687           type: object
7688       served: true
7689       storage: true
7690       subresources:
7691         status: {}
7692 status:
7693   acceptedNames:
7694     kind: ""
7695     plural: ""
7696   conditions: []
7697   storedVersions: []
7698 ---
7699 apiVersion: apiextensions.k8s.io/v1
7700 kind: CustomResourceDefinition
7701 metadata:
7702   annotations:
7703     controller-gen.kubebuilder.io/version: v0.5.1-0.20210420220833-f284e2e8098c
7704   creationTimestamp: null
7705   name: cephrbdmirrors.ceph.rook.io
7706 spec:
7707   group: ceph.rook.io
7708   names:
7709     kind: CephRBDMirror
7710     listKind: CephRBDMirrorList
7711     plural: cephrbdmirrors
7712     singular: cephrbdmirror
7713   scope: Namespaced
7714   versions:
7715     - name: v1
7716       schema:
7717         openAPIV3Schema:
7718           description: CephRBDMirror represents a Ceph RBD Mirror
7719           properties:
7720             apiVersion:
7721               description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
7722               type: string
7723             kind:
7724               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'
7725               type: string
7726             metadata:
7727               type: object
7728             spec:
7729               description: RBDMirroringSpec represents the specification of an RBD mirror daemon
7730               properties:
7731                 annotations:
7732                   additionalProperties:
7733                     type: string
7734                   description: The annotations-related configuration to add/set on each Pod related object.
7735                   nullable: true
7736                   type: object
7737                   x-kubernetes-preserve-unknown-fields: true
7738                 count:
7739                   description: Count represents the number of rbd mirror instance to run
7740                   minimum: 1
7741                   type: integer
7742                 labels:
7743                   additionalProperties:
7744                     type: string
7745                   description: The labels-related configuration to add/set on each Pod related object.
7746                   nullable: true
7747                   type: object
7748                   x-kubernetes-preserve-unknown-fields: true
7749                 peers:
7750                   description: RBDMirroringPeerSpec represents the peers spec
7751                   nullable: true
7752                   properties:
7753                     secretNames:
7754                       description: SecretNames represents the Kubernetes Secret names to add rbd-mirror peers
7755                       items:
7756                         type: string
7757                       type: array
7758                   type: object
7759                 placement:
7760                   description: The affinity to place the rgw pods (default is to place on any available node)
7761                   nullable: true
7762                   properties:
7763                     nodeAffinity:
7764                       description: NodeAffinity is a group of node affinity scheduling rules
7765                       properties:
7766                         preferredDuringSchedulingIgnoredDuringExecution:
7767                           description: The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node matches the corresponding matchExpressions; the node(s) with the highest sum are the most preferred.
7768                           items:
7769                             description: An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
7770                             properties:
7771                               preference:
7772                                 description: A node selector term, associated with the corresponding weight.
7773                                 properties:
7774                                   matchExpressions:
7775                                     description: A list of node selector requirements by node's labels.
7776                                     items:
7777                                       description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
7778                                       properties:
7779                                         key:
7780                                           description: The label key that the selector applies to.
7781                                           type: string
7782                                         operator:
7783                                           description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
7784                                           type: string
7785                                         values:
7786                                           description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
7787                                           items:
7788                                             type: string
7789                                           type: array
7790                                       required:
7791                                         - key
7792                                         - operator
7793                                       type: object
7794                                     type: array
7795                                   matchFields:
7796                                     description: A list of node selector requirements by node's fields.
7797                                     items:
7798                                       description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
7799                                       properties:
7800                                         key:
7801                                           description: The label key that the selector applies to.
7802                                           type: string
7803                                         operator:
7804                                           description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
7805                                           type: string
7806                                         values:
7807                                           description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
7808                                           items:
7809                                             type: string
7810                                           type: array
7811                                       required:
7812                                         - key
7813                                         - operator
7814                                       type: object
7815                                     type: array
7816                                 type: object
7817                               weight:
7818                                 description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
7819                                 format: int32
7820                                 type: integer
7821                             required:
7822                               - preference
7823                               - weight
7824                             type: object
7825                           type: array
7826                         requiredDuringSchedulingIgnoredDuringExecution:
7827                           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 an update), the system may or may not try to eventually evict the pod from its node.
7828                           properties:
7829                             nodeSelectorTerms:
7830                               description: Required. A list of node selector terms. The terms are ORed.
7831                               items:
7832                                 description: A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
7833                                 properties:
7834                                   matchExpressions:
7835                                     description: A list of node selector requirements by node's labels.
7836                                     items:
7837                                       description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
7838                                       properties:
7839                                         key:
7840                                           description: The label key that the selector applies to.
7841                                           type: string
7842                                         operator:
7843                                           description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
7844                                           type: string
7845                                         values:
7846                                           description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
7847                                           items:
7848                                             type: string
7849                                           type: array
7850                                       required:
7851                                         - key
7852                                         - operator
7853                                       type: object
7854                                     type: array
7855                                   matchFields:
7856                                     description: A list of node selector requirements by node's fields.
7857                                     items:
7858                                       description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
7859                                       properties:
7860                                         key:
7861                                           description: The label key that the selector applies to.
7862                                           type: string
7863                                         operator:
7864                                           description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
7865                                           type: string
7866                                         values:
7867                                           description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
7868                                           items:
7869                                             type: string
7870                                           type: array
7871                                       required:
7872                                         - key
7873                                         - operator
7874                                       type: object
7875                                     type: array
7876                                 type: object
7877                               type: array
7878                           required:
7879                             - nodeSelectorTerms
7880                           type: object
7881                       type: object
7882                     podAffinity:
7883                       description: PodAffinity is a group of inter pod affinity scheduling rules
7884                       properties:
7885                         preferredDuringSchedulingIgnoredDuringExecution:
7886                           description: The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "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.
7887                           items:
7888                             description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
7889                             properties:
7890                               podAffinityTerm:
7891                                 description: Required. A pod affinity term, associated with the corresponding weight.
7892                                 properties:
7893                                   labelSelector:
7894                                     description: A label query over a set of resources, in this case pods.
7895                                     properties:
7896                                       matchExpressions:
7897                                         description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
7898                                         items:
7899                                           description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
7900                                           properties:
7901                                             key:
7902                                               description: key is the label key that the selector applies to.
7903                                               type: string
7904                                             operator:
7905                                               description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
7906                                               type: string
7907                                             values:
7908                                               description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
7909                                               items:
7910                                                 type: string
7911                                               type: array
7912                                           required:
7913                                             - key
7914                                             - operator
7915                                           type: object
7916                                         type: array
7917                                       matchLabels:
7918                                         additionalProperties:
7919                                           type: string
7920                                         description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
7921                                         type: object
7922                                     type: object
7923                                   namespaceSelector:
7924                                     description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
7925                                     properties:
7926                                       matchExpressions:
7927                                         description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
7928                                         items:
7929                                           description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
7930                                           properties:
7931                                             key:
7932                                               description: key is the label key that the selector applies to.
7933                                               type: string
7934                                             operator:
7935                                               description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
7936                                               type: string
7937                                             values:
7938                                               description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
7939                                               items:
7940                                                 type: string
7941                                               type: array
7942                                           required:
7943                                             - key
7944                                             - operator
7945                                           type: object
7946                                         type: array
7947                                       matchLabels:
7948                                         additionalProperties:
7949                                           type: string
7950                                         description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
7951                                         type: object
7952                                     type: object
7953                                   namespaces:
7954                                     description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
7955                                     items:
7956                                       type: string
7957                                     type: array
7958                                   topologyKey:
7959                                     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.
7960                                     type: string
7961                                 required:
7962                                   - topologyKey
7963                                 type: object
7964                               weight:
7965                                 description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
7966                                 format: int32
7967                                 type: integer
7968                             required:
7969                               - podAffinityTerm
7970                               - weight
7971                             type: object
7972                           type: array
7973                         requiredDuringSchedulingIgnoredDuringExecution:
7974                           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.
7975                           items:
7976                             description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, 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 a pod of the set of pods is running
7977                             properties:
7978                               labelSelector:
7979                                 description: A label query over a set of resources, in this case pods.
7980                                 properties:
7981                                   matchExpressions:
7982                                     description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
7983                                     items:
7984                                       description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
7985                                       properties:
7986                                         key:
7987                                           description: key is the label key that the selector applies to.
7988                                           type: string
7989                                         operator:
7990                                           description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
7991                                           type: string
7992                                         values:
7993                                           description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
7994                                           items:
7995                                             type: string
7996                                           type: array
7997                                       required:
7998                                         - key
7999                                         - operator
8000                                       type: object
8001                                     type: array
8002                                   matchLabels:
8003                                     additionalProperties:
8004                                       type: string
8005                                     description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
8006                                     type: object
8007                                 type: object
8008                               namespaceSelector:
8009                                 description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
8010                                 properties:
8011                                   matchExpressions:
8012                                     description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
8013                                     items:
8014                                       description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
8015                                       properties:
8016                                         key:
8017                                           description: key is the label key that the selector applies to.
8018                                           type: string
8019                                         operator:
8020                                           description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
8021                                           type: string
8022                                         values:
8023                                           description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
8024                                           items:
8025                                             type: string
8026                                           type: array
8027                                       required:
8028                                         - key
8029                                         - operator
8030                                       type: object
8031                                     type: array
8032                                   matchLabels:
8033                                     additionalProperties:
8034                                       type: string
8035                                     description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
8036                                     type: object
8037                                 type: object
8038                               namespaces:
8039                                 description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
8040                                 items:
8041                                   type: string
8042                                 type: array
8043                               topologyKey:
8044                                 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.
8045                                 type: string
8046                             required:
8047                               - topologyKey
8048                             type: object
8049                           type: array
8050                       type: object
8051                     podAntiAffinity:
8052                       description: PodAntiAffinity is a group of inter pod anti affinity scheduling rules
8053                       properties:
8054                         preferredDuringSchedulingIgnoredDuringExecution:
8055                           description: The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "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.
8056                           items:
8057                             description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
8058                             properties:
8059                               podAffinityTerm:
8060                                 description: Required. A pod affinity term, associated with the corresponding weight.
8061                                 properties:
8062                                   labelSelector:
8063                                     description: A label query over a set of resources, in this case pods.
8064                                     properties:
8065                                       matchExpressions:
8066                                         description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
8067                                         items:
8068                                           description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
8069                                           properties:
8070                                             key:
8071                                               description: key is the label key that the selector applies to.
8072                                               type: string
8073                                             operator:
8074                                               description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
8075                                               type: string
8076                                             values:
8077                                               description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
8078                                               items:
8079                                                 type: string
8080                                               type: array
8081                                           required:
8082                                             - key
8083                                             - operator
8084                                           type: object
8085                                         type: array
8086                                       matchLabels:
8087                                         additionalProperties:
8088                                           type: string
8089                                         description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
8090                                         type: object
8091                                     type: object
8092                                   namespaceSelector:
8093                                     description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
8094                                     properties:
8095                                       matchExpressions:
8096                                         description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
8097                                         items:
8098                                           description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
8099                                           properties:
8100                                             key:
8101                                               description: key is the label key that the selector applies to.
8102                                               type: string
8103                                             operator:
8104                                               description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
8105                                               type: string
8106                                             values:
8107                                               description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
8108                                               items:
8109                                                 type: string
8110                                               type: array
8111                                           required:
8112                                             - key
8113                                             - operator
8114                                           type: object
8115                                         type: array
8116                                       matchLabels:
8117                                         additionalProperties:
8118                                           type: string
8119                                         description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
8120                                         type: object
8121                                     type: object
8122                                   namespaces:
8123                                     description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
8124                                     items:
8125                                       type: string
8126                                     type: array
8127                                   topologyKey:
8128                                     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.
8129                                     type: string
8130                                 required:
8131                                   - topologyKey
8132                                 type: object
8133                               weight:
8134                                 description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
8135                                 format: int32
8136                                 type: integer
8137                             required:
8138                               - podAffinityTerm
8139                               - weight
8140                             type: object
8141                           type: array
8142                         requiredDuringSchedulingIgnoredDuringExecution:
8143                           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.
8144                           items:
8145                             description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, 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 a pod of the set of pods is running
8146                             properties:
8147                               labelSelector:
8148                                 description: A label query over a set of resources, in this case pods.
8149                                 properties:
8150                                   matchExpressions:
8151                                     description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
8152                                     items:
8153                                       description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
8154                                       properties:
8155                                         key:
8156                                           description: key is the label key that the selector applies to.
8157                                           type: string
8158                                         operator:
8159                                           description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
8160                                           type: string
8161                                         values:
8162                                           description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
8163                                           items:
8164                                             type: string
8165                                           type: array
8166                                       required:
8167                                         - key
8168                                         - operator
8169                                       type: object
8170                                     type: array
8171                                   matchLabels:
8172                                     additionalProperties:
8173                                       type: string
8174                                     description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
8175                                     type: object
8176                                 type: object
8177                               namespaceSelector:
8178                                 description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
8179                                 properties:
8180                                   matchExpressions:
8181                                     description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
8182                                     items:
8183                                       description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
8184                                       properties:
8185                                         key:
8186                                           description: key is the label key that the selector applies to.
8187                                           type: string
8188                                         operator:
8189                                           description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
8190                                           type: string
8191                                         values:
8192                                           description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
8193                                           items:
8194                                             type: string
8195                                           type: array
8196                                       required:
8197                                         - key
8198                                         - operator
8199                                       type: object
8200                                     type: array
8201                                   matchLabels:
8202                                     additionalProperties:
8203                                       type: string
8204                                     description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
8205                                     type: object
8206                                 type: object
8207                               namespaces:
8208                                 description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"
8209                                 items:
8210                                   type: string
8211                                 type: array
8212                               topologyKey:
8213                                 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.
8214                                 type: string
8215                             required:
8216                               - topologyKey
8217                             type: object
8218                           type: array
8219                       type: object
8220                     tolerations:
8221                       description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>
8222                       items:
8223                         description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.
8224                         properties:
8225                           effect:
8226                             description: Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
8227                             type: string
8228                           key:
8229                             description: Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.
8230                             type: string
8231                           operator:
8232                             description: Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.
8233                             type: string
8234                           tolerationSeconds:
8235                             description: TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.
8236                             format: int64
8237                             type: integer
8238                           value:
8239                             description: Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.
8240                             type: string
8241                         type: object
8242                       type: array
8243                     topologySpreadConstraints:
8244                       description: TopologySpreadConstraint specifies how to spread matching pods among the given topology
8245                       items:
8246                         description: TopologySpreadConstraint specifies how to spread matching pods among the given topology.
8247                         properties:
8248                           labelSelector:
8249                             description: LabelSelector is used to find matching pods. Pods that match this label selector are counted to determine the number of pods in their corresponding topology domain.
8250                             properties:
8251                               matchExpressions:
8252                                 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
8253                                 items:
8254                                   description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
8255                                   properties:
8256                                     key:
8257                                       description: key is the label key that the selector applies to.
8258                                       type: string
8259                                     operator:
8260                                       description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
8261                                       type: string
8262                                     values:
8263                                       description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
8264                                       items:
8265                                         type: string
8266                                       type: array
8267                                   required:
8268                                     - key
8269                                     - operator
8270                                   type: object
8271                                 type: array
8272                               matchLabels:
8273                                 additionalProperties:
8274                                   type: string
8275                                 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
8276                                 type: object
8277                             type: object
8278                           maxSkew:
8279                             description: 'MaxSkew describes the degree to which pods may be unevenly distributed. When `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference between the number of matching pods in the target topology and the global minimum. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 1/1/0: | zone1 | zone2 | zone3 | |   P   |   P   |       | - if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 1/1/1; scheduling it onto zone1(zone2) would make the ActualSkew(2-0) on zone1(zone2) violate MaxSkew(1). - if MaxSkew is 2, incoming pod can be scheduled onto any zone. When `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence to topologies that satisfy it. It''s a required field. Default value is 1 and 0 is not allowed.'
8280                             format: int32
8281                             type: integer
8282                           topologyKey:
8283                             description: TopologyKey is the key of node labels. Nodes that have a label with this key and identical values are considered to be in the same topology. We consider each <key, value> as a "bucket", and try to put balanced number of pods into each bucket. It's a required field.
8284                             type: string
8285                           whenUnsatisfiable:
8286                             description: 'WhenUnsatisfiable indicates how to deal with a pod if it doesn''t satisfy the spread constraint. - DoNotSchedule (default) tells the scheduler not to schedule it. - ScheduleAnyway tells the scheduler to schedule the pod in any location,   but giving higher precedence to topologies that would help reduce the   skew. A constraint is considered "Unsatisfiable" for an incoming pod if and only if every possible node assigment for that pod would violate "MaxSkew" on some topology. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 3/1/1: | zone1 | zone2 | zone3 | | P P P |   P   |   P   | If WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled to zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies MaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler won''t make it *more* imbalanced. It''s a required field.'
8287                             type: string
8288                         required:
8289                           - maxSkew
8290                           - topologyKey
8291                           - whenUnsatisfiable
8292                         type: object
8293                       type: array
8294                   type: object
8295                   x-kubernetes-preserve-unknown-fields: true
8296                 priorityClassName:
8297                   description: PriorityClassName sets priority class on the rbd mirror pods
8298                   type: string
8299                 resources:
8300                   description: The resource requirements for the rbd mirror pods
8301                   nullable: true
8302                   properties:
8303                     limits:
8304                       additionalProperties:
8305                         anyOf:
8306                           - type: integer
8307                           - type: string
8308                         pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
8309                         x-kubernetes-int-or-string: true
8310                       description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
8311                       type: object
8312                     requests:
8313                       additionalProperties:
8314                         anyOf:
8315                           - type: integer
8316                           - type: string
8317                         pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
8318                         x-kubernetes-int-or-string: true
8319                       description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
8320                       type: object
8321                   type: object
8322                   x-kubernetes-preserve-unknown-fields: true
8323               required:
8324                 - count
8325               type: object
8326             status:
8327               description: Status represents the status of an object
8328               properties:
8329                 phase:
8330                   type: string
8331               type: object
8332               x-kubernetes-preserve-unknown-fields: true
8333           required:
8334             - metadata
8335             - spec
8336           type: object
8337       served: true
8338       storage: true
8339       subresources:
8340         status: {}
8341 status:
8342   acceptedNames:
8343     kind: ""
8344     plural: ""
8345   conditions: []
8346   storedVersions: []
8347 ---
8348 apiVersion: apiextensions.k8s.io/v1
8349 kind: CustomResourceDefinition
8350 metadata:
8351   name: objectbucketclaims.objectbucket.io
8352 spec:
8353   group: objectbucket.io
8354   names:
8355     kind: ObjectBucketClaim
8356     listKind: ObjectBucketClaimList
8357     plural: objectbucketclaims
8358     singular: objectbucketclaim
8359     shortNames:
8360       - obc
8361       - obcs
8362   scope: Namespaced
8363   versions:
8364     - name: v1alpha1
8365       served: true
8366       storage: true
8367       schema:
8368         openAPIV3Schema:
8369           type: object
8370           properties:
8371             spec:
8372               type: object
8373               properties:
8374                 storageClassName:
8375                   type: string
8376                 bucketName:
8377                   type: string
8378                 generateBucketName:
8379                   type: string
8380                 additionalConfig:
8381                   type: object
8382                   nullable: true
8383                   x-kubernetes-preserve-unknown-fields: true
8384                 objectBucketName:
8385                   type: string
8386             status:
8387               type: object
8388               x-kubernetes-preserve-unknown-fields: true
8389       subresources:
8390         status: {}
8391 ---
8392 apiVersion: apiextensions.k8s.io/v1
8393 kind: CustomResourceDefinition
8394 metadata:
8395   name: objectbuckets.objectbucket.io
8396 spec:
8397   group: objectbucket.io
8398   names:
8399     kind: ObjectBucket
8400     listKind: ObjectBucketList
8401     plural: objectbuckets
8402     singular: objectbucket
8403     shortNames:
8404       - ob
8405       - obs
8406   scope: Cluster
8407   versions:
8408     - name: v1alpha1
8409       served: true
8410       storage: true
8411       schema:
8412         openAPIV3Schema:
8413           type: object
8414           properties:
8415             spec:
8416               type: object
8417               properties:
8418                 storageClassName:
8419                   type: string
8420                 endpoint:
8421                   type: object
8422                   nullable: true
8423                   properties:
8424                     bucketHost:
8425                       type: string
8426                     bucketPort:
8427                       type: integer
8428                       format: int32
8429                     bucketName:
8430                       type: string
8431                     region:
8432                       type: string
8433                     subRegion:
8434                       type: string
8435                     additionalConfig:
8436                       type: object
8437                       nullable: true
8438                       x-kubernetes-preserve-unknown-fields: true
8439                 authentication:
8440                   type: object
8441                   nullable: true
8442                   items:
8443                     type: object
8444                     x-kubernetes-preserve-unknown-fields: true
8445                 additionalState:
8446                   type: object
8447                   nullable: true
8448                   x-kubernetes-preserve-unknown-fields: true
8449                 reclaimPolicy:
8450                   type: string
8451                 claimRef:
8452                   type: object
8453                   nullable: true
8454                   x-kubernetes-preserve-unknown-fields: true
8455             status:
8456               type: object
8457               x-kubernetes-preserve-unknown-fields: true
8458       subresources:
8459         status: {}
8460 ---
8461 apiVersion: apiextensions.k8s.io/v1
8462 kind: CustomResourceDefinition
8463 metadata:
8464   annotations:
8465     controller-gen.kubebuilder.io/version: v0.5.1-0.20210420220833-f284e2e8098c
8466   creationTimestamp: null
8467   name: volumereplicationclasses.replication.storage.openshift.io
8468 spec:
8469   group: replication.storage.openshift.io
8470   names:
8471     kind: VolumeReplicationClass
8472     listKind: VolumeReplicationClassList
8473     plural: volumereplicationclasses
8474     shortNames:
8475       - vrc
8476     singular: volumereplicationclass
8477   scope: Cluster
8478   versions:
8479     - additionalPrinterColumns:
8480         - jsonPath: .spec.provisioner
8481           name: provisioner
8482           type: string
8483       name: v1alpha1
8484       schema:
8485         openAPIV3Schema:
8486           description: VolumeReplicationClass is the Schema for the volumereplicationclasses API
8487           properties:
8488             apiVersion:
8489               description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
8490               type: string
8491             kind:
8492               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'
8493               type: string
8494             metadata:
8495               type: object
8496             spec:
8497               description: VolumeReplicationClassSpec specifies parameters that an underlying storage system uses when creating a volume replica. A specific VolumeReplicationClass is used by specifying its name in a VolumeReplication object.
8498               properties:
8499                 parameters:
8500                   additionalProperties:
8501                     type: string
8502                   description: Parameters is a key-value map with storage provisioner specific configurations for creating volume replicas
8503                   type: object
8504                 provisioner:
8505                   description: Provisioner is the name of storage provisioner
8506                   type: string
8507               required:
8508                 - provisioner
8509               type: object
8510             status:
8511               description: VolumeReplicationClassStatus defines the observed state of VolumeReplicationClass
8512               type: object
8513           type: object
8514       served: true
8515       storage: true
8516       subresources:
8517         status: {}
8518 status:
8519   acceptedNames:
8520     kind: ""
8521     plural: ""
8522   conditions: []
8523   storedVersions: []
8524 ---
8525 apiVersion: apiextensions.k8s.io/v1
8526 kind: CustomResourceDefinition
8527 metadata:
8528   annotations:
8529     controller-gen.kubebuilder.io/version: v0.5.1-0.20210420220833-f284e2e8098c
8530   creationTimestamp: null
8531   name: volumereplications.replication.storage.openshift.io
8532 spec:
8533   group: replication.storage.openshift.io
8534   names:
8535     kind: VolumeReplication
8536     listKind: VolumeReplicationList
8537     plural: volumereplications
8538     shortNames:
8539       - vr
8540     singular: volumereplication
8541   scope: Namespaced
8542   versions:
8543     - additionalPrinterColumns:
8544         - jsonPath: .metadata.creationTimestamp
8545           name: Age
8546           type: date
8547         - jsonPath: .spec.volumeReplicationClass
8548           name: volumeReplicationClass
8549           type: string
8550         - jsonPath: .spec.dataSource.name
8551           name: pvcName
8552           type: string
8553         - jsonPath: .spec.replicationState
8554           name: desiredState
8555           type: string
8556         - jsonPath: .status.state
8557           name: currentState
8558           type: string
8559       name: v1alpha1
8560       schema:
8561         openAPIV3Schema:
8562           description: VolumeReplication is the Schema for the volumereplications API
8563           properties:
8564             apiVersion:
8565               description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
8566               type: string
8567             kind:
8568               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'
8569               type: string
8570             metadata:
8571               type: object
8572             spec:
8573               description: VolumeReplicationSpec defines the desired state of VolumeReplication
8574               properties:
8575                 dataSource:
8576                   description: DataSource represents the object associated with the volume
8577                   properties:
8578                     apiGroup:
8579                       description: APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required.
8580                       type: string
8581                     kind:
8582                       description: Kind is the type of resource being referenced
8583                       type: string
8584                     name:
8585                       description: Name is the name of resource being referenced
8586                       type: string
8587                   required:
8588                     - kind
8589                     - name
8590                   type: object
8591                 replicationState:
8592                   description: ReplicationState represents the replication operation to be performed on the volume. Supported operations are "primary", "secondary" and "resync"
8593                   enum:
8594                     - primary
8595                     - secondary
8596                     - resync
8597                   type: string
8598                 volumeReplicationClass:
8599                   description: VolumeReplicationClass is the VolumeReplicationClass name for this VolumeReplication resource
8600                   type: string
8601               required:
8602                 - dataSource
8603                 - replicationState
8604                 - volumeReplicationClass
8605               type: object
8606             status:
8607               description: VolumeReplicationStatus defines the observed state of VolumeReplication
8608               properties:
8609                 conditions:
8610                   description: Conditions are the list of conditions and their status.
8611                   items:
8612                     description: "Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions.  For example, type FooStatus struct{     // Represents the observations of a foo's current state.     // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\"     // +patchMergeKey=type     // +patchStrategy=merge     // +listType=map     // +listMapKey=type     Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` \n     // other fields }"
8613                     properties:
8614                       lastTransitionTime:
8615                         description: lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed.  If that is not known, then using the time when the API field changed is acceptable.
8616                         format: date-time
8617                         type: string
8618                       message:
8619                         description: message is a human readable message indicating details about the transition. This may be an empty string.
8620                         maxLength: 32768
8621                         type: string
8622                       observedGeneration:
8623                         description: observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance.
8624                         format: int64
8625                         minimum: 0
8626                         type: integer
8627                       reason:
8628                         description: reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty.
8629                         maxLength: 1024
8630                         minLength: 1
8631                         pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
8632                         type: string
8633                       status:
8634                         description: status of the condition, one of True, False, Unknown.
8635                         enum:
8636                           - "True"
8637                           - "False"
8638                           - Unknown
8639                         type: string
8640                       type:
8641                         description: type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
8642                         maxLength: 316
8643                         pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
8644                         type: string
8645                     required:
8646                       - lastTransitionTime
8647                       - message
8648                       - reason
8649                       - status
8650                       - type
8651                     type: object
8652                   type: array
8653                 lastCompletionTime:
8654                   format: date-time
8655                   type: string
8656                 lastStartTime:
8657                   format: date-time
8658                   type: string
8659                 message:
8660                   type: string
8661                 observedGeneration:
8662                   description: observedGeneration is the last generation change the operator has dealt with
8663                   format: int64
8664                   type: integer
8665                 state:
8666                   description: State captures the latest state of the replication operation
8667                   type: string
8668               type: object
8669           type: object
8670       served: true
8671       storage: true
8672       subresources:
8673         status: {}
8674 status:
8675   acceptedNames:
8676     kind: ""
8677     plural: ""
8678   conditions: []
8679   storedVersions: []
8680 ---
8681 apiVersion: apiextensions.k8s.io/v1
8682 kind: CustomResourceDefinition
8683 metadata:
8684   annotations:
8685     controller-gen.kubebuilder.io/version: v0.5.1-0.20210420220833-f284e2e8098c
8686   creationTimestamp: null
8687   name: volumes.rook.io
8688 spec:
8689   group: rook.io
8690   names:
8691     kind: Volume
8692     listKind: VolumeList
8693     plural: volumes
8694     shortNames:
8695       - rv
8696     singular: volume
8697   scope: Namespaced
8698   versions:
8699     - name: v1alpha2
8700       schema:
8701         openAPIV3Schema:
8702           properties:
8703             apiVersion:
8704               description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
8705               type: string
8706             attachments:
8707               items:
8708                 properties:
8709                   clusterName:
8710                     type: string
8711                   mountDir:
8712                     type: string
8713                   node:
8714                     type: string
8715                   podName:
8716                     type: string
8717                   podNamespace:
8718                     type: string
8719                   readOnly:
8720                     type: boolean
8721                 required:
8722                   - clusterName
8723                   - mountDir
8724                   - node
8725                   - podName
8726                   - podNamespace
8727                   - readOnly
8728                 type: object
8729               type: array
8730             kind:
8731               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'
8732               type: string
8733             metadata:
8734               type: object
8735           required:
8736             - attachments
8737             - metadata
8738           type: object
8739       served: true
8740       storage: true
8741 status:
8742   acceptedNames:
8743     kind: ""
8744     plural: ""
8745   conditions: []
8746   storedVersions: []