...
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: monitoringuptimecheckconfigs.monitoring.cnrm.cloud.google.com
27spec:
28 group: monitoring.cnrm.cloud.google.com
29 names:
30 categories:
31 - gcp
32 kind: MonitoringUptimeCheckConfig
33 plural: monitoringuptimecheckconfigs
34 shortNames:
35 - gcpmonitoringuptimecheckconfig
36 - gcpmonitoringuptimecheckconfigs
37 singular: monitoringuptimecheckconfig
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 contentMatchers:
75 description: The content that is expected to appear in the data returned
76 by the target server against which the check is run. Currently,
77 only the first entry in the `content_matchers` list is supported,
78 and additional entries will be ignored. This field is optional and
79 should only be specified if a content match is required as part
80 of the/ Uptime check.
81 items:
82 properties:
83 content:
84 type: string
85 matcher:
86 description: ' Possible values: CONTENT_MATCHER_OPTION_UNSPECIFIED,
87 CONTAINS_STRING, NOT_CONTAINS_STRING, MATCHES_REGEX, NOT_MATCHES_REGEX'
88 type: string
89 required:
90 - content
91 type: object
92 type: array
93 displayName:
94 description: A human-friendly name for the Uptime check configuration.
95 The display name should be unique within a Stackdriver Workspace
96 in order to make it easier to identify; however, uniqueness is not
97 enforced. Required.
98 type: string
99 httpCheck:
100 description: Contains information needed to make an HTTP or HTTPS
101 check.
102 properties:
103 authInfo:
104 description: The authentication information. Optional when creating
105 an HTTP check; defaults to empty.
106 properties:
107 password:
108 oneOf:
109 - not:
110 required:
111 - valueFrom
112 required:
113 - value
114 - not:
115 required:
116 - value
117 required:
118 - valueFrom
119 properties:
120 value:
121 description: Value of the field. Cannot be used if 'valueFrom'
122 is specified.
123 type: string
124 valueFrom:
125 description: Source for the field's value. Cannot be used
126 if 'value' is specified.
127 properties:
128 secretKeyRef:
129 description: Reference to a value with the given key
130 in the given Secret in the resource's namespace.
131 properties:
132 key:
133 description: Key that identifies the value to
134 be extracted.
135 type: string
136 name:
137 description: Name of the Secret to extract a value
138 from.
139 type: string
140 required:
141 - name
142 - key
143 type: object
144 type: object
145 type: object
146 username:
147 type: string
148 required:
149 - password
150 - username
151 type: object
152 body:
153 description: 'The request body associated with the HTTP POST request.
154 If `content_type` is `URL_ENCODED`, the body passed in must
155 be URL-encoded. Users can provide a `Content-Length` header
156 via the `headers` field or the API will do so. If the `request_method`
157 is `GET` and `body` is not empty, the API will return an error.
158 The maximum byte size is 1 megabyte. Note: As with all `bytes`
159 fields JSON representations are base64 encoded. e.g.: "foo=bar"
160 in URL-encoded form is "foo%3Dbar" and in base64 encoding is
161 "Zm9vJTI1M0RiYXI=".'
162 type: string
163 contentType:
164 description: 'Immutable. The content type to use for the check. Possible
165 values: TYPE_UNSPECIFIED, URL_ENCODED'
166 type: string
167 headers:
168 additionalProperties:
169 type: string
170 description: The list of headers to send as part of the Uptime
171 check request. If two headers have the same key and different
172 values, they should be entered as a single header, with the
173 value being a comma-separated list of all the desired values
174 as described at https://www.w3.org/Protocols/rfc2616/rfc2616.txt
175 (page 31). Entering two separate headers with the same key in
176 a Create call will cause the first to be overwritten by the
177 second. The maximum number of headers allowed is 100.
178 type: object
179 maskHeaders:
180 description: Immutable. Boolean specifying whether to encrypt
181 the header information. Encryption should be specified for any
182 headers related to authentication that you do not wish to be
183 seen when retrieving the configuration. The server will be responsible
184 for encrypting the headers. On Get/List calls, if `mask_headers`
185 is set to `true` then the headers will be obscured with `******.`
186 type: boolean
187 path:
188 description: Optional (defaults to "/"). The path to the page
189 against which to run the check. Will be combined with the `host`
190 (specified within the `monitored_resource`) and `port` to construct
191 the full URL. If the provided path does not begin with "/",
192 a "/" will be prepended automatically.
193 type: string
194 port:
195 description: Optional (defaults to 80 when `use_ssl` is `false`,
196 and 443 when `use_ssl` is `true`). The TCP port on the HTTP
197 server against which to run the check. Will be combined with
198 host (specified within the `monitored_resource`) and `path`
199 to construct the full URL.
200 format: int64
201 type: integer
202 requestMethod:
203 description: Immutable. The HTTP request method to use for the
204 check. If set to `METHOD_UNSPECIFIED` then `request_method`
205 defaults to `GET`.
206 type: string
207 useSsl:
208 description: If `true`, use HTTPS instead of HTTP to run the check.
209 type: boolean
210 validateSsl:
211 description: Boolean specifying whether to include SSL certificate
212 validation as a part of the Uptime check. Only applies to checks
213 where `monitored_resource` is set to `uptime_url`. If `use_ssl`
214 is `false`, setting `validate_ssl` to `true` has no effect.
215 type: boolean
216 type: object
217 monitoredResource:
218 description: 'Immutable. The [monitored resource](https://cloud.google.com/monitoring/api/resources)
219 associated with the configuration. The following monitored resource
220 types are supported for Uptime checks: `uptime_url`, `gce_instance`, `gae_app`, `aws_ec2_instance`, `aws_elb_load_balancer`'
221 properties:
222 filterLabels:
223 additionalProperties:
224 type: string
225 description: Immutable.
226 type: object
227 type:
228 description: Immutable.
229 type: string
230 required:
231 - filterLabels
232 - type
233 type: object
234 period:
235 description: How often, in seconds, the Uptime check is performed.
236 Currently, the only supported values are `60s` (1 minute), `300s`
237 (5 minutes), `600s` (10 minutes), and `900s` (15 minutes). Optional,
238 defaults to `60s`.
239 type: string
240 projectRef:
241 description: Immutable. The Project that this resource belongs to.
242 oneOf:
243 - not:
244 required:
245 - external
246 required:
247 - name
248 - not:
249 anyOf:
250 - required:
251 - name
252 - required:
253 - namespace
254 required:
255 - external
256 properties:
257 external:
258 description: |-
259 The project for this uptime check config.
260
261 Allowed value: The Google Cloud resource name of a `Project` resource (format: `projects/{{name}}`).
262 type: string
263 name:
264 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
265 type: string
266 namespace:
267 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
268 type: string
269 type: object
270 resourceGroup:
271 description: Immutable. The group resource associated with the configuration.
272 properties:
273 groupRef:
274 description: Immutable.
275 oneOf:
276 - not:
277 required:
278 - external
279 required:
280 - name
281 - not:
282 anyOf:
283 - required:
284 - name
285 - required:
286 - namespace
287 required:
288 - external
289 properties:
290 external:
291 description: |-
292 The group of resources being monitored. Should be only the `[GROUP_ID]`, and not the full-path `projects/[PROJECT_ID_OR_NUMBER]/groups/[GROUP_ID]`.
293
294 Allowed value: The Google Cloud resource name of a `MonitoringGroup` resource (format: `projects/{{project}}/groups/{{name}}`).
295 type: string
296 name:
297 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
298 type: string
299 namespace:
300 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
301 type: string
302 type: object
303 resourceType:
304 description: 'Immutable. The resource type of the group members.
305 Possible values: RESOURCE_TYPE_UNSPECIFIED, INSTANCE, AWS_ELB_LOAD_BALANCER'
306 type: string
307 type: object
308 resourceID:
309 description: Immutable. Optional. The service-generated name of the
310 resource. Used for acquisition only. Leave unset to create a new
311 resource.
312 type: string
313 selectedRegions:
314 description: The list of regions from which the check will be run.
315 Some regions contain one location, and others contain more than
316 one. If this field is specified, enough regions must be provided
317 to include a minimum of 3 locations. Not specifying this field
318 will result in Uptime checks running from all available regions.
319 items:
320 type: string
321 type: array
322 tcpCheck:
323 description: Contains information needed to make a TCP check.
324 properties:
325 port:
326 description: The TCP port on the server against which to run the
327 check. Will be combined with host (specified within the `monitored_resource`)
328 to construct the full URL. Required.
329 format: int64
330 type: integer
331 required:
332 - port
333 type: object
334 timeout:
335 description: The maximum amount of time to wait for the request to
336 complete (must be between 1 and 60 seconds). Required.
337 type: string
338 required:
339 - displayName
340 - projectRef
341 - timeout
342 type: object
343 status:
344 properties:
345 conditions:
346 description: Conditions represent the latest available observation
347 of the resource's current state.
348 items:
349 properties:
350 lastTransitionTime:
351 description: Last time the condition transitioned from one status
352 to another.
353 type: string
354 message:
355 description: Human-readable message indicating details about
356 last transition.
357 type: string
358 reason:
359 description: Unique, one-word, CamelCase reason for the condition's
360 last transition.
361 type: string
362 status:
363 description: Status is the status of the condition. Can be True,
364 False, Unknown.
365 type: string
366 type:
367 description: Type is the type of the condition.
368 type: string
369 type: object
370 type: array
371 observedGeneration:
372 description: ObservedGeneration is the generation of the resource
373 that was most recently observed by the Config Connector controller.
374 If this is equal to metadata.generation, then that means that the
375 current reported status reflects the most recent desired state of
376 the resource.
377 type: integer
378 type: object
379 required:
380 - spec
381 type: object
382 served: true
383 storage: true
384 subresources:
385 status: {}
386status:
387 acceptedNames:
388 kind: ""
389 plural: ""
390 conditions: []
391 storedVersions: []
View as plain text