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

snapshot/v1beta1/VolumeSnapshotClass.cue raw

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