...
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: monitoringnotificationchannels.monitoring.cnrm.cloud.google.com
27spec:
28 group: monitoring.cnrm.cloud.google.com
29 names:
30 categories:
31 - gcp
32 kind: MonitoringNotificationChannel
33 plural: monitoringnotificationchannels
34 shortNames:
35 - gcpmonitoringnotificationchannel
36 - gcpmonitoringnotificationchannels
37 singular: monitoringnotificationchannel
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: An optional human-readable description of this notification
76 channel. This description may provide additional details, beyond
77 the display name, for the channel. This may not exceed 1024 Unicode
78 characters.
79 type: string
80 enabled:
81 description: Whether notifications are forwarded to the described
82 channel. This makes it possible to disable delivery of notifications
83 to a particular channel without removing the channel from all alerting
84 policies that reference the channel. This is a more convenient approach
85 when the change is temporary and you want to receive notifications
86 from the same set of alerting policies on the channel at some point
87 in the future.
88 type: boolean
89 forceDelete:
90 description: |-
91 If true, the notification channel will be deleted regardless
92 of its use in alert policies (the policies will be updated
93 to remove the channel). If false, channels that are still
94 referenced by an existing alerting policy will fail to be
95 deleted in a delete operation.
96 type: boolean
97 labels:
98 additionalProperties:
99 type: string
100 type: object
101 resourceID:
102 description: Immutable. Optional. The service-generated name of the
103 resource. Used for acquisition only. Leave unset to create a new
104 resource.
105 type: string
106 sensitiveLabels:
107 description: |-
108 Different notification type behaviors are configured primarily using the the 'labels' field on this
109 resource. This block contains the labels which contain secrets or passwords so that they can be marked
110 sensitive and hidden from plan output. The name of the field, eg: password, will be the key
111 in the 'labels' map in the api request.
112
113 Credentials may not be specified in both locations and will cause an error. Changing from one location
114 to a different credential configuration in the config will require an apply to update state.
115 properties:
116 authToken:
117 description: 'An authorization token for a notification channel.
118 Channel types that support this field include: slack.'
119 oneOf:
120 - not:
121 required:
122 - valueFrom
123 required:
124 - value
125 - not:
126 required:
127 - value
128 required:
129 - valueFrom
130 properties:
131 value:
132 description: Value of the field. Cannot be used if 'valueFrom'
133 is specified.
134 type: string
135 valueFrom:
136 description: Source for the field's value. Cannot be used
137 if 'value' is specified.
138 properties:
139 secretKeyRef:
140 description: Reference to a value with the given key in
141 the given Secret in the resource's namespace.
142 properties:
143 key:
144 description: Key that identifies the value to be extracted.
145 type: string
146 name:
147 description: Name of the Secret to extract a value
148 from.
149 type: string
150 required:
151 - name
152 - key
153 type: object
154 type: object
155 type: object
156 password:
157 description: 'An password for a notification channel. Channel
158 types that support this field include: webhook_basicauth.'
159 oneOf:
160 - not:
161 required:
162 - valueFrom
163 required:
164 - value
165 - not:
166 required:
167 - value
168 required:
169 - valueFrom
170 properties:
171 value:
172 description: Value of the field. Cannot be used if 'valueFrom'
173 is specified.
174 type: string
175 valueFrom:
176 description: Source for the field's value. Cannot be used
177 if 'value' is specified.
178 properties:
179 secretKeyRef:
180 description: Reference to a value with the given key in
181 the given Secret in the resource's namespace.
182 properties:
183 key:
184 description: Key that identifies the value to be extracted.
185 type: string
186 name:
187 description: Name of the Secret to extract a value
188 from.
189 type: string
190 required:
191 - name
192 - key
193 type: object
194 type: object
195 type: object
196 serviceKey:
197 description: 'An servicekey token for a notification channel.
198 Channel types that support this field include: pagerduty.'
199 oneOf:
200 - not:
201 required:
202 - valueFrom
203 required:
204 - value
205 - not:
206 required:
207 - value
208 required:
209 - valueFrom
210 properties:
211 value:
212 description: Value of the field. Cannot be used if 'valueFrom'
213 is specified.
214 type: string
215 valueFrom:
216 description: Source for the field's value. Cannot be used
217 if 'value' is specified.
218 properties:
219 secretKeyRef:
220 description: Reference to a value with the given key in
221 the given Secret in the resource's namespace.
222 properties:
223 key:
224 description: Key that identifies the value to be extracted.
225 type: string
226 name:
227 description: Name of the Secret to extract a value
228 from.
229 type: string
230 required:
231 - name
232 - key
233 type: object
234 type: object
235 type: object
236 type: object
237 type:
238 description: The type of the notification channel. This field matches
239 the value of the NotificationChannelDescriptor.type field. See https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.notificationChannelDescriptors/list
240 to get the list of valid values such as "email", "slack", etc...
241 type: string
242 required:
243 - type
244 type: object
245 status:
246 properties:
247 conditions:
248 description: Conditions represent the latest available observation
249 of the resource's current state.
250 items:
251 properties:
252 lastTransitionTime:
253 description: Last time the condition transitioned from one status
254 to another.
255 type: string
256 message:
257 description: Human-readable message indicating details about
258 last transition.
259 type: string
260 reason:
261 description: Unique, one-word, CamelCase reason for the condition's
262 last transition.
263 type: string
264 status:
265 description: Status is the status of the condition. Can be True,
266 False, Unknown.
267 type: string
268 type:
269 description: Type is the type of the condition.
270 type: string
271 type: object
272 type: array
273 name:
274 description: |-
275 The full REST resource name for this channel. The syntax is:
276 projects/[PROJECT_ID]/notificationChannels/[CHANNEL_ID]
277 The [CHANNEL_ID] is automatically assigned by the server on creation.
278 type: string
279 observedGeneration:
280 description: ObservedGeneration is the generation of the resource
281 that was most recently observed by the Config Connector controller.
282 If this is equal to metadata.generation, then that means that the
283 current reported status reflects the most recent desired state of
284 the resource.
285 type: integer
286 verificationStatus:
287 description: Indicates whether this channel has been verified or not.
288 On a ListNotificationChannels or GetNotificationChannel operation,
289 this field is expected to be populated.If the value is UNVERIFIED,
290 then it indicates that the channel is non-functioning (it both requires
291 verification and lacks verification); otherwise, it is assumed that
292 the channel works.If the channel is neither VERIFIED nor UNVERIFIED,
293 it implies that the channel is of a type that does not require verification
294 or that this specific channel has been exempted from verification
295 because it was created prior to verification being required for
296 channels of this type.This field cannot be modified using a standard
297 UpdateNotificationChannel operation. To change the value of this
298 field, you must call VerifyNotificationChannel.
299 type: string
300 type: object
301 required:
302 - spec
303 type: object
304 served: true
305 storage: true
306 subresources:
307 status: {}
308status:
309 acceptedNames:
310 kind: ""
311 plural: ""
312 conditions: []
313 storedVersions: []
View as plain text