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}