github.com/kubernetes-csi/external-snapshotter/client/v4@v4.2.0/config/crd/snapshot.storage.k8s.io_volumesnapshotcontents.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: volumesnapshotcontents.snapshot.storage.k8s.io
    11  spec:
    12    group: snapshot.storage.k8s.io
    13    names:
    14      kind: VolumeSnapshotContent
    15      listKind: VolumeSnapshotContentList
    16      plural: volumesnapshotcontents
    17      singular: volumesnapshotcontent
    18    scope: Cluster
    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: Represents the complete size of the snapshot in bytes
    26        jsonPath: .status.restoreSize
    27        name: RestoreSize
    28        type: integer
    29      - description: Determines whether this VolumeSnapshotContent and its physical snapshot on the underlying storage system should be deleted when its bound VolumeSnapshot is deleted.
    30        jsonPath: .spec.deletionPolicy
    31        name: DeletionPolicy
    32        type: string
    33      - description: Name of the CSI driver used to create the physical snapshot on the underlying storage system.
    34        jsonPath: .spec.driver
    35        name: Driver
    36        type: string
    37      - description: Name of the VolumeSnapshotClass to which this snapshot belongs.
    38        jsonPath: .spec.volumeSnapshotClassName
    39        name: VolumeSnapshotClass
    40        type: string
    41      - description: Name of the VolumeSnapshot object to which this VolumeSnapshotContent object is bound.
    42        jsonPath: .spec.volumeSnapshotRef.name
    43        name: VolumeSnapshot
    44        type: string
    45      - description: Namespace of the VolumeSnapshot object to which this VolumeSnapshotContent object is bound.
    46        jsonPath: .spec.volumeSnapshotRef.namespace
    47        name: VolumeSnapshotNamespace
    48        type: string
    49      - jsonPath: .metadata.creationTimestamp
    50        name: Age
    51        type: date
    52      name: v1
    53      schema:
    54        openAPIV3Schema:
    55          description: VolumeSnapshotContent represents the actual "on-disk" snapshot object in the underlying storage system
    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 properties of a VolumeSnapshotContent created by the underlying storage system. Required.
    65              properties:
    66                deletionPolicy:
    67                  description: deletionPolicy determines whether this VolumeSnapshotContent and its physical snapshot on the underlying storage system should be deleted when its bound VolumeSnapshot is deleted. Supported values are "Retain" and "Delete". "Retain" means that the VolumeSnapshotContent and its physical snapshot on underlying storage system are kept. "Delete" means that the VolumeSnapshotContent and its physical snapshot on underlying storage system are deleted. For dynamically provisioned snapshots, this field will automatically be filled in by the CSI snapshotter sidecar with the "DeletionPolicy" field defined in the corresponding VolumeSnapshotClass. For pre-existing snapshots, users MUST specify this field when creating the  VolumeSnapshotContent object. Required.
    68                  enum:
    69                  - Delete
    70                  - Retain
    71                  type: string
    72                driver:
    73                  description: driver is the name of the CSI driver used to create the physical snapshot on the underlying storage system. This MUST be the same as the name returned by the CSI GetPluginName() call for that driver. Required.
    74                  type: string
    75                source:
    76                  description: source specifies whether the snapshot is (or should be) dynamically provisioned or already exists, and just requires a Kubernetes object representation. This field is immutable after creation. Required.
    77                  properties:
    78                    snapshotHandle:
    79                      description: snapshotHandle specifies the CSI "snapshot_id" of a pre-existing snapshot on the underlying storage system for which a Kubernetes object representation was (or should be) created. This field is immutable.
    80                      type: string
    81                    volumeHandle:
    82                      description: volumeHandle specifies the CSI "volume_id" of the volume from which a snapshot should be dynamically taken from. This field is immutable.
    83                      type: string
    84                  type: object
    85                  oneOf:
    86                  - required: ["snapshotHandle"]
    87                  - required: ["volumeHandle"]
    88                volumeSnapshotClassName:
    89                  description: name of the VolumeSnapshotClass from which this snapshot was (or will be) created. Note that after provisioning, the VolumeSnapshotClass may be deleted or recreated with different set of values, and as such, should not be referenced post-snapshot creation.
    90                  type: string
    91                volumeSnapshotRef:
    92                  description: volumeSnapshotRef specifies the VolumeSnapshot object to which this VolumeSnapshotContent object is bound. VolumeSnapshot.Spec.VolumeSnapshotContentName field must reference to this VolumeSnapshotContent's name for the bidirectional binding to be valid. For a pre-existing VolumeSnapshotContent object, name and namespace of the VolumeSnapshot object MUST be provided for binding to happen. This field is immutable after creation. Required.
    93                  properties:
    94                    apiVersion:
    95                      description: API version of the referent.
    96                      type: string
    97                    fieldPath:
    98                      description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.'
    99                      type: string
   100                    kind:
   101                      description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
   102                      type: string
   103                    name:
   104                      description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   105                      type: string
   106                    namespace:
   107                      description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   108                      type: string
   109                    resourceVersion:
   110                      description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
   111                      type: string
   112                    uid:
   113                      description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
   114                      type: string
   115                  type: object
   116              required:
   117              - deletionPolicy
   118              - driver
   119              - source
   120              - volumeSnapshotRef
   121              type: object
   122            status:
   123              description: status represents the current information of a snapshot.
   124              properties:
   125                creationTime:
   126                  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 CSI snapshotter sidecar 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 indicates the creation time is unknown. The format of this field is a Unix nanoseconds time encoded as an int64. On Unix, the command `date +%s%N` returns the current time in nanoseconds since 1970-01-01 00:00:00 UTC.
   127                  format: int64
   128                  type: integer
   129                error:
   130                  description: error is the last observed error during snapshot creation, if any. Upon success after retry, this error field will be cleared.
   131                  properties:
   132                    message:
   133                      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.'
   134                      type: string
   135                    time:
   136                      description: time is the timestamp when the error was encountered.
   137                      format: date-time
   138                      type: string
   139                  type: object
   140                readyToUse:
   141                  description: readyToUse indicates if a snapshot is ready to be used to restore a volume. In dynamic snapshot creation case, this field will be filled in by the CSI snapshotter sidecar 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.
   142                  type: boolean
   143                restoreSize:
   144                  description: restoreSize represents the complete size of the snapshot in bytes. In dynamic snapshot creation case, this field will be filled in by the CSI snapshotter sidecar 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.
   145                  format: int64
   146                  minimum: 0
   147                  type: integer
   148                snapshotHandle:
   149                  description: snapshotHandle is the CSI "snapshot_id" of a snapshot on the underlying storage system. If not specified, it indicates that dynamic snapshot creation has either failed or it is still in progress.
   150                  type: string
   151              type: object
   152          required:
   153          - spec
   154          type: object
   155      served: true
   156      storage: true
   157      subresources:
   158        status: {}
   159    - additionalPrinterColumns:
   160      - description: Indicates if the snapshot is ready to be used to restore a volume.
   161        jsonPath: .status.readyToUse
   162        name: ReadyToUse
   163        type: boolean
   164      - description: Represents the complete size of the snapshot in bytes
   165        jsonPath: .status.restoreSize
   166        name: RestoreSize
   167        type: integer
   168      - description: Determines whether this VolumeSnapshotContent and its physical snapshot on the underlying storage system should be deleted when its bound VolumeSnapshot is deleted.
   169        jsonPath: .spec.deletionPolicy
   170        name: DeletionPolicy
   171        type: string
   172      - description: Name of the CSI driver used to create the physical snapshot on the underlying storage system.
   173        jsonPath: .spec.driver
   174        name: Driver
   175        type: string
   176      - description: Name of the VolumeSnapshotClass to which this snapshot belongs.
   177        jsonPath: .spec.volumeSnapshotClassName
   178        name: VolumeSnapshotClass
   179        type: string
   180      - description: Name of the VolumeSnapshot object to which this VolumeSnapshotContent object is bound.
   181        jsonPath: .spec.volumeSnapshotRef.name
   182        name: VolumeSnapshot
   183        type: string
   184      - description: Namespace of the VolumeSnapshot object to which this VolumeSnapshotContent object is bound.
   185        jsonPath: .spec.volumeSnapshotRef.namespace
   186        name: VolumeSnapshotNamespace
   187        type: string
   188      - jsonPath: .metadata.creationTimestamp
   189        name: Age
   190        type: date
   191      name: v1beta1
   192      # This indicates the v1beta1 version of the custom resource is deprecated.
   193      # API requests to this version receive a warning in the server response.
   194      deprecated: true
   195      # This overrides the default warning returned to clients making v1beta1 API requests.
   196      deprecationWarning: "snapshot.storage.k8s.io/v1beta1 VolumeSnapshotContent is deprecated; use snapshot.storage.k8s.io/v1 VolumeSnapshotContent"
   197      schema:
   198        openAPIV3Schema:
   199          description: VolumeSnapshotContent represents the actual "on-disk" snapshot object in the underlying storage system
   200          properties:
   201            apiVersion:
   202              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'
   203              type: string
   204            kind:
   205              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'
   206              type: string
   207            spec:
   208              description: spec defines properties of a VolumeSnapshotContent created by the underlying storage system. Required.
   209              properties:
   210                deletionPolicy:
   211                  description: deletionPolicy determines whether this VolumeSnapshotContent and its physical snapshot on the underlying storage system should be deleted when its bound VolumeSnapshot is deleted. Supported values are "Retain" and "Delete". "Retain" means that the VolumeSnapshotContent and its physical snapshot on underlying storage system are kept. "Delete" means that the VolumeSnapshotContent and its physical snapshot on underlying storage system are deleted. For dynamically provisioned snapshots, this field will automatically be filled in by the CSI snapshotter sidecar with the "DeletionPolicy" field defined in the corresponding VolumeSnapshotClass. For pre-existing snapshots, users MUST specify this field when creating the  VolumeSnapshotContent object. Required.
   212                  enum:
   213                  - Delete
   214                  - Retain
   215                  type: string
   216                driver:
   217                  description: driver is the name of the CSI driver used to create the physical snapshot on the underlying storage system. This MUST be the same as the name returned by the CSI GetPluginName() call for that driver. Required.
   218                  type: string
   219                source:
   220                  description: source specifies whether the snapshot is (or should be) dynamically provisioned or already exists, and just requires a Kubernetes object representation. This field is immutable after creation. Required.
   221                  properties:
   222                    snapshotHandle:
   223                      description: snapshotHandle specifies the CSI "snapshot_id" of a pre-existing snapshot on the underlying storage system for which a Kubernetes object representation was (or should be) created. This field is immutable.
   224                      type: string
   225                    volumeHandle:
   226                      description: volumeHandle specifies the CSI "volume_id" of the volume from which a snapshot should be dynamically taken from. This field is immutable.
   227                      type: string
   228                  type: object
   229                volumeSnapshotClassName:
   230                  description: name of the VolumeSnapshotClass from which this snapshot was (or will be) created. Note that after provisioning, the VolumeSnapshotClass may be deleted or recreated with different set of values, and as such, should not be referenced post-snapshot creation.
   231                  type: string
   232                volumeSnapshotRef:
   233                  description: volumeSnapshotRef specifies the VolumeSnapshot object to which this VolumeSnapshotContent object is bound. VolumeSnapshot.Spec.VolumeSnapshotContentName field must reference to this VolumeSnapshotContent's name for the bidirectional binding to be valid. For a pre-existing VolumeSnapshotContent object, name and namespace of the VolumeSnapshot object MUST be provided for binding to happen. This field is immutable after creation. Required.
   234                  properties:
   235                    apiVersion:
   236                      description: API version of the referent.
   237                      type: string
   238                    fieldPath:
   239                      description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.'
   240                      type: string
   241                    kind:
   242                      description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
   243                      type: string
   244                    name:
   245                      description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   246                      type: string
   247                    namespace:
   248                      description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   249                      type: string
   250                    resourceVersion:
   251                      description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
   252                      type: string
   253                    uid:
   254                      description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
   255                      type: string
   256                  type: object
   257              required:
   258              - deletionPolicy
   259              - driver
   260              - source
   261              - volumeSnapshotRef
   262              type: object
   263            status:
   264              description: status represents the current information of a snapshot.
   265              properties:
   266                creationTime:
   267                  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 CSI snapshotter sidecar 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 indicates the creation time is unknown. The format of this field is a Unix nanoseconds time encoded as an int64. On Unix, the command `date +%s%N` returns the current time in nanoseconds since 1970-01-01 00:00:00 UTC.
   268                  format: int64
   269                  type: integer
   270                error:
   271                  description: error is the last observed error during snapshot creation, if any. Upon success after retry, this error field will be cleared.
   272                  properties:
   273                    message:
   274                      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.'
   275                      type: string
   276                    time:
   277                      description: time is the timestamp when the error was encountered.
   278                      format: date-time
   279                      type: string
   280                  type: object
   281                readyToUse:
   282                  description: readyToUse indicates if a snapshot is ready to be used to restore a volume. In dynamic snapshot creation case, this field will be filled in by the CSI snapshotter sidecar 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.
   283                  type: boolean
   284                restoreSize:
   285                  description: restoreSize represents the complete size of the snapshot in bytes. In dynamic snapshot creation case, this field will be filled in by the CSI snapshotter sidecar 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.
   286                  format: int64
   287                  minimum: 0
   288                  type: integer
   289                snapshotHandle:
   290                  description: snapshotHandle is the CSI "snapshot_id" of a snapshot on the underlying storage system. If not specified, it indicates that dynamic snapshot creation has either failed or it is still in progress.
   291                  type: string
   292              type: object
   293          required:
   294          - spec
   295          type: object
   296      served: true
   297      storage: false
   298      subresources:
   299        status: {}
   300  status:
   301    acceptedNames:
   302      kind: ""
   303      plural: ""
   304    conditions: []
   305    storedVersions: []