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}