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/managed-by-kcc: "true"
23 cnrm.cloud.google.com/stability-level: stable
24 cnrm.cloud.google.com/system: "true"
25 cnrm.cloud.google.com/tf2crd: "true"
26 name: monitoringalertpolicies.monitoring.cnrm.cloud.google.com
27spec:
28 group: monitoring.cnrm.cloud.google.com
29 names:
30 categories:
31 - gcp
32 kind: MonitoringAlertPolicy
33 plural: monitoringalertpolicies
34 shortNames:
35 - gcpmonitoringalertpolicy
36 - gcpmonitoringalertpolicies
37 singular: monitoringalertpolicy
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 alertStrategy:
75 description: Control over how this alert policy's notification channels
76 are notified.
77 properties:
78 autoClose:
79 description: If an alert policy that was active has no data for
80 this long, any open incidents will close.
81 type: string
82 notificationChannelStrategy:
83 description: |-
84 Control over how the notification channels in 'notification_channels'
85 are notified when this alert fires, on a per-channel basis.
86 items:
87 properties:
88 notificationChannelNames:
89 description: |-
90 The notification channels that these settings apply to. Each of these
91 correspond to the name field in one of the NotificationChannel objects
92 referenced in the notification_channels field of this AlertPolicy. The format is
93 'projects/[PROJECT_ID_OR_NUMBER]/notificationChannels/[CHANNEL_ID]'.
94 items:
95 type: string
96 type: array
97 renotifyInterval:
98 description: The frequency at which to send reminder notifications
99 for open incidents.
100 type: string
101 type: object
102 type: array
103 notificationRateLimit:
104 description: |-
105 Required for alert policies with a LogMatch condition.
106 This limit is not implemented for alert policies that are not log-based.
107 properties:
108 period:
109 description: Not more than one notification per period.
110 type: string
111 type: object
112 type: object
113 combiner:
114 description: |-
115 How to combine the results of multiple conditions to
116 determine if an incident should be opened. Possible values: ["AND", "OR", "AND_WITH_MATCHING_RESOURCE"].
117 type: string
118 conditions:
119 description: |-
120 A list of conditions for the policy. The conditions are combined by
121 AND or OR according to the combiner field. If the combined conditions
122 evaluate to true, then an incident is created. A policy can have from
123 one to six conditions.
124 items:
125 properties:
126 conditionAbsent:
127 description: |-
128 A condition that checks that a time series
129 continues to receive new data points.
130 properties:
131 aggregations:
132 description: |-
133 Specifies the alignment of data points in
134 individual time series as well as how to
135 combine the retrieved time series together
136 (such as when aggregating multiple streams
137 on each resource to a single stream for each
138 resource or when aggregating streams across
139 all members of a group of resources).
140 Multiple aggregations are applied in the
141 order specified.
142 items:
143 properties:
144 alignmentPeriod:
145 description: |-
146 The alignment period for per-time
147 series alignment. If present,
148 alignmentPeriod must be at least
149 60 seconds. After per-time series
150 alignment, each time series will
151 contain data points only on the
152 period boundaries. If
153 perSeriesAligner is not specified
154 or equals ALIGN_NONE, then this
155 field is ignored. If
156 perSeriesAligner is specified and
157 does not equal ALIGN_NONE, then
158 this field must be defined;
159 otherwise an error is returned.
160 type: string
161 crossSeriesReducer:
162 description: |-
163 The approach to be used to combine
164 time series. Not all reducer
165 functions may be applied to all
166 time series, depending on the
167 metric type and the value type of
168 the original time series.
169 Reduction may change the metric
170 type of value type of the time
171 series.Time series data must be
172 aligned in order to perform cross-
173 time series reduction. If
174 crossSeriesReducer is specified,
175 then perSeriesAligner must be
176 specified and not equal ALIGN_NONE
177 and alignmentPeriod must be
178 specified; otherwise, an error is
179 returned. Possible values: ["REDUCE_NONE", "REDUCE_MEAN", "REDUCE_MIN", "REDUCE_MAX", "REDUCE_SUM", "REDUCE_STDDEV", "REDUCE_COUNT", "REDUCE_COUNT_TRUE", "REDUCE_COUNT_FALSE", "REDUCE_FRACTION_TRUE", "REDUCE_PERCENTILE_99", "REDUCE_PERCENTILE_95", "REDUCE_PERCENTILE_50", "REDUCE_PERCENTILE_05"].
180 type: string
181 groupByFields:
182 description: |-
183 The set of fields to preserve when
184 crossSeriesReducer is specified.
185 The groupByFields determine how
186 the time series are partitioned
187 into subsets prior to applying the
188 aggregation function. Each subset
189 contains time series that have the
190 same value for each of the
191 grouping fields. Each individual
192 time series is a member of exactly
193 one subset. The crossSeriesReducer
194 is applied to each subset of time
195 series. It is not possible to
196 reduce across different resource
197 types, so this field implicitly
198 contains resource.type. Fields not
199 specified in groupByFields are
200 aggregated away. If groupByFields
201 is not specified and all the time
202 series have the same resource
203 type, then the time series are
204 aggregated into a single output
205 time series. If crossSeriesReducer
206 is not defined, this field is
207 ignored.
208 items:
209 type: string
210 type: array
211 perSeriesAligner:
212 description: |-
213 The approach to be used to align
214 individual time series. Not all
215 alignment functions may be applied
216 to all time series, depending on
217 the metric type and value type of
218 the original time series.
219 Alignment may change the metric
220 type or the value type of the time
221 series.Time series data must be
222 aligned in order to perform cross-
223 time series reduction. If
224 crossSeriesReducer is specified,
225 then perSeriesAligner must be
226 specified and not equal ALIGN_NONE
227 and alignmentPeriod must be
228 specified; otherwise, an error is
229 returned. Possible values: ["ALIGN_NONE", "ALIGN_DELTA", "ALIGN_RATE", "ALIGN_INTERPOLATE", "ALIGN_NEXT_OLDER", "ALIGN_MIN", "ALIGN_MAX", "ALIGN_MEAN", "ALIGN_COUNT", "ALIGN_SUM", "ALIGN_STDDEV", "ALIGN_COUNT_TRUE", "ALIGN_COUNT_FALSE", "ALIGN_FRACTION_TRUE", "ALIGN_PERCENTILE_99", "ALIGN_PERCENTILE_95", "ALIGN_PERCENTILE_50", "ALIGN_PERCENTILE_05", "ALIGN_PERCENT_CHANGE"].
230 type: string
231 type: object
232 type: array
233 duration:
234 description: |-
235 The amount of time that a time series must
236 fail to report new data to be considered
237 failing. Currently, only values that are a
238 multiple of a minute--e.g. 60s, 120s, or 300s
239 --are supported.
240 type: string
241 filter:
242 description: |-
243 A filter that identifies which time series
244 should be compared with the threshold.The
245 filter is similar to the one that is
246 specified in the
247 MetricService.ListTimeSeries request (that
248 call is useful to verify the time series
249 that will be retrieved / processed) and must
250 specify the metric type and optionally may
251 contain restrictions on resource type,
252 resource labels, and metric labels. This
253 field may not exceed 2048 Unicode characters
254 in length.
255 type: string
256 trigger:
257 description: |-
258 The number/percent of time series for which
259 the comparison must hold in order for the
260 condition to trigger. If unspecified, then
261 the condition will trigger if the comparison
262 is true for any of the time series that have
263 been identified by filter and aggregations.
264 properties:
265 count:
266 description: |-
267 The absolute number of time series
268 that must fail the predicate for the
269 condition to be triggered.
270 type: integer
271 percent:
272 description: |-
273 The percentage of time series that
274 must fail the predicate for the
275 condition to be triggered.
276 type: number
277 type: object
278 required:
279 - duration
280 type: object
281 conditionMatchedLog:
282 description: |-
283 A condition that checks for log messages matching given constraints.
284 If set, no other conditions can be present.
285 properties:
286 filter:
287 description: A logs-based filter.
288 type: string
289 labelExtractors:
290 additionalProperties:
291 type: string
292 description: |-
293 A map from a label key to an extractor expression, which is used to
294 extract the value for this label key. Each entry in this map is
295 a specification for how data should be extracted from log entries that
296 match filter. Each combination of extracted values is treated as
297 a separate rule for the purposes of triggering notifications.
298 Label keys and corresponding values can be used in notifications
299 generated by this condition.
300 type: object
301 required:
302 - filter
303 type: object
304 conditionMonitoringQueryLanguage:
305 description: A Monitoring Query Language query that outputs
306 a boolean stream.
307 properties:
308 duration:
309 description: |-
310 The amount of time that a time series must
311 violate the threshold to be considered
312 failing. Currently, only values that are a
313 multiple of a minute--e.g., 0, 60, 120, or
314 300 seconds--are supported. If an invalid
315 value is given, an error will be returned.
316 When choosing a duration, it is useful to
317 keep in mind the frequency of the underlying
318 time series data (which may also be affected
319 by any alignments specified in the
320 aggregations field); a good duration is long
321 enough so that a single outlier does not
322 generate spurious alerts, but short enough
323 that unhealthy states are detected and
324 alerted on quickly.
325 type: string
326 evaluationMissingData:
327 description: |-
328 A condition control that determines how
329 metric-threshold conditions are evaluated when
330 data stops arriving. Possible values: ["EVALUATION_MISSING_DATA_INACTIVE", "EVALUATION_MISSING_DATA_ACTIVE", "EVALUATION_MISSING_DATA_NO_OP"].
331 type: string
332 query:
333 description: Monitoring Query Language query that outputs
334 a boolean stream.
335 type: string
336 trigger:
337 description: |-
338 The number/percent of time series for which
339 the comparison must hold in order for the
340 condition to trigger. If unspecified, then
341 the condition will trigger if the comparison
342 is true for any of the time series that have
343 been identified by filter and aggregations,
344 or by the ratio, if denominator_filter and
345 denominator_aggregations are specified.
346 properties:
347 count:
348 description: |-
349 The absolute number of time series
350 that must fail the predicate for the
351 condition to be triggered.
352 type: integer
353 percent:
354 description: |-
355 The percentage of time series that
356 must fail the predicate for the
357 condition to be triggered.
358 type: number
359 type: object
360 required:
361 - duration
362 - query
363 type: object
364 conditionThreshold:
365 description: |-
366 A condition that compares a time series against a
367 threshold.
368 properties:
369 aggregations:
370 description: |-
371 Specifies the alignment of data points in
372 individual time series as well as how to
373 combine the retrieved time series together
374 (such as when aggregating multiple streams
375 on each resource to a single stream for each
376 resource or when aggregating streams across
377 all members of a group of resources).
378 Multiple aggregations are applied in the
379 order specified.This field is similar to the
380 one in the MetricService.ListTimeSeries
381 request. It is advisable to use the
382 ListTimeSeries method when debugging this
383 field.
384 items:
385 properties:
386 alignmentPeriod:
387 description: |-
388 The alignment period for per-time
389 series alignment. If present,
390 alignmentPeriod must be at least
391 60 seconds. After per-time series
392 alignment, each time series will
393 contain data points only on the
394 period boundaries. If
395 perSeriesAligner is not specified
396 or equals ALIGN_NONE, then this
397 field is ignored. If
398 perSeriesAligner is specified and
399 does not equal ALIGN_NONE, then
400 this field must be defined;
401 otherwise an error is returned.
402 type: string
403 crossSeriesReducer:
404 description: |-
405 The approach to be used to combine
406 time series. Not all reducer
407 functions may be applied to all
408 time series, depending on the
409 metric type and the value type of
410 the original time series.
411 Reduction may change the metric
412 type of value type of the time
413 series.Time series data must be
414 aligned in order to perform cross-
415 time series reduction. If
416 crossSeriesReducer is specified,
417 then perSeriesAligner must be
418 specified and not equal ALIGN_NONE
419 and alignmentPeriod must be
420 specified; otherwise, an error is
421 returned. Possible values: ["REDUCE_NONE", "REDUCE_MEAN", "REDUCE_MIN", "REDUCE_MAX", "REDUCE_SUM", "REDUCE_STDDEV", "REDUCE_COUNT", "REDUCE_COUNT_TRUE", "REDUCE_COUNT_FALSE", "REDUCE_FRACTION_TRUE", "REDUCE_PERCENTILE_99", "REDUCE_PERCENTILE_95", "REDUCE_PERCENTILE_50", "REDUCE_PERCENTILE_05"].
422 type: string
423 groupByFields:
424 description: |-
425 The set of fields to preserve when
426 crossSeriesReducer is specified.
427 The groupByFields determine how
428 the time series are partitioned
429 into subsets prior to applying the
430 aggregation function. Each subset
431 contains time series that have the
432 same value for each of the
433 grouping fields. Each individual
434 time series is a member of exactly
435 one subset. The crossSeriesReducer
436 is applied to each subset of time
437 series. It is not possible to
438 reduce across different resource
439 types, so this field implicitly
440 contains resource.type. Fields not
441 specified in groupByFields are
442 aggregated away. If groupByFields
443 is not specified and all the time
444 series have the same resource
445 type, then the time series are
446 aggregated into a single output
447 time series. If crossSeriesReducer
448 is not defined, this field is
449 ignored.
450 items:
451 type: string
452 type: array
453 perSeriesAligner:
454 description: |-
455 The approach to be used to align
456 individual time series. Not all
457 alignment functions may be applied
458 to all time series, depending on
459 the metric type and value type of
460 the original time series.
461 Alignment may change the metric
462 type or the value type of the time
463 series.Time series data must be
464 aligned in order to perform cross-
465 time series reduction. If
466 crossSeriesReducer is specified,
467 then perSeriesAligner must be
468 specified and not equal ALIGN_NONE
469 and alignmentPeriod must be
470 specified; otherwise, an error is
471 returned. Possible values: ["ALIGN_NONE", "ALIGN_DELTA", "ALIGN_RATE", "ALIGN_INTERPOLATE", "ALIGN_NEXT_OLDER", "ALIGN_MIN", "ALIGN_MAX", "ALIGN_MEAN", "ALIGN_COUNT", "ALIGN_SUM", "ALIGN_STDDEV", "ALIGN_COUNT_TRUE", "ALIGN_COUNT_FALSE", "ALIGN_FRACTION_TRUE", "ALIGN_PERCENTILE_99", "ALIGN_PERCENTILE_95", "ALIGN_PERCENTILE_50", "ALIGN_PERCENTILE_05", "ALIGN_PERCENT_CHANGE"].
472 type: string
473 type: object
474 type: array
475 comparison:
476 description: |-
477 The comparison to apply between the time
478 series (indicated by filter and aggregation)
479 and the threshold (indicated by
480 threshold_value). The comparison is applied
481 on each time series, with the time series on
482 the left-hand side and the threshold on the
483 right-hand side. Only COMPARISON_LT and
484 COMPARISON_GT are supported currently. Possible values: ["COMPARISON_GT", "COMPARISON_GE", "COMPARISON_LT", "COMPARISON_LE", "COMPARISON_EQ", "COMPARISON_NE"].
485 type: string
486 denominatorAggregations:
487 description: |-
488 Specifies the alignment of data points in
489 individual time series selected by
490 denominatorFilter as well as how to combine
491 the retrieved time series together (such as
492 when aggregating multiple streams on each
493 resource to a single stream for each
494 resource or when aggregating streams across
495 all members of a group of resources).When
496 computing ratios, the aggregations and
497 denominator_aggregations fields must use the
498 same alignment period and produce time
499 series that have the same periodicity and
500 labels.This field is similar to the one in
501 the MetricService.ListTimeSeries request. It
502 is advisable to use the ListTimeSeries
503 method when debugging this field.
504 items:
505 properties:
506 alignmentPeriod:
507 description: |-
508 The alignment period for per-time
509 series alignment. If present,
510 alignmentPeriod must be at least
511 60 seconds. After per-time series
512 alignment, each time series will
513 contain data points only on the
514 period boundaries. If
515 perSeriesAligner is not specified
516 or equals ALIGN_NONE, then this
517 field is ignored. If
518 perSeriesAligner is specified and
519 does not equal ALIGN_NONE, then
520 this field must be defined;
521 otherwise an error is returned.
522 type: string
523 crossSeriesReducer:
524 description: |-
525 The approach to be used to combine
526 time series. Not all reducer
527 functions may be applied to all
528 time series, depending on the
529 metric type and the value type of
530 the original time series.
531 Reduction may change the metric
532 type of value type of the time
533 series.Time series data must be
534 aligned in order to perform cross-
535 time series reduction. If
536 crossSeriesReducer is specified,
537 then perSeriesAligner must be
538 specified and not equal ALIGN_NONE
539 and alignmentPeriod must be
540 specified; otherwise, an error is
541 returned. Possible values: ["REDUCE_NONE", "REDUCE_MEAN", "REDUCE_MIN", "REDUCE_MAX", "REDUCE_SUM", "REDUCE_STDDEV", "REDUCE_COUNT", "REDUCE_COUNT_TRUE", "REDUCE_COUNT_FALSE", "REDUCE_FRACTION_TRUE", "REDUCE_PERCENTILE_99", "REDUCE_PERCENTILE_95", "REDUCE_PERCENTILE_50", "REDUCE_PERCENTILE_05"].
542 type: string
543 groupByFields:
544 description: |-
545 The set of fields to preserve when
546 crossSeriesReducer is specified.
547 The groupByFields determine how
548 the time series are partitioned
549 into subsets prior to applying the
550 aggregation function. Each subset
551 contains time series that have the
552 same value for each of the
553 grouping fields. Each individual
554 time series is a member of exactly
555 one subset. The crossSeriesReducer
556 is applied to each subset of time
557 series. It is not possible to
558 reduce across different resource
559 types, so this field implicitly
560 contains resource.type. Fields not
561 specified in groupByFields are
562 aggregated away. If groupByFields
563 is not specified and all the time
564 series have the same resource
565 type, then the time series are
566 aggregated into a single output
567 time series. If crossSeriesReducer
568 is not defined, this field is
569 ignored.
570 items:
571 type: string
572 type: array
573 perSeriesAligner:
574 description: |-
575 The approach to be used to align
576 individual time series. Not all
577 alignment functions may be applied
578 to all time series, depending on
579 the metric type and value type of
580 the original time series.
581 Alignment may change the metric
582 type or the value type of the time
583 series.Time series data must be
584 aligned in order to perform cross-
585 time series reduction. If
586 crossSeriesReducer is specified,
587 then perSeriesAligner must be
588 specified and not equal ALIGN_NONE
589 and alignmentPeriod must be
590 specified; otherwise, an error is
591 returned. Possible values: ["ALIGN_NONE", "ALIGN_DELTA", "ALIGN_RATE", "ALIGN_INTERPOLATE", "ALIGN_NEXT_OLDER", "ALIGN_MIN", "ALIGN_MAX", "ALIGN_MEAN", "ALIGN_COUNT", "ALIGN_SUM", "ALIGN_STDDEV", "ALIGN_COUNT_TRUE", "ALIGN_COUNT_FALSE", "ALIGN_FRACTION_TRUE", "ALIGN_PERCENTILE_99", "ALIGN_PERCENTILE_95", "ALIGN_PERCENTILE_50", "ALIGN_PERCENTILE_05", "ALIGN_PERCENT_CHANGE"].
592 type: string
593 type: object
594 type: array
595 denominatorFilter:
596 description: |-
597 A filter that identifies a time series that
598 should be used as the denominator of a ratio
599 that will be compared with the threshold. If
600 a denominator_filter is specified, the time
601 series specified by the filter field will be
602 used as the numerator.The filter is similar
603 to the one that is specified in the
604 MetricService.ListTimeSeries request (that
605 call is useful to verify the time series
606 that will be retrieved / processed) and must
607 specify the metric type and optionally may
608 contain restrictions on resource type,
609 resource labels, and metric labels. This
610 field may not exceed 2048 Unicode characters
611 in length.
612 type: string
613 duration:
614 description: |-
615 The amount of time that a time series must
616 violate the threshold to be considered
617 failing. Currently, only values that are a
618 multiple of a minute--e.g., 0, 60, 120, or
619 300 seconds--are supported. If an invalid
620 value is given, an error will be returned.
621 When choosing a duration, it is useful to
622 keep in mind the frequency of the underlying
623 time series data (which may also be affected
624 by any alignments specified in the
625 aggregations field); a good duration is long
626 enough so that a single outlier does not
627 generate spurious alerts, but short enough
628 that unhealthy states are detected and
629 alerted on quickly.
630 type: string
631 evaluationMissingData:
632 description: |-
633 A condition control that determines how
634 metric-threshold conditions are evaluated when
635 data stops arriving. Possible values: ["EVALUATION_MISSING_DATA_INACTIVE", "EVALUATION_MISSING_DATA_ACTIVE", "EVALUATION_MISSING_DATA_NO_OP"].
636 type: string
637 filter:
638 description: |-
639 A filter that identifies which time series
640 should be compared with the threshold.The
641 filter is similar to the one that is
642 specified in the
643 MetricService.ListTimeSeries request (that
644 call is useful to verify the time series
645 that will be retrieved / processed) and must
646 specify the metric type and optionally may
647 contain restrictions on resource type,
648 resource labels, and metric labels. This
649 field may not exceed 2048 Unicode characters
650 in length.
651 type: string
652 forecastOptions:
653 description: |-
654 When this field is present, the 'MetricThreshold'
655 condition forecasts whether the time series is
656 predicted to violate the threshold within the
657 'forecastHorizon'. When this field is not set, the
658 'MetricThreshold' tests the current value of the
659 timeseries against the threshold.
660 properties:
661 forecastHorizon:
662 description: |-
663 The length of time into the future to forecast
664 whether a timeseries will violate the threshold.
665 If the predicted value is found to violate the
666 threshold, and the violation is observed in all
667 forecasts made for the Configured 'duration',
668 then the timeseries is considered to be failing.
669 type: string
670 required:
671 - forecastHorizon
672 type: object
673 thresholdValue:
674 description: |-
675 A value against which to compare the time
676 series.
677 type: number
678 trigger:
679 description: |-
680 The number/percent of time series for which
681 the comparison must hold in order for the
682 condition to trigger. If unspecified, then
683 the condition will trigger if the comparison
684 is true for any of the time series that have
685 been identified by filter and aggregations,
686 or by the ratio, if denominator_filter and
687 denominator_aggregations are specified.
688 properties:
689 count:
690 description: |-
691 The absolute number of time series
692 that must fail the predicate for the
693 condition to be triggered.
694 type: integer
695 percent:
696 description: |-
697 The percentage of time series that
698 must fail the predicate for the
699 condition to be triggered.
700 type: number
701 type: object
702 required:
703 - comparison
704 - duration
705 type: object
706 displayName:
707 description: |-
708 A short name or phrase used to identify the
709 condition in dashboards, notifications, and
710 incidents. To avoid confusion, don't use the same
711 display name for multiple conditions in the same
712 policy.
713 type: string
714 name:
715 description: |-
716 The unique resource name for this condition.
717 Its syntax is:
718 projects/[PROJECT_ID]/alertPolicies/[POLICY_ID]/conditions/[CONDITION_ID]
719 [CONDITION_ID] is assigned by Stackdriver Monitoring when
720 the condition is created as part of a new or updated alerting
721 policy.
722 type: string
723 required:
724 - displayName
725 type: object
726 type: array
727 displayName:
728 description: |-
729 A short name or phrase used to identify the policy in
730 dashboards, notifications, and incidents. To avoid confusion, don't use
731 the same display name for multiple policies in the same project. The
732 name is limited to 512 Unicode characters.
733 type: string
734 documentation:
735 description: |-
736 Documentation that is included with notifications and incidents related
737 to this policy. Best practice is for the documentation to include information
738 to help responders understand, mitigate, escalate, and correct the underlying
739 problems detected by the alerting policy. Notification channels that have
740 limited capacity might not show this documentation.
741 properties:
742 content:
743 description: |-
744 The text of the documentation, interpreted according to mimeType.
745 The content may not exceed 8,192 Unicode characters and may not
746 exceed more than 10,240 bytes when encoded in UTF-8 format,
747 whichever is smaller.
748 type: string
749 mimeType:
750 description: |-
751 The format of the content field. Presently, only the value
752 "text/markdown" is supported.
753 type: string
754 type: object
755 enabled:
756 description: Whether or not the policy is enabled. The default is
757 true.
758 type: boolean
759 notificationChannels:
760 items:
761 description: Identifies the notification channels to which notifications
762 should be sent when incidents are opened or closed or when new
763 violations occur on an already opened incident.
764 oneOf:
765 - not:
766 required:
767 - external
768 required:
769 - name
770 - not:
771 anyOf:
772 - required:
773 - name
774 - required:
775 - namespace
776 required:
777 - external
778 properties:
779 external:
780 description: 'Allowed value: The `name` field of a `MonitoringNotificationChannel`
781 resource.'
782 type: string
783 name:
784 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
785 type: string
786 namespace:
787 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
788 type: string
789 type: object
790 type: array
791 resourceID:
792 description: Immutable. Optional. The service-generated name of the
793 resource. Used for acquisition only. Leave unset to create a new
794 resource.
795 type: string
796 required:
797 - combiner
798 - conditions
799 - displayName
800 type: object
801 status:
802 properties:
803 conditions:
804 description: Conditions represent the latest available observation
805 of the resource's current state.
806 items:
807 properties:
808 lastTransitionTime:
809 description: Last time the condition transitioned from one status
810 to another.
811 type: string
812 message:
813 description: Human-readable message indicating details about
814 last transition.
815 type: string
816 reason:
817 description: Unique, one-word, CamelCase reason for the condition's
818 last transition.
819 type: string
820 status:
821 description: Status is the status of the condition. Can be True,
822 False, Unknown.
823 type: string
824 type:
825 description: Type is the type of the condition.
826 type: string
827 type: object
828 type: array
829 creationRecord:
830 description: |-
831 A read-only record of the creation of the alerting policy.
832 If provided in a call to create or update, this field will
833 be ignored.
834 items:
835 properties:
836 mutateTime:
837 description: When the change occurred.
838 type: string
839 mutatedBy:
840 description: The email address of the user making the change.
841 type: string
842 type: object
843 type: array
844 name:
845 description: |-
846 The unique resource name for this policy.
847 Its syntax is: projects/[PROJECT_ID]/alertPolicies/[ALERT_POLICY_ID].
848 type: string
849 observedGeneration:
850 description: ObservedGeneration is the generation of the resource
851 that was most recently observed by the Config Connector controller.
852 If this is equal to metadata.generation, then that means that the
853 current reported status reflects the most recent desired state of
854 the resource.
855 type: integer
856 type: object
857 required:
858 - spec
859 type: object
860 served: true
861 storage: true
862 subresources:
863 status: {}
864status:
865 acceptedNames:
866 kind: ""
867 plural: ""
868 conditions: []
869 storedVersions: []
View as plain text