github.com/kubernetes-csi/external-snapshotter/client/v4@v4.2.0/config/crd/snapshot.storage.k8s.io_volumesnapshots.yaml (about)

     1  
     2  ---
     3  apiVersion: apiextensions.k8s.io/v1
     4  kind: CustomResourceDefinition
     5  metadata:
     6    annotations:
     7      controller-gen.kubebuilder.io/version: v0.4.0
     8      api-approved.kubernetes.io: "https://github.com/kubernetes-csi/external-snapshotter/pull/419"
     9    creationTimestamp: null
    10    name: volumesnapshots.snapshot.storage.k8s.io
    11  spec:
    12    group: snapshot.storage.k8s.io
    13    names:
    14      kind: VolumeSnapshot
    15      listKind: VolumeSnapshotList
    16      plural: volumesnapshots
    17      singular: volumesnapshot
    18    scope: Namespaced
    19    versions:
    20    - additionalPrinterColumns:
    21      - description: Indicates if the snapshot is ready to be used to restore a volume.
    22        jsonPath: .status.readyToUse
    23        name: ReadyToUse
    24        type: boolean
    25      - 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.
    26        jsonPath: .spec.source.persistentVolumeClaimName
    27        name: SourcePVC
    28        type: string
    29      - description: If a snapshot already exists, this contains the name of the existing VolumeSnapshotContent object representing the existing snapshot.
    30        jsonPath: .spec.source.volumeSnapshotContentName
    31        name: SourceSnapshotContent
    32        type: string
    33      - description: Represents the minimum size of volume required to rehydrate from this snapshot.
    34        jsonPath: .status.restoreSize
    35        name: RestoreSize
    36        type: string
    37      - description: The name of the VolumeSnapshotClass requested by the VolumeSnapshot.
    38        jsonPath: .spec.volumeSnapshotClassName
    39        name: SnapshotClass
    40        type: string
    41      - 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.
    42        jsonPath: .status.boundVolumeSnapshotContentName
    43        name: SnapshotContent
    44        type: string
    45      - description: Timestamp when the point-in-time snapshot was taken by the underlying storage system.
    46        jsonPath: .status.creationTime
    47        name: CreationTime
    48        type: date
    49      - jsonPath: .metadata.creationTimestamp
    50        name: Age
    51        type: date
    52      name: v1
    53      schema:
    54        openAPIV3Schema:
    55          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.
    56          properties:
    57            apiVersion:
    58              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'
    59              type: string
    60            kind:
    61              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'
    62              type: string
    63            spec:
    64              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.'
    65              properties:
    66                source:
    67                  description: source specifies where a snapshot will be created from. This field is immutable after creation. Required.
    68                  properties:
    69                    persistentVolumeClaimName:
    70                      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.
    71                      type: string
    72                    volumeSnapshotContentName:
    73                      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.
    74                      type: string
    75                  type: object
    76                  oneOf:
    77                  - required: ["persistentVolumeClaimName"]
    78                  - required: ["volumeSnapshotContentName"]
    79                volumeSnapshotClassName:
    80                  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.'
    81                  type: string
    82              required:
    83              - source
    84              type: object
    85            status:
    86              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.
    87              properties:
    88                boundVolumeSnapshotContentName:
    89                  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.'
    90                  type: string
    91                creationTime:
    92                  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.
    93                  format: date-time
    94                  type: string
    95                error:
    96                  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 occurrs during the snapshot creation. Upon success, this error field will be cleared.
    97                  properties:
    98                    message:
    99                      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.'
   100                      type: string
   101                    time:
   102                      description: time is the timestamp when the error was encountered.
   103                      format: date-time
   104                      type: string
   105                  type: object
   106                readyToUse:
   107                  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.
   108                  type: boolean
   109                restoreSize:
   110                  type: string
   111                  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.
   112                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   113                  x-kubernetes-int-or-string: true
   114              type: object
   115          required:
   116          - spec
   117          type: object
   118      served: true
   119      storage: true
   120      subresources:
   121        status: {}
   122    - additionalPrinterColumns:
   123      - description: Indicates if the snapshot is ready to be used to restore a volume.
   124        jsonPath: .status.readyToUse
   125        name: ReadyToUse
   126        type: boolean
   127      - 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.
   128        jsonPath: .spec.source.persistentVolumeClaimName
   129        name: SourcePVC
   130        type: string
   131      - description: If a snapshot already exists, this contains the name of the existing VolumeSnapshotContent object representing the existing snapshot.
   132        jsonPath: .spec.source.volumeSnapshotContentName
   133        name: SourceSnapshotContent
   134        type: string
   135      - description: Represents the minimum size of volume required to rehydrate from this snapshot.
   136        jsonPath: .status.restoreSize
   137        name: RestoreSize
   138        type: string
   139      - description: The name of the VolumeSnapshotClass requested by the VolumeSnapshot.
   140        jsonPath: .spec.volumeSnapshotClassName
   141        name: SnapshotClass
   142        type: string
   143      - 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.
   144        jsonPath: .status.boundVolumeSnapshotContentName
   145        name: SnapshotContent
   146        type: string
   147      - description: Timestamp when the point-in-time snapshot was taken by the underlying storage system.
   148        jsonPath: .status.creationTime
   149        name: CreationTime
   150        type: date
   151      - jsonPath: .metadata.creationTimestamp
   152        name: Age
   153        type: date
   154      name: v1beta1
   155      # This indicates the v1beta1 version of the custom resource is deprecated.
   156      # API requests to this version receive a warning in the server response.
   157      deprecated: true
   158      # This overrides the default warning returned to clients making v1beta1 API requests.
   159      deprecationWarning: "snapshot.storage.k8s.io/v1beta1 VolumeSnapshot is deprecated; use snapshot.storage.k8s.io/v1 VolumeSnapshot"
   160      schema:
   161        openAPIV3Schema:
   162          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.
   163          properties:
   164            apiVersion:
   165              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'
   166              type: string
   167            kind:
   168              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'
   169              type: string
   170            spec:
   171              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.'
   172              properties:
   173                source:
   174                  description: source specifies where a snapshot will be created from. This field is immutable after creation. Required.
   175                  properties:
   176                    persistentVolumeClaimName:
   177                      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.
   178                      type: string
   179                    volumeSnapshotContentName:
   180                      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.
   181                      type: string
   182                  type: object
   183                volumeSnapshotClassName:
   184                  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.'
   185                  type: string
   186              required:
   187              - source
   188              type: object
   189            status:
   190              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.
   191              properties:
   192                boundVolumeSnapshotContentName:
   193                  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.'
   194                  type: string
   195                creationTime:
   196                  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.
   197                  format: date-time
   198                  type: string
   199                error:
   200                  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 occurrs during the snapshot creation. Upon success, this error field will be cleared.
   201                  properties:
   202                    message:
   203                      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.'
   204                      type: string
   205                    time:
   206                      description: time is the timestamp when the error was encountered.
   207                      format: date-time
   208                      type: string
   209                  type: object
   210                readyToUse:
   211                  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.
   212                  type: boolean
   213                restoreSize:
   214                  type: string
   215                  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.
   216                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   217                  x-kubernetes-int-or-string: true
   218              type: object
   219          required:
   220          - spec
   221          type: object
   222      served: true
   223      storage: false
   224      subresources:
   225        status: {}
   226  status:
   227    acceptedNames:
   228      kind: ""
   229      plural: ""
   230    conditions: []
   231    storedVersions: []