1# Copyright 2020 Google LLC
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15apiVersion: apiextensions.k8s.io/v1
16kind: CustomResourceDefinition
17metadata:
18 annotations:
19 cnrm.cloud.google.com/version: 1.106.0
20 creationTimestamp: null
21 labels:
22 cnrm.cloud.google.com/dcl2crd: "true"
23 cnrm.cloud.google.com/managed-by-kcc: "true"
24 cnrm.cloud.google.com/stability-level: stable
25 cnrm.cloud.google.com/system: "true"
26 name: monitoringmetricdescriptors.monitoring.cnrm.cloud.google.com
27spec:
28 group: monitoring.cnrm.cloud.google.com
29 names:
30 categories:
31 - gcp
32 kind: MonitoringMetricDescriptor
33 plural: monitoringmetricdescriptors
34 shortNames:
35 - gcpmonitoringmetricdescriptor
36 - gcpmonitoringmetricdescriptors
37 singular: monitoringmetricdescriptor
38 scope: Namespaced
39 versions:
40 - additionalPrinterColumns:
41 - jsonPath: .metadata.creationTimestamp
42 name: Age
43 type: date
44 - description: When 'True', the most recent reconcile of the resource succeeded
45 jsonPath: .status.conditions[?(@.type=='Ready')].status
46 name: Ready
47 type: string
48 - description: The reason for the value in 'Ready'
49 jsonPath: .status.conditions[?(@.type=='Ready')].reason
50 name: Status
51 type: string
52 - description: The last transition time for the value in 'Status'
53 jsonPath: .status.conditions[?(@.type=='Ready')].lastTransitionTime
54 name: Status Age
55 type: date
56 name: v1beta1
57 schema:
58 openAPIV3Schema:
59 properties:
60 apiVersion:
61 description: 'apiVersion defines the versioned schema of this representation
62 of an object. Servers should convert recognized schemas to the latest
63 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources'
64 type: string
65 kind:
66 description: 'kind is a string value representing the REST resource this
67 object represents. Servers may infer this from the endpoint the client
68 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
69 type: string
70 metadata:
71 type: object
72 spec:
73 properties:
74 description:
75 description: Immutable. A detailed description of the metric, which
76 can be used in documentation.
77 type: string
78 displayName:
79 description: Immutable. A concise name for the metric, which can be
80 displayed in user interfaces. Use sentence case without an ending
81 period, for example "Request count". This field is optional but
82 it is recommended to be set for any metrics associated with user-visible
83 concepts, such as Quota.
84 type: string
85 labels:
86 description: Immutable. The set of labels that can be used to describe
87 a specific instance of this metric type. For example, the `appengine.googleapis.com/http/server/response_latencies`
88 metric type has a label for the HTTP response code, `response_code`,
89 so you can look at latencies for successful responses or just for
90 responses that failed.
91 items:
92 properties:
93 description:
94 description: Immutable. A human-readable description for the
95 label.
96 type: string
97 key:
98 description: 'Immutable. The key for this label. The key must
99 meet the following criteria: * Does not exceed 100 characters.
100 * Matches the following regular expression: `a-zA-Z*` * The
101 first character must be an upper- or lower-case letter. *
102 The remaining characters must be letters, digits, or underscores.'
103 type: string
104 valueType:
105 description: 'Immutable. The type of data that can be assigned
106 to the label. Possible values: STRING, BOOL, INT64'
107 type: string
108 type: object
109 type: array
110 launchStage:
111 description: 'Immutable. Optional. The launch stage of the metric
112 definition. Possible values: LAUNCH_STAGE_UNSPECIFIED, UNIMPLEMENTED,
113 PRELAUNCH, EARLY_ACCESS, ALPHA, BETA, GA, DEPRECATED'
114 type: string
115 metadata:
116 description: Immutable. Optional. Metadata which can be used to guide
117 usage of the metric.
118 properties:
119 ingestDelay:
120 description: Immutable. The delay of data points caused by ingestion.
121 Data points older than this age are guaranteed to be ingested
122 and available to be read, excluding data loss due to errors.
123 type: string
124 launchStage:
125 description: 'Immutable. Deprecated. Must use the MetricDescriptor.launch_stage
126 instead. Possible values: LAUNCH_STAGE_UNSPECIFIED, UNIMPLEMENTED,
127 PRELAUNCH, EARLY_ACCESS, ALPHA, BETA, GA, DEPRECATED'
128 type: string
129 samplePeriod:
130 description: Immutable. The sampling period of metric data points.
131 For metrics which are written periodically, consecutive data
132 points are stored at this time interval, excluding data loss
133 due to errors. Metrics with a higher granularity have a smaller
134 sampling period.
135 type: string
136 type: object
137 metricKind:
138 description: 'Immutable. Whether the metric records instantaneous
139 values, changes to a value, etc. Some combinations of `metric_kind`
140 and `value_type` might not be supported. Possible values: METRIC_KIND_UNSPECIFIED,
141 GAUGE, DELTA, CUMULATIVE'
142 type: string
143 projectRef:
144 description: Immutable. The Project that this resource belongs to.
145 oneOf:
146 - not:
147 required:
148 - external
149 required:
150 - name
151 - not:
152 anyOf:
153 - required:
154 - name
155 - required:
156 - namespace
157 required:
158 - external
159 properties:
160 external:
161 description: |-
162 The project for the resource
163
164 Allowed value: The Google Cloud resource name of a `Project` resource (format: `projects/{{name}}`).
165 type: string
166 name:
167 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
168 type: string
169 namespace:
170 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
171 type: string
172 type: object
173 type:
174 description: 'Immutable. The metric type, including its DNS name prefix.
175 The type is not URL-encoded. All user-defined metric types have
176 the DNS name `custom.googleapis.com` or `external.googleapis.com`.
177 Metric types should use a natural hierarchical grouping. For example:
178 "custom.googleapis.com/invoice/paid/amount" "external.googleapis.com/prometheus/up"
179 "appengine.googleapis.com/http/server/response_latencies"'
180 type: string
181 unit:
182 description: 'Immutable. The units in which the metric value is reported.
183 It is only applicable if the `value_type` is `INT64`, `DOUBLE`,
184 or `DISTRIBUTION`. The `unit` defines the representation of the
185 stored metric values. Different systems might scale the values to
186 be more easily displayed (so a value of `0.02kBy` _might_ be displayed
187 as `20By`, and a value of `3523kBy` _might_ be displayed as `3.5MBy`).
188 However, if the `unit` is `kBy`, then the value of the metric is
189 always in thousands of bytes, no matter how it might be displayed.
190 If you want a custom metric to record the exact number of CPU-seconds
191 used by a job, you can create an `INT64 CUMULATIVE` metric whose
192 `unit` is `s{CPU}` (or equivalently `1s{CPU}` or just `s`). If the
193 job uses 12,005 CPU-seconds, then the value is written as `12005`.
194 Alternatively, if you want a custom metric to record data in a more
195 granular way, you can create a `DOUBLE CUMULATIVE` metric whose
196 `unit` is `ks{CPU}`, and then write the value `12.005` (which is
197 `12005/1000`), or use `Kis{CPU}` and write `11.723` (which is `12005/1024`).
198 The supported units are a subset of [The Unified Code for Units
199 of Measure](https://unitsofmeasure.org/ucum.html) standard: **Basic
200 units (UNIT)** * `bit` bit * `By` byte * `s` second * `min` minute
201 * `h` hour * `d` day * `1` dimensionless **Prefixes (PREFIX)** *
202 `k` kilo (10^3) * `M` mega (10^6) * `G` giga (10^9) * `T` tera (10^12)
203 * `P` peta (10^15) * `E` exa (10^18) * `Z` zetta (10^21) * `Y` yotta
204 (10^24) * `m` milli (10^-3) * `u` micro (10^-6) * `n` nano (10^-9)
205 * `p` pico (10^-12) * `f` femto (10^-15) * `a` atto (10^-18) * `z`
206 zepto (10^-21) * `y` yocto (10^-24) * `Ki` kibi (2^10) * `Mi` mebi
207 (2^20) * `Gi` gibi (2^30) * `Ti` tebi (2^40) * `Pi` pebi (2^50)
208 **Grammar** The grammar also includes these connectors: * `/` division
209 or ratio (as an infix operator). For examples, `kBy/{email}` or
210 `MiBy/10ms` (although you should almost never have `/s` in a metric
211 `unit`; rates should always be computed at query time from the underlying
212 cumulative or delta value). * `.` multiplication or composition
213 (as an infix operator). For examples, `GBy.d` or `k{watt}.h`. The
214 grammar for a unit is as follows: Expression = Component: { "."
215 Component } { "/" Component } ; Component = ( [ PREFIX ] UNIT |
216 "%" ) [ Annotation ] | Annotation | "1" ; Annotation = "{" NAME
217 "}" ; Notes: * `Annotation` is just a comment if it follows a `UNIT`.
218 If the annotation is used alone, then the unit is equivalent to
219 `1`. For examples, `{request}/s == 1/s`, `By{transmitted}/s == By/s`.
220 * `NAME` is a sequence of non-blank printable ASCII characters not
221 containing `{` or `}`. * `1` represents a unitary [dimensionless
222 unit](https://en.wikipedia.org/wiki/Dimensionless_quantity) of 1,
223 such as in `1/s`. It is typically used when none of the basic units
224 are appropriate. For example, "new users per day" can be represented
225 as `1/d` or `{new-users}/d` (and a metric value `5` would mean "5
226 new users). Alternatively, "thousands of page views per day" would
227 be represented as `1000/d` or `k1/d` or `k{page_views}/d` (and a
228 metric value of `5.3` would mean "5300 page views per day"). * `%`
229 represents dimensionless value of 1/100, and annotates values giving
230 a percentage (so the metric values are typically in the range of
231 0..100, and a metric value `3` means "3 percent"). * `10^2.%` indicates
232 a metric contains a ratio, typically in the range 0..1, that will
233 be multiplied by 100 and displayed as a percentage (so a metric
234 value `0.03` means "3 percent").'
235 type: string
236 valueType:
237 description: 'Immutable. Whether the measurement is an integer, a
238 floating-point number, etc. Some combinations of `metric_kind` and
239 `value_type` might not be supported. Possible values: STRING, BOOL,
240 INT64'
241 type: string
242 required:
243 - metricKind
244 - projectRef
245 - type
246 - valueType
247 type: object
248 status:
249 properties:
250 conditions:
251 description: Conditions represent the latest available observation
252 of the resource's current state.
253 items:
254 properties:
255 lastTransitionTime:
256 description: Last time the condition transitioned from one status
257 to another.
258 type: string
259 message:
260 description: Human-readable message indicating details about
261 last transition.
262 type: string
263 reason:
264 description: Unique, one-word, CamelCase reason for the condition's
265 last transition.
266 type: string
267 status:
268 description: Status is the status of the condition. Can be True,
269 False, Unknown.
270 type: string
271 type:
272 description: Type is the type of the condition.
273 type: string
274 type: object
275 type: array
276 monitoredResourceTypes:
277 description: Read-only. If present, then a time series, which is identified
278 partially by a metric type and a MonitoredResourceDescriptor, that
279 is associated with this metric type can only be associated with
280 one of the monitored resource types listed here.
281 items:
282 type: string
283 type: array
284 observedGeneration:
285 description: ObservedGeneration is the generation of the resource
286 that was most recently observed by the Config Connector controller.
287 If this is equal to metadata.generation, then that means that the
288 current reported status reflects the most recent desired state of
289 the resource.
290 type: integer
291 selfLink:
292 description: The resource name of the metric descriptor.
293 type: string
294 type: object
295 required:
296 - spec
297 type: object
298 served: true
299 storage: true
300 subresources:
301 status: {}
302status:
303 acceptedNames:
304 kind: ""
305 plural: ""
306 conditions: []
307 storedVersions: []
View as plain text