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

snapshot/v1beta1/VolumeSnapshotClass.cue raw

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