Added: 
dev/solr/solr-operator/solr-operator-v0.8.0-RC1-revf2c27102a7e9056c6fe7d8cea6c97bac5a47fcc0/crds/all.yaml
==============================================================================
--- 
dev/solr/solr-operator/solr-operator-v0.8.0-RC1-revf2c27102a7e9056c6fe7d8cea6c97bac5a47fcc0/crds/all.yaml
 (added)
+++ 
dev/solr/solr-operator/solr-operator-v0.8.0-RC1-revf2c27102a7e9056c6fe7d8cea6c97bac5a47fcc0/crds/all.yaml
 Mon Oct 16 19:23:06 2023
@@ -0,0 +1,24345 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+---
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+  annotations:
+    operator.solr.apache.org/version: v0.8.0
+    argocd.argoproj.io/sync-options: Replace=true
+    controller-gen.kubebuilder.io/version: v0.10.0
+  creationTimestamp: null
+  name: solrbackups.solr.apache.org
+spec:
+  group: solr.apache.org
+  names:
+    kind: SolrBackup
+    listKind: SolrBackupList
+    plural: solrbackups
+    singular: solrbackup
+  scope: Namespaced
+  versions:
+  - additionalPrinterColumns:
+    - description: Solr Cloud
+      jsonPath: .spec.solrCloud
+      name: Cloud
+      type: string
+    - description: Most recent time the backup started
+      jsonPath: .status.startTimestamp
+      name: Started
+      type: date
+    - description: Whether the most recent backup has finished
+      jsonPath: .status.finished
+      name: Finished
+      type: boolean
+    - description: Whether the most recent backup was successful
+      jsonPath: .status.successful
+      name: Successful
+      type: boolean
+    - description: Next scheduled time for a recurrent backup
+      format: date-time
+      jsonPath: .status.nextScheduledTime
+      name: NextBackup
+      type: string
+    - jsonPath: .metadata.creationTimestamp
+      name: Age
+      type: date
+    name: v1beta1
+    schema:
+      openAPIV3Schema:
+        description: SolrBackup is the Schema for the solrbackups API
+        properties:
+          apiVersion:
+            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'
+            type: string
+          kind:
+            description: 'Kind is a string value representing the REST 
resource this
+              object represents. Servers may infer this from the endpoint the 
client
+              submits requests to. Cannot be updated. In CamelCase. More info: 
https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
+            type: string
+          metadata:
+            type: object
+          spec:
+            description: SolrBackupSpec defines the desired state of SolrBackup
+            properties:
+              collections:
+                description: The list of collections to backup.
+                items:
+                  type: string
+                type: array
+              location:
+                description: The location to store the backup in the specified 
backup
+                  repository.
+                type: string
+              recurrence:
+                description: "Set this backup to be taken recurrently, with 
options
+                  for scheduling and storage. \n NOTE: This is only supported 
for
+                  Solr Clouds version 8.9+, as it uses the incremental backup 
API."
+                properties:
+                  disabled:
+                    default: false
+                    description: Disable the recurring backups. Note this will 
not
+                      affect any currently-running backup.
+                    type: boolean
+                  maxSaved:
+                    default: 5
+                    description: Define the number of backup points to save 
for this
+                      backup at any given time. The oldest backups will be 
deleted
+                      if too many exist when a backup is taken. If not 
provided, this
+                      defaults to 5.
+                    minimum: 1
+                    type: integer
+                  schedule:
+                    description: "Perform a backup on the given schedule, in 
CRON
+                      format. \n Multiple CRON syntaxes are supported - 
Standard CRON
+                      (e.g. \"CRON_TZ=Asia/Seoul 0 6 * * ?\") - Predefined 
Schedules
+                      (e.g. \"@yearly\", \"@weekly\", \"@daily\", etc.) - 
Intervals
+                      (e.g. \"@every 10h30m\") \n For more information please 
check
+                      this reference: 
https://pkg.go.dev/github.com/robfig/cron/v3?utm_source=godoc#hdr-CRON_Expression_Format";
+                    type: string
+                required:
+                - schedule
+                type: object
+              repositoryName:
+                description: The name of the repository to use for the backup. 
 Defaults
+                  to "legacy_local_repository" if not specified (the 
auto-configured
+                  repository for legacy singleton volumes).
+                maxLength: 100
+                minLength: 1
+                pattern: '[a-zA-Z0-9]([-_a-zA-Z0-9]*[a-zA-Z0-9])?'
+                type: string
+              solrCloud:
+                description: A reference to the SolrCloud to create a backup 
for
+                maxLength: 63
+                minLength: 1
+                pattern: '[a-z0-9]([-a-z0-9]*[a-z0-9])?'
+                type: string
+            required:
+            - solrCloud
+            type: object
+          status:
+            description: SolrBackupStatus defines the observed state of 
SolrBackup
+            properties:
+              collectionBackupStatuses:
+                description: The status of each collection's backup progress
+                items:
+                  description: CollectionBackupStatus defines the progress of 
a Solr
+                    Collection's backup
+                  properties:
+                    asyncBackupStatus:
+                      description: The status of the asynchronous backup call 
to solr
+                      type: string
+                    backupName:
+                      description: BackupName of this collection's backup in 
Solr
+                      type: string
+                    collection:
+                      description: Solr Collection name
+                      type: string
+                    finishTimestamp:
+                      description: Time that the collection backup finished at
+                      format: date-time
+                      type: string
+                    finished:
+                      description: Whether the backup has finished
+                      type: boolean
+                    inProgress:
+                      description: Whether the collection is being backed up
+                      type: boolean
+                    startTimestamp:
+                      description: Time that the collection backup started at
+                      format: date-time
+                      type: string
+                    successful:
+                      description: Whether the backup was successful
+                      type: boolean
+                  required:
+                  - collection
+                  type: object
+                type: array
+              finishTimestamp:
+                description: The time that this backup was finished
+                format: date-time
+                type: string
+              finished:
+                description: Whether the backup has finished
+                type: boolean
+              history:
+                description: The status history of recurring backups
+                items:
+                  description: IndividualSolrBackupStatus defines the observed 
state
+                    of a single issued SolrBackup
+                  properties:
+                    collectionBackupStatuses:
+                      description: The status of each collection's backup 
progress
+                      items:
+                        description: CollectionBackupStatus defines the 
progress of
+                          a Solr Collection's backup
+                        properties:
+                          asyncBackupStatus:
+                            description: The status of the asynchronous backup 
call
+                              to solr
+                            type: string
+                          backupName:
+                            description: BackupName of this collection's 
backup in
+                              Solr
+                            type: string
+                          collection:
+                            description: Solr Collection name
+                            type: string
+                          finishTimestamp:
+                            description: Time that the collection backup 
finished
+                              at
+                            format: date-time
+                            type: string
+                          finished:
+                            description: Whether the backup has finished
+                            type: boolean
+                          inProgress:
+                            description: Whether the collection is being 
backed up
+                            type: boolean
+                          startTimestamp:
+                            description: Time that the collection backup 
started at
+                            format: date-time
+                            type: string
+                          successful:
+                            description: Whether the backup was successful
+                            type: boolean
+                        required:
+                        - collection
+                        type: object
+                      type: array
+                    finishTimestamp:
+                      description: The time that this backup was finished
+                      format: date-time
+                      type: string
+                    finished:
+                      description: Whether the backup has finished
+                      type: boolean
+                    solrVersion:
+                      description: Version of the Solr being backed up
+                      type: string
+                    startTimestamp:
+                      description: The time that this backup was initiated
+                      format: date-time
+                      type: string
+                    successful:
+                      description: Whether the backup was successful
+                      type: boolean
+                  type: object
+                type: array
+              nextScheduledTime:
+                description: The scheduled time for the next backup to occur
+                format: date-time
+                type: string
+              solrVersion:
+                description: Version of the Solr being backed up
+                type: string
+              startTimestamp:
+                description: The time that this backup was initiated
+                format: date-time
+                type: string
+              successful:
+                description: Whether the backup was successful
+                type: boolean
+            type: object
+        type: object
+    served: true
+    storage: true
+    subresources:
+      status: {}
+
+---
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+  annotations:
+    operator.solr.apache.org/version: v0.8.0
+    argocd.argoproj.io/sync-options: Replace=true
+    controller-gen.kubebuilder.io/version: v0.10.0
+  creationTimestamp: null
+  name: solrclouds.solr.apache.org
+spec:
+  group: solr.apache.org
+  names:
+    kind: SolrCloud
+    listKind: SolrCloudList
+    plural: solrclouds
+    shortNames:
+    - solr
+    singular: solrcloud
+  scope: Namespaced
+  versions:
+  - additionalPrinterColumns:
+    - description: Solr Version of the cloud
+      jsonPath: .status.version
+      name: Version
+      type: string
+    - description: Target Solr Version of the cloud
+      jsonPath: .status.targetVersion
+      name: TargetVersion
+      type: string
+    - description: Number of solr nodes configured to run in the cloud
+      jsonPath: .spec.replicas
+      name: DesiredNodes
+      type: integer
+    - description: Number of solr nodes running
+      jsonPath: .status.replicas
+      name: Nodes
+      type: integer
+    - description: Number of solr nodes connected to the cloud
+      jsonPath: .status.readyReplicas
+      name: ReadyNodes
+      type: integer
+    - description: Number of solr nodes running the latest SolrCloud pod spec
+      jsonPath: .status.upToDateNodes
+      name: UpToDateNodes
+      type: integer
+    - jsonPath: .metadata.creationTimestamp
+      name: Age
+      type: date
+    name: v1beta1
+    schema:
+      openAPIV3Schema:
+        description: SolrCloud is the Schema for the solrclouds API
+        properties:
+          apiVersion:
+            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'
+            type: string
+          kind:
+            description: 'Kind is a string value representing the REST 
resource this
+              object represents. Servers may infer this from the endpoint the 
client
+              submits requests to. Cannot be updated. In CamelCase. More info: 
https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
+            type: string
+          metadata:
+            type: object
+          spec:
+            description: SolrCloudSpec defines the desired state of SolrCloud
+            properties:
+              additionalLibs:
+                description: 'List of paths in the Solr Docker image to load 
in the
+                  classpath. Note: Solr Modules will be auto-loaded if 
specified in
+                  the "solrModules" property. There is no need to specify them 
here
+                  as well.'
+                items:
+                  type: string
+                type: array
+              availability:
+                description: Define how Solr nodes should be available.
+                properties:
+                  podDisruptionBudget:
+                    description: Define PodDisruptionBudget(s) to ensure 
availability
+                      of Solr
+                    properties:
+                      enabled:
+                        default: true
+                        description: What method should be used when creating 
PodDisruptionBudget(s)
+                        type: boolean
+                      method:
+                        default: ClusterWide
+                        description: What method should be used when creating 
PodDisruptionBudget(s)
+                        enum:
+                        - ClusterWide
+                        type: string
+                    required:
+                    - enabled
+                    type: object
+                type: object
+              backupRepositories:
+                description: Allows specification of multiple different 
"repositories"
+                  for Solr to use when backing up data.
+                items:
+                  maxProperties: 2
+                  minProperties: 2
+                  properties:
+                    gcs:
+                      description: A GCSRepository for Solr to use when 
backing up
+                        and restoring collections.
+                      properties:
+                        baseLocation:
+                          description: An already-created chroot within the 
bucket
+                            to store data in. Defaults to the root path "/" if 
not
+                            specified.
+                          type: string
+                        bucket:
+                          description: The name of the GCS bucket that all 
backup
+                            data will be stored in
+                          type: string
+                        gcsCredentialSecret:
+                          description: The name & key of a Kubernetes secret 
holding
+                            a Google cloud service account key.  Must be set 
unless
+                            deployed in GKE and making use of Google's 
"Workplace
+                            Identity" feature.
+                          properties:
+                            key:
+                              description: The key of the secret to select 
from.  Must
+                                be a valid secret key.
+                              type: string
+                            name:
+                              description: 'Name of the referent. More info: 
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+                                TODO: Add other useful fields. apiVersion, 
kind, uid?'
+                              type: string
+                            optional:
+                              description: Specify whether the Secret or its 
key must
+                                be defined
+                              type: boolean
+                          required:
+                          - key
+                          type: object
+                          x-kubernetes-map-type: atomic
+                      required:
+                      - bucket
+                      type: object
+                    name:
+                      description: 'A name used to identify this local storage 
profile.  Values
+                        should follow RFC-1123.  (See here for more details: 
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#dns-label-names)'
+                      maxLength: 100
+                      minLength: 1
+                      pattern: '[a-zA-Z0-9]([-_a-zA-Z0-9]*[a-zA-Z0-9])?'
+                      type: string
+                    s3:
+                      description: An S3Repository for Solr to use when 
backing up
+                        and restoring collections.
+                      properties:
+                        baseLocation:
+                          description: An already-created chroot within the 
bucket
+                            to store data in. Defaults to the root path "/" if 
not
+                            specified.
+                          type: string
+                        bucket:
+                          description: The name of the S3 bucket that all 
backup data
+                            will be stored in
+                          type: string
+                        credentials:
+                          description: "Options for specifying S3Credentials. 
This
+                            is optional in case you want to mount this 
information
+                            yourself. However, if you do not include these 
credentials,
+                            and you do not load them yourself via a mount or 
EnvVars,
+                            you will likely see errors when taking s3 backups. 
\n
+                            If running in EKS, you can create an 
IAMServiceAccount
+                            that uses a role permissioned for this S3 bucket. 
Then
+                            use that serviceAccountName for your SolrCloud, 
and the
+                            credentials should be auto-populated."
+                          properties:
+                            accessKeyIdSecret:
+                              description: The name & key of a Kubernetes 
secret holding
+                                an AWS Access Key ID
+                              properties:
+                                key:
+                                  description: The key of the secret to select 
from.  Must
+                                    be a valid secret key.
+                                  type: string
+                                name:
+                                  description: 'Name of the referent. More 
info: 
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+                                    TODO: Add other useful fields. apiVersion, 
kind,
+                                    uid?'
+                                  type: string
+                                optional:
+                                  description: Specify whether the Secret or 
its key
+                                    must be defined
+                                  type: boolean
+                              required:
+                              - key
+                              type: object
+                              x-kubernetes-map-type: atomic
+                            credentialsFileSecret:
+                              description: The name & key of a Kubernetes 
secret holding
+                                an AWS credentials file
+                              properties:
+                                key:
+                                  description: The key of the secret to select 
from.  Must
+                                    be a valid secret key.
+                                  type: string
+                                name:
+                                  description: 'Name of the referent. More 
info: 
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+                                    TODO: Add other useful fields. apiVersion, 
kind,
+                                    uid?'
+                                  type: string
+                                optional:
+                                  description: Specify whether the Secret or 
its key
+                                    must be defined
+                                  type: boolean
+                              required:
+                              - key
+                              type: object
+                              x-kubernetes-map-type: atomic
+                            secretAccessKeySecret:
+                              description: The name & key of a Kubernetes 
secret holding
+                                an AWS Secret Access Key
+                              properties:
+                                key:
+                                  description: The key of the secret to select 
from.  Must
+                                    be a valid secret key.
+                                  type: string
+                                name:
+                                  description: 'Name of the referent. More 
info: 
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+                                    TODO: Add other useful fields. apiVersion, 
kind,
+                                    uid?'
+                                  type: string
+                                optional:
+                                  description: Specify whether the Secret or 
its key
+                                    must be defined
+                                  type: boolean
+                              required:
+                              - key
+                              type: object
+                              x-kubernetes-map-type: atomic
+                            sessionTokenSecret:
+                              description: The name & key of a Kubernetes 
secret holding
+                                an AWS Session Token
+                              properties:
+                                key:
+                                  description: The key of the secret to select 
from.  Must
+                                    be a valid secret key.
+                                  type: string
+                                name:
+                                  description: 'Name of the referent. More 
info: 
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+                                    TODO: Add other useful fields. apiVersion, 
kind,
+                                    uid?'
+                                  type: string
+                                optional:
+                                  description: Specify whether the Secret or 
its key
+                                    must be defined
+                                  type: boolean
+                              required:
+                              - key
+                              type: object
+                              x-kubernetes-map-type: atomic
+                          type: object
+                        endpoint:
+                          description: The full endpoint URL to use when 
connecting
+                            with S3 (or a supported S3 compatible interface)
+                          type: string
+                        proxyUrl:
+                          description: The full proxy URL to use when 
connecting with
+                            S3
+                          type: string
+                        region:
+                          description: The S3 region to store the backup data 
in
+                          type: string
+                      required:
+                      - bucket
+                      - region
+                      type: object
+                    volume:
+                      description: Allows specification of a "repository" for 
Solr
+                        to use when backing up data "locally".
+                      properties:
+                        directory:
+                          description: Select a custom directory name to mount 
the
+                            backup/restore data in the given volume. If not 
specified,
+                            then the name of the solrcloud will be used by 
default.
+                          type: string
+                        source:
+                          description: 'This is a volumeSource for a volume 
that will
+                            be mounted to all solrNodes to store backups and 
load
+                            restores. The data within the volume will be 
namespaced
+                            for this instance, so feel free to use the same 
volume
+                            for multiple clouds. Since the volume will be 
mounted
+                            to all solrNodes, it must be able to be written 
from multiple
+                            pods. If a PVC reference is given, the PVC must 
have `accessModes:
+                            - ReadWriteMany`. Other options are to use a NFS 
volume.'
+                          properties:
+                            awsElasticBlockStore:
+                              description: 'awsElasticBlockStore represents an 
AWS
+                                Disk resource that is attached to a kubelet''s 
host
+                                machine and then exposed to the pod. More 
info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore'
+                              properties:
+                                fsType:
+                                  description: 'fsType is the filesystem type 
of the
+                                    volume that you want to mount. Tip: Ensure 
that
+                                    the filesystem type is supported by the 
host operating
+                                    system. Examples: "ext4", "xfs", "ntfs". 
Implicitly
+                                    inferred to be "ext4" if unspecified. More 
info:
+                                    
https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
+                                    TODO: how do we prevent errors in the 
filesystem
+                                    from compromising the machine'
+                                  type: string
+                                partition:
+                                  description: 'partition is the partition in 
the
+                                    volume that you want to mount. If omitted, 
the
+                                    default is to mount by volume name. 
Examples:
+                                    For volume /dev/sda1, you specify the 
partition
+                                    as "1". Similarly, the volume partition 
for /dev/sda
+                                    is "0" (or you can leave the property 
empty).'
+                                  format: int32
+                                  type: integer
+                                readOnly:
+                                  description: 'readOnly value true will force 
the
+                                    readOnly setting in VolumeMounts. More 
info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore'
+                                  type: boolean
+                                volumeID:
+                                  description: 'volumeID is unique ID of the 
persistent
+                                    disk resource in AWS (Amazon EBS volume). 
More
+                                    info: 
https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore'
+                                  type: string
+                              required:
+                              - volumeID
+                              type: object
+                            azureDisk:
+                              description: azureDisk represents an Azure Data 
Disk
+                                mount on the host and bind mount to the pod.
+                              properties:
+                                cachingMode:
+                                  description: 'cachingMode is the Host 
Caching mode:
+                                    None, Read Only, Read Write.'
+                                  type: string
+                                diskName:
+                                  description: diskName is the Name of the 
data disk
+                                    in the blob storage
+                                  type: string
+                                diskURI:
+                                  description: diskURI is the URI of data disk 
in
+                                    the blob storage
+                                  type: string
+                                fsType:
+                                  description: fsType is Filesystem type to 
mount.
+                                    Must be a filesystem type supported by the 
host
+                                    operating system. Ex. "ext4", "xfs", 
"ntfs". Implicitly
+                                    inferred to be "ext4" if unspecified.
+                                  type: string
+                                kind:
+                                  description: 'kind expected values are 
Shared: multiple
+                                    blob disks per storage account  Dedicated: 
single
+                                    blob disk per storage account  Managed: 
azure
+                                    managed data disk (only in managed 
availability
+                                    set). defaults to shared'
+                                  type: string
+                                readOnly:
+                                  description: readOnly Defaults to false 
(read/write).
+                                    ReadOnly here will force the ReadOnly 
setting
+                                    in VolumeMounts.
+                                  type: boolean
+                              required:
+                              - diskName
+                              - diskURI
+                              type: object
+                            azureFile:
+                              description: azureFile represents an Azure File 
Service
+                                mount on the host and bind mount to the pod.
+                              properties:
+                                readOnly:
+                                  description: readOnly defaults to false 
(read/write).
+                                    ReadOnly here will force the ReadOnly 
setting
+                                    in VolumeMounts.
+                                  type: boolean
+                                secretName:
+                                  description: secretName is the  name of 
secret that
+                                    contains Azure Storage Account Name and Key
+                                  type: string
+                                shareName:
+                                  description: shareName is the azure share 
Name
+                                  type: string
+                              required:
+                              - secretName
+                              - shareName
+                              type: object
+                            cephfs:
+                              description: cephFS represents a Ceph FS mount 
on the
+                                host that shares a pod's lifetime
+                              properties:
+                                monitors:
+                                  description: 'monitors is Required: Monitors 
is
+                                    a collection of Ceph monitors More info: 
https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
+                                  items:
+                                    type: string
+                                  type: array
+                                path:
+                                  description: 'path is Optional: Used as the 
mounted
+                                    root, rather than the full Ceph tree, 
default
+                                    is /'
+                                  type: string
+                                readOnly:
+                                  description: 'readOnly is Optional: Defaults 
to
+                                    false (read/write). ReadOnly here will 
force the
+                                    ReadOnly setting in VolumeMounts. More 
info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
+                                  type: boolean
+                                secretFile:
+                                  description: 'secretFile is Optional: 
SecretFile
+                                    is the path to key ring for User, default 
is /etc/ceph/user.secret
+                                    More info: 
https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
+                                  type: string
+                                secretRef:
+                                  description: 'secretRef is Optional: 
SecretRef is
+                                    reference to the authentication secret for 
User,
+                                    default is empty. More info: 
https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
+                                  properties:
+                                    name:
+                                      description: 'Name of the referent. More 
info:
+                                        
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+                                        TODO: Add other useful fields. 
apiVersion,
+                                        kind, uid?'
+                                      type: string
+                                  type: object
+                                  x-kubernetes-map-type: atomic
+                                user:
+                                  description: 'user is optional: User is the 
rados
+                                    user name, default is admin More info: 
https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
+                                  type: string
+                              required:
+                              - monitors
+                              type: object
+                            cinder:
+                              description: 'cinder represents a cinder volume 
attached
+                                and mounted on kubelets host machine. More 
info: https://examples.k8s.io/mysql-cinder-pd/README.md'
+                              properties:
+                                fsType:
+                                  description: 'fsType is the filesystem type 
to mount.
+                                    Must be a filesystem type supported by the 
host
+                                    operating system. Examples: "ext4", "xfs", 
"ntfs".
+                                    Implicitly inferred to be "ext4" if 
unspecified.
+                                    More info: 
https://examples.k8s.io/mysql-cinder-pd/README.md'
+                                  type: string
+                                readOnly:
+                                  description: 'readOnly defaults to false 
(read/write).
+                                    ReadOnly here will force the ReadOnly 
setting
+                                    in VolumeMounts. More info: 
https://examples.k8s.io/mysql-cinder-pd/README.md'
+                                  type: boolean
+                                secretRef:
+                                  description: 'secretRef is optional: points 
to a
+                                    secret object containing parameters used 
to connect
+                                    to OpenStack.'
+                                  properties:
+                                    name:
+                                      description: 'Name of the referent. More 
info:
+                                        
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+                                        TODO: Add other useful fields. 
apiVersion,
+                                        kind, uid?'
+                                      type: string
+                                  type: object
+                                  x-kubernetes-map-type: atomic
+                                volumeID:
+                                  description: 'volumeID used to identify the 
volume
+                                    in cinder. More info: 
https://examples.k8s.io/mysql-cinder-pd/README.md'
+                                  type: string
+                              required:
+                              - volumeID
+                              type: object
+                            configMap:
+                              description: configMap represents a configMap 
that should
+                                populate this volume
+                              properties:
+                                defaultMode:
+                                  description: 'defaultMode is optional: mode 
bits
+                                    used to set permissions on created files 
by default.
+                                    Must be an octal value between 0000 and 
0777 or
+                                    a decimal value between 0 and 511. YAML 
accepts
+                                    both octal and decimal values, JSON 
requires decimal
+                                    values for mode bits. Defaults to 0644. 
Directories
+                                    within the path are not affected by this 
setting.
+                                    This might be in conflict with other 
options that
+                                    affect the file mode, like fsGroup, and 
the result
+                                    can be other mode bits set.'
+                                  format: int32
+                                  type: integer
+                                items:
+                                  description: items if unspecified, each 
key-value
+                                    pair in the Data field of the referenced 
ConfigMap
+                                    will be projected into the volume as a 
file whose
+                                    name is the key and content is the value. 
If specified,
+                                    the listed keys will be projected into the 
specified
+                                    paths, and unlisted keys will not be 
present.
+                                    If a key is specified which is not present 
in
+                                    the ConfigMap, the volume setup will error 
unless
+                                    it is marked optional. Paths must be 
relative
+                                    and may not contain the '..' path or start 
with
+                                    '..'.
+                                  items:
+                                    description: Maps a string key to a path 
within
+                                      a volume.
+                                    properties:
+                                      key:
+                                        description: key is the key to project.
+                                        type: string
+                                      mode:
+                                        description: 'mode is Optional: mode 
bits
+                                          used to set permissions on this 
file. Must
+                                          be an octal value between 0000 and 
0777
+                                          or a decimal value between 0 and 
511. YAML
+                                          accepts both octal and decimal 
values, JSON
+                                          requires decimal values for mode 
bits. If
+                                          not specified, the volume 
defaultMode will
+                                          be used. This might be in conflict 
with
+                                          other options that affect the file 
mode,
+                                          like fsGroup, and the result can be 
other
+                                          mode bits set.'
+                                        format: int32
+                                        type: integer
+                                      path:
+                                        description: path is the relative path 
of
+                                          the file to map the key to. May not 
be an
+                                          absolute path. May not contain the 
path
+                                          element '..'. May not start with the 
string
+                                          '..'.
+                                        type: string
+                                    required:
+                                    - key
+                                    - path
+                                    type: object
+                                  type: array
+                                name:
+                                  description: 'Name of the referent. More 
info: 
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+                                    TODO: Add other useful fields. apiVersion, 
kind,
+                                    uid?'
+                                  type: string
+                                optional:
+                                  description: optional specify whether the 
ConfigMap
+                                    or its keys must be defined
+                                  type: boolean
+                              type: object
+                              x-kubernetes-map-type: atomic
+                            csi:
+                              description: csi (Container Storage Interface) 
represents
+                                ephemeral storage that is handled by certain 
external
+                                CSI drivers (Beta feature).
+                              properties:
+                                driver:
+                                  description: driver is the name of the CSI 
driver
+                                    that handles this volume. Consult with 
your admin
+                                    for the correct name as registered in the 
cluster.
+                                  type: string
+                                fsType:
+                                  description: fsType to mount. Ex. "ext4", 
"xfs",
+                                    "ntfs". If not provided, the empty value 
is passed
+                                    to the associated CSI driver which will 
determine
+                                    the default filesystem to apply.
+                                  type: string
+                                nodePublishSecretRef:
+                                  description: nodePublishSecretRef is a 
reference
+                                    to the secret object containing sensitive 
information
+                                    to pass to the CSI driver to complete the 
CSI
+                                    NodePublishVolume and NodeUnpublishVolume 
calls.
+                                    This field is optional, and  may be empty 
if no
+                                    secret is required. If the secret object 
contains
+                                    more than one secret, all secret 
references are
+                                    passed.
+                                  properties:
+                                    name:
+                                      description: 'Name of the referent. More 
info:
+                                        
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+                                        TODO: Add other useful fields. 
apiVersion,
+                                        kind, uid?'
+                                      type: string
+                                  type: object
+                                  x-kubernetes-map-type: atomic
+                                readOnly:
+                                  description: readOnly specifies a read-only 
configuration
+                                    for the volume. Defaults to false 
(read/write).
+                                  type: boolean
+                                volumeAttributes:
+                                  additionalProperties:
+                                    type: string
+                                  description: volumeAttributes stores 
driver-specific
+                                    properties that are passed to the CSI 
driver.
+                                    Consult your driver's documentation for 
supported
+                                    values.
+                                  type: object
+                              required:
+                              - driver
+                              type: object
+                            downwardAPI:
+                              description: downwardAPI represents downward API 
about
+                                the pod that should populate this volume
+                              properties:
+                                defaultMode:
+                                  description: 'Optional: mode bits to use on 
created
+                                    files by default. Must be a Optional: mode 
bits
+                                    used to set permissions on created files 
by default.
+                                    Must be an octal value between 0000 and 
0777 or
+                                    a decimal value between 0 and 511. YAML 
accepts
+                                    both octal and decimal values, JSON 
requires decimal
+                                    values for mode bits. Defaults to 0644. 
Directories
+                                    within the path are not affected by this 
setting.
+                                    This might be in conflict with other 
options that
+                                    affect the file mode, like fsGroup, and 
the result
+                                    can be other mode bits set.'
+                                  format: int32
+                                  type: integer
+                                items:
+                                  description: Items is a list of downward API 
volume
+                                    file
+                                  items:
+                                    description: DownwardAPIVolumeFile 
represents
+                                      information to create the file 
containing the
+                                      pod field
+                                    properties:
+                                      fieldRef:
+                                        description: 'Required: Selects a 
field of
+                                          the pod: only annotations, labels, 
name
+                                          and namespace are supported.'
+                                        properties:
+                                          apiVersion:
+                                            description: Version of the schema 
the
+                                              FieldPath is written in terms 
of, defaults
+                                              to "v1".
+                                            type: string
+                                          fieldPath:
+                                            description: Path of the field to 
select
+                                              in the specified API version.
+                                            type: string
+                                        required:
+                                        - fieldPath
+                                        type: object
+                                        x-kubernetes-map-type: atomic
+                                      mode:
+                                        description: 'Optional: mode bits used 
to
+                                          set permissions on this file, must 
be an
+                                          octal value between 0000 and 0777 or 
a decimal
+                                          value between 0 and 511. YAML 
accepts both
+                                          octal and decimal values, JSON 
requires
+                                          decimal values for mode bits. If not 
specified,
+                                          the volume defaultMode will be used. 
This
+                                          might be in conflict with other 
options
+                                          that affect the file mode, like 
fsGroup,
+                                          and the result can be other mode 
bits set.'
+                                        format: int32
+                                        type: integer
+                                      path:
+                                        description: 'Required: Path is  the 
relative
+                                          path name of the file to be created. 
Must
+                                          not be absolute or contain the 
''..'' path.
+                                          Must be utf-8 encoded. The first 
item of
+                                          the relative path must not start 
with ''..'''
+                                        type: string
+                                      resourceFieldRef:
+                                        description: 'Selects a resource of 
the container:
+                                          only resources limits and requests 
(limits.cpu,
+                                          limits.memory, requests.cpu and 
requests.memory)
+                                          are currently supported.'
+                                        properties:
+                                          containerName:
+                                            description: 'Container name: 
required
+                                              for volumes, optional for env 
vars'
+                                            type: string
+                                          divisor:
+                                            anyOf:
+                                            - type: integer
+                                            - type: string
+                                            description: Specifies the output 
format
+                                              of the exposed resources, 
defaults to
+                                              "1"
+                                            pattern: 
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+                                            x-kubernetes-int-or-string: true
+                                          resource:
+                                            description: 'Required: resource 
to select'
+                                            type: string
+                                        required:
+                                        - resource
+                                        type: object
+                                        x-kubernetes-map-type: atomic
+                                    required:
+                                    - path
+                                    type: object
+                                  type: array
+                              type: object
+                            emptyDir:
+                              description: 'emptyDir represents a temporary 
directory
+                                that shares a pod''s lifetime. More info: 
https://kubernetes.io/docs/concepts/storage/volumes#emptydir'
+                              properties:
+                                medium:
+                                  description: 'medium represents what type of 
storage
+                                    medium should back this directory. The 
default
+                                    is "" which means to use the node''s 
default medium.
+                                    Must be an empty string (default) or 
Memory. More
+                                    info: 
https://kubernetes.io/docs/concepts/storage/volumes#emptydir'
+                                  type: string
+                                sizeLimit:
+                                  anyOf:
+                                  - type: integer
+                                  - type: string
+                                  description: 'sizeLimit is the total amount 
of local
+                                    storage required for this EmptyDir volume. 
The
+                                    size limit is also applicable for memory 
medium.
+                                    The maximum usage on memory medium 
EmptyDir would
+                                    be the minimum value between the SizeLimit 
specified
+                                    here and the sum of memory limits of all 
containers
+                                    in a pod. The default is nil which means 
that
+                                    the limit is undefined. More info: 
https://kubernetes.io/docs/concepts/storage/volumes#emptydir'
+                                  pattern: 
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+                                  x-kubernetes-int-or-string: true
+                              type: object
+                            ephemeral:
+                              description: "ephemeral represents a volume that 
is
+                                handled by a cluster storage driver. The 
volume's
+                                lifecycle is tied to the pod that defines it - 
it
+                                will be created before the pod starts, and 
deleted
+                                when the pod is removed. \n Use this if: a) 
the volume
+                                is only needed while the pod runs, b) features 
of
+                                normal volumes like restoring from snapshot or 
capacity
+                                tracking are needed, c) the storage driver is 
specified
+                                through a storage class, and d) the storage 
driver
+                                supports dynamic volume provisioning through a 
PersistentVolumeClaim
+                                (see EphemeralVolumeSource for more 
information on
+                                the connection between this volume type and 
PersistentVolumeClaim).
+                                \n Use PersistentVolumeClaim or one of the 
vendor-specific
+                                APIs for volumes that persist for longer than 
the
+                                lifecycle of an individual pod. \n Use CSI for 
light-weight
+                                local ephemeral volumes if the CSI driver is 
meant
+                                to be used that way - see the documentation of 
the
+                                driver for more information. \n A pod can use 
both
+                                types of ephemeral volumes and persistent 
volumes
+                                at the same time."
+                              properties:
+                                volumeClaimTemplate:
+                                  description: "Will be used to create a 
stand-alone
+                                    PVC to provision the volume. The pod in 
which
+                                    this EphemeralVolumeSource is embedded 
will be
+                                    the owner of the PVC, i.e. the PVC will be 
deleted
+                                    together with the pod.  The name of the 
PVC will
+                                    be `<pod name>-<volume name>` where 
`<volume name>`
+                                    is the name from the `PodSpec.Volumes` 
array entry.
+                                    Pod validation will reject the pod if the 
concatenated
+                                    name is not valid for a PVC (for example, 
too
+                                    long). \n An existing PVC with that name 
that
+                                    is not owned by the pod will *not* be used 
for
+                                    the pod to avoid using an unrelated volume 
by
+                                    mistake. Starting the pod is then blocked 
until
+                                    the unrelated PVC is removed. If such a 
pre-created
+                                    PVC is meant to be used by the pod, the 
PVC has
+                                    to updated with an owner reference to the 
pod
+                                    once the pod exists. Normally this should 
not
+                                    be necessary, but it may be useful when 
manually
+                                    reconstructing a broken cluster. \n This 
field
+                                    is read-only and no changes will be made 
by Kubernetes
+                                    to the PVC after it has been created. \n 
Required,
+                                    must not be nil."
+                                  properties:
+                                    metadata:
+                                      description: May contain labels and 
annotations
+                                        that will be copied into the PVC when 
creating
+                                        it. No other fields are allowed and 
will be
+                                        rejected during validation.
+                                      type: object
+                                    spec:
+                                      description: The specification for the 
PersistentVolumeClaim.
+                                        The entire content is copied unchanged 
into
+                                        the PVC that gets created from this 
template.
+                                        The same fields as in a 
PersistentVolumeClaim
+                                        are also valid here.
+                                      properties:
+                                        accessModes:
+                                          description: 'accessModes contains 
the desired
+                                            access modes the volume should 
have. More
+                                            info: 
https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
+                                          items:
+                                            type: string
+                                          type: array
+                                        dataSource:
+                                          description: 'dataSource field can 
be used
+                                            to specify either: * An existing 
VolumeSnapshot
+                                            object 
(snapshot.storage.k8s.io/VolumeSnapshot)
+                                            * An existing PVC 
(PersistentVolumeClaim)
+                                            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.
+                                            When the AnyVolumeDataSource 
feature gate
+                                            is enabled, dataSource contents 
will be
+                                            copied to dataSourceRef, and 
dataSourceRef
+                                            contents will be copied to 
dataSource
+                                            when dataSourceRef.namespace is 
not specified.
+                                            If the namespace is specified, 
then dataSourceRef
+                                            will not be copied to dataSource.'
+                                          properties:
+                                            apiGroup:
+                                              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.
+                                              type: string
+                                            kind:
+                                              description: Kind is the type of 
resource
+                                                being referenced
+                                              type: string
+                                            name:
+                                              description: Name is the name of 
resource
+                                                being referenced
+                                              type: string
+                                          required:
+                                          - kind
+                                          - name
+                                          type: object
+                                          x-kubernetes-map-type: atomic
+                                        dataSourceRef:
+                                          description: 'dataSourceRef 
specifies the
+                                            object from which to populate the 
volume
+                                            with data, if a non-empty volume 
is desired.
+                                            This may be any object from a 
non-empty
+                                            API group (non core object) or a 
PersistentVolumeClaim
+                                            object. When this field is 
specified,
+                                            volume binding will only succeed 
if the
+                                            type of the specified object 
matches some
+                                            installed volume populator or 
dynamic
+                                            provisioner. This field will 
replace the
+                                            functionality of the dataSource 
field
+                                            and as such if both fields are 
non-empty,
+                                            they must have the same value. For 
backwards
+                                            compatibility, when namespace 
isn''t specified
+                                            in dataSourceRef, both fields 
(dataSource
+                                            and dataSourceRef) will be set to 
the
+                                            same value automatically if one of 
them
+                                            is empty and the other is 
non-empty. When
+                                            namespace is specified in 
dataSourceRef,
+                                            dataSource isn''t set to the same 
value
+                                            and must be empty. There are three 
important
+                                            differences between dataSource and 
dataSourceRef:
+                                            * While dataSource only allows two 
specific
+                                            types of objects, dataSourceRef 
allows
+                                            any non-core object, as well as 
PersistentVolumeClaim
+                                            objects. * While dataSource 
ignores disallowed
+                                            values (dropping them), 
dataSourceRef
+                                            preserves all values, and 
generates an
+                                            error if a disallowed value is 
specified.
+                                            * While dataSource only allows 
local objects,
+                                            dataSourceRef allows objects in 
any namespaces.
+                                            (Beta) Using this field requires 
the AnyVolumeDataSource
+                                            feature gate to be enabled. 
(Alpha) Using
+                                            the namespace field of 
dataSourceRef requires
+                                            the CrossNamespaceVolumeDataSource 
feature
+                                            gate to be enabled.'
+                                          properties:
+                                            apiGroup:
+                                              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.
+                                              type: string
+                                            kind:
+                                              description: Kind is the type of 
resource
+                                                being referenced
+                                              type: string
+                                            name:
+                                              description: Name is the name of 
resource
+                                                being referenced
+                                              type: string
+                                            namespace:
+                                              description: Namespace is the 
namespace
+                                                of resource being referenced 
Note
+                                                that when a namespace is 
specified,
+                                                a 
gateway.networking.k8s.io/ReferenceGrant
+                                                object is required in the 
referent
+                                                namespace to allow that 
namespace's
+                                                owner to accept the reference. 
See
+                                                the ReferenceGrant 
documentation for
+                                                details. (Alpha) This field 
requires
+                                                the 
CrossNamespaceVolumeDataSource
+                                                feature gate to be enabled.
+                                              type: string
+                                          required:
+                                          - kind
+                                          - name
+                                          type: object
+                                        resources:
+                                          description: 'resources represents 
the minimum
+                                            resources the volume should have. 
If RecoverVolumeExpansionFailure
+                                            feature is enabled users are 
allowed to
+                                            specify resource requirements that 
are
+                                            lower than previous value but must 
still
+                                            be higher than capacity recorded 
in the
+                                            status field of the claim. More 
info:
+                                            
https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources'
+                                          properties:
+                                            claims:
+                                              description: "Claims lists the 
names
+                                                of resources, defined in 
spec.resourceClaims,
+                                                that are used by this 
container. \n
+                                                This is an alpha field and 
requires
+                                                enabling the 
DynamicResourceAllocation
+                                                feature gate. \n This field is 
immutable.
+                                                It can only be set for 
containers."
+                                              items:
+                                                description: ResourceClaim 
references
+                                                  one entry in 
PodSpec.ResourceClaims.
+                                                properties:
+                                                  name:
+                                                    description: Name must 
match the
+                                                      name of one entry in 
pod.spec.resourceClaims
+                                                      of the Pod where this 
field
+                                                      is used. It makes that 
resource
+                                                      available inside a 
container.
+                                                    type: string
+                                                required:
+                                                - name
+                                                type: object
+                                              type: array
+                                              x-kubernetes-list-map-keys:
+                                              - name
+                                              x-kubernetes-list-type: map
+                                            limits:
+                                              additionalProperties:
+                                                anyOf:
+                                                - type: integer
+                                                - type: string
+                                                pattern: 
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+                                                x-kubernetes-int-or-string: 
true
+                                              description: 'Limits describes 
the maximum
+                                                amount of compute resources 
allowed.
+                                                More info: 
https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
+                                              type: object
+                                            requests:
+                                              additionalProperties:
+                                                anyOf:
+                                                - type: integer
+                                                - type: string
+                                                pattern: 
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+                                                x-kubernetes-int-or-string: 
true
+                                              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.
+                                                Requests cannot exceed Limits. 
More
+                                                info: 
https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
+                                              type: object
+                                          type: object
+                                        selector:
+                                          description: selector is a label 
query over
+                                            volumes to consider for binding.
+                                          properties:
+                                            matchExpressions:
+                                              description: matchExpressions is 
a list
+                                                of label selector 
requirements. The
+                                                requirements are ANDed.
+                                              items:
+                                                description: A label selector 
requirement
+                                                  is a selector that contains 
values,
+                                                  a key, and an operator that 
relates
+                                                  the key and values.
+                                                properties:
+                                                  key:
+                                                    description: key is the 
label
+                                                      key that the selector 
applies
+                                                      to.
+                                                    type: string
+                                                  operator:
+                                                    description: operator 
represents
+                                                      a key's relationship to 
a set
+                                                      of values. Valid 
operators are
+                                                      In, NotIn, Exists and 
DoesNotExist.
+                                                    type: string
+                                                  values:
+                                                    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.
+                                                    items:
+                                                      type: string
+                                                    type: array
+                                                required:
+                                                - key
+                                                - operator
+                                                type: object
+                                              type: array
+                                            matchLabels:
+                                              additionalProperties:
+                                                type: string
+                                              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.
+                                              type: object
+                                          type: object
+                                          x-kubernetes-map-type: atomic
+                                        storageClassName:
+                                          description: 'storageClassName is 
the name
+                                            of the StorageClass required by 
the claim.
+                                            More info: 
https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1'
+                                          type: string
+                                        volumeMode:
+                                          description: volumeMode defines what 
type
+                                            of volume is required by the 
claim. Value
+                                            of Filesystem is implied when not 
included
+                                            in claim spec.
+                                          type: string
+                                        volumeName:
+                                          description: volumeName is the 
binding reference
+                                            to the PersistentVolume backing 
this claim.
+                                          type: string
+                                      type: object
+                                  required:
+                                  - spec
+                                  type: object
+                              type: object
+                            fc:
+                              description: fc represents a Fibre Channel 
resource
+                                that is attached to a kubelet's host machine 
and then
+                                exposed to the pod.
+                              properties:
+                                fsType:
+                                  description: 'fsType is the filesystem type 
to mount.
+                                    Must be a filesystem type supported by the 
host
+                                    operating system. Ex. "ext4", "xfs", 
"ntfs". Implicitly
+                                    inferred to be "ext4" if unspecified. 
TODO: how
+                                    do we prevent errors in the filesystem 
from compromising
+                                    the machine'
+                                  type: string
+                                lun:
+                                  description: 'lun is Optional: FC target lun 
number'
+                                  format: int32
+                                  type: integer
+                                readOnly:
+                                  description: 'readOnly is Optional: Defaults 
to
+                                    false (read/write). ReadOnly here will 
force the
+                                    ReadOnly setting in VolumeMounts.'
+                                  type: boolean
+                                targetWWNs:
+                                  description: 'targetWWNs is Optional: FC 
target
+                                    worldwide names (WWNs)'
+                                  items:
+                                    type: string
+                                  type: array
+                                wwids:
+                                  description: 'wwids Optional: FC volume 
world wide
+                                    identifiers (wwids) Either wwids or 
combination
+                                    of targetWWNs and lun must be set, but not 
both
+                                    simultaneously.'
+                                  items:
+                                    type: string
+                                  type: array
+                              type: object
+                            flexVolume:
+                              description: flexVolume represents a generic 
volume
+                                resource that is provisioned/attached using an 
exec
+                                based plugin.
+                              properties:
+                                driver:
+                                  description: driver is the name of the 
driver to
+                                    use for this volume.
+                                  type: string
+                                fsType:
+                                  description: fsType is the filesystem type 
to mount.
+                                    Must be a filesystem type supported by the 
host
+                                    operating system. Ex. "ext4", "xfs", 
"ntfs". The
+                                    default filesystem depends on FlexVolume 
script.
+                                  type: string
+                                options:
+                                  additionalProperties:
+                                    type: string
+                                  description: 'options is Optional: this 
field holds
+                                    extra command options if any.'
+                                  type: object
+                                readOnly:
+                                  description: 'readOnly is Optional: defaults 
to
+                                    false (read/write). ReadOnly here will 
force the
+                                    ReadOnly setting in VolumeMounts.'
+                                  type: boolean
+                                secretRef:
+                                  description: 'secretRef is Optional: 
secretRef is
+                                    reference to the secret object containing 
sensitive
+                                    information to pass to the plugin scripts. 
This
+                                    may be empty if no secret object is 
specified.
+                                    If the secret object contains more than 
one secret,
+                                    all secrets are passed to the plugin 
scripts.'
+                                  properties:
+                                    name:
+                                      description: 'Name of the referent. More 
info:
+                                        
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+                                        TODO: Add other useful fields. 
apiVersion,
+                                        kind, uid?'
+                                      type: string
+                                  type: object
+                                  x-kubernetes-map-type: atomic
+                              required:
+                              - driver
+                              type: object
+                            flocker:
+                              description: flocker represents a Flocker volume 
attached
+                                to a kubelet's host machine. This depends on 
the Flocker
+                                control service being running
+                              properties:
+                                datasetName:
+                                  description: datasetName is Name of the 
dataset
+                                    stored as metadata -> name on the dataset 
for
+                                    Flocker should be considered as deprecated
+                                  type: string
+                                datasetUUID:
+                                  description: datasetUUID is the UUID of the 
dataset.
+                                    This is unique identifier of a Flocker 
dataset
+                                  type: string
+                              type: object
+                            gcePersistentDisk:
+                              description: 'gcePersistentDisk represents a GCE 
Disk
+                                resource that is attached to a kubelet''s host 
machine
+                                and then exposed to the pod. More info: 
https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
+                              properties:
+                                fsType:
+                                  description: 'fsType is filesystem type of 
the volume
+                                    that you want to mount. Tip: Ensure that 
the filesystem
+                                    type is supported by the host operating 
system.
+                                    Examples: "ext4", "xfs", "ntfs". 
Implicitly inferred
+                                    to be "ext4" if unspecified. More info: 
https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
+                                    TODO: how do we prevent errors in the 
filesystem
+                                    from compromising the machine'
+                                  type: string
+                                partition:
+                                  description: 'partition is the partition in 
the
+                                    volume that you want to mount. If omitted, 
the
+                                    default is to mount by volume name. 
Examples:
+                                    For volume /dev/sda1, you specify the 
partition
+                                    as "1". Similarly, the volume partition 
for /dev/sda
+                                    is "0" (or you can leave the property 
empty).
+                                    More info: 
https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
+                                  format: int32
+                                  type: integer
+                                pdName:
+                                  description: 'pdName is unique name of the 
PD resource
+                                    in GCE. Used to identify the disk in GCE. 
More
+                                    info: 
https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
+                                  type: string
+                                readOnly:
+                                  description: 'readOnly here will force the 
ReadOnly
+                                    setting in VolumeMounts. Defaults to 
false. More
+                                    info: 
https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'

[... 22926 lines stripped ...]


Reply via email to