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}