Merge pull request #367 from prateekpandey14/use-v1-crd
Update volume snapshot CRDs to v1 version
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
apiVersion: apiextensions.k8s.io/v1beta1
|
apiVersion: apiextensions.k8s.io/v1
|
||||||
kind: CustomResourceDefinition
|
kind: CustomResourceDefinition
|
||||||
metadata:
|
metadata:
|
||||||
annotations:
|
annotations:
|
||||||
@@ -9,28 +9,28 @@ metadata:
|
|||||||
creationTimestamp: null
|
creationTimestamp: null
|
||||||
name: volumesnapshotclasses.snapshot.storage.k8s.io
|
name: volumesnapshotclasses.snapshot.storage.k8s.io
|
||||||
spec:
|
spec:
|
||||||
additionalPrinterColumns:
|
|
||||||
- JSONPath: .driver
|
|
||||||
name: Driver
|
|
||||||
type: string
|
|
||||||
- JSONPath: .deletionPolicy
|
|
||||||
description: Determines whether a VolumeSnapshotContent created through the VolumeSnapshotClass
|
|
||||||
should be deleted when its bound VolumeSnapshot is deleted.
|
|
||||||
name: DeletionPolicy
|
|
||||||
type: string
|
|
||||||
- JSONPath: .metadata.creationTimestamp
|
|
||||||
name: Age
|
|
||||||
type: date
|
|
||||||
group: snapshot.storage.k8s.io
|
group: snapshot.storage.k8s.io
|
||||||
names:
|
names:
|
||||||
kind: VolumeSnapshotClass
|
kind: VolumeSnapshotClass
|
||||||
listKind: VolumeSnapshotClassList
|
listKind: VolumeSnapshotClassList
|
||||||
plural: volumesnapshotclasses
|
plural: volumesnapshotclasses
|
||||||
singular: volumesnapshotclass
|
singular: volumesnapshotclass
|
||||||
preserveUnknownFields: false
|
|
||||||
scope: Cluster
|
scope: Cluster
|
||||||
subresources: {}
|
versions:
|
||||||
validation:
|
- additionalPrinterColumns:
|
||||||
|
- jsonPath: .driver
|
||||||
|
name: Driver
|
||||||
|
type: string
|
||||||
|
- description: Determines whether a VolumeSnapshotContent created through the
|
||||||
|
VolumeSnapshotClass should be deleted when its bound VolumeSnapshot is deleted.
|
||||||
|
jsonPath: .deletionPolicy
|
||||||
|
name: DeletionPolicy
|
||||||
|
type: string
|
||||||
|
- jsonPath: .metadata.creationTimestamp
|
||||||
|
name: Age
|
||||||
|
type: date
|
||||||
|
name: v1beta1
|
||||||
|
schema:
|
||||||
openAPIV3Schema:
|
openAPIV3Schema:
|
||||||
description: VolumeSnapshotClass specifies parameters that a underlying storage
|
description: VolumeSnapshotClass specifies parameters that a underlying storage
|
||||||
system uses when creating a volume snapshot. A specific VolumeSnapshotClass
|
system uses when creating a volume snapshot. A specific VolumeSnapshotClass
|
||||||
@@ -43,12 +43,13 @@ spec:
|
|||||||
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
|
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
|
||||||
deletionPolicy:
|
deletionPolicy:
|
||||||
description: deletionPolicy determines whether a VolumeSnapshotContent created
|
description: deletionPolicy determines whether a VolumeSnapshotContent
|
||||||
through the VolumeSnapshotClass should be deleted when its bound VolumeSnapshot
|
created through the VolumeSnapshotClass should be deleted when its bound
|
||||||
is deleted. Supported values are "Retain" and "Delete". "Retain" means
|
VolumeSnapshot is deleted. Supported values are "Retain" and "Delete".
|
||||||
that the VolumeSnapshotContent and its physical snapshot on underlying
|
"Retain" means that the VolumeSnapshotContent and its physical snapshot
|
||||||
storage system are kept. "Delete" means that the VolumeSnapshotContent
|
on underlying storage system are kept. "Delete" means that the VolumeSnapshotContent
|
||||||
and its physical snapshot on underlying storage system are deleted. Required.
|
and its physical snapshot on underlying storage system are deleted.
|
||||||
|
Required.
|
||||||
enum:
|
enum:
|
||||||
- Delete
|
- Delete
|
||||||
- Retain
|
- Retain
|
||||||
@@ -72,11 +73,9 @@ spec:
|
|||||||
- deletionPolicy
|
- deletionPolicy
|
||||||
- driver
|
- driver
|
||||||
type: object
|
type: object
|
||||||
version: v1beta1
|
|
||||||
versions:
|
|
||||||
- name: v1beta1
|
|
||||||
served: true
|
served: true
|
||||||
storage: true
|
storage: true
|
||||||
|
subresources: {}
|
||||||
status:
|
status:
|
||||||
acceptedNames:
|
acceptedNames:
|
||||||
kind: ""
|
kind: ""
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
apiVersion: apiextensions.k8s.io/v1beta1
|
apiVersion: apiextensions.k8s.io/v1
|
||||||
kind: CustomResourceDefinition
|
kind: CustomResourceDefinition
|
||||||
metadata:
|
metadata:
|
||||||
annotations:
|
annotations:
|
||||||
@@ -9,49 +9,48 @@ metadata:
|
|||||||
creationTimestamp: null
|
creationTimestamp: null
|
||||||
name: volumesnapshotcontents.snapshot.storage.k8s.io
|
name: volumesnapshotcontents.snapshot.storage.k8s.io
|
||||||
spec:
|
spec:
|
||||||
additionalPrinterColumns:
|
|
||||||
- JSONPath: .status.readyToUse
|
|
||||||
description: Indicates if a snapshot is ready to be used to restore a volume.
|
|
||||||
name: ReadyToUse
|
|
||||||
type: boolean
|
|
||||||
- JSONPath: .status.restoreSize
|
|
||||||
description: Represents the complete size of the snapshot in bytes
|
|
||||||
name: RestoreSize
|
|
||||||
type: integer
|
|
||||||
- JSONPath: .spec.deletionPolicy
|
|
||||||
description: Determines whether this VolumeSnapshotContent and its physical snapshot
|
|
||||||
on the underlying storage system should be deleted when its bound VolumeSnapshot
|
|
||||||
is deleted.
|
|
||||||
name: DeletionPolicy
|
|
||||||
type: string
|
|
||||||
- JSONPath: .spec.driver
|
|
||||||
description: Name of the CSI driver used to create the physical snapshot on the
|
|
||||||
underlying storage system.
|
|
||||||
name: Driver
|
|
||||||
type: string
|
|
||||||
- JSONPath: .spec.volumeSnapshotClassName
|
|
||||||
description: Name of the VolumeSnapshotClass to which this snapshot belongs.
|
|
||||||
name: VolumeSnapshotClass
|
|
||||||
type: string
|
|
||||||
- JSONPath: .spec.volumeSnapshotRef.name
|
|
||||||
description: Name of the VolumeSnapshot object to which this VolumeSnapshotContent
|
|
||||||
object is bound.
|
|
||||||
name: VolumeSnapshot
|
|
||||||
type: string
|
|
||||||
- JSONPath: .metadata.creationTimestamp
|
|
||||||
name: Age
|
|
||||||
type: date
|
|
||||||
group: snapshot.storage.k8s.io
|
group: snapshot.storage.k8s.io
|
||||||
names:
|
names:
|
||||||
kind: VolumeSnapshotContent
|
kind: VolumeSnapshotContent
|
||||||
listKind: VolumeSnapshotContentList
|
listKind: VolumeSnapshotContentList
|
||||||
plural: volumesnapshotcontents
|
plural: volumesnapshotcontents
|
||||||
singular: volumesnapshotcontent
|
singular: volumesnapshotcontent
|
||||||
preserveUnknownFields: false
|
|
||||||
scope: Cluster
|
scope: Cluster
|
||||||
subresources:
|
versions:
|
||||||
status: {}
|
- additionalPrinterColumns:
|
||||||
validation:
|
- description: Indicates if a snapshot is ready to be used to restore a volume.
|
||||||
|
jsonPath: .status.readyToUse
|
||||||
|
name: ReadyToUse
|
||||||
|
type: boolean
|
||||||
|
- description: Represents the complete size of the snapshot in bytes
|
||||||
|
jsonPath: .status.restoreSize
|
||||||
|
name: RestoreSize
|
||||||
|
type: integer
|
||||||
|
- description: Determines whether this VolumeSnapshotContent and its physical
|
||||||
|
snapshot on the underlying storage system should be deleted when its bound
|
||||||
|
VolumeSnapshot is deleted.
|
||||||
|
jsonPath: .spec.deletionPolicy
|
||||||
|
name: DeletionPolicy
|
||||||
|
type: string
|
||||||
|
- description: Name of the CSI driver used to create the physical snapshot on
|
||||||
|
the underlying storage system.
|
||||||
|
jsonPath: .spec.driver
|
||||||
|
name: Driver
|
||||||
|
type: string
|
||||||
|
- description: Name of the VolumeSnapshotClass to which this snapshot belongs.
|
||||||
|
jsonPath: .spec.volumeSnapshotClassName
|
||||||
|
name: VolumeSnapshotClass
|
||||||
|
type: string
|
||||||
|
- description: Name of the VolumeSnapshot object to which this VolumeSnapshotContent
|
||||||
|
object is bound.
|
||||||
|
jsonPath: .spec.volumeSnapshotRef.name
|
||||||
|
name: VolumeSnapshot
|
||||||
|
type: string
|
||||||
|
- jsonPath: .metadata.creationTimestamp
|
||||||
|
name: Age
|
||||||
|
type: date
|
||||||
|
name: v1beta1
|
||||||
|
schema:
|
||||||
openAPIV3Schema:
|
openAPIV3Schema:
|
||||||
description: VolumeSnapshotContent represents the actual "on-disk" snapshot
|
description: VolumeSnapshotContent represents the actual "on-disk" snapshot
|
||||||
object in the underlying storage system
|
object in the underlying storage system
|
||||||
@@ -75,12 +74,12 @@ spec:
|
|||||||
and its physical snapshot on the underlying storage system should
|
and its physical snapshot on the underlying storage system should
|
||||||
be deleted when its bound VolumeSnapshot is deleted. Supported values
|
be deleted when its bound VolumeSnapshot is deleted. Supported values
|
||||||
are "Retain" and "Delete". "Retain" means that the VolumeSnapshotContent
|
are "Retain" and "Delete". "Retain" means that the VolumeSnapshotContent
|
||||||
and its physical snapshot on underlying storage system are kept. "Delete"
|
and its physical snapshot on underlying storage system are kept.
|
||||||
means that the VolumeSnapshotContent and its physical snapshot on
|
"Delete" means that the VolumeSnapshotContent and its physical snapshot
|
||||||
underlying storage system are deleted. In dynamic snapshot creation
|
on underlying storage system are deleted. In dynamic snapshot creation
|
||||||
case, this field will be filled in with the "DeletionPolicy" field
|
case, this field will be filled in with the "DeletionPolicy" field
|
||||||
defined in the VolumeSnapshotClass the VolumeSnapshot refers to. For
|
defined in the VolumeSnapshotClass the VolumeSnapshot refers to.
|
||||||
pre-existing snapshots, users MUST specify this field when creating
|
For pre-existing snapshots, users MUST specify this field when creating
|
||||||
the VolumeSnapshotContent object. Required.
|
the VolumeSnapshotContent object. Required.
|
||||||
enum:
|
enum:
|
||||||
- Delete
|
- Delete
|
||||||
@@ -88,23 +87,23 @@ spec:
|
|||||||
type: string
|
type: string
|
||||||
driver:
|
driver:
|
||||||
description: driver is the name of the CSI driver used to create the
|
description: driver is the name of the CSI driver used to create the
|
||||||
physical snapshot on the underlying storage system. This MUST be the
|
physical snapshot on the underlying storage system. This MUST be
|
||||||
same as the name returned by the CSI GetPluginName() call for that
|
the same as the name returned by the CSI GetPluginName() call for
|
||||||
driver. Required.
|
that driver. Required.
|
||||||
type: string
|
type: string
|
||||||
source:
|
source:
|
||||||
description: source specifies from where a snapshot will be created.
|
description: source specifies from where a snapshot will be created.
|
||||||
This field is immutable after creation. Required.
|
This field is immutable after creation. Required.
|
||||||
properties:
|
properties:
|
||||||
snapshotHandle:
|
snapshotHandle:
|
||||||
description: snapshotHandle specifies the CSI "snapshot_id" of a
|
description: snapshotHandle specifies the CSI "snapshot_id" of
|
||||||
pre-existing snapshot on the underlying storage system. This field
|
a pre-existing snapshot on the underlying storage system. This
|
||||||
is immutable.
|
field is immutable.
|
||||||
type: string
|
type: string
|
||||||
volumeHandle:
|
volumeHandle:
|
||||||
description: volumeHandle specifies the CSI "volume_id" of the volume
|
description: volumeHandle specifies the CSI "volume_id" of the
|
||||||
from which a snapshot should be dynamically taken from. This field
|
volume from which a snapshot should be dynamically taken from.
|
||||||
is immutable.
|
This field is immutable.
|
||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
volumeSnapshotClassName:
|
volumeSnapshotClassName:
|
||||||
@@ -112,28 +111,29 @@ spec:
|
|||||||
belongs.
|
belongs.
|
||||||
type: string
|
type: string
|
||||||
volumeSnapshotRef:
|
volumeSnapshotRef:
|
||||||
description: volumeSnapshotRef specifies the VolumeSnapshot object to
|
description: volumeSnapshotRef specifies the VolumeSnapshot object
|
||||||
which this VolumeSnapshotContent object is bound. VolumeSnapshot.Spec.VolumeSnapshotContentName
|
to which this VolumeSnapshotContent object is bound. VolumeSnapshot.Spec.VolumeSnapshotContentName
|
||||||
field must reference to this VolumeSnapshotContent's name for the
|
field must reference to this VolumeSnapshotContent's name for the
|
||||||
bidirectional binding to be valid. For a pre-existing VolumeSnapshotContent
|
bidirectional binding to be valid. For a pre-existing VolumeSnapshotContent
|
||||||
object, name and namespace of the VolumeSnapshot object MUST be provided
|
object, name and namespace of the VolumeSnapshot object MUST be
|
||||||
for binding to happen. This field is immutable after creation. Required.
|
provided for binding to happen. This field is immutable after creation.
|
||||||
|
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 an
|
description: 'If referring to a piece of an object instead of
|
||||||
entire object, this string should contain a valid JSON/Go field
|
an entire object, this string should contain a valid JSON/Go
|
||||||
access statement, such as desiredState.manifest.containers[2].
|
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: "spec.containers{name}"
|
a pod, this would take on a value like: "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]"
|
the event) or if no container name is specified "spec.containers[2]"
|
||||||
(container with index 2 in this pod). This syntax is chosen only
|
(container with index 2 in this pod). This syntax is chosen
|
||||||
to have some well-defined way of 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
|
an object. TODO: this design is not final and this field is
|
||||||
in the future.'
|
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'
|
||||||
@@ -145,8 +145,8 @@ spec:
|
|||||||
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 is
|
description: 'Specific resourceVersion to which this reference
|
||||||
made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
|
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'
|
||||||
@@ -162,16 +162,16 @@ spec:
|
|||||||
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 snapshot
|
description: creationTime is the timestamp when the point-in-time
|
||||||
is taken by the underlying storage system. In dynamic snapshot creation
|
snapshot is taken by the underlying storage system. In dynamic snapshot
|
||||||
case, this field will be filled in with the "creation_time" value
|
creation case, this field will be filled in with the "creation_time"
|
||||||
returned from CSI "CreateSnapshotRequest" gRPC call. For a pre-existing
|
value returned from CSI "CreateSnapshotRequest" gRPC call. For a
|
||||||
snapshot, this field will be filled with the "creation_time" value
|
pre-existing snapshot, this field will be filled with the "creation_time"
|
||||||
returned from the CSI "ListSnapshots" gRPC call if the driver supports
|
value returned from the CSI "ListSnapshots" gRPC call if the driver
|
||||||
it. If not specified, it indicates the creation time is unknown. The
|
supports it. If not specified, it indicates the creation time is
|
||||||
format of this field is a Unix nanoseconds time encoded as an int64.
|
unknown. The format of this field is a Unix nanoseconds time encoded
|
||||||
On Unix, the command `date +%s%N` returns the current time in nanoseconds
|
as an int64. On Unix, the command `date +%s%N` returns the current
|
||||||
since 1970-01-01 00:00:00 UTC.
|
time in nanoseconds since 1970-01-01 00:00:00 UTC.
|
||||||
format: int64
|
format: int64
|
||||||
type: integer
|
type: integer
|
||||||
error:
|
error:
|
||||||
@@ -180,8 +180,8 @@ spec:
|
|||||||
properties:
|
properties:
|
||||||
message:
|
message:
|
||||||
description: 'message is a string detailing the encountered error
|
description: 'message is a string detailing the encountered error
|
||||||
during snapshot creation if specified. NOTE: message may be logged,
|
during snapshot creation if specified. NOTE: message may be
|
||||||
and it should not contain sensitive information.'
|
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.
|
||||||
@@ -192,16 +192,16 @@ spec:
|
|||||||
description: readyToUse indicates if a snapshot is ready to be used
|
description: readyToUse indicates if a snapshot is ready to be used
|
||||||
to restore a volume. In dynamic snapshot creation case, this field
|
to restore a volume. In dynamic snapshot creation case, this field
|
||||||
will be filled in with the "ready_to_use" value returned from CSI
|
will be filled in with the "ready_to_use" value returned from CSI
|
||||||
"CreateSnapshotRequest" gRPC call. For a pre-existing snapshot, this
|
"CreateSnapshotRequest" gRPC call. For a pre-existing snapshot,
|
||||||
field will be filled with the "ready_to_use" value returned from the
|
this field will be filled with the "ready_to_use" value returned
|
||||||
CSI "ListSnapshots" gRPC call if the driver supports it, otherwise,
|
from the CSI "ListSnapshots" gRPC call if the driver supports it,
|
||||||
this field will be set to "True". If not specified, it means the readiness
|
otherwise, this field will be set to "True". If not specified, it
|
||||||
of a snapshot is unknown.
|
means the readiness of a snapshot is unknown.
|
||||||
type: boolean
|
type: boolean
|
||||||
restoreSize:
|
restoreSize:
|
||||||
description: restoreSize represents the complete size of the snapshot
|
description: restoreSize represents the complete size of the snapshot
|
||||||
in bytes. In dynamic snapshot creation case, this field will be filled
|
in bytes. In dynamic snapshot creation case, this field will be
|
||||||
in with the "size_bytes" value returned from CSI "CreateSnapshotRequest"
|
filled in with the "size_bytes" value returned from CSI "CreateSnapshotRequest"
|
||||||
gRPC call. For a pre-existing snapshot, this field will be filled
|
gRPC call. For a pre-existing snapshot, this field will be filled
|
||||||
with the "size_bytes" value returned from the CSI "ListSnapshots"
|
with the "size_bytes" value returned from the CSI "ListSnapshots"
|
||||||
gRPC call if the driver supports it. When restoring a volume from
|
gRPC call if the driver supports it. When restoring a volume from
|
||||||
@@ -212,19 +212,19 @@ spec:
|
|||||||
minimum: 0
|
minimum: 0
|
||||||
type: integer
|
type: integer
|
||||||
snapshotHandle:
|
snapshotHandle:
|
||||||
description: snapshotHandle is the CSI "snapshot_id" of a snapshot on
|
description: snapshotHandle is the CSI "snapshot_id" of a snapshot
|
||||||
the underlying storage system. If not specified, it indicates that
|
on the underlying storage system. If not specified, it indicates
|
||||||
dynamic snapshot creation has either failed or it is still in progress.
|
that dynamic snapshot creation has either failed or it is still
|
||||||
|
in progress.
|
||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
required:
|
required:
|
||||||
- spec
|
- spec
|
||||||
type: object
|
type: object
|
||||||
version: v1beta1
|
|
||||||
versions:
|
|
||||||
- name: v1beta1
|
|
||||||
served: true
|
served: true
|
||||||
storage: true
|
storage: true
|
||||||
|
subresources:
|
||||||
|
status: {}
|
||||||
status:
|
status:
|
||||||
acceptedNames:
|
acceptedNames:
|
||||||
kind: ""
|
kind: ""
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
apiVersion: apiextensions.k8s.io/v1beta1
|
apiVersion: apiextensions.k8s.io/v1
|
||||||
kind: CustomResourceDefinition
|
kind: CustomResourceDefinition
|
||||||
metadata:
|
metadata:
|
||||||
annotations:
|
annotations:
|
||||||
@@ -9,53 +9,52 @@ metadata:
|
|||||||
creationTimestamp: null
|
creationTimestamp: null
|
||||||
name: volumesnapshots.snapshot.storage.k8s.io
|
name: volumesnapshots.snapshot.storage.k8s.io
|
||||||
spec:
|
spec:
|
||||||
additionalPrinterColumns:
|
|
||||||
- JSONPath: .status.readyToUse
|
|
||||||
description: Indicates if a snapshot is ready to be used to restore a volume.
|
|
||||||
name: ReadyToUse
|
|
||||||
type: boolean
|
|
||||||
- JSONPath: .spec.source.persistentVolumeClaimName
|
|
||||||
description: Name of the source PVC from where a dynamically taken snapshot will
|
|
||||||
be created.
|
|
||||||
name: SourcePVC
|
|
||||||
type: string
|
|
||||||
- JSONPath: .spec.source.volumeSnapshotContentName
|
|
||||||
description: Name of the VolumeSnapshotContent which represents a pre-provisioned
|
|
||||||
snapshot.
|
|
||||||
name: SourceSnapshotContent
|
|
||||||
type: string
|
|
||||||
- JSONPath: .status.restoreSize
|
|
||||||
description: Represents the complete size of the snapshot.
|
|
||||||
name: RestoreSize
|
|
||||||
type: string
|
|
||||||
- JSONPath: .spec.volumeSnapshotClassName
|
|
||||||
description: The name of the VolumeSnapshotClass requested by the VolumeSnapshot.
|
|
||||||
name: SnapshotClass
|
|
||||||
type: string
|
|
||||||
- JSONPath: .status.boundVolumeSnapshotContentName
|
|
||||||
description: The name of the VolumeSnapshotContent to which this VolumeSnapshot
|
|
||||||
is bound.
|
|
||||||
name: SnapshotContent
|
|
||||||
type: string
|
|
||||||
- JSONPath: .status.creationTime
|
|
||||||
description: Timestamp when the point-in-time snapshot is taken by the underlying
|
|
||||||
storage system.
|
|
||||||
name: CreationTime
|
|
||||||
type: date
|
|
||||||
- JSONPath: .metadata.creationTimestamp
|
|
||||||
name: Age
|
|
||||||
type: date
|
|
||||||
group: snapshot.storage.k8s.io
|
group: snapshot.storage.k8s.io
|
||||||
names:
|
names:
|
||||||
kind: VolumeSnapshot
|
kind: VolumeSnapshot
|
||||||
listKind: VolumeSnapshotList
|
listKind: VolumeSnapshotList
|
||||||
plural: volumesnapshots
|
plural: volumesnapshots
|
||||||
singular: volumesnapshot
|
singular: volumesnapshot
|
||||||
preserveUnknownFields: false
|
|
||||||
scope: Namespaced
|
scope: Namespaced
|
||||||
subresources:
|
versions:
|
||||||
status: {}
|
- additionalPrinterColumns:
|
||||||
validation:
|
- description: Indicates if a snapshot is ready to be used to restore a volume.
|
||||||
|
jsonPath: .status.readyToUse
|
||||||
|
name: ReadyToUse
|
||||||
|
type: boolean
|
||||||
|
- description: Name of the source PVC from where a dynamically taken snapshot
|
||||||
|
will be created.
|
||||||
|
jsonPath: .spec.source.persistentVolumeClaimName
|
||||||
|
name: SourcePVC
|
||||||
|
type: string
|
||||||
|
- description: Name of the VolumeSnapshotContent which represents a pre-provisioned
|
||||||
|
snapshot.
|
||||||
|
jsonPath: .spec.source.volumeSnapshotContentName
|
||||||
|
name: SourceSnapshotContent
|
||||||
|
type: string
|
||||||
|
- description: Represents the complete size of the snapshot.
|
||||||
|
jsonPath: .status.restoreSize
|
||||||
|
name: RestoreSize
|
||||||
|
type: string
|
||||||
|
- description: The name of the VolumeSnapshotClass requested by the VolumeSnapshot.
|
||||||
|
jsonPath: .spec.volumeSnapshotClassName
|
||||||
|
name: SnapshotClass
|
||||||
|
type: string
|
||||||
|
- description: The name of the VolumeSnapshotContent to which this VolumeSnapshot
|
||||||
|
is bound.
|
||||||
|
jsonPath: .status.boundVolumeSnapshotContentName
|
||||||
|
name: SnapshotContent
|
||||||
|
type: string
|
||||||
|
- description: Timestamp when the point-in-time snapshot is taken by the underlying
|
||||||
|
storage system.
|
||||||
|
jsonPath: .status.creationTime
|
||||||
|
name: CreationTime
|
||||||
|
type: date
|
||||||
|
- jsonPath: .metadata.creationTimestamp
|
||||||
|
name: Age
|
||||||
|
type: date
|
||||||
|
name: v1beta1
|
||||||
|
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.
|
||||||
@@ -82,51 +81,51 @@ spec:
|
|||||||
persistentVolumeClaimName:
|
persistentVolumeClaimName:
|
||||||
description: persistentVolumeClaimName specifies the name of the
|
description: persistentVolumeClaimName specifies the name of the
|
||||||
PersistentVolumeClaim object in the same namespace as the VolumeSnapshot
|
PersistentVolumeClaim object in the same namespace as the VolumeSnapshot
|
||||||
object where the snapshot should be dynamically taken from. This
|
object where the snapshot should be dynamically taken from.
|
||||||
field is immutable.
|
This field is immutable.
|
||||||
type: string
|
type: string
|
||||||
volumeSnapshotContentName:
|
volumeSnapshotContentName:
|
||||||
description: volumeSnapshotContentName specifies the name of a pre-existing
|
description: volumeSnapshotContentName specifies the name of a
|
||||||
VolumeSnapshotContent object. This field is immutable.
|
pre-existing VolumeSnapshotContent object. This field is immutable.
|
||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
volumeSnapshotClassName:
|
volumeSnapshotClassName:
|
||||||
description: 'volumeSnapshotClassName is the name of the VolumeSnapshotClass
|
description: 'volumeSnapshotClassName is the name of the VolumeSnapshotClass
|
||||||
requested by the VolumeSnapshot. If not specified, the default snapshot
|
requested by the VolumeSnapshot. If not specified, the default snapshot
|
||||||
class will be used if one exists. If not specified, and there is no
|
class will be used if one exists. If not specified, and there is
|
||||||
default snapshot class, dynamic snapshot creation will fail. Empty
|
no default snapshot class, dynamic snapshot creation will fail.
|
||||||
string is not allowed for this field. TODO(xiangqian): a webhook validation
|
Empty string is not allowed for this field. TODO(xiangqian): a webhook
|
||||||
on empty string. More info: https://kubernetes.io/docs/concepts/storage/volume-snapshot-classes'
|
validation on empty string. More info: https://kubernetes.io/docs/concepts/storage/volume-snapshot-classes'
|
||||||
type: string
|
type: string
|
||||||
required:
|
required:
|
||||||
- source
|
- source
|
||||||
type: object
|
type: object
|
||||||
status:
|
status:
|
||||||
description: 'status represents the current information of a snapshot. NOTE:
|
description: 'status represents the current information of a snapshot.
|
||||||
status can be modified by sources other than system controllers, and must
|
NOTE: status can be modified by sources other than system controllers,
|
||||||
not be depended upon for accuracy. Controllers should only use information
|
and must not be depended upon for accuracy. Controllers should only
|
||||||
from the VolumeSnapshotContent object after verifying that the binding
|
use information from the VolumeSnapshotContent object after verifying
|
||||||
is accurate and complete.'
|
that the binding is accurate and complete.'
|
||||||
properties:
|
properties:
|
||||||
boundVolumeSnapshotContentName:
|
boundVolumeSnapshotContentName:
|
||||||
description: 'boundVolumeSnapshotContentName represents the name of
|
description: 'boundVolumeSnapshotContentName represents the name of
|
||||||
the VolumeSnapshotContent object to which the VolumeSnapshot object
|
the VolumeSnapshotContent object to which the VolumeSnapshot object
|
||||||
is bound. If not specified, it indicates that the VolumeSnapshot object
|
is bound. If not specified, it indicates that the VolumeSnapshot
|
||||||
has not been successfully bound to a VolumeSnapshotContent object
|
object has not been successfully bound to a VolumeSnapshotContent
|
||||||
yet. NOTE: Specified boundVolumeSnapshotContentName alone does not
|
object yet. NOTE: Specified boundVolumeSnapshotContentName alone
|
||||||
mean binding is valid. Controllers MUST always verify bidirectional
|
does not mean binding is valid. Controllers MUST always verify
|
||||||
binding between VolumeSnapshot and VolumeSnapshotContent to
|
bidirectional binding between VolumeSnapshot and VolumeSnapshotContent
|
||||||
avoid possible security issues.'
|
to avoid possible security issues.'
|
||||||
type: string
|
type: string
|
||||||
creationTime:
|
creationTime:
|
||||||
description: creationTime is the timestamp when the point-in-time snapshot
|
description: creationTime is the timestamp when the point-in-time
|
||||||
is taken by the underlying storage system. In dynamic snapshot creation
|
snapshot is taken by the underlying storage system. In dynamic snapshot
|
||||||
case, this field will be filled in with the "creation_time" value
|
creation case, this field will be filled in with the "creation_time"
|
||||||
returned from CSI "CreateSnapshotRequest" gRPC call. For a pre-existing
|
value returned from CSI "CreateSnapshotRequest" gRPC call. For a
|
||||||
snapshot, this field will be filled with the "creation_time" value
|
pre-existing snapshot, this field will be filled with the "creation_time"
|
||||||
returned from the CSI "ListSnapshots" gRPC call if the driver supports
|
value returned from the CSI "ListSnapshots" gRPC call if the driver
|
||||||
it. If not specified, it indicates that the creation time of the snapshot
|
supports it. If not specified, it indicates that the creation time
|
||||||
is unknown.
|
of the snapshot is unknown.
|
||||||
format: date-time
|
format: date-time
|
||||||
type: string
|
type: string
|
||||||
error:
|
error:
|
||||||
@@ -138,8 +137,8 @@ spec:
|
|||||||
properties:
|
properties:
|
||||||
message:
|
message:
|
||||||
description: 'message is a string detailing the encountered error
|
description: 'message is a string detailing the encountered error
|
||||||
during snapshot creation if specified. NOTE: message may be logged,
|
during snapshot creation if specified. NOTE: message may be
|
||||||
and it should not contain sensitive information.'
|
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.
|
||||||
@@ -150,17 +149,17 @@ spec:
|
|||||||
description: readyToUse indicates if a snapshot is ready to be used
|
description: readyToUse indicates if a snapshot is ready to be used
|
||||||
to restore a volume. In dynamic snapshot creation case, this field
|
to restore a volume. In dynamic snapshot creation case, this field
|
||||||
will be filled in with the "ready_to_use" value returned from CSI
|
will be filled in with the "ready_to_use" value returned from CSI
|
||||||
"CreateSnapshotRequest" gRPC call. For a pre-existing snapshot, this
|
"CreateSnapshotRequest" gRPC call. For a pre-existing snapshot,
|
||||||
field will be filled with the "ready_to_use" value returned from the
|
this field will be filled with the "ready_to_use" value returned
|
||||||
CSI "ListSnapshots" gRPC call if the driver supports it, otherwise,
|
from the CSI "ListSnapshots" gRPC call if the driver supports it,
|
||||||
this field will be set to "True". If not specified, it means the readiness
|
otherwise, this field will be set to "True". If not specified, it
|
||||||
of a snapshot is unknown.
|
means the readiness of a snapshot is unknown.
|
||||||
type: boolean
|
type: boolean
|
||||||
restoreSize:
|
restoreSize:
|
||||||
type: string
|
type: string
|
||||||
description: restoreSize represents the complete size of the snapshot
|
description: restoreSize represents the complete size of the snapshot
|
||||||
in bytes. In dynamic snapshot creation case, this field will be filled
|
in bytes. In dynamic snapshot creation case, this field will be
|
||||||
in with the "size_bytes" value returned from CSI "CreateSnapshotRequest"
|
filled in with the "size_bytes" value returned from CSI "CreateSnapshotRequest"
|
||||||
gRPC call. For a pre-existing snapshot, this field will be filled
|
gRPC call. For a pre-existing snapshot, this field will be filled
|
||||||
with the "size_bytes" value returned from the CSI "ListSnapshots"
|
with the "size_bytes" value returned from the CSI "ListSnapshots"
|
||||||
gRPC call if the driver supports it. When restoring a volume from
|
gRPC call if the driver supports it. When restoring a volume from
|
||||||
@@ -173,11 +172,10 @@ spec:
|
|||||||
required:
|
required:
|
||||||
- spec
|
- spec
|
||||||
type: object
|
type: object
|
||||||
version: v1beta1
|
|
||||||
versions:
|
|
||||||
- name: v1beta1
|
|
||||||
served: true
|
served: true
|
||||||
storage: true
|
storage: true
|
||||||
|
subresources:
|
||||||
|
status: {}
|
||||||
status:
|
status:
|
||||||
acceptedNames:
|
acceptedNames:
|
||||||
kind: ""
|
kind: ""
|
||||||
|
@@ -56,6 +56,7 @@ For example, the following command will add a metadata section for a nested obje
|
|||||||
+ metadata:
|
+ metadata:
|
||||||
+ description: 'Standard object''s metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata'
|
+ description: 'Standard object''s metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata'
|
||||||
```
|
```
|
||||||
|
|
||||||
* Update the restoreSize property to string in snapshot.storage.k8s.io_volumesnapshots.yaml
|
* Update the restoreSize property to string in snapshot.storage.k8s.io_volumesnapshots.yaml
|
||||||
|
|
||||||
The generated yaml file contains restoreSize property anyOf as described below:
|
The generated yaml file contains restoreSize property anyOf as described below:
|
||||||
|
@@ -28,7 +28,7 @@ then
|
|||||||
TMP_DIR=$(mktemp -d);
|
TMP_DIR=$(mktemp -d);
|
||||||
cd $TMP_DIR;
|
cd $TMP_DIR;
|
||||||
go mod init tmp;
|
go mod init tmp;
|
||||||
go get sigs.k8s.io/controller-tools/cmd/controller-gen@v0.3.0;
|
go get sigs.k8s.io/controller-tools/cmd/controller-gen@v0.4.0;
|
||||||
rm -rf $TMP_DIR;
|
rm -rf $TMP_DIR;
|
||||||
CONTROLLER_GEN=$(which controller-gen)
|
CONTROLLER_GEN=$(which controller-gen)
|
||||||
fi
|
fi
|
||||||
@@ -39,7 +39,7 @@ then
|
|||||||
exit 1;
|
exit 1;
|
||||||
fi
|
fi
|
||||||
|
|
||||||
$CONTROLLER_GEN crd:trivialVersions=true,preserveUnknownFields=false paths=${SCRIPT_ROOT}/apis/volumesnapshot/v1beta1
|
$CONTROLLER_GEN crd:crdVersions=v1,trivialVersions=true paths=${SCRIPT_ROOT}/apis/volumesnapshot/v1beta1
|
||||||
|
|
||||||
# To use your own boilerplate text use:
|
# To use your own boilerplate text use:
|
||||||
# --go-header-file ${SCRIPT_ROOT}/hack/custom-boilerplate.go.txt
|
# --go-header-file ${SCRIPT_ROOT}/hack/custom-boilerplate.go.txt
|
||||||
|
Reference in New Issue
Block a user