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}