...
Text file
src/github.com/openshift/api/quota/v1/0000_03_quota-openshift_01_clusterresourcequota.crd.yaml
1apiVersion: apiextensions.k8s.io/v1
2kind: CustomResourceDefinition
3metadata:
4 annotations:
5 api-approved.openshift.io: https://github.com/openshift/api/pull/470
6 include.release.openshift.io/ibm-cloud-managed: "true"
7 include.release.openshift.io/self-managed-high-availability: "true"
8 include.release.openshift.io/single-node-developer: "true"
9 name: clusterresourcequotas.quota.openshift.io
10spec:
11 group: quota.openshift.io
12 names:
13 kind: ClusterResourceQuota
14 listKind: ClusterResourceQuotaList
15 plural: clusterresourcequotas
16 singular: clusterresourcequota
17 scope: Cluster
18 versions:
19 - name: v1
20 schema:
21 openAPIV3Schema:
22 description: "ClusterResourceQuota mirrors ResourceQuota at a cluster scope. This object is easily convertible to synthetic ResourceQuota object to allow quota evaluation re-use. \n Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer)."
23 type: object
24 required:
25 - metadata
26 - spec
27 properties:
28 apiVersion:
29 description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
30 type: string
31 kind:
32 description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
33 type: string
34 metadata:
35 type: object
36 spec:
37 description: Spec defines the desired quota
38 type: object
39 required:
40 - quota
41 - selector
42 properties:
43 quota:
44 description: Quota defines the desired quota
45 type: object
46 properties:
47 hard:
48 description: 'hard is the set of desired hard limits for each named resource. More info: https://kubernetes.io/docs/concepts/policy/resource-quotas/'
49 type: object
50 additionalProperties:
51 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
52 anyOf:
53 - type: integer
54 - type: string
55 x-kubernetes-int-or-string: true
56 scopeSelector:
57 description: scopeSelector is also a collection of filters like scopes that must match each object tracked by a quota but expressed using ScopeSelectorOperator in combination with possible values. For a resource to match, both scopes AND scopeSelector (if specified in spec), must be matched.
58 type: object
59 properties:
60 matchExpressions:
61 description: A list of scope selector requirements by scope of the resources.
62 type: array
63 items:
64 description: A scoped-resource selector requirement is a selector that contains values, a scope name, and an operator that relates the scope name and values.
65 type: object
66 required:
67 - operator
68 - scopeName
69 properties:
70 operator:
71 description: Represents a scope's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist.
72 type: string
73 scopeName:
74 description: The name of the scope that the selector applies to.
75 type: string
76 values:
77 description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
78 type: array
79 items:
80 type: string
81 x-kubernetes-map-type: atomic
82 scopes:
83 description: A collection of filters that must match each object tracked by a quota. If not specified, the quota matches all objects.
84 type: array
85 items:
86 description: A ResourceQuotaScope defines a filter that must match each object tracked by a quota
87 type: string
88 selector:
89 description: Selector is the selector used to match projects. It should only select active projects on the scale of dozens (though it can select many more less active projects). These projects will contend on object creation through this resource.
90 type: object
91 properties:
92 annotations:
93 description: AnnotationSelector is used to select projects by annotation.
94 type: object
95 additionalProperties:
96 type: string
97 nullable: true
98 labels:
99 description: LabelSelector is used to select projects by label.
100 type: object
101 properties:
102 matchExpressions:
103 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
104 type: array
105 items:
106 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
107 type: object
108 required:
109 - key
110 - operator
111 properties:
112 key:
113 description: key is the label key that the selector applies to.
114 type: string
115 operator:
116 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
117 type: string
118 values:
119 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
120 type: array
121 items:
122 type: string
123 matchLabels:
124 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
125 type: object
126 additionalProperties:
127 type: string
128 nullable: true
129 x-kubernetes-map-type: atomic
130 status:
131 description: Status defines the actual enforced quota and its current usage
132 type: object
133 required:
134 - total
135 properties:
136 namespaces:
137 description: Namespaces slices the usage by project. This division allows for quick resolution of deletion reconciliation inside of a single project without requiring a recalculation across all projects. This can be used to pull the deltas for a given project.
138 type: array
139 items:
140 description: ResourceQuotaStatusByNamespace gives status for a particular project
141 type: object
142 required:
143 - namespace
144 - status
145 properties:
146 namespace:
147 description: Namespace the project this status applies to
148 type: string
149 status:
150 description: Status indicates how many resources have been consumed by this project
151 type: object
152 properties:
153 hard:
154 description: 'Hard is the set of enforced hard limits for each named resource. More info: https://kubernetes.io/docs/concepts/policy/resource-quotas/'
155 type: object
156 additionalProperties:
157 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
158 anyOf:
159 - type: integer
160 - type: string
161 x-kubernetes-int-or-string: true
162 used:
163 description: Used is the current observed total usage of the resource in the namespace.
164 type: object
165 additionalProperties:
166 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
167 anyOf:
168 - type: integer
169 - type: string
170 x-kubernetes-int-or-string: true
171 nullable: true
172 total:
173 description: Total defines the actual enforced quota and its current usage across all projects
174 type: object
175 properties:
176 hard:
177 description: 'Hard is the set of enforced hard limits for each named resource. More info: https://kubernetes.io/docs/concepts/policy/resource-quotas/'
178 type: object
179 additionalProperties:
180 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
181 anyOf:
182 - type: integer
183 - type: string
184 x-kubernetes-int-or-string: true
185 used:
186 description: Used is the current observed total usage of the resource in the namespace.
187 type: object
188 additionalProperties:
189 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
190 anyOf:
191 - type: integer
192 - type: string
193 x-kubernetes-int-or-string: true
194 served: true
195 storage: true
196 subresources:
197 status: {}
View as plain text