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

snapshot/v1/VolumeSnapshotClass.cue raw

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