k8s.io/kubernetes@v1.31.0-alpha.0.0.20240520171757-56147500dadc/cluster/addons/volumesnapshots/crd/snapshot.storage.k8s.io_volumesnapshotcontents.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: volumesnapshotcontents.snapshot.storage.k8s.io
    12  spec:
    13    group: snapshot.storage.k8s.io
    14    names:
    15      kind: VolumeSnapshotContent
    16      listKind: VolumeSnapshotContentList
    17      plural: volumesnapshotcontents
    18      shortNames:
    19        - vsc
    20        - vscs
    21      singular: volumesnapshotcontent
    22    scope: Cluster
    23    versions:
    24      - additionalPrinterColumns:
    25          - description: Indicates if the snapshot is ready to be used to restore a volume.
    26            jsonPath: .status.readyToUse
    27            name: ReadyToUse
    28            type: boolean
    29          - description: Represents the complete size of the snapshot in bytes
    30            jsonPath: .status.restoreSize
    31            name: RestoreSize
    32            type: integer
    33          - description: Determines whether this VolumeSnapshotContent and its physical
    34              snapshot on the underlying storage system should be deleted when its bound
    35              VolumeSnapshot is deleted.
    36            jsonPath: .spec.deletionPolicy
    37            name: DeletionPolicy
    38            type: string
    39          - description: Name of the CSI driver used to create the physical snapshot on
    40              the underlying storage system.
    41            jsonPath: .spec.driver
    42            name: Driver
    43            type: string
    44          - description: Name of the VolumeSnapshotClass to which this snapshot belongs.
    45            jsonPath: .spec.volumeSnapshotClassName
    46            name: VolumeSnapshotClass
    47            type: string
    48          - description: Name of the VolumeSnapshot object to which this VolumeSnapshotContent
    49              object is bound.
    50            jsonPath: .spec.volumeSnapshotRef.name
    51            name: VolumeSnapshot
    52            type: string
    53          - description: Namespace of the VolumeSnapshot object to which this VolumeSnapshotContent object is bound.
    54            jsonPath: .spec.volumeSnapshotRef.namespace
    55            name: VolumeSnapshotNamespace
    56            type: string
    57          - jsonPath: .metadata.creationTimestamp
    58            name: Age
    59            type: date
    60        name: v1
    61        schema:
    62          openAPIV3Schema:
    63            description: VolumeSnapshotContent represents the actual "on-disk" snapshot
    64              object in the underlying storage system
    65            properties:
    66              apiVersion:
    67                description: 'APIVersion defines the versioned schema of this representation
    68                of an object. Servers should convert recognized schemas to the latest
    69                internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
    70                type: string
    71              kind:
    72                description: 'Kind is a string value representing the REST resource this
    73                object represents. Servers may infer this from the endpoint the client
    74                submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
    75                type: string
    76              spec:
    77                description: spec defines properties of a VolumeSnapshotContent created
    78                  by the underlying storage system. Required.
    79                properties:
    80                  deletionPolicy:
    81                    description: deletionPolicy determines whether this VolumeSnapshotContent
    82                      and its physical snapshot on the underlying storage system should
    83                      be deleted when its bound VolumeSnapshot is deleted. Supported values
    84                      are "Retain" and "Delete". "Retain" means that the VolumeSnapshotContent
    85                      and its physical snapshot on underlying storage system are kept.
    86                      "Delete" means that the VolumeSnapshotContent and its physical snapshot
    87                      on underlying storage system are deleted. For dynamically provisioned
    88                      snapshots, this field will automatically be filled in by the CSI
    89                      snapshotter sidecar with the "DeletionPolicy" field defined in the
    90                      corresponding VolumeSnapshotClass. For pre-existing snapshots, users
    91                      MUST specify this field when creating the VolumeSnapshotContent
    92                      object. Required.
    93                    enum:
    94                      - Delete
    95                      - Retain
    96                    type: string
    97                  driver:
    98                    description: driver is the name of the CSI driver used to create the
    99                      physical snapshot on the underlying storage system. This MUST be
   100                      the same as the name returned by the CSI GetPluginName() call for
   101                      that driver. Required.
   102                    type: string
   103                  source:
   104                    description: source specifies whether the snapshot is (or should be)
   105                      dynamically provisioned or already exists, and just requires a Kubernetes
   106                      object representation. This field is immutable after creation. Required.
   107                    properties:
   108                      snapshotHandle:
   109                        description: snapshotHandle specifies the CSI "snapshot_id" of
   110                          a pre-existing snapshot on the underlying storage system for
   111                          which a Kubernetes object representation was (or should be)
   112                          created. This field is immutable.
   113                        type: string
   114                      volumeHandle:
   115                        description: volumeHandle specifies the CSI "volume_id" of the
   116                          volume from which a snapshot should be dynamically taken from.
   117                          This field is immutable.
   118                        type: string
   119                    type: object
   120                    oneOf:
   121                      - required: ["snapshotHandle"]
   122                      - required: ["volumeHandle"]
   123                  sourceVolumeMode:
   124                    description: SourceVolumeMode is the mode of the volume whose snapshot
   125                      is taken. Can be either “Filesystem” or “Block”. If not specified,
   126                      it indicates the source volume's mode is unknown. This field is
   127                      immutable. This field is an alpha field.
   128                    type: string
   129                  volumeSnapshotClassName:
   130                    description: name of the VolumeSnapshotClass from which this snapshot
   131                      was (or will be) created. Note that after provisioning, the VolumeSnapshotClass
   132                      may be deleted or recreated with different set of values, and as
   133                      such, should not be referenced post-snapshot creation.
   134                    type: string
   135                  volumeSnapshotRef:
   136                    description: volumeSnapshotRef specifies the VolumeSnapshot object
   137                      to which this VolumeSnapshotContent object is bound. VolumeSnapshot.Spec.VolumeSnapshotContentName
   138                      field must reference to this VolumeSnapshotContent's name for the
   139                      bidirectional binding to be valid. For a pre-existing VolumeSnapshotContent
   140                      object, name and namespace of the VolumeSnapshot object MUST be
   141                      provided for binding to happen. This field is immutable after creation.
   142                      Required.
   143                    properties:
   144                      apiVersion:
   145                        description: API version of the referent.
   146                        type: string
   147                      fieldPath:
   148                        description: 'If referring to a piece of an object instead of
   149                        an entire object, this string should contain a valid JSON/Go
   150                        field access statement, such as desiredState.manifest.containers[2].
   151                        For example, if the object reference is to a container within
   152                        a pod, this would take on a value like: "spec.containers{name}"
   153                        (where "name" refers to the name of the container that triggered
   154                        the event) or if no container name is specified "spec.containers[2]"
   155                        (container with index 2 in this pod). This syntax is chosen
   156                        only to have some well-defined way of referencing a part of
   157                        an object. TODO: this design is not final and this field is
   158                        subject to change in the future.'
   159                        type: string
   160                      kind:
   161                        description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
   162                        type: string
   163                      name:
   164                        description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   165                        type: string
   166                      namespace:
   167                        description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   168                        type: string
   169                      resourceVersion:
   170                        description: 'Specific resourceVersion to which this reference
   171                        is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
   172                        type: string
   173                      uid:
   174                        description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
   175                        type: string
   176                    type: object
   177                required:
   178                  - deletionPolicy
   179                  - driver
   180                  - source
   181                  - volumeSnapshotRef
   182                type: object
   183              status:
   184                description: status represents the current information of a snapshot.
   185                properties:
   186                  creationTime:
   187                    description: creationTime is the timestamp when the point-in-time
   188                      snapshot is taken by the underlying storage system. In dynamic snapshot
   189                      creation case, this field will be filled in by the CSI snapshotter
   190                      sidecar with the "creation_time" value returned from CSI "CreateSnapshot"
   191                      gRPC call. For a pre-existing snapshot, this field will be filled
   192                      with the "creation_time" value returned from the CSI "ListSnapshots"
   193                      gRPC call if the driver supports it. If not specified, it indicates
   194                      the creation time is unknown. The format of this field is a Unix
   195                      nanoseconds time encoded as an int64. On Unix, the command `date
   196                      +%s%N` returns the current time in nanoseconds since 1970-01-01
   197                      00:00:00 UTC.
   198                    format: int64
   199                    type: integer
   200                  error:
   201                    description: error is the last observed error during snapshot creation,
   202                      if any. Upon success after retry, this error field will be cleared.
   203                    properties:
   204                      message:
   205                        description: 'message is a string detailing the encountered error
   206                        during snapshot creation if specified. NOTE: message may be
   207                        logged, and it should not contain sensitive information.'
   208                        type: string
   209                      time:
   210                        description: time is the timestamp when the error was encountered.
   211                        format: date-time
   212                        type: string
   213                    type: object
   214                  readyToUse:
   215                    description: readyToUse indicates if a snapshot is ready to be used
   216                      to restore a volume. In dynamic snapshot creation case, this field
   217                      will be filled in by the CSI snapshotter sidecar with the "ready_to_use"
   218                      value returned from CSI "CreateSnapshot" gRPC call. For a pre-existing
   219                      snapshot, this field will be filled with the "ready_to_use" value
   220                      returned from the CSI "ListSnapshots" gRPC call if the driver supports
   221                      it, otherwise, this field will be set to "True". If not specified,
   222                      it means the readiness of a snapshot is unknown.
   223                    type: boolean
   224                  restoreSize:
   225                    description: restoreSize represents the complete size of the snapshot
   226                      in bytes. In dynamic snapshot creation case, this field will be
   227                      filled in by the CSI snapshotter sidecar with the "size_bytes" value
   228                      returned from CSI "CreateSnapshot" gRPC call. For a pre-existing
   229                      snapshot, this field will be filled with the "size_bytes" value
   230                      returned from the CSI "ListSnapshots" gRPC call if the driver supports
   231                      it. When restoring a volume from this snapshot, the size of the
   232                      volume MUST NOT be smaller than the restoreSize if it is specified,
   233                      otherwise the restoration will fail. If not specified, it indicates
   234                      that the size is unknown.
   235                    format: int64
   236                    minimum: 0
   237                    type: integer
   238                  snapshotHandle:
   239                    description: snapshotHandle is the CSI "snapshot_id" of a snapshot
   240                      on the underlying storage system. If not specified, it indicates
   241                      that dynamic snapshot creation has either failed or it is still
   242                      in progress.
   243                    type: string
   244                type: object
   245            required:
   246              - spec
   247            type: object
   248        served: true
   249        storage: true
   250        subresources:
   251          status: {}
   252      - additionalPrinterColumns:
   253          - description: Indicates if the snapshot is ready to be used to restore a volume.
   254            jsonPath: .status.readyToUse
   255            name: ReadyToUse
   256            type: boolean
   257          - description: Represents the complete size of the snapshot in bytes
   258            jsonPath: .status.restoreSize
   259            name: RestoreSize
   260            type: integer
   261          - description: Determines whether this VolumeSnapshotContent and its physical snapshot on the underlying storage system should be deleted when its bound VolumeSnapshot is deleted.
   262            jsonPath: .spec.deletionPolicy
   263            name: DeletionPolicy
   264            type: string
   265          - description: Name of the CSI driver used to create the physical snapshot on the underlying storage system.
   266            jsonPath: .spec.driver
   267            name: Driver
   268            type: string
   269          - description: Name of the VolumeSnapshotClass to which this snapshot belongs.
   270            jsonPath: .spec.volumeSnapshotClassName
   271            name: VolumeSnapshotClass
   272            type: string
   273          - description: Name of the VolumeSnapshot object to which this VolumeSnapshotContent object is bound.
   274            jsonPath: .spec.volumeSnapshotRef.name
   275            name: VolumeSnapshot
   276            type: string
   277          - description: Namespace of the VolumeSnapshot object to which this VolumeSnapshotContent object is bound.
   278            jsonPath: .spec.volumeSnapshotRef.namespace
   279            name: VolumeSnapshotNamespace
   280            type: string
   281          - jsonPath: .metadata.creationTimestamp
   282            name: Age
   283            type: date
   284        name: v1beta1
   285        # This indicates the v1beta1 version of the custom resource is deprecated.
   286        # API requests to this version receive a warning in the server response.
   287        deprecated: true
   288        # This overrides the default warning returned to clients making v1beta1 API requests.
   289        deprecationWarning: "snapshot.storage.k8s.io/v1beta1 VolumeSnapshotContent is deprecated; use snapshot.storage.k8s.io/v1 VolumeSnapshotContent"
   290        schema:
   291          openAPIV3Schema:
   292            description: VolumeSnapshotContent represents the actual "on-disk" snapshot object in the underlying storage system
   293            properties:
   294              apiVersion:
   295                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'
   296                type: string
   297              kind:
   298                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'
   299                type: string
   300              spec:
   301                description: spec defines properties of a VolumeSnapshotContent created by the underlying storage system. Required.
   302                properties:
   303                  deletionPolicy:
   304                    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.
   305                    enum:
   306                      - Delete
   307                      - Retain
   308                    type: string
   309                  driver:
   310                    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.
   311                    type: string
   312                  source:
   313                    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.
   314                    properties:
   315                      snapshotHandle:
   316                        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.
   317                        type: string
   318                      volumeHandle:
   319                        description: volumeHandle specifies the CSI "volume_id" of the volume from which a snapshot should be dynamically taken from. This field is immutable.
   320                        type: string
   321                    type: object
   322                  volumeSnapshotClassName:
   323                    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.
   324                    type: string
   325                  volumeSnapshotRef:
   326                    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.
   327                    properties:
   328                      apiVersion:
   329                        description: API version of the referent.
   330                        type: string
   331                      fieldPath:
   332                        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.'
   333                        type: string
   334                      kind:
   335                        description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
   336                        type: string
   337                      name:
   338                        description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   339                        type: string
   340                      namespace:
   341                        description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   342                        type: string
   343                      resourceVersion:
   344                        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'
   345                        type: string
   346                      uid:
   347                        description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
   348                        type: string
   349                    type: object
   350                required:
   351                  - deletionPolicy
   352                  - driver
   353                  - source
   354                  - volumeSnapshotRef
   355                type: object
   356              status:
   357                description: status represents the current information of a snapshot.
   358                properties:
   359                  creationTime:
   360                    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.
   361                    format: int64
   362                    type: integer
   363                  error:
   364                    description: error is the last observed error during snapshot creation, if any. Upon success after retry, this error field will be cleared.
   365                    properties:
   366                      message:
   367                        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.'
   368                        type: string
   369                      time:
   370                        description: time is the timestamp when the error was encountered.
   371                        format: date-time
   372                        type: string
   373                    type: object
   374                  readyToUse:
   375                    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.
   376                    type: boolean
   377                  restoreSize:
   378                    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.
   379                    format: int64
   380                    minimum: 0
   381                    type: integer
   382                  snapshotHandle:
   383                    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.
   384                    type: string
   385                type: object
   386            required:
   387              - spec
   388            type: object
   389        served: false
   390        storage: false
   391        subresources:
   392          status: {}
   393  status:
   394    acceptedNames:
   395      kind: ""
   396      plural: ""
   397    conditions: []
   398    storedVersions: []