cue.dev/x/crd/k8s.io/storage@v0.1.0

groupsnapshot/v1beta2/VolumeGroupSnapshotClass.cue raw

 1package v1beta2
 2
 3// VolumeGroupSnapshotClass specifies parameters that a underlying
 4// storage system
 5// uses when creating a volume group snapshot. A specific
 6// VolumeGroupSnapshotClass
 7// is used by specifying its name in a VolumeGroupSnapshot object.
 8// VolumeGroupSnapshotClasses are non-namespaced.
 9#VolumeGroupSnapshotClass: {
10	_embeddedResource
11
12	// APIVersion defines the versioned schema of this representation
13	// of an object.
14	// Servers should convert recognized schemas to the latest
15	// internal value, and
16	// may reject unrecognized values.
17	// More info:
18	// https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
19	"apiVersion"?: string
20
21	// DeletionPolicy determines whether a VolumeGroupSnapshotContent
22	// created
23	// through the VolumeGroupSnapshotClass should be deleted when its
24	// bound
25	// VolumeGroupSnapshot is deleted.
26	// Supported values are "Retain" and "Delete".
27	// "Retain" means that the VolumeGroupSnapshotContent and its
28	// physical group
29	// snapshot on underlying storage system are kept.
30	// "Delete" means that the VolumeGroupSnapshotContent and its
31	// physical group
32	// snapshot on underlying storage system are deleted.
33	// Required.
34	"deletionPolicy"!: "Delete" | "Retain"
35
36	// Driver is the name of the storage driver expected to handle
37	// this VolumeGroupSnapshotClass.
38	// Required.
39	"driver"!: string
40
41	// Kind is a string value representing the REST resource this
42	// object represents.
43	// Servers may infer this from the endpoint the client submits
44	// requests to.
45	// Cannot be updated.
46	// In CamelCase.
47	// More info:
48	// https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
49	"kind"?: string
50	"metadata"?: {}
51
52	// Parameters is a key-value map with storage driver specific
53	// parameters for
54	// creating group snapshots.
55	// These values are opaque to Kubernetes and are passed directly
56	// to the driver.
57	"parameters"?: {
58		[string]: string
59	}
60
61	_embeddedResource: {
62		"apiVersion"!: string
63		"kind"!:       string
64		"metadata"?: {
65			...
66		}
67	}
68	apiVersion: "groupsnapshot.storage.k8s.io/v1beta2"
69	kind:       "VolumeGroupSnapshotClass"
70	metadata!: {
71		"name"!:      string
72		"namespace"?: string
73		"labels"?: {
74			[string]: string
75		}
76		"annotations"?: {
77			[string]: string
78		}
79		...
80	}
81}