Update snapshot.storage.k8s.io_volumesnapshotcontents.yaml
Signed-off-by: Kjeld Schouten <info@kjeldschouten.nl>
This commit is contained in:
+168
-114
@@ -3,9 +3,8 @@ apiVersion: apiextensions.k8s.io/v1
|
|||||||
kind: CustomResourceDefinition
|
kind: CustomResourceDefinition
|
||||||
metadata:
|
metadata:
|
||||||
annotations:
|
annotations:
|
||||||
|
controller-gen.kubebuilder.io/version: v0.15.0
|
||||||
api-approved.kubernetes.io: "https://github.com/kubernetes-csi/external-snapshotter/pull/955"
|
api-approved.kubernetes.io: "https://github.com/kubernetes-csi/external-snapshotter/pull/955"
|
||||||
controller-gen.kubebuilder.io/version: v0.12.0
|
|
||||||
creationTimestamp: null
|
|
||||||
name: volumesnapshotcontents.snapshot.storage.k8s.io
|
name: volumesnapshotcontents.snapshot.storage.k8s.io
|
||||||
spec:
|
spec:
|
||||||
group: snapshot.storage.k8s.io
|
group: snapshot.storage.k8s.io
|
||||||
@@ -48,7 +47,8 @@ spec:
|
|||||||
jsonPath: .spec.volumeSnapshotRef.name
|
jsonPath: .spec.volumeSnapshotRef.name
|
||||||
name: VolumeSnapshot
|
name: VolumeSnapshot
|
||||||
type: string
|
type: string
|
||||||
- description: Namespace of the VolumeSnapshot object to which this VolumeSnapshotContent object is bound.
|
- description: Namespace of the VolumeSnapshot object to which this VolumeSnapshotContent
|
||||||
|
object is bound.
|
||||||
jsonPath: .spec.volumeSnapshotRef.namespace
|
jsonPath: .spec.volumeSnapshotRef.namespace
|
||||||
name: VolumeSnapshotNamespace
|
name: VolumeSnapshotNamespace
|
||||||
type: string
|
type: string
|
||||||
@@ -58,154 +58,206 @@ spec:
|
|||||||
name: v1
|
name: v1
|
||||||
schema:
|
schema:
|
||||||
openAPIV3Schema:
|
openAPIV3Schema:
|
||||||
description: VolumeSnapshotContent represents the actual "on-disk" snapshot
|
description: |-
|
||||||
object in the underlying storage system
|
VolumeSnapshotContent represents the actual "on-disk" snapshot object in the
|
||||||
|
underlying storage system
|
||||||
properties:
|
properties:
|
||||||
apiVersion:
|
apiVersion:
|
||||||
description: 'APIVersion defines the versioned schema of this representation
|
description: |-
|
||||||
of an object. Servers should convert recognized schemas to the latest
|
APIVersion defines the versioned schema of this representation of an object.
|
||||||
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
|
Servers should convert recognized schemas to the latest internal value, and
|
||||||
|
may reject unrecognized values.
|
||||||
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
|
||||||
type: string
|
type: string
|
||||||
kind:
|
kind:
|
||||||
description: 'Kind is a string value representing the REST resource this
|
description: |-
|
||||||
object represents. Servers may infer this from the endpoint the client
|
Kind is a string value representing the REST resource this object represents.
|
||||||
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
Servers may infer this from the endpoint the client submits requests to.
|
||||||
|
Cannot be updated.
|
||||||
|
In CamelCase.
|
||||||
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
||||||
type: string
|
type: string
|
||||||
metadata:
|
metadata:
|
||||||
type: object
|
type: object
|
||||||
spec:
|
spec:
|
||||||
description: spec defines properties of a VolumeSnapshotContent created
|
description: |-
|
||||||
by the underlying storage system. Required.
|
spec defines properties of a VolumeSnapshotContent created by the underlying storage system.
|
||||||
|
Required.
|
||||||
properties:
|
properties:
|
||||||
deletionPolicy:
|
deletionPolicy:
|
||||||
description: deletionPolicy determines whether this VolumeSnapshotContent
|
description: |-
|
||||||
and its physical snapshot on the underlying storage system should
|
deletionPolicy determines whether this VolumeSnapshotContent and its physical snapshot on
|
||||||
be deleted when its bound VolumeSnapshot is deleted. Supported values
|
the underlying storage system should be deleted when its bound VolumeSnapshot is deleted.
|
||||||
are "Retain" and "Delete". "Retain" means that the VolumeSnapshotContent
|
Supported values are "Retain" and "Delete".
|
||||||
and its physical snapshot on underlying storage system are kept.
|
"Retain" means that the VolumeSnapshotContent and its physical snapshot on underlying storage system are kept.
|
||||||
"Delete" means that the VolumeSnapshotContent and its physical snapshot
|
"Delete" means that the VolumeSnapshotContent and its physical snapshot on underlying storage system are deleted.
|
||||||
on underlying storage system are deleted. For dynamically provisioned
|
For dynamically provisioned snapshots, this field will automatically be filled in by the
|
||||||
snapshots, this field will automatically be filled in by the CSI
|
CSI snapshotter sidecar with the "DeletionPolicy" field defined in the corresponding
|
||||||
snapshotter sidecar with the "DeletionPolicy" field defined in the
|
VolumeSnapshotClass.
|
||||||
corresponding VolumeSnapshotClass. For pre-existing snapshots, users
|
For pre-existing snapshots, users MUST specify this field when creating the
|
||||||
MUST specify this field when creating the VolumeSnapshotContent
|
VolumeSnapshotContent object.
|
||||||
object. Required.
|
Required.
|
||||||
enum:
|
enum:
|
||||||
- Delete
|
- Delete
|
||||||
- Retain
|
- Retain
|
||||||
type: string
|
type: string
|
||||||
driver:
|
driver:
|
||||||
description: driver is the name of the CSI driver used to create the
|
description: |-
|
||||||
physical snapshot on the underlying storage system. This MUST be
|
driver is the name of the CSI driver used to create the physical snapshot on
|
||||||
the same as the name returned by the CSI GetPluginName() call for
|
the underlying storage system.
|
||||||
that driver. Required.
|
This MUST be the same as the name returned by the CSI GetPluginName() call for
|
||||||
|
that driver.
|
||||||
|
Required.
|
||||||
type: string
|
type: string
|
||||||
source:
|
source:
|
||||||
description: source specifies whether the snapshot is (or should be)
|
description: |-
|
||||||
dynamically provisioned or already exists, and just requires a Kubernetes
|
source specifies whether the snapshot is (or should be) dynamically provisioned
|
||||||
object representation. This field is immutable after creation. Required.
|
or already exists, and just requires a Kubernetes object representation.
|
||||||
|
This field is immutable after creation.
|
||||||
|
Required.
|
||||||
properties:
|
properties:
|
||||||
snapshotHandle:
|
snapshotHandle:
|
||||||
description: snapshotHandle specifies the CSI "snapshot_id" of
|
description: |-
|
||||||
a pre-existing snapshot on the underlying storage system for
|
snapshotHandle specifies the CSI "snapshot_id" of a pre-existing snapshot on
|
||||||
which a Kubernetes object representation was (or should be)
|
the underlying storage system for which a Kubernetes object representation
|
||||||
created. This field is immutable.
|
was (or should be) created.
|
||||||
type: string
|
|
||||||
volumeHandle:
|
|
||||||
description: volumeHandle specifies the CSI "volume_id" of the
|
|
||||||
volume from which a snapshot should be dynamically taken from.
|
|
||||||
This field is immutable.
|
This field is immutable.
|
||||||
type: string
|
type: string
|
||||||
|
x-kubernetes-validations:
|
||||||
|
- message: snapshotHandle is immutable
|
||||||
|
rule: self == oldSelf
|
||||||
|
volumeHandle:
|
||||||
|
description: |-
|
||||||
|
volumeHandle specifies the CSI "volume_id" of the volume from which a snapshot
|
||||||
|
should be dynamically taken from.
|
||||||
|
This field is immutable.
|
||||||
|
type: string
|
||||||
|
x-kubernetes-validations:
|
||||||
|
- message: volumeHandle is immutable
|
||||||
|
rule: self == oldSelf
|
||||||
type: object
|
type: object
|
||||||
oneOf:
|
x-kubernetes-validations:
|
||||||
- required: ["snapshotHandle"]
|
- message: volumeHandle is required once set
|
||||||
- required: ["volumeHandle"]
|
rule: '!has(oldSelf.volumeHandle) || has(self.volumeHandle)'
|
||||||
|
- message: snapshotHandle is required once set
|
||||||
|
rule: '!has(oldSelf.snapshotHandle) || has(self.snapshotHandle)'
|
||||||
|
- message: exactly one of volumeHandle and snapshotHandle must be
|
||||||
|
set
|
||||||
|
rule: (has(self.volumeHandle) && !has(self.snapshotHandle)) || (!has(self.volumeHandle)
|
||||||
|
&& has(self.snapshotHandle))
|
||||||
sourceVolumeMode:
|
sourceVolumeMode:
|
||||||
description: SourceVolumeMode is the mode of the volume whose snapshot
|
description: |-
|
||||||
is taken. Can be either “Filesystem” or “Block”. If not specified,
|
SourceVolumeMode is the mode of the volume whose snapshot is taken.
|
||||||
it indicates the source volume's mode is unknown. This field is
|
Can be either “Filesystem” or “Block”.
|
||||||
immutable. This field is an alpha field.
|
If not specified, it indicates the source volume's mode is unknown.
|
||||||
|
This field is immutable.
|
||||||
|
This field is an alpha field.
|
||||||
type: string
|
type: string
|
||||||
|
x-kubernetes-validations:
|
||||||
|
- message: sourceVolumeMode is immutable
|
||||||
|
rule: self == oldSelf
|
||||||
volumeSnapshotClassName:
|
volumeSnapshotClassName:
|
||||||
description: name of the VolumeSnapshotClass from which this snapshot
|
description: |-
|
||||||
was (or will be) created. Note that after provisioning, the VolumeSnapshotClass
|
name of the VolumeSnapshotClass from which this snapshot was (or will be)
|
||||||
may be deleted or recreated with different set of values, and as
|
created.
|
||||||
such, should not be referenced post-snapshot creation.
|
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.
|
||||||
type: string
|
type: string
|
||||||
volumeSnapshotRef:
|
volumeSnapshotRef:
|
||||||
description: volumeSnapshotRef specifies the VolumeSnapshot object
|
description: |-
|
||||||
to which this VolumeSnapshotContent object is bound. VolumeSnapshot.Spec.VolumeSnapshotContentName
|
volumeSnapshotRef specifies the VolumeSnapshot object to which this
|
||||||
field must reference to this VolumeSnapshotContent's name for the
|
VolumeSnapshotContent object is bound.
|
||||||
bidirectional binding to be valid. For a pre-existing VolumeSnapshotContent
|
VolumeSnapshot.Spec.VolumeSnapshotContentName field must reference to
|
||||||
object, name and namespace of the VolumeSnapshot object MUST be
|
this VolumeSnapshotContent's name for the bidirectional binding to be valid.
|
||||||
provided for binding to happen. This field is immutable after creation.
|
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.
|
Required.
|
||||||
properties:
|
properties:
|
||||||
apiVersion:
|
apiVersion:
|
||||||
description: API version of the referent.
|
description: API version of the referent.
|
||||||
type: string
|
type: string
|
||||||
fieldPath:
|
fieldPath:
|
||||||
description: 'If referring to a piece of an object instead of
|
description: |-
|
||||||
an entire object, this string should contain a valid JSON/Go
|
If referring to a piece of an object instead of an entire object, this string
|
||||||
field access statement, such as desiredState.manifest.containers[2].
|
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
|
For example, if the object reference is to a container within a pod, this would take on a value like:
|
||||||
a pod, this would take on a value like: "spec.containers{name}"
|
"spec.containers{name}" (where "name" refers to the name of the container that triggered
|
||||||
(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
|
||||||
the event) or if no container name is specified "spec.containers[2]"
|
index 2 in this pod). This syntax is chosen only to have some well-defined way of
|
||||||
(container with index 2 in this pod). This syntax is chosen
|
referencing a part of an object.
|
||||||
only to have some well-defined way of referencing a part of
|
TODO: this design is not final and this field is subject to change in the future.
|
||||||
an object. TODO: this design is not final and this field is
|
|
||||||
subject to change in the future.'
|
|
||||||
type: string
|
type: string
|
||||||
kind:
|
kind:
|
||||||
description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
description: |-
|
||||||
|
Kind of the referent.
|
||||||
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
||||||
type: string
|
type: string
|
||||||
name:
|
name:
|
||||||
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
|
description: |-
|
||||||
|
Name of the referent.
|
||||||
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
type: string
|
type: string
|
||||||
namespace:
|
namespace:
|
||||||
description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
|
description: |-
|
||||||
|
Namespace of the referent.
|
||||||
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
|
||||||
type: string
|
type: string
|
||||||
resourceVersion:
|
resourceVersion:
|
||||||
description: 'Specific resourceVersion to which this reference
|
description: |-
|
||||||
is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
|
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
|
||||||
type: string
|
type: string
|
||||||
uid:
|
uid:
|
||||||
description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
|
description: |-
|
||||||
|
UID of the referent.
|
||||||
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
|
||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
x-kubernetes-map-type: atomic
|
x-kubernetes-map-type: atomic
|
||||||
|
x-kubernetes-validations:
|
||||||
|
- message: both spec.volumeSnapshotRef.name and spec.volumeSnapshotRef.namespace
|
||||||
|
must be set
|
||||||
|
rule: has(self.name) && has(self.__namespace__)
|
||||||
required:
|
required:
|
||||||
- deletionPolicy
|
- deletionPolicy
|
||||||
- driver
|
- driver
|
||||||
- source
|
- source
|
||||||
- volumeSnapshotRef
|
- volumeSnapshotRef
|
||||||
type: object
|
type: object
|
||||||
|
x-kubernetes-validations:
|
||||||
|
- message: sourceVolumeMode is required once set
|
||||||
|
rule: '!has(oldSelf.sourceVolumeMode) || has(self.sourceVolumeMode)'
|
||||||
status:
|
status:
|
||||||
description: status represents the current information of a snapshot.
|
description: status represents the current information of a snapshot.
|
||||||
properties:
|
properties:
|
||||||
creationTime:
|
creationTime:
|
||||||
description: creationTime is the timestamp when the point-in-time
|
description: |-
|
||||||
snapshot is taken by the underlying storage system. In dynamic snapshot
|
creationTime is the timestamp when the point-in-time snapshot is taken
|
||||||
creation case, this field will be filled in by the CSI snapshotter
|
by the underlying storage system.
|
||||||
sidecar with the "creation_time" value returned from CSI "CreateSnapshot"
|
In dynamic snapshot creation case, this field will be filled in by the
|
||||||
gRPC call. For a pre-existing snapshot, this field will be filled
|
CSI snapshotter sidecar with the "creation_time" value returned from CSI
|
||||||
with the "creation_time" value returned from the CSI "ListSnapshots"
|
"CreateSnapshot" gRPC call.
|
||||||
gRPC call if the driver supports it. If not specified, it indicates
|
For a pre-existing snapshot, this field will be filled with the "creation_time"
|
||||||
the creation time is unknown. The format of this field is a Unix
|
value returned from the CSI "ListSnapshots" gRPC call if the driver supports it.
|
||||||
nanoseconds time encoded as an int64. On Unix, the command `date
|
If not specified, it indicates the creation time is unknown.
|
||||||
+%s%N` returns the current time in nanoseconds since 1970-01-01
|
The format of this field is a Unix nanoseconds time encoded as an int64.
|
||||||
00:00:00 UTC.
|
On Unix, the command `date +%s%N` returns the current time in nanoseconds
|
||||||
|
since 1970-01-01 00:00:00 UTC.
|
||||||
format: int64
|
format: int64
|
||||||
type: integer
|
type: integer
|
||||||
error:
|
error:
|
||||||
description: error is the last observed error during snapshot creation,
|
description: |-
|
||||||
if any. Upon success after retry, this error field will be cleared.
|
error is the last observed error during snapshot creation, if any.
|
||||||
|
Upon success after retry, this error field will be cleared.
|
||||||
properties:
|
properties:
|
||||||
message:
|
message:
|
||||||
description: 'message is a string detailing the encountered error
|
description: |-
|
||||||
during snapshot creation if specified. NOTE: message may be
|
message is a string detailing the encountered error during snapshot
|
||||||
logged, and it should not contain sensitive information.'
|
creation if specified.
|
||||||
|
NOTE: message may be logged, and it should not contain sensitive
|
||||||
|
information.
|
||||||
type: string
|
type: string
|
||||||
time:
|
time:
|
||||||
description: time is the timestamp when the error was encountered.
|
description: time is the timestamp when the error was encountered.
|
||||||
@@ -213,38 +265,40 @@ spec:
|
|||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
readyToUse:
|
readyToUse:
|
||||||
description: readyToUse indicates if a snapshot is ready to be used
|
description: |-
|
||||||
to restore a volume. In dynamic snapshot creation case, this field
|
readyToUse indicates if a snapshot is ready to be used to restore a volume.
|
||||||
will be filled in by the CSI snapshotter sidecar with the "ready_to_use"
|
In dynamic snapshot creation case, this field will be filled in by the
|
||||||
value returned from CSI "CreateSnapshot" gRPC call. For a pre-existing
|
CSI snapshotter sidecar with the "ready_to_use" value returned from CSI
|
||||||
snapshot, this field will be filled with the "ready_to_use" value
|
"CreateSnapshot" gRPC call.
|
||||||
returned from the CSI "ListSnapshots" gRPC call if the driver supports
|
For a pre-existing snapshot, this field will be filled with the "ready_to_use"
|
||||||
it, otherwise, this field will be set to "True". If not specified,
|
value returned from the CSI "ListSnapshots" gRPC call if the driver supports it,
|
||||||
it means the readiness of a snapshot is unknown.
|
otherwise, this field will be set to "True".
|
||||||
|
If not specified, it means the readiness of a snapshot is unknown.
|
||||||
type: boolean
|
type: boolean
|
||||||
restoreSize:
|
restoreSize:
|
||||||
description: restoreSize represents the complete size of the snapshot
|
description: |-
|
||||||
in bytes. In dynamic snapshot creation case, this field will be
|
restoreSize represents the complete size of the snapshot in bytes.
|
||||||
filled in by the CSI snapshotter sidecar with the "size_bytes" value
|
In dynamic snapshot creation case, this field will be filled in by the
|
||||||
returned from CSI "CreateSnapshot" gRPC call. For a pre-existing
|
CSI snapshotter sidecar with the "size_bytes" value returned from CSI
|
||||||
snapshot, this field will be filled with the "size_bytes" value
|
"CreateSnapshot" gRPC call.
|
||||||
returned from the CSI "ListSnapshots" gRPC call if the driver supports
|
For a pre-existing snapshot, this field will be filled with the "size_bytes"
|
||||||
it. When restoring a volume from this snapshot, the size of the
|
value returned from the CSI "ListSnapshots" gRPC call if the driver supports it.
|
||||||
volume MUST NOT be smaller than the restoreSize if it is specified,
|
When restoring a volume from this snapshot, the size of the volume MUST NOT
|
||||||
otherwise the restoration will fail. If not specified, it indicates
|
be smaller than the restoreSize if it is specified, otherwise the restoration will fail.
|
||||||
that the size is unknown.
|
If not specified, it indicates that the size is unknown.
|
||||||
format: int64
|
format: int64
|
||||||
minimum: 0
|
minimum: 0
|
||||||
type: integer
|
type: integer
|
||||||
snapshotHandle:
|
snapshotHandle:
|
||||||
description: snapshotHandle is the CSI "snapshot_id" of a snapshot
|
description: |-
|
||||||
on the underlying storage system. If not specified, it indicates
|
snapshotHandle is the CSI "snapshot_id" of a snapshot on the underlying storage system.
|
||||||
that dynamic snapshot creation has either failed or it is still
|
If not specified, it indicates that dynamic snapshot creation has either failed
|
||||||
in progress.
|
or it is still in progress.
|
||||||
type: string
|
type: string
|
||||||
volumeGroupSnapshotHandle:
|
volumeGroupSnapshotHandle:
|
||||||
description: VolumeGroupSnapshotHandle is the CSI "group_snapshot_id"
|
description: |-
|
||||||
of a group snapshot on the underlying storage system.
|
VolumeGroupSnapshotHandle is the CSI "group_snapshot_id" of a group snapshot
|
||||||
|
on the underlying storage system.
|
||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
required:
|
required:
|
||||||
|
|||||||
Reference in New Issue
Block a user