Update snapshot.storage.k8s.io_volumesnapshots.yaml

Signed-off-by: Kjeld Schouten <info@kjeldschouten.nl>
This commit is contained in:
Kjeld Schouten
2024-10-08 14:14:41 +02:00
committed by GitHub
parent c41cc5922d
commit 5784d463cd
@@ -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: