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