Address comments and re generate code
This commit is contained in:
@@ -32,7 +32,8 @@ type VolumeGroupSnapshotSpec struct {
|
|||||||
// is created, the existing group snapshots won't be modified.
|
// is created, the existing group snapshots won't be modified.
|
||||||
// Once a VolumeGroupSnapshotContent is created and the sidecar starts to process
|
// Once a VolumeGroupSnapshotContent is created and the sidecar starts to process
|
||||||
// it, the volume list will not change with retries.
|
// it, the volume list will not change with retries.
|
||||||
Selector *metav1.LabelSelector `json:"selector" protobuf:"bytes,1,opt,name=selector"`
|
// Required.
|
||||||
|
Selector metav1.LabelSelector `json:"selector" protobuf:"bytes,1,opt,name=selector"`
|
||||||
|
|
||||||
// VolumeGroupSnapshotClassName is the name of the VolumeGroupSnapshotClass
|
// VolumeGroupSnapshotClassName is the name of the VolumeGroupSnapshotClass
|
||||||
// requested by the VolumeGroupSnapshot.
|
// requested by the VolumeGroupSnapshot.
|
||||||
@@ -65,7 +66,11 @@ type VolumeGroupSnapshotStatus struct {
|
|||||||
|
|
||||||
// ReadyToUse indicates if all the individual snapshots in the group are ready
|
// ReadyToUse indicates if all the individual snapshots in the group are ready
|
||||||
// to be used to restore a volume.
|
// to be used to restore a volume.
|
||||||
|
// ReadyToUse becomes true when ReadyToUse of all individual snapshots become true.
|
||||||
// If not specified, it means the readiness of a group snapshot is unknown.
|
// If not specified, it means the readiness of a group snapshot 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.
|
||||||
// +optional
|
// +optional
|
||||||
ReadyToUse *bool `json:"readyToUse,omitempty" protobuf:"varint,3,opt,name=readyToUse"`
|
ReadyToUse *bool `json:"readyToUse,omitempty" protobuf:"varint,3,opt,name=readyToUse"`
|
||||||
|
|
||||||
@@ -86,41 +91,57 @@ type VolumeGroupSnapshotStatus struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//+genclient
|
//+genclient
|
||||||
//+k8s:deepcopy-gen=true
|
|
||||||
//+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
//+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
||||||
//+kubebuilder:resource:scope=Namespaced,shortName=vgs
|
|
||||||
//+kubebuilder:subresource:status
|
|
||||||
|
|
||||||
// VolumeGroupSnapshot is a user's request for creating either a point-in-time
|
// VolumeGroupSnapshot is a user's request for creating either a point-in-time
|
||||||
// group snapshot or binding to a pre-existing group snapshot.
|
// group snapshot or binding to a pre-existing group snapshot.
|
||||||
// +kubebuilder:object:root=true
|
// +kubebuilder:object:root=true
|
||||||
|
// +kubebuilder:resource:scope=Namespaced,shortName=vgs
|
||||||
// +kubebuilder:subresource:status
|
// +kubebuilder:subresource:status
|
||||||
type VolumeGroupSnapshot struct {
|
type VolumeGroupSnapshot struct {
|
||||||
metav1.TypeMeta `json:",inline"`
|
metav1.TypeMeta `json:",inline"`
|
||||||
|
// Standard object's metadata.
|
||||||
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
|
||||||
|
// +optional
|
||||||
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
||||||
|
|
||||||
Spec VolumeGroupSnapshotSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"`
|
// Spec defines the desired characteristics of a group snapshot requested by a user.
|
||||||
Status VolumeGroupSnapshotStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
|
// Required.
|
||||||
|
Spec VolumeGroupSnapshotSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"`
|
||||||
|
// Status represents the current information of a group snapshot.
|
||||||
|
// Consumers must verify binding between VolumeGroupSnapshot and
|
||||||
|
// VolumeGroupSnapshotContent objects is successful (by validating that both
|
||||||
|
// VolumeGroupSnapshot and VolumeGroupSnapshotContent point to each other) before
|
||||||
|
// using this object.
|
||||||
|
// +optional
|
||||||
|
Status *VolumeGroupSnapshotStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
||||||
// VolumeGroupSnapshotList contains a list of VolumeGroupSnapshot
|
// VolumeGroupSnapshotList contains a list of VolumeGroupSnapshot objects.
|
||||||
type VolumeGroupSnapshotList struct {
|
type VolumeGroupSnapshotList struct {
|
||||||
metav1.TypeMeta `json:",inline"`
|
metav1.TypeMeta `json:",inline"`
|
||||||
metav1.ListMeta `json:"metadata,omitempty"`
|
// +optional
|
||||||
Items []VolumeGroupSnapshot `json:"items"`
|
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
||||||
|
// Items is the list of VolumeGroupSnapshots.
|
||||||
|
Items []VolumeGroupSnapshot `json:"items" protobuf:"bytes,2,rep,name=items"`
|
||||||
}
|
}
|
||||||
|
|
||||||
//+genclient
|
//+genclient
|
||||||
//+genclient:nonNamespaced
|
//+genclient:nonNamespaced
|
||||||
//+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
//+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
||||||
|
|
||||||
// VolumeGroupSnapshotClass is the Schema for the volumegroupsnapshotclass API
|
// VolumeGroupSnapshotClass specifies parameters that a underlying storage system
|
||||||
|
// uses when creating a volume group snapshot. A specific VolumeGroupSnapshotClass
|
||||||
|
// is used by specifying its name in a VolumeGroupSnapshot object.
|
||||||
|
// VolumeGroupSnapshotClasses are non-namespaced.
|
||||||
// +kubebuilder:object:root=true
|
// +kubebuilder:object:root=true
|
||||||
// +kubebuilder:subresource:status
|
// +kubebuilder:resource:scope=Cluster,shortName=vgsclass;vgsclasses
|
||||||
// +kubebuilder:resource:scope=Cluster,shortName=vsgclass;vsgclasses
|
|
||||||
type VolumeGroupSnapshotClass struct {
|
type VolumeGroupSnapshotClass struct {
|
||||||
metav1.TypeMeta `json:",inline"`
|
metav1.TypeMeta `json:",inline"`
|
||||||
|
// Standard object's metadata.
|
||||||
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
|
||||||
|
// +optional
|
||||||
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
||||||
|
|
||||||
// Driver is the name of the storage driver expected to handle this VolumeGroupSnapshotClass.
|
// Driver is the name of the storage driver expected to handle this VolumeGroupSnapshotClass.
|
||||||
@@ -129,8 +150,7 @@ type VolumeGroupSnapshotClass struct {
|
|||||||
|
|
||||||
// Parameters is a key-value map with storage driver specific parameters for
|
// Parameters is a key-value map with storage driver specific parameters for
|
||||||
// creating group snapshots.
|
// creating group snapshots.
|
||||||
// These values are opaque to the system and are passed directly
|
// These values are opaque to Kubernetes and are passed directly to the driver.
|
||||||
// to the driver.
|
|
||||||
// +optional
|
// +optional
|
||||||
Parameters map[string]string `json:"parameters,omitempty" protobuf:"bytes,3,rep,name=parameters"`
|
Parameters map[string]string `json:"parameters,omitempty" protobuf:"bytes,3,rep,name=parameters"`
|
||||||
|
|
||||||
@@ -138,8 +158,12 @@ type VolumeGroupSnapshotClass struct {
|
|||||||
// through the VolumeGroupSnapshotClass should be deleted when its bound
|
// through the VolumeGroupSnapshotClass should be deleted when its bound
|
||||||
// VolumeGroupSnapshot is deleted.
|
// VolumeGroupSnapshot is deleted.
|
||||||
// Supported values are "Retain" and "Delete".
|
// Supported values are "Retain" and "Delete".
|
||||||
|
// "Retain" means that the VolumeGroupSnapshotContent and its physical group
|
||||||
|
// snapshot on underlying storage system are kept.
|
||||||
|
// "Delete" means that the VolumeGroupSnapshotContent and its physical group
|
||||||
|
// snapshot on underlying storage system are deleted.
|
||||||
// Required.
|
// Required.
|
||||||
DeletionPolicy *snapshotv1.DeletionPolicy `json:"deletionPolicy" protobuf:"bytes,4,opt,name=deletionPolicy"`
|
DeletionPolicy snapshotv1.DeletionPolicy `json:"deletionPolicy" protobuf:"bytes,4,opt,name=deletionPolicy"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
||||||
@@ -148,9 +172,12 @@ type VolumeGroupSnapshotClass struct {
|
|||||||
// +kubebuilder:object:root=true
|
// +kubebuilder:object:root=true
|
||||||
type VolumeGroupSnapshotClassList struct {
|
type VolumeGroupSnapshotClassList struct {
|
||||||
metav1.TypeMeta `json:",inline"`
|
metav1.TypeMeta `json:",inline"`
|
||||||
|
// Standard list metadata
|
||||||
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
|
||||||
|
// +optional
|
||||||
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
||||||
|
|
||||||
// Items is the list of VolumeGroupSnapshotClass
|
// Items is the list of VolumeGroupSnapshotClasses.
|
||||||
Items []VolumeGroupSnapshotClass `json:"items" protobuf:"bytes,2,rep,name=items"`
|
Items []VolumeGroupSnapshotClass `json:"items" protobuf:"bytes,2,rep,name=items"`
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -161,14 +188,21 @@ type VolumeGroupSnapshotClassList struct {
|
|||||||
// VolumeGroupSnapshotContent represents the actual "on-disk" group snapshot object
|
// VolumeGroupSnapshotContent represents the actual "on-disk" group snapshot object
|
||||||
// in the underlying storage system
|
// in the underlying storage system
|
||||||
// +kubebuilder:object:root=true
|
// +kubebuilder:object:root=true
|
||||||
// +kubebuilder:resource:scope=Cluster,shortName=vsc;vgscs
|
// +kubebuilder:resource:scope=Cluster,shortName=vgsc;vgscs
|
||||||
// +kubebuilder:subresource:status
|
// +kubebuilder:subresource:status
|
||||||
type VolumeGroupSnapshotContent struct {
|
type VolumeGroupSnapshotContent struct {
|
||||||
metav1.TypeMeta `json:",inline"`
|
metav1.TypeMeta `json:",inline"`
|
||||||
|
// Standard list metadata
|
||||||
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
|
||||||
|
// +optional
|
||||||
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
||||||
|
|
||||||
Spec VolumeGroupSnapshotContentSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"`
|
// Spec defines properties of a VolumeGroupSnapshotContent created by the underlying storage system.
|
||||||
Status VolumeGroupSnapshotContentStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
|
// Required.
|
||||||
|
Spec VolumeGroupSnapshotContentSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"`
|
||||||
|
// status represents the current information of a group snapshot.
|
||||||
|
// +optional
|
||||||
|
Status *VolumeGroupSnapshotContentStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
||||||
@@ -177,10 +211,12 @@ type VolumeGroupSnapshotContent struct {
|
|||||||
// +kubebuilder:object:root=true
|
// +kubebuilder:object:root=true
|
||||||
type VolumeGroupSnapshotContentList struct {
|
type VolumeGroupSnapshotContentList struct {
|
||||||
metav1.TypeMeta `json:",inline"`
|
metav1.TypeMeta `json:",inline"`
|
||||||
|
// Standard list metadata
|
||||||
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
|
||||||
// +optional
|
// +optional
|
||||||
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
||||||
|
|
||||||
// items is the list of VolumeGroupSnapshotContent
|
// Items is the list of VolumeGroupSnapshotContents.
|
||||||
Items []VolumeGroupSnapshotContent `json:"items" protobuf:"bytes,2,rep,name=items"`
|
Items []VolumeGroupSnapshotContent `json:"items" protobuf:"bytes,2,rep,name=items"`
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -197,9 +233,13 @@ type VolumeGroupSnapshotContentSpec struct {
|
|||||||
VolumeGroupSnapshotRef core_v1.ObjectReference `json:"volumeGroupSnapshotRef" protobuf:"bytes,1,opt,name=volumeGroupSnapshotRef"`
|
VolumeGroupSnapshotRef core_v1.ObjectReference `json:"volumeGroupSnapshotRef" protobuf:"bytes,1,opt,name=volumeGroupSnapshotRef"`
|
||||||
|
|
||||||
// DeletionPolicy determines whether this VolumeGroupSnapshotContent and the
|
// DeletionPolicy determines whether this VolumeGroupSnapshotContent and the
|
||||||
// physical snapshots on the underlying storage system should be deleted when
|
// physical group snapshot on the underlying storage system should be deleted
|
||||||
// the bound VolumeGroupSnapshot is deleted.
|
// when the bound VolumeGroupSnapshot is deleted.
|
||||||
// Supported values are "Retain" and "Delete".
|
// Supported values are "Retain" and "Delete".
|
||||||
|
// "Retain" means that the VolumeGroupSnapshotContent and its physical group
|
||||||
|
// snapshot on underlying storage system are kept.
|
||||||
|
// "Delete" means that the VolumeGroupSnapshotContent and its physical group
|
||||||
|
// snapshot on underlying storage system are deleted.
|
||||||
// For dynamically provisioned group snapshots, this field will automatically
|
// For dynamically provisioned group snapshots, this field will automatically
|
||||||
// be filled in by the CSI snapshotter sidecar with the "DeletionPolicy" field
|
// be filled in by the CSI snapshotter sidecar with the "DeletionPolicy" field
|
||||||
// defined in the corresponding VolumeGroupSnapshotClass.
|
// defined in the corresponding VolumeGroupSnapshotClass.
|
||||||
@@ -249,7 +289,11 @@ type VolumeGroupSnapshotContentStatus struct {
|
|||||||
|
|
||||||
// ReadyToUse indicates if all the individual snapshots in the group are ready to be
|
// ReadyToUse indicates if all the individual snapshots in the group are ready to be
|
||||||
// used to restore a volume.
|
// used to restore a volume.
|
||||||
|
// ReadyToUse becomes true when ReadyToUse of all individual snapshots become true.
|
||||||
// If not specified, it means the readiness of a group snapshot is unknown.
|
// If not specified, it means the readiness of a group snapshot 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.
|
||||||
// +optional
|
// +optional
|
||||||
ReadyToUse *bool `json:"readyToUse,omitempty" protobuf:"varint,3,opt,name=readyToUse"`
|
ReadyToUse *bool `json:"readyToUse,omitempty" protobuf:"varint,3,opt,name=readyToUse"`
|
||||||
|
|
||||||
@@ -270,13 +314,13 @@ type VolumeGroupSnapshotContentStatus struct {
|
|||||||
// Members in VolumeGroupSnapshotContentSource are immutable.
|
// Members in VolumeGroupSnapshotContentSource are immutable.
|
||||||
type VolumeGroupSnapshotContentSource struct {
|
type VolumeGroupSnapshotContentSource struct {
|
||||||
// PersistentVolumeNames is a list of names of PersistentVolumes to be snapshotted
|
// PersistentVolumeNames is a list of names of PersistentVolumes to be snapshotted
|
||||||
// together. Signifies dynamic provisioning of the VolumeGroupSnapshot.
|
// together. It is specified for dynamic provisioning of the VolumeGroupSnapshot.
|
||||||
// This field is immutable.
|
// This field is immutable.
|
||||||
// +optional
|
// +optional
|
||||||
PersistentVolumeNames []string `json:"persistentVolumeNames,omitempty" protobuf:"bytes,1,opt,name=persistentVolumeNames"`
|
PersistentVolumeNames []string `json:"persistentVolumeNames,omitempty" protobuf:"bytes,1,opt,name=persistentVolumeNames"`
|
||||||
|
|
||||||
// VolumeGroupSnapshotHandle specifies the CSI "snapshot_id" of a pre-existing
|
// VolumeGroupSnapshotHandle specifies the CSI "group_snapshot_id" of a pre-existing
|
||||||
// snapshot on the underlying storage system for which a Kubernetes object
|
// group snapshot on the underlying storage system for which a Kubernetes object
|
||||||
// representation was (or should be) created.
|
// representation was (or should be) created.
|
||||||
// This field is immutable.
|
// This field is immutable.
|
||||||
// +optional
|
// +optional
|
||||||
|
@@ -24,7 +24,6 @@ package v1alpha1
|
|||||||
import (
|
import (
|
||||||
v1 "github.com/kubernetes-csi/external-snapshotter/client/v6/apis/volumesnapshot/v1"
|
v1 "github.com/kubernetes-csi/external-snapshotter/client/v6/apis/volumesnapshot/v1"
|
||||||
corev1 "k8s.io/api/core/v1"
|
corev1 "k8s.io/api/core/v1"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
|
||||||
runtime "k8s.io/apimachinery/pkg/runtime"
|
runtime "k8s.io/apimachinery/pkg/runtime"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -34,7 +33,11 @@ func (in *VolumeGroupSnapshot) DeepCopyInto(out *VolumeGroupSnapshot) {
|
|||||||
out.TypeMeta = in.TypeMeta
|
out.TypeMeta = in.TypeMeta
|
||||||
in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
|
in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
|
||||||
in.Spec.DeepCopyInto(&out.Spec)
|
in.Spec.DeepCopyInto(&out.Spec)
|
||||||
in.Status.DeepCopyInto(&out.Status)
|
if in.Status != nil {
|
||||||
|
in, out := &in.Status, &out.Status
|
||||||
|
*out = new(VolumeGroupSnapshotStatus)
|
||||||
|
(*in).DeepCopyInto(*out)
|
||||||
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -68,11 +71,6 @@ func (in *VolumeGroupSnapshotClass) DeepCopyInto(out *VolumeGroupSnapshotClass)
|
|||||||
(*out)[key] = val
|
(*out)[key] = val
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if in.DeletionPolicy != nil {
|
|
||||||
in, out := &in.DeletionPolicy, &out.DeletionPolicy
|
|
||||||
*out = new(v1.DeletionPolicy)
|
|
||||||
**out = **in
|
|
||||||
}
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -133,7 +131,11 @@ func (in *VolumeGroupSnapshotContent) DeepCopyInto(out *VolumeGroupSnapshotConte
|
|||||||
out.TypeMeta = in.TypeMeta
|
out.TypeMeta = in.TypeMeta
|
||||||
in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
|
in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
|
||||||
in.Spec.DeepCopyInto(&out.Spec)
|
in.Spec.DeepCopyInto(&out.Spec)
|
||||||
in.Status.DeepCopyInto(&out.Status)
|
if in.Status != nil {
|
||||||
|
in, out := &in.Status, &out.Status
|
||||||
|
*out = new(VolumeGroupSnapshotContentStatus)
|
||||||
|
(*in).DeepCopyInto(*out)
|
||||||
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -314,11 +316,7 @@ func (in *VolumeGroupSnapshotList) DeepCopyObject() runtime.Object {
|
|||||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
func (in *VolumeGroupSnapshotSpec) DeepCopyInto(out *VolumeGroupSnapshotSpec) {
|
func (in *VolumeGroupSnapshotSpec) DeepCopyInto(out *VolumeGroupSnapshotSpec) {
|
||||||
*out = *in
|
*out = *in
|
||||||
if in.Selector != nil {
|
in.Selector.DeepCopyInto(&out.Selector)
|
||||||
in, out := &in.Selector, &out.Selector
|
|
||||||
*out = new(metav1.LabelSelector)
|
|
||||||
(*in).DeepCopyInto(*out)
|
|
||||||
}
|
|
||||||
if in.VolumeGroupSnapshotClassName != nil {
|
if in.VolumeGroupSnapshotClassName != nil {
|
||||||
in, out := &in.VolumeGroupSnapshotClassName, &out.VolumeGroupSnapshotClassName
|
in, out := &in.VolumeGroupSnapshotClassName, &out.VolumeGroupSnapshotClassName
|
||||||
*out = new(string)
|
*out = new(string)
|
||||||
|
@@ -14,16 +14,18 @@ spec:
|
|||||||
listKind: VolumeGroupSnapshotClassList
|
listKind: VolumeGroupSnapshotClassList
|
||||||
plural: volumegroupsnapshotclasses
|
plural: volumegroupsnapshotclasses
|
||||||
shortNames:
|
shortNames:
|
||||||
- vsgclass
|
- vgsclass
|
||||||
- vsgclasses
|
- vgsclasses
|
||||||
singular: volumegroupsnapshotclass
|
singular: volumegroupsnapshotclass
|
||||||
scope: Cluster
|
scope: Cluster
|
||||||
versions:
|
versions:
|
||||||
- name: v1alpha1
|
- name: v1alpha1
|
||||||
schema:
|
schema:
|
||||||
openAPIV3Schema:
|
openAPIV3Schema:
|
||||||
description: VolumeGroupSnapshotClass is the Schema for the volumegroupsnapshotclass
|
description: VolumeGroupSnapshotClass specifies parameters that a underlying
|
||||||
API
|
storage system uses when creating a volume group snapshot. A specific VolumeGroupSnapshotClass
|
||||||
|
is used by specifying its name in a VolumeGroupSnapshot object. VolumeGroupSnapshotClasses
|
||||||
|
are non-namespaced.
|
||||||
properties:
|
properties:
|
||||||
apiVersion:
|
apiVersion:
|
||||||
description: 'APIVersion defines the versioned schema of this representation
|
description: 'APIVersion defines the versioned schema of this representation
|
||||||
@@ -34,7 +36,10 @@ spec:
|
|||||||
description: DeletionPolicy determines whether a VolumeGroupSnapshotContent
|
description: DeletionPolicy determines whether a VolumeGroupSnapshotContent
|
||||||
created through the VolumeGroupSnapshotClass should be deleted when
|
created through the VolumeGroupSnapshotClass should be deleted when
|
||||||
its bound VolumeGroupSnapshot is deleted. Supported values are "Retain"
|
its bound VolumeGroupSnapshot is deleted. Supported values are "Retain"
|
||||||
and "Delete". Required.
|
and "Delete". "Retain" means that the VolumeGroupSnapshotContent and
|
||||||
|
its physical group snapshot on underlying storage system are kept. "Delete"
|
||||||
|
means that the VolumeGroupSnapshotContent and its physical group snapshot
|
||||||
|
on underlying storage system are deleted. Required.
|
||||||
enum:
|
enum:
|
||||||
- Delete
|
- Delete
|
||||||
- Retain
|
- Retain
|
||||||
@@ -53,7 +58,7 @@ spec:
|
|||||||
type: string
|
type: string
|
||||||
description: Parameters is a key-value map with storage driver specific
|
description: Parameters is a key-value map with storage driver specific
|
||||||
parameters for creating group snapshots. These values are opaque to
|
parameters for creating group snapshots. These values are opaque to
|
||||||
the system and are passed directly to the driver.
|
Kubernetes and are passed directly to the driver.
|
||||||
type: object
|
type: object
|
||||||
required:
|
required:
|
||||||
- deletionPolicy
|
- deletionPolicy
|
||||||
@@ -61,5 +66,3 @@ spec:
|
|||||||
type: object
|
type: object
|
||||||
served: true
|
served: true
|
||||||
storage: true
|
storage: true
|
||||||
subresources:
|
|
||||||
status: {}
|
|
||||||
|
@@ -14,7 +14,7 @@ spec:
|
|||||||
listKind: VolumeGroupSnapshotContentList
|
listKind: VolumeGroupSnapshotContentList
|
||||||
plural: volumegroupsnapshotcontents
|
plural: volumegroupsnapshotcontents
|
||||||
shortNames:
|
shortNames:
|
||||||
- vsc
|
- vgsc
|
||||||
- vgscs
|
- vgscs
|
||||||
singular: volumegroupsnapshotcontent
|
singular: volumegroupsnapshotcontent
|
||||||
scope: Cluster
|
scope: Cluster
|
||||||
@@ -36,19 +36,22 @@ spec:
|
|||||||
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
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
|
||||||
spec:
|
spec:
|
||||||
description: VolumeGroupSnapshotContentSpec describes the common attributes
|
description: Spec defines properties of a VolumeGroupSnapshotContent created
|
||||||
of a group snapshot content
|
by the underlying storage system. Required.
|
||||||
properties:
|
properties:
|
||||||
deletionPolicy:
|
deletionPolicy:
|
||||||
description: DeletionPolicy determines whether this VolumeGroupSnapshotContent
|
description: DeletionPolicy determines whether this VolumeGroupSnapshotContent
|
||||||
and the physical snapshots on the underlying storage system should
|
and the physical group snapshot on the underlying storage system
|
||||||
be deleted when the bound VolumeGroupSnapshot is deleted. Supported
|
should be deleted when the bound VolumeGroupSnapshot is deleted.
|
||||||
values are "Retain" and "Delete". For dynamically provisioned group
|
Supported values are "Retain" and "Delete". "Retain" means that
|
||||||
snapshots, this field will automatically be filled in by the CSI
|
the VolumeGroupSnapshotContent and its physical group snapshot on
|
||||||
snapshotter sidecar with the "DeletionPolicy" field defined in the
|
underlying storage system are kept. "Delete" means that the VolumeGroupSnapshotContent
|
||||||
corresponding VolumeGroupSnapshotClass. For pre-existing snapshots,
|
and its physical group snapshot on underlying storage system are
|
||||||
users MUST specify this field when creating the VolumeGroupSnapshotContent
|
deleted. For dynamically provisioned group snapshots, this field
|
||||||
object. Required.
|
will automatically be filled in by the CSI snapshotter sidecar with
|
||||||
|
the "DeletionPolicy" field defined in the corresponding VolumeGroupSnapshotClass.
|
||||||
|
For pre-existing snapshots, users MUST specify this field when creating
|
||||||
|
the VolumeGroupSnapshotContent object. Required.
|
||||||
enum:
|
enum:
|
||||||
- Delete
|
- Delete
|
||||||
- Retain
|
- Retain
|
||||||
@@ -66,14 +69,14 @@ spec:
|
|||||||
properties:
|
properties:
|
||||||
persistentVolumeNames:
|
persistentVolumeNames:
|
||||||
description: PersistentVolumeNames is a list of names of PersistentVolumes
|
description: PersistentVolumeNames is a list of names of PersistentVolumes
|
||||||
to be snapshotted together. Signifies dynamic provisioning of
|
to be snapshotted together. It is specified for dynamic provisioning
|
||||||
the VolumeGroupSnapshot. This field is immutable.
|
of the VolumeGroupSnapshot. This field is immutable.
|
||||||
items:
|
items:
|
||||||
type: string
|
type: string
|
||||||
type: array
|
type: array
|
||||||
volumeGroupSnapshotHandle:
|
volumeGroupSnapshotHandle:
|
||||||
description: VolumeGroupSnapshotHandle specifies the CSI "snapshot_id"
|
description: VolumeGroupSnapshotHandle specifies the CSI "group_snapshot_id"
|
||||||
of a pre-existing snapshot on the underlying storage system
|
of a pre-existing group snapshot on the underlying storage system
|
||||||
for which a Kubernetes object representation was (or should
|
for which a Kubernetes object representation was (or should
|
||||||
be) created. This field is immutable.
|
be) created. This field is immutable.
|
||||||
type: string
|
type: string
|
||||||
@@ -141,8 +144,7 @@ spec:
|
|||||||
- volumeGroupSnapshotRef
|
- volumeGroupSnapshotRef
|
||||||
type: object
|
type: object
|
||||||
status:
|
status:
|
||||||
description: VolumeGroupSnapshotContentStatus defines the observed state
|
description: status represents the current information of a group snapshot.
|
||||||
of VolumeGroupSnapshotContent.
|
|
||||||
properties:
|
properties:
|
||||||
creationTime:
|
creationTime:
|
||||||
description: CreationTime is the timestamp when the point-in-time
|
description: CreationTime is the timestamp when the point-in-time
|
||||||
@@ -156,19 +158,23 @@ spec:
|
|||||||
be cleared.
|
be cleared.
|
||||||
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
|
during snapshot creation if specified. NOTE: message may be
|
||||||
logged, 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.
|
||||||
format: date-time
|
format: date-time
|
||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
readyToUse:
|
readyToUse:
|
||||||
description: ReadyToUse indicates if all the individual snapshots
|
description: ReadyToUse indicates if all the individual snapshots
|
||||||
in the group are ready to be used to restore a volume. If not specified,
|
in the group are ready to be used to restore a volume. ReadyToUse
|
||||||
it means the readiness of a group snapshot is unknown.
|
becomes true when ReadyToUse of all individual snapshots become
|
||||||
|
true. If not specified, it means the readiness of a group snapshot
|
||||||
|
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.
|
||||||
type: boolean
|
type: boolean
|
||||||
volumeGroupSnapshotHandle:
|
volumeGroupSnapshotHandle:
|
||||||
description: VolumeGroupSnapshotHandle is a unique id returned by
|
description: VolumeGroupSnapshotHandle is a unique id returned by
|
||||||
|
@@ -35,7 +35,8 @@ spec:
|
|||||||
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
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
|
||||||
spec:
|
spec:
|
||||||
description: VolumeGroupSnapshotSpec defines the desired state of VolumeGroupSnapshot
|
description: Spec defines the desired characteristics of a group snapshot
|
||||||
|
requested by a user. Required.
|
||||||
properties:
|
properties:
|
||||||
selector:
|
selector:
|
||||||
description: Selector is a label query over PersistentVolumeClaims
|
description: Selector is a label query over PersistentVolumeClaims
|
||||||
@@ -44,7 +45,7 @@ spec:
|
|||||||
added or removed to a volume after a group snapshot is created,
|
added or removed to a volume after a group snapshot is created,
|
||||||
the existing group snapshots won't be modified. Once a VolumeGroupSnapshotContent
|
the existing group snapshots won't be modified. Once a VolumeGroupSnapshotContent
|
||||||
is created and the sidecar starts to process it, the volume list
|
is created and the sidecar starts to process it, the volume list
|
||||||
will not change with retries.
|
will not change with retries. Required.
|
||||||
properties:
|
properties:
|
||||||
matchExpressions:
|
matchExpressions:
|
||||||
description: matchExpressions is a list of label selector requirements.
|
description: matchExpressions is a list of label selector requirements.
|
||||||
@@ -98,7 +99,10 @@ spec:
|
|||||||
- selector
|
- selector
|
||||||
type: object
|
type: object
|
||||||
status:
|
status:
|
||||||
description: VolumeGroupSnapshotStatus defines the observed state of VolumeGroupSnapshot
|
description: Status represents the current information of a group snapshot.
|
||||||
|
Consumers must verify binding between VolumeGroupSnapshot and VolumeGroupSnapshotContent
|
||||||
|
objects is successful (by validating that both VolumeGroupSnapshot and
|
||||||
|
VolumeGroupSnapshotContent point to each other) before using this object.
|
||||||
properties:
|
properties:
|
||||||
boundVolumeGroupSnapshotContentName:
|
boundVolumeGroupSnapshotContentName:
|
||||||
description: 'BoundVolumeGroupSnapshotContentName is the name of the
|
description: 'BoundVolumeGroupSnapshotContentName is the name of the
|
||||||
@@ -128,19 +132,23 @@ spec:
|
|||||||
this error field will be cleared.
|
this error field will be cleared.
|
||||||
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
|
during snapshot creation if specified. NOTE: message may be
|
||||||
logged, 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.
|
||||||
format: date-time
|
format: date-time
|
||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
readyToUse:
|
readyToUse:
|
||||||
description: ReadyToUse indicates if all the individual snapshots
|
description: ReadyToUse indicates if all the individual snapshots
|
||||||
in the group are ready to be used to restore a volume. If not specified,
|
in the group are ready to be used to restore a volume. ReadyToUse
|
||||||
it means the readiness of a group snapshot is unknown.
|
becomes true when ReadyToUse of all individual snapshots become
|
||||||
|
true. If not specified, it means the readiness of a group snapshot
|
||||||
|
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.
|
||||||
type: boolean
|
type: boolean
|
||||||
volumeSnapshotRefList:
|
volumeSnapshotRefList:
|
||||||
description: VolumeSnapshotRefList is the list of volume snapshot
|
description: VolumeSnapshotRefList is the list of volume snapshot
|
||||||
|
Reference in New Issue
Block a user