...
1# Copyright 2022 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: core.cnrm.cloud.google.com/v1alpha1
16kind: ServiceMapping
17metadata:
18 name: monitoring.cnrm.cloud.google.com
19 namespace: cnrm-system
20spec:
21 name: Monitoring
22 version: v1beta1
23 serviceHostName: "monitoring.googleapis.com"
24 resources:
25 - name: google_monitoring_alert_policy
26 kind: MonitoringAlertPolicy
27 serverGeneratedIDField: name
28 resourceID:
29 targetField: name
30 valueTemplate: "projects/{{project}}/alertPolicies/{{value}}"
31 idTemplate: "{{project}} {{name}}"
32 # TF provider import for Monitoring resources is strangely configured, matching import ID too broad
33 idTemplateCanBeUsedToMatchResourceName: false
34 resourceAvailableInAssetInventory: true
35 metadataMapping:
36 labels: user_labels
37 resourceReferences:
38 - tfField: notification_channels
39 description: |-
40 Identifies the notification channels to which notifications should be sent when incidents are opened or closed or when new violations occur on an already opened incident.
41 gvk:
42 kind: MonitoringNotificationChannel
43 version: v1beta1
44 group: monitoring.cnrm.cloud.google.com
45 targetField: name
46 containers:
47 - type: project
48 tfField: project
49 - name: google_monitoring_notification_channel
50 kind: MonitoringNotificationChannel
51 serverGeneratedIDField: name
52 idTemplate: "{{project}} {{name}}"
53 # TF provider import for Monitoring resources is strangely configured, matching import ID too broad
54 idTemplateCanBeUsedToMatchResourceName: false
55 resourceAvailableInAssetInventory: false
56 metadataMapping:
57 name: display_name
58 labels: user_labels
59 resourceID:
60 targetField: name
61 valueTemplate: "projects/{{project}}/notificationChannels/{{value}}"
62 mutableButUnreadableFields:
63 - sensitive_labels
64 containers:
65 - type: project
66 tfField: project
View as plain text