1package v1beta1
2
3import "cue.dev/x/k8s.io/apimachinery/pkg/apis/meta/v1"
4
5// VolumeAttributesClass represents a specification of mutable volume attributes
6// defined by the CSI driver. The class can be specified during dynamic
7// provisioning of PersistentVolumeClaims, and changed in the
8// PersistentVolumeClaim spec after provisioning.
9#VolumeAttributesClass: {
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": "storage.k8s.io/v1beta1"
15
16 // Name of the CSI driver This field is immutable.
17 "driverName"!: string
18
19 // Kind is a string value representing the REST resource this object represents.
20 // Servers may infer this from the endpoint the client submits requests to.
21 // Cannot be updated. In CamelCase. More info:
22 // https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
23 "kind": "VolumeAttributesClass"
24
25 // Standard object's metadata. More info:
26 // https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
27 "metadata"?: v1.#ObjectMeta
28
29 // parameters hold volume attributes defined by the CSI driver. These values are
30 // opaque to the Kubernetes and are passed directly to the CSI driver. The
31 // underlying storage provider supports changing these attributes on an
32 // existing volume, however the parameters field itself is immutable. To invoke
33 // a volume update, a new VolumeAttributesClass should be created with new
34 // parameters, and the PersistentVolumeClaim should be updated to reference the
35 // new VolumeAttributesClass.
36 //
37 // This field is required and must contain at least one key/value pair. The keys
38 // cannot be empty, and the maximum number of parameters is 512, with a
39 // cumulative max size of 256K. If the CSI driver rejects invalid parameters,
40 // the target PersistentVolumeClaim will be set to an "Infeasible" state in the
41 // modifyVolumeStatus field.
42 "parameters"?: [string]: string
43}
44
45// VolumeAttributesClassList is a collection of VolumeAttributesClass objects.
46#VolumeAttributesClassList: {
47 // APIVersion defines the versioned schema of this representation of an object.
48 // Servers should convert recognized schemas to the latest internal value, and
49 // may reject unrecognized values. More info:
50 // https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
51 "apiVersion": "storage.k8s.io/v1beta1"
52
53 // items is the list of VolumeAttributesClass objects.
54 "items"!: [...#VolumeAttributesClass]
55
56 // Kind is a string value representing the REST resource this object represents.
57 // Servers may infer this from the endpoint the client submits requests to.
58 // Cannot be updated. In CamelCase. More info:
59 // https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
60 "kind": "VolumeAttributesClassList"
61
62 // Standard list metadata More info:
63 // https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
64 "metadata"?: v1.#ListMeta
65}