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