...
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: dataflow.cnrm.cloud.google.com
19 namespace: cnrm-system
20spec:
21 name: Dataflow
22 version: v1beta1
23 serviceHostName: "dataflow.googleapis.com"
24 resources:
25 - name: google_dataflow_flex_template_job
26 kind: DataflowFlexTemplateJob
27 metadataMapping:
28 name: name
29 ignoredFields:
30 # TODO(b/254868598): Enable support for labels field
31 - labels
32 # TODO(b/288129227): Enable support for problematic dataflow fields.
33 - additional_experiments
34 - autoscaling_algorithm
35 - enable_streaming_engine
36 - ip_configuration
37 - kms_key_name
38 - launcher_machine_type
39 - machine_type
40 - max_workers
41 - network
42 - num_workers
43 - sdk_container_image
44 - service_account_email
45 - staging_location
46 - subnetwork
47 - temp_location
48 - transform_name_mapping
49 serverGeneratedIDField: "job_id"
50 idTemplate: "{{job_id}}"
51 # doesn't have an importer
52 idTemplateCanBeUsedToMatchResourceName: false
53 resourceAvailableInAssetInventory: false
54 skipImport: true
55 directives:
56 - on_delete
57 - skip_wait_on_job_termination
58 containers:
59 - type: project
60 tfField: project
61 # resourceReferences:
62 # - tfField: kms_key_name
63 # key: kmsKeyNameRef
64 # gvk:
65 # kind: KMSCryptoKey
66 # version: v1beta1
67 # group: kms.cnrm.cloud.google.com
68 # description: |-
69 # The name for the Cloud KMS key for the job.
70 # targetField: self_link
71 # - tfField: service_account_email
72 # key: serviceAccountEmailRef
73 # gvk:
74 # kind: IAMServiceAccount
75 # version: v1beta1
76 # group: iam.cnrm.cloud.google.com
77 # targetField: email
78 # - tfField: network
79 # key: networkRef
80 # gvk:
81 # kind: ComputeNetwork
82 # version: v1beta1
83 # group: compute.cnrm.cloud.google.com
84 # targetField: self_link
85 # - tfField: subnetwork
86 # key: subnetworkRef
87 # gvk:
88 # kind: ComputeSubnetwork
89 # version: v1beta1
90 # group: compute.cnrm.cloud.google.com
91 # targetField: self_link
92 mutableButUnreadableFields:
93 - container_spec_gcs_path
94 - parameters
95 - name: google_dataflow_job
96 kind: DataflowJob
97 metadataMapping:
98 name: name
99 labels: labels
100 resourceID:
101 targetField: name
102 idTemplate: "{{project}}/{{region?}}/{{name}}"
103 # doesn't have an importer
104 idTemplateCanBeUsedToMatchResourceName: false
105 resourceAvailableInAssetInventory: true
106 skipImport: true
107 directives:
108 - on_delete
109 - skip_wait_on_job_termination
110 containers:
111 - type: project
112 tfField: project
113 resourceReferences:
114 - tfField: service_account_email
115 key: serviceAccountRef
116 gvk:
117 kind: IAMServiceAccount
118 version: v1beta1
119 group: iam.cnrm.cloud.google.com
120 targetField: email
121 - tfField: network
122 key: networkRef
123 gvk:
124 kind: ComputeNetwork
125 version: v1beta1
126 group: compute.cnrm.cloud.google.com
127 targetField: self_link
128 - tfField: subnetwork
129 key: subnetworkRef
130 gvk:
131 kind: ComputeSubnetwork
132 version: v1beta1
133 group: compute.cnrm.cloud.google.com
134 targetField: self_link
135 - tfField: kms_key_name
136 key: kmsKeyRef
137 gvk:
138 kind: KMSCryptoKey
139 version: v1beta1
140 group: kms.cnrm.cloud.google.com
141 description: |-
142 The name for the Cloud KMS key for the job.
143 targetField: self_link
144 mutableButUnreadableFields:
145 - parameters
146 - ip_configuration
View as plain text