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

snapshot/v1/VolumeSnapshotClass.cue raw

 1package v1
 2
 3// VolumeSnapshotClass specifies parameters that a underlying
 4// storage system uses when
 5// creating a volume snapshot. A specific VolumeSnapshotClass is
 6// used by specifying its
 7// name in a VolumeSnapshot object.
 8// VolumeSnapshotClasses are non-namespaced
 9#VolumeSnapshotClass: {
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 VolumeSnapshotContent
22	// created through
23	// the VolumeSnapshotClass should be deleted when its bound
24	// VolumeSnapshot is deleted.
25	// Supported values are "Retain" and "Delete".
26	// "Retain" means that the VolumeSnapshotContent and its physical
27	// snapshot on underlying storage system are kept.
28	// "Delete" means that the VolumeSnapshotContent and its physical
29	// snapshot on underlying storage system are deleted.
30	// Required.
31	"deletionPolicy"!: "Delete" | "Retain"
32
33	// driver is the name of the storage driver that handles this
34	// VolumeSnapshotClass.
35	// Required.
36	"driver"!: string
37
38	// Kind is a string value representing the REST resource this
39	// object represents.
40	// Servers may infer this from the endpoint the client submits
41	// requests to.
42	// Cannot be updated.
43	// In CamelCase.
44	// More info:
45	// https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
46	"kind"?: string
47	"metadata"?: {}
48
49	// parameters is a key-value map with storage driver specific
50	// parameters for creating snapshots.
51	// These values are opaque to Kubernetes.
52	"parameters"?: {
53		[string]: string
54	}
55
56	_embeddedResource: {
57		"apiVersion"!: string
58		"kind"!:       string
59		"metadata"?: {
60			...
61		}
62	}
63	apiVersion: "snapshot.storage.k8s.io/v1"
64	kind:       "VolumeSnapshotClass"
65	metadata!: {
66		"name"!:      string
67		"namespace"?: string
68		"labels"?: {
69			[string]: string
70		}
71		"annotations"?: {
72			[string]: string
73		}
74		...
75	}
76}