Merge pull request #971 from RaunakShah/deletegroupsnapshot-part-3
Update API for pre provisioned group snapshots
This commit is contained in:
@@ -348,16 +348,33 @@ type VolumeGroupSnapshotContentStatus struct {
|
||||
// Exactly one of its members must be set.
|
||||
// Members in VolumeGroupSnapshotContentSource are immutable.
|
||||
type VolumeGroupSnapshotContentSource struct {
|
||||
// PersistentVolumeNames is a list of names of PersistentVolumes to be snapshotted
|
||||
// VolumeHandles is a list of volume handles on the backend to be snapshotted
|
||||
// together. It is specified for dynamic provisioning of the VolumeGroupSnapshot.
|
||||
// This field is immutable.
|
||||
// +optional
|
||||
PersistentVolumeNames []string `json:"persistentVolumeNames,omitempty" protobuf:"bytes,1,opt,name=persistentVolumeNames"`
|
||||
VolumeHandles []string `json:"volumeHandles,omitempty" protobuf:"bytes,1,opt,name=volumeHandles"`
|
||||
|
||||
// GroupSnapshotHandles specifies the CSI "group_snapshot_id" of a pre-existing
|
||||
// group snapshot and a list of CSI "snapshot_id" of pre-existing snapshots
|
||||
// on the underlying storage system for which a Kubernetes object
|
||||
// representation was (or should be) created.
|
||||
// This field is immutable.
|
||||
// +optional
|
||||
GroupSnapshotHandles *GroupSnapshotHandles `json:"groupSnapshotHandles,omitempty" protobuf:"bytes,2,opt,name=groupSnapshotHandles"`
|
||||
}
|
||||
|
||||
type GroupSnapshotHandles struct {
|
||||
// VolumeGroupSnapshotHandle specifies the CSI "group_snapshot_id" of a pre-existing
|
||||
// group snapshot on the underlying storage system for which a Kubernetes object
|
||||
// representation was (or should be) created.
|
||||
// This field is immutable.
|
||||
// +optional
|
||||
VolumeGroupSnapshotHandle *string `json:"volumeGroupSnapshotHandle,omitempty" protobuf:"bytes,2,opt,name=volumeGroupSnapshotHandle"`
|
||||
// Required.
|
||||
VolumeGroupSnapshotHandle string `json:"volumeGroupSnapshotHandle" protobuf:"bytes,1,opt,name=volumeGroupSnapshotHandle"`
|
||||
|
||||
// VolumeSnapshotHandles is a list of CSI "snapshot_id" of pre-existing
|
||||
// snapshots on the underlying storage system for which Kubernetes objects
|
||||
// representation were (or should be) created.
|
||||
// This field is immutable.
|
||||
// Required.
|
||||
VolumeSnapshotHandles []string `json:"volumeSnapshotHandles" protobuf:"bytes,2,opt,name=volumeSnapshotHandles"`
|
||||
}
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// +build !ignore_autogenerated
|
||||
|
||||
/*
|
||||
Copyright 2023 The Kubernetes Authors.
|
||||
Copyright 2024 The Kubernetes Authors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
@@ -27,6 +27,27 @@ import (
|
||||
runtime "k8s.io/apimachinery/pkg/runtime"
|
||||
)
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *GroupSnapshotHandles) DeepCopyInto(out *GroupSnapshotHandles) {
|
||||
*out = *in
|
||||
if in.VolumeSnapshotHandles != nil {
|
||||
in, out := &in.VolumeSnapshotHandles, &out.VolumeSnapshotHandles
|
||||
*out = make([]string, len(*in))
|
||||
copy(*out, *in)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupSnapshotHandles.
|
||||
func (in *GroupSnapshotHandles) DeepCopy() *GroupSnapshotHandles {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(GroupSnapshotHandles)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *VolumeGroupSnapshot) DeepCopyInto(out *VolumeGroupSnapshot) {
|
||||
*out = *in
|
||||
@@ -193,15 +214,15 @@ func (in *VolumeGroupSnapshotContentList) DeepCopyObject() runtime.Object {
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *VolumeGroupSnapshotContentSource) DeepCopyInto(out *VolumeGroupSnapshotContentSource) {
|
||||
*out = *in
|
||||
if in.PersistentVolumeNames != nil {
|
||||
in, out := &in.PersistentVolumeNames, &out.PersistentVolumeNames
|
||||
if in.VolumeHandles != nil {
|
||||
in, out := &in.VolumeHandles, &out.VolumeHandles
|
||||
*out = make([]string, len(*in))
|
||||
copy(*out, *in)
|
||||
}
|
||||
if in.VolumeGroupSnapshotHandle != nil {
|
||||
in, out := &in.VolumeGroupSnapshotHandle, &out.VolumeGroupSnapshotHandle
|
||||
*out = new(string)
|
||||
**out = **in
|
||||
if in.GroupSnapshotHandles != nil {
|
||||
in, out := &in.GroupSnapshotHandles, &out.GroupSnapshotHandles
|
||||
*out = new(GroupSnapshotHandles)
|
||||
(*in).DeepCopyInto(*out)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// +build !ignore_autogenerated
|
||||
|
||||
/*
|
||||
Copyright 2023 The Kubernetes Authors.
|
||||
Copyright 2024 The Kubernetes Authors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
|
Reference in New Issue
Block a user