Update snapshot.storage.k8s.io_volumesnapshots.yaml
Signed-off-by: Kjeld Schouten <info@kjeldschouten.nl>
This commit is contained in:
+125
-88
@@ -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/814"
|
api-approved.kubernetes.io: "https://github.com/kubernetes-csi/external-snapshotter/pull/814"
|
||||||
controller-gen.kubebuilder.io/version: v0.12.0
|
|
||||||
creationTimestamp: null
|
|
||||||
name: volumesnapshots.snapshot.storage.k8s.io
|
name: volumesnapshots.snapshot.storage.k8s.io
|
||||||
spec:
|
spec:
|
||||||
group: snapshot.storage.k8s.io
|
group: snapshot.storage.k8s.io
|
||||||
@@ -61,105 +60,140 @@ spec:
|
|||||||
name: v1
|
name: v1
|
||||||
schema:
|
schema:
|
||||||
openAPIV3Schema:
|
openAPIV3Schema:
|
||||||
description: VolumeSnapshot is a user's request for either creating a point-in-time
|
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.
|
snapshot of a persistent volume, or binding to a pre-existing snapshot.
|
||||||
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 the desired characteristics of a snapshot requested
|
description: |-
|
||||||
by a user. More info: https://kubernetes.io/docs/concepts/storage/volume-snapshots#volumesnapshots
|
spec defines the desired characteristics of a snapshot requested by a user.
|
||||||
Required.'
|
More info: https://kubernetes.io/docs/concepts/storage/volume-snapshots#volumesnapshots
|
||||||
|
Required.
|
||||||
properties:
|
properties:
|
||||||
source:
|
source:
|
||||||
description: source specifies where a snapshot will be created from.
|
description: |-
|
||||||
This field is immutable after creation. Required.
|
source specifies where a snapshot will be created from.
|
||||||
|
This field is immutable after creation.
|
||||||
|
Required.
|
||||||
properties:
|
properties:
|
||||||
persistentVolumeClaimName:
|
persistentVolumeClaimName:
|
||||||
description: persistentVolumeClaimName specifies the name of the
|
description: |-
|
||||||
PersistentVolumeClaim object representing the volume from which
|
persistentVolumeClaimName specifies the name of the PersistentVolumeClaim
|
||||||
a snapshot should be created. This PVC is assumed to be in the
|
object representing the volume from which a snapshot should be created.
|
||||||
same namespace as the VolumeSnapshot object. This field should
|
This PVC is assumed to be in the same namespace as the VolumeSnapshot
|
||||||
be set if the snapshot does not exists, and needs to be created.
|
object.
|
||||||
|
This field should be set if the snapshot does not exists, and needs to be
|
||||||
|
created.
|
||||||
This field is immutable.
|
This field is immutable.
|
||||||
type: string
|
type: string
|
||||||
|
x-kubernetes-validations:
|
||||||
|
- message: persistentVolumeClaimName is immutable
|
||||||
|
rule: self == oldSelf
|
||||||
volumeSnapshotContentName:
|
volumeSnapshotContentName:
|
||||||
description: volumeSnapshotContentName specifies the name of a
|
description: |-
|
||||||
pre-existing VolumeSnapshotContent object representing an existing
|
volumeSnapshotContentName specifies the name of a pre-existing VolumeSnapshotContent
|
||||||
volume snapshot. This field should be set if the snapshot already
|
object representing an existing volume snapshot.
|
||||||
exists and only needs a representation in Kubernetes. This field
|
This field should be set if the snapshot already exists and only needs a representation in Kubernetes.
|
||||||
is immutable.
|
This field is immutable.
|
||||||
type: string
|
type: string
|
||||||
|
x-kubernetes-validations:
|
||||||
|
- message: volumeSnapshotContentName is immutable
|
||||||
|
rule: self == oldSelf
|
||||||
type: object
|
type: object
|
||||||
oneOf:
|
x-kubernetes-validations:
|
||||||
- required: ["persistentVolumeClaimName"]
|
- message: persistentVolumeClaimName is required once set
|
||||||
- required: ["volumeSnapshotContentName"]
|
rule: '!has(oldSelf.persistentVolumeClaimName) || has(self.persistentVolumeClaimName)'
|
||||||
|
- message: volumeSnapshotContentName is required once set
|
||||||
|
rule: '!has(oldSelf.volumeSnapshotContentName) || has(self.volumeSnapshotContentName)'
|
||||||
|
- message: exactly one of volumeSnapshotContentName and persistentVolumeClaimName
|
||||||
|
must be set
|
||||||
|
rule: (has(self.volumeSnapshotContentName) && !has(self.persistentVolumeClaimName))
|
||||||
|
|| (!has(self.volumeSnapshotContentName) && has(self.persistentVolumeClaimName))
|
||||||
volumeSnapshotClassName:
|
volumeSnapshotClassName:
|
||||||
description: 'VolumeSnapshotClassName is the name of the VolumeSnapshotClass
|
description: |-
|
||||||
requested by the VolumeSnapshot. VolumeSnapshotClassName may be
|
VolumeSnapshotClassName is the name of the VolumeSnapshotClass
|
||||||
left nil to indicate that the default SnapshotClass should be used.
|
requested by the VolumeSnapshot.
|
||||||
A given cluster may have multiple default Volume SnapshotClasses:
|
VolumeSnapshotClassName may be left nil to indicate that the default
|
||||||
one default per CSI Driver. If a VolumeSnapshot does not specify
|
SnapshotClass should be used.
|
||||||
a SnapshotClass, VolumeSnapshotSource will be checked to figure
|
A given cluster may have multiple default Volume SnapshotClasses: one
|
||||||
out what the associated CSI Driver is, and the default VolumeSnapshotClass
|
default per CSI Driver. If a VolumeSnapshot does not specify a SnapshotClass,
|
||||||
associated with that CSI Driver will be used. If more than one VolumeSnapshotClass
|
VolumeSnapshotSource will be checked to figure out what the associated
|
||||||
exist for a given CSI Driver and more than one have been marked
|
CSI Driver is, and the default VolumeSnapshotClass associated with that
|
||||||
as default, CreateSnapshot will fail and generate an event. Empty
|
CSI Driver will be used. If more than one VolumeSnapshotClass exist for
|
||||||
string is not allowed for this field.'
|
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.
|
||||||
type: string
|
type: string
|
||||||
|
x-kubernetes-validations:
|
||||||
|
- message: volumeSnapshotClassName must not be the empty string when
|
||||||
|
set
|
||||||
|
rule: size(self) > 0
|
||||||
required:
|
required:
|
||||||
- source
|
- source
|
||||||
type: object
|
type: object
|
||||||
status:
|
status:
|
||||||
description: status represents the current information of a snapshot.
|
description: |-
|
||||||
Consumers must verify binding between VolumeSnapshot and VolumeSnapshotContent
|
status represents the current information of a snapshot.
|
||||||
objects is successful (by validating that both VolumeSnapshot and VolumeSnapshotContent
|
Consumers must verify binding between VolumeSnapshot and
|
||||||
point at each other) before using this object.
|
VolumeSnapshotContent objects is successful (by validating that both
|
||||||
|
VolumeSnapshot and VolumeSnapshotContent point at each other) before
|
||||||
|
using this object.
|
||||||
properties:
|
properties:
|
||||||
boundVolumeSnapshotContentName:
|
boundVolumeSnapshotContentName:
|
||||||
description: 'boundVolumeSnapshotContentName is the name of the VolumeSnapshotContent
|
description: |-
|
||||||
object to which this VolumeSnapshot object intends to bind to. If
|
boundVolumeSnapshotContentName is the name of the VolumeSnapshotContent
|
||||||
not specified, it indicates that the VolumeSnapshot object has not
|
object to which this VolumeSnapshot object intends to bind to.
|
||||||
been successfully bound to a VolumeSnapshotContent object yet. NOTE:
|
If not specified, it indicates that the VolumeSnapshot object has not been
|
||||||
To avoid possible security issues, consumers must verify binding
|
successfully bound to a VolumeSnapshotContent object yet.
|
||||||
between VolumeSnapshot and VolumeSnapshotContent objects is successful
|
NOTE: To avoid possible security issues, consumers must verify binding between
|
||||||
(by validating that both VolumeSnapshot and VolumeSnapshotContent
|
VolumeSnapshot and VolumeSnapshotContent objects is successful (by validating that
|
||||||
point at each other) before using this object.'
|
both VolumeSnapshot and VolumeSnapshotContent point at each other) before using
|
||||||
|
this object.
|
||||||
type: string
|
type: string
|
||||||
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 snapshot controller
|
by the underlying storage system.
|
||||||
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
|
snapshot controller 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 may indicate
|
For a pre-existing snapshot, this field will be filled with the "creation_time"
|
||||||
that the creation time of the snapshot is unknown.
|
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.
|
||||||
format: date-time
|
format: date-time
|
||||||
type: string
|
type: string
|
||||||
error:
|
error:
|
||||||
description: error is the last observed error during snapshot creation,
|
description: |-
|
||||||
if any. This field could be helpful to upper level controllers(i.e.,
|
error is the last observed error during snapshot creation, if any.
|
||||||
application controller) to decide whether they should continue on
|
This field could be helpful to upper level controllers(i.e., application controller)
|
||||||
waiting for the snapshot to be created based on the type of error
|
to decide whether they should continue on waiting for the snapshot to be created
|
||||||
reported. The snapshot controller will keep retrying when an error
|
based on the type of error reported.
|
||||||
occurs during the snapshot creation. Upon success, this error field
|
The snapshot controller will keep retrying when an error occurs during the
|
||||||
will be cleared.
|
snapshot creation. Upon success, 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.
|
||||||
@@ -167,32 +201,35 @@ spec:
|
|||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
readyToUse:
|
readyToUse:
|
||||||
description: readyToUse indicates if the snapshot is ready to be used
|
description: |-
|
||||||
to restore a volume. In dynamic snapshot creation case, this field
|
readyToUse indicates if the snapshot is ready to be used to restore a volume.
|
||||||
will be filled in by the snapshot controller 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
|
snapshot controller 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:
|
||||||
type: string
|
type: string
|
||||||
description: restoreSize represents the minimum size of volume required
|
description: |-
|
||||||
to create a volume from this snapshot. In dynamic snapshot creation
|
restoreSize represents the minimum size of volume required to create a volume
|
||||||
case, this field will be filled in by the snapshot controller with
|
from this snapshot.
|
||||||
the "size_bytes" value returned from CSI "CreateSnapshot" gRPC call.
|
In dynamic snapshot creation case, this field will be filled in by the
|
||||||
For a pre-existing snapshot, this field will be filled with the
|
snapshot controller with the "size_bytes" value returned from CSI
|
||||||
"size_bytes" value returned from the CSI "ListSnapshots" gRPC call
|
"CreateSnapshot" gRPC call.
|
||||||
if the driver supports it. When restoring a volume from this snapshot,
|
For a pre-existing snapshot, this field will be filled with the "size_bytes"
|
||||||
the size of the volume MUST NOT be smaller than the restoreSize
|
value returned from the CSI "ListSnapshots" gRPC call if the driver supports it.
|
||||||
if it is specified, otherwise the restoration will fail. If not
|
When restoring a volume from this snapshot, the size of the volume MUST NOT
|
||||||
specified, it indicates that the size is unknown.
|
be smaller than the restoreSize if it is specified, otherwise the restoration will fail.
|
||||||
|
If not specified, it indicates that the size is unknown.
|
||||||
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
||||||
x-kubernetes-int-or-string: true
|
x-kubernetes-int-or-string: true
|
||||||
volumeGroupSnapshotName:
|
volumeGroupSnapshotName:
|
||||||
description: VolumeGroupSnapshotName is the name of the VolumeGroupSnapshot
|
description: |-
|
||||||
of which this VolumeSnapshot is a part of.
|
VolumeGroupSnapshotName is the name of the VolumeGroupSnapshot of which this
|
||||||
|
VolumeSnapshot is a part of.
|
||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
required:
|
required:
|
||||||
|
|||||||
Reference in New Issue
Block a user