k8s.io/kubernetes@v1.31.0-alpha.0.0.20240520171757-56147500dadc/cluster/addons/volumesnapshots/crd/snapshot.storage.k8s.io_volumesnapshots.yaml (about)

     1  ---
     2  apiVersion: apiextensions.k8s.io/v1
     3  kind: CustomResourceDefinition
     4  metadata:
     5    labels:
     6      addonmanager.kubernetes.io/mode: Reconcile
     7    annotations:
     8      controller-gen.kubebuilder.io/version: v0.8.0
     9      api-approved.kubernetes.io: "https://github.com/kubernetes-csi/external-snapshotter/pull/665"
    10    creationTimestamp: null
    11    name: volumesnapshots.snapshot.storage.k8s.io
    12  spec:
    13    group: snapshot.storage.k8s.io
    14    names:
    15      kind: VolumeSnapshot
    16      listKind: VolumeSnapshotList
    17      plural: volumesnapshots
    18      shortNames:
    19        - vs
    20      singular: volumesnapshot
    21    scope: Namespaced
    22    versions:
    23      - additionalPrinterColumns:
    24          - description: Indicates if the snapshot is ready to be used to restore a volume.
    25            jsonPath: .status.readyToUse
    26            name: ReadyToUse
    27            type: boolean
    28          - description: If a new snapshot needs to be created, this contains the name of
    29              the source PVC from which this snapshot was (or will be) created.
    30            jsonPath: .spec.source.persistentVolumeClaimName
    31            name: SourcePVC
    32            type: string
    33          - description: If a snapshot already exists, this contains the name of the existing
    34              VolumeSnapshotContent object representing the existing snapshot.
    35            jsonPath: .spec.source.volumeSnapshotContentName
    36            name: SourceSnapshotContent
    37            type: string
    38          - description: Represents the minimum size of volume required to rehydrate from
    39              this snapshot.
    40            jsonPath: .status.restoreSize
    41            name: RestoreSize
    42            type: string
    43          - description: The name of the VolumeSnapshotClass requested by the VolumeSnapshot.
    44            jsonPath: .spec.volumeSnapshotClassName
    45            name: SnapshotClass
    46            type: string
    47          - description: Name of the VolumeSnapshotContent object to which the VolumeSnapshot
    48              object intends to bind to. Please note that verification of binding actually
    49              requires checking both VolumeSnapshot and VolumeSnapshotContent to ensure
    50              both are pointing at each other. Binding MUST be verified prior to usage of
    51              this object.
    52            jsonPath: .status.boundVolumeSnapshotContentName
    53            name: SnapshotContent
    54            type: string
    55          - description: Timestamp when the point-in-time snapshot was taken by the underlying
    56              storage system.
    57            jsonPath: .status.creationTime
    58            name: CreationTime
    59            type: date
    60          - jsonPath: .metadata.creationTimestamp
    61            name: Age
    62            type: date
    63        name: v1
    64        schema:
    65          openAPIV3Schema:
    66            description: VolumeSnapshot is a user's request for either creating a point-in-time
    67              snapshot of a persistent volume, or binding to a pre-existing snapshot.
    68            properties:
    69              apiVersion:
    70                description: 'APIVersion defines the versioned schema of this representation
    71                of an object. Servers should convert recognized schemas to the latest
    72                internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
    73                type: string
    74              kind:
    75                description: 'Kind is a string value representing the REST resource this
    76                object represents. Servers may infer this from the endpoint the client
    77                submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
    78                type: string
    79              spec:
    80                description: 'spec defines the desired characteristics of a snapshot requested
    81                by a user. More info: https://kubernetes.io/docs/concepts/storage/volume-snapshots#volumesnapshots
    82                Required.'
    83                properties:
    84                  source:
    85                    description: source specifies where a snapshot will be created from.
    86                      This field is immutable after creation. Required.
    87                    properties:
    88                      persistentVolumeClaimName:
    89                        description: persistentVolumeClaimName specifies the name of the
    90                          PersistentVolumeClaim object representing the volume from which
    91                          a snapshot should be created. This PVC is assumed to be in the
    92                          same namespace as the VolumeSnapshot object. This field should
    93                          be set if the snapshot does not exists, and needs to be created.
    94                          This field is immutable.
    95                        type: string
    96                      volumeSnapshotContentName:
    97                        description: volumeSnapshotContentName specifies the name of a
    98                          pre-existing VolumeSnapshotContent object representing an existing
    99                          volume snapshot. This field should be set if the snapshot already
   100                          exists and only needs a representation in Kubernetes. This field
   101                          is immutable.
   102                        type: string
   103                    type: object
   104                    oneOf:
   105                      - required: ["persistentVolumeClaimName"]
   106                      - required: ["volumeSnapshotContentName"]
   107                  volumeSnapshotClassName:
   108                    description: 'VolumeSnapshotClassName is the name of the VolumeSnapshotClass
   109                    requested by the VolumeSnapshot. VolumeSnapshotClassName may be
   110                    left nil to indicate that the default SnapshotClass should be used.
   111                    A given cluster may have multiple default Volume SnapshotClasses:
   112                    one default per CSI Driver. If a VolumeSnapshot does not specify
   113                    a SnapshotClass, VolumeSnapshotSource will be checked to figure
   114                    out what the associated CSI Driver is, and the default VolumeSnapshotClass
   115                    associated with that CSI Driver will be used. If more than one VolumeSnapshotClass
   116                    exist for a given CSI Driver and more than one have been marked
   117                    as default, CreateSnapshot will fail and generate an event. Empty
   118                    string is not allowed for this field.'
   119                    type: string
   120                required:
   121                  - source
   122                type: object
   123              status:
   124                description: status represents the current information of a snapshot.
   125                  Consumers must verify binding between VolumeSnapshot and VolumeSnapshotContent
   126                  objects is successful (by validating that both VolumeSnapshot and VolumeSnapshotContent
   127                  point at each other) before using this object.
   128                properties:
   129                  boundVolumeSnapshotContentName:
   130                    description: 'boundVolumeSnapshotContentName is the name of the VolumeSnapshotContent
   131                    object to which this VolumeSnapshot object intends to bind to. If
   132                    not specified, it indicates that the VolumeSnapshot object has not
   133                    been successfully bound to a VolumeSnapshotContent object yet. NOTE:
   134                    To avoid possible security issues, consumers must verify binding
   135                    between VolumeSnapshot and VolumeSnapshotContent objects is successful
   136                    (by validating that both VolumeSnapshot and VolumeSnapshotContent
   137                    point at each other) before using this object.'
   138                    type: string
   139                  creationTime:
   140                    description: creationTime is the timestamp when the point-in-time
   141                      snapshot is taken by the underlying storage system. In dynamic snapshot
   142                      creation case, this field will be filled in by the snapshot controller
   143                      with the "creation_time" value returned from CSI "CreateSnapshot"
   144                      gRPC call. For a pre-existing snapshot, this field will be filled
   145                      with the "creation_time" value returned from the CSI "ListSnapshots"
   146                      gRPC call if the driver supports it. If not specified, it may indicate
   147                      that the creation time of the snapshot is unknown.
   148                    format: date-time
   149                    type: string
   150                  error:
   151                    description: error is the last observed error during snapshot creation,
   152                      if any. This field could be helpful to upper level controllers(i.e.,
   153                      application controller) to decide whether they should continue on
   154                      waiting for the snapshot to be created based on the type of error
   155                      reported. The snapshot controller will keep retrying when an error
   156                      occurs during the snapshot creation. Upon success, this error field
   157                      will be cleared.
   158                    properties:
   159                      message:
   160                        description: 'message is a string detailing the encountered error
   161                        during snapshot creation if specified. NOTE: message may be
   162                        logged, and it should not contain sensitive information.'
   163                        type: string
   164                      time:
   165                        description: time is the timestamp when the error was encountered.
   166                        format: date-time
   167                        type: string
   168                    type: object
   169                  readyToUse:
   170                    description: readyToUse indicates if the snapshot is ready to be used
   171                      to restore a volume. In dynamic snapshot creation case, this field
   172                      will be filled in by the snapshot controller with the "ready_to_use"
   173                      value returned from CSI "CreateSnapshot" gRPC call. For a pre-existing
   174                      snapshot, this field will be filled with the "ready_to_use" value
   175                      returned from the CSI "ListSnapshots" gRPC call if the driver supports
   176                      it, otherwise, this field will be set to "True". If not specified,
   177                      it means the readiness of a snapshot is unknown.
   178                    type: boolean
   179                  restoreSize:
   180                    type: string
   181                    description: restoreSize represents the minimum size of volume required
   182                      to create a volume from this snapshot. In dynamic snapshot creation
   183                      case, this field will be filled in by the snapshot controller with
   184                      the "size_bytes" value returned from CSI "CreateSnapshot" gRPC call.
   185                      For a pre-existing snapshot, this field will be filled with the
   186                      "size_bytes" value returned from the CSI "ListSnapshots" gRPC call
   187                      if the driver supports it. When restoring a volume from this snapshot,
   188                      the size of the volume MUST NOT be smaller than the restoreSize
   189                      if it is specified, otherwise the restoration will fail. If not
   190                      specified, it indicates that the size is unknown.
   191                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   192                    x-kubernetes-int-or-string: true
   193                type: object
   194            required:
   195              - spec
   196            type: object
   197        served: true
   198        storage: true
   199        subresources:
   200          status: {}
   201      - additionalPrinterColumns:
   202          - description: Indicates if the snapshot is ready to be used to restore a volume.
   203            jsonPath: .status.readyToUse
   204            name: ReadyToUse
   205            type: boolean
   206          - description: If a new snapshot needs to be created, this contains the name of the source PVC from which this snapshot was (or will be) created.
   207            jsonPath: .spec.source.persistentVolumeClaimName
   208            name: SourcePVC
   209            type: string
   210          - description: If a snapshot already exists, this contains the name of the existing VolumeSnapshotContent object representing the existing snapshot.
   211            jsonPath: .spec.source.volumeSnapshotContentName
   212            name: SourceSnapshotContent
   213            type: string
   214          - description: Represents the minimum size of volume required to rehydrate from this snapshot.
   215            jsonPath: .status.restoreSize
   216            name: RestoreSize
   217            type: string
   218          - description: The name of the VolumeSnapshotClass requested by the VolumeSnapshot.
   219            jsonPath: .spec.volumeSnapshotClassName
   220            name: SnapshotClass
   221            type: string
   222          - description: Name of the VolumeSnapshotContent object to which the VolumeSnapshot object intends to bind to. Please note that verification of binding actually requires checking both VolumeSnapshot and VolumeSnapshotContent to ensure both are pointing at each other. Binding MUST be verified prior to usage of this object.
   223            jsonPath: .status.boundVolumeSnapshotContentName
   224            name: SnapshotContent
   225            type: string
   226          - description: Timestamp when the point-in-time snapshot was taken by the underlying storage system.
   227            jsonPath: .status.creationTime
   228            name: CreationTime
   229            type: date
   230          - jsonPath: .metadata.creationTimestamp
   231            name: Age
   232            type: date
   233        name: v1beta1
   234        # This indicates the v1beta1 version of the custom resource is deprecated.
   235        # API requests to this version receive a warning in the server response.
   236        deprecated: true
   237        # This overrides the default warning returned to clients making v1beta1 API requests.
   238        deprecationWarning: "snapshot.storage.k8s.io/v1beta1 VolumeSnapshot is deprecated; use snapshot.storage.k8s.io/v1 VolumeSnapshot"
   239        schema:
   240          openAPIV3Schema:
   241            description: VolumeSnapshot is a user's request for either creating a point-in-time snapshot of a persistent volume, or binding to a pre-existing snapshot.
   242            properties:
   243              apiVersion:
   244                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'
   245                type: string
   246              kind:
   247                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'
   248                type: string
   249              spec:
   250                description: 'spec defines the desired characteristics of a snapshot requested by a user. More info: https://kubernetes.io/docs/concepts/storage/volume-snapshots#volumesnapshots Required.'
   251                properties:
   252                  source:
   253                    description: source specifies where a snapshot will be created from. This field is immutable after creation. Required.
   254                    properties:
   255                      persistentVolumeClaimName:
   256                        description: persistentVolumeClaimName specifies the name of the PersistentVolumeClaim object representing the volume from which a snapshot should be created. This PVC is assumed to be in the same namespace as the VolumeSnapshot object. This field should be set if the snapshot does not exists, and needs to be created. This field is immutable.
   257                        type: string
   258                      volumeSnapshotContentName:
   259                        description: volumeSnapshotContentName specifies the name of a pre-existing VolumeSnapshotContent object representing an existing volume snapshot. This field should be set if the snapshot already exists and only needs a representation in Kubernetes. This field is immutable.
   260                        type: string
   261                    type: object
   262                  volumeSnapshotClassName:
   263                    description: 'VolumeSnapshotClassName is the name of the VolumeSnapshotClass requested by the VolumeSnapshot. VolumeSnapshotClassName may be left nil to indicate that the default SnapshotClass should be used. A given cluster may have multiple default Volume SnapshotClasses: one default per CSI Driver. If a VolumeSnapshot does not specify a SnapshotClass, VolumeSnapshotSource will be checked to figure out what the associated CSI Driver is, and the default VolumeSnapshotClass associated with that CSI Driver will be used. If more than one VolumeSnapshotClass exist for a given CSI Driver and more than one have been marked as default, CreateSnapshot will fail and generate an event. Empty string is not allowed for this field.'
   264                    type: string
   265                required:
   266                  - source
   267                type: object
   268              status:
   269                description: status represents the current information of a snapshot. Consumers must verify binding between VolumeSnapshot and VolumeSnapshotContent objects is successful (by validating that both VolumeSnapshot and VolumeSnapshotContent point at each other) before using this object.
   270                properties:
   271                  boundVolumeSnapshotContentName:
   272                    description: 'boundVolumeSnapshotContentName is the name of the VolumeSnapshotContent object to which this VolumeSnapshot object intends to bind to. If not specified, it indicates that the VolumeSnapshot object has not been successfully bound to a VolumeSnapshotContent object yet. NOTE: To avoid possible security issues, consumers must verify binding between VolumeSnapshot and VolumeSnapshotContent objects is successful (by validating that both VolumeSnapshot and VolumeSnapshotContent point at each other) before using this object.'
   273                    type: string
   274                  creationTime:
   275                    description: creationTime is the timestamp when the point-in-time snapshot is taken by the underlying storage system. In dynamic snapshot creation case, this field will be filled in by the snapshot controller with the "creation_time" value returned from CSI "CreateSnapshot" gRPC call. For a pre-existing snapshot, this field will be filled with the "creation_time" value returned from the CSI "ListSnapshots" gRPC call if the driver supports it. If not specified, it may indicate that the creation time of the snapshot is unknown.
   276                    format: date-time
   277                    type: string
   278                  error:
   279                    description: error is the last observed error during snapshot creation, if any. This field could be helpful to upper level controllers(i.e., application controller) to decide whether they should continue on waiting for the snapshot to be created based on the type of error reported. The snapshot controller will keep retrying when an error occurs during the snapshot creation. Upon success, this error field will be cleared.
   280                    properties:
   281                      message:
   282                        description: 'message is a string detailing the encountered error during snapshot creation if specified. NOTE: message may be logged, and it should not contain sensitive information.'
   283                        type: string
   284                      time:
   285                        description: time is the timestamp when the error was encountered.
   286                        format: date-time
   287                        type: string
   288                    type: object
   289                  readyToUse:
   290                    description: readyToUse indicates if the snapshot is ready to be used to restore a volume. In dynamic snapshot creation case, this field will be filled in by the snapshot controller with the "ready_to_use" value returned from CSI "CreateSnapshot" gRPC call. For a pre-existing snapshot, this field will be filled with the "ready_to_use" value returned from the CSI "ListSnapshots" gRPC call if the driver supports it, otherwise, this field will be set to "True". If not specified, it means the readiness of a snapshot is unknown.
   291                    type: boolean
   292                  restoreSize:
   293                    type: string
   294                    description: restoreSize represents the minimum size of volume required to create a volume from this snapshot. In dynamic snapshot creation case, this field will be filled in by the snapshot controller with the "size_bytes" value returned from CSI "CreateSnapshot" gRPC call. For a pre-existing snapshot, this field will be filled with the "size_bytes" value returned from the CSI "ListSnapshots" gRPC call if the driver supports it. When restoring a volume from this snapshot, the size of the volume MUST NOT be smaller than the restoreSize if it is specified, otherwise the restoration will fail. If not specified, it indicates that the size is unknown.
   295                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   296                    x-kubernetes-int-or-string: true
   297                type: object
   298            required:
   299              - spec
   300            type: object
   301        served: false
   302        storage: false
   303        subresources:
   304          status: {}
   305  status:
   306    acceptedNames:
   307      kind: ""
   308      plural: ""
   309    conditions: []
   310    storedVersions: []