@@ -110,6 +110,15 @@ func ResourceDataprocWorkflowTemplate() *schema.Resource {
110
110
Description : "All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Terraform, other clients and services." ,
111
111
},
112
112
113
+ "encryption_config" : {
114
+ Type : schema .TypeList ,
115
+ Optional : true ,
116
+ ForceNew : true ,
117
+ Description : "Optional. The encryption configuration for the workflow template." ,
118
+ MaxItems : 1 ,
119
+ Elem : DataprocWorkflowTemplateEncryptionConfigSchema (),
120
+ },
121
+
113
122
"parameters" : {
114
123
Type : schema .TypeList ,
115
124
Optional : true ,
@@ -2083,6 +2092,20 @@ func DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigManagedGro
2083
2092
}
2084
2093
}
2085
2094
2095
+ func DataprocWorkflowTemplateEncryptionConfigSchema () * schema.Resource {
2096
+ return & schema.Resource {
2097
+ Schema : map [string ]* schema.Schema {
2098
+ "kms_key" : {
2099
+ Type : schema .TypeString ,
2100
+ Optional : true ,
2101
+ ForceNew : true ,
2102
+ DiffSuppressFunc : tpgresource .CompareSelfLinkOrResourceName ,
2103
+ Description : "Optional. The Cloud KMS key name to use for encryption." ,
2104
+ },
2105
+ },
2106
+ }
2107
+ }
2108
+
2086
2109
func DataprocWorkflowTemplateParametersSchema () * schema.Resource {
2087
2110
return & schema.Resource {
2088
2111
Schema : map [string ]* schema.Schema {
@@ -2180,15 +2203,16 @@ func resourceDataprocWorkflowTemplateCreate(d *schema.ResourceData, meta interfa
2180
2203
}
2181
2204
2182
2205
obj := & dataproc.WorkflowTemplate {
2183
- Jobs : expandDataprocWorkflowTemplateJobsArray (d .Get ("jobs" )),
2184
- Location : dcl .String (d .Get ("location" ).(string )),
2185
- Name : dcl .String (d .Get ("name" ).(string )),
2186
- Placement : expandDataprocWorkflowTemplatePlacement (d .Get ("placement" )),
2187
- DagTimeout : dcl .String (d .Get ("dag_timeout" ).(string )),
2188
- Labels : tpgresource .CheckStringMap (d .Get ("effective_labels" )),
2189
- Parameters : expandDataprocWorkflowTemplateParametersArray (d .Get ("parameters" )),
2190
- Project : dcl .String (project ),
2191
- Version : dcl .Int64OrNil (int64 (d .Get ("version" ).(int ))),
2206
+ Jobs : expandDataprocWorkflowTemplateJobsArray (d .Get ("jobs" )),
2207
+ Location : dcl .String (d .Get ("location" ).(string )),
2208
+ Name : dcl .String (d .Get ("name" ).(string )),
2209
+ Placement : expandDataprocWorkflowTemplatePlacement (d .Get ("placement" )),
2210
+ DagTimeout : dcl .String (d .Get ("dag_timeout" ).(string )),
2211
+ Labels : tpgresource .CheckStringMap (d .Get ("effective_labels" )),
2212
+ EncryptionConfig : expandDataprocWorkflowTemplateEncryptionConfig (d .Get ("encryption_config" )),
2213
+ Parameters : expandDataprocWorkflowTemplateParametersArray (d .Get ("parameters" )),
2214
+ Project : dcl .String (project ),
2215
+ Version : dcl .Int64OrNil (int64 (d .Get ("version" ).(int ))),
2192
2216
}
2193
2217
2194
2218
id , err := obj .ID ()
@@ -2236,15 +2260,16 @@ func resourceDataprocWorkflowTemplateRead(d *schema.ResourceData, meta interface
2236
2260
}
2237
2261
2238
2262
obj := & dataproc.WorkflowTemplate {
2239
- Jobs : expandDataprocWorkflowTemplateJobsArray (d .Get ("jobs" )),
2240
- Location : dcl .String (d .Get ("location" ).(string )),
2241
- Name : dcl .String (d .Get ("name" ).(string )),
2242
- Placement : expandDataprocWorkflowTemplatePlacement (d .Get ("placement" )),
2243
- DagTimeout : dcl .String (d .Get ("dag_timeout" ).(string )),
2244
- Labels : tpgresource .CheckStringMap (d .Get ("effective_labels" )),
2245
- Parameters : expandDataprocWorkflowTemplateParametersArray (d .Get ("parameters" )),
2246
- Project : dcl .String (project ),
2247
- Version : dcl .Int64OrNil (int64 (d .Get ("version" ).(int ))),
2263
+ Jobs : expandDataprocWorkflowTemplateJobsArray (d .Get ("jobs" )),
2264
+ Location : dcl .String (d .Get ("location" ).(string )),
2265
+ Name : dcl .String (d .Get ("name" ).(string )),
2266
+ Placement : expandDataprocWorkflowTemplatePlacement (d .Get ("placement" )),
2267
+ DagTimeout : dcl .String (d .Get ("dag_timeout" ).(string )),
2268
+ Labels : tpgresource .CheckStringMap (d .Get ("effective_labels" )),
2269
+ EncryptionConfig : expandDataprocWorkflowTemplateEncryptionConfig (d .Get ("encryption_config" )),
2270
+ Parameters : expandDataprocWorkflowTemplateParametersArray (d .Get ("parameters" )),
2271
+ Project : dcl .String (project ),
2272
+ Version : dcl .Int64OrNil (int64 (d .Get ("version" ).(int ))),
2248
2273
}
2249
2274
2250
2275
userAgent , err := tpgresource .GenerateUserAgentString (d , config .UserAgent )
@@ -2287,6 +2312,9 @@ func resourceDataprocWorkflowTemplateRead(d *schema.ResourceData, meta interface
2287
2312
if err = d .Set ("effective_labels" , res .Labels ); err != nil {
2288
2313
return fmt .Errorf ("error setting effective_labels in state: %s" , err )
2289
2314
}
2315
+ if err = d .Set ("encryption_config" , flattenDataprocWorkflowTemplateEncryptionConfig (res .EncryptionConfig )); err != nil {
2316
+ return fmt .Errorf ("error setting encryption_config in state: %s" , err )
2317
+ }
2290
2318
if err = d .Set ("parameters" , flattenDataprocWorkflowTemplateParametersArray (res .Parameters )); err != nil {
2291
2319
return fmt .Errorf ("error setting parameters in state: %s" , err )
2292
2320
}
@@ -2325,15 +2353,16 @@ func resourceDataprocWorkflowTemplateDelete(d *schema.ResourceData, meta interfa
2325
2353
}
2326
2354
2327
2355
obj := & dataproc.WorkflowTemplate {
2328
- Jobs : expandDataprocWorkflowTemplateJobsArray (d .Get ("jobs" )),
2329
- Location : dcl .String (d .Get ("location" ).(string )),
2330
- Name : dcl .String (d .Get ("name" ).(string )),
2331
- Placement : expandDataprocWorkflowTemplatePlacement (d .Get ("placement" )),
2332
- DagTimeout : dcl .String (d .Get ("dag_timeout" ).(string )),
2333
- Labels : tpgresource .CheckStringMap (d .Get ("effective_labels" )),
2334
- Parameters : expandDataprocWorkflowTemplateParametersArray (d .Get ("parameters" )),
2335
- Project : dcl .String (project ),
2336
- Version : dcl .Int64OrNil (int64 (d .Get ("version" ).(int ))),
2356
+ Jobs : expandDataprocWorkflowTemplateJobsArray (d .Get ("jobs" )),
2357
+ Location : dcl .String (d .Get ("location" ).(string )),
2358
+ Name : dcl .String (d .Get ("name" ).(string )),
2359
+ Placement : expandDataprocWorkflowTemplatePlacement (d .Get ("placement" )),
2360
+ DagTimeout : dcl .String (d .Get ("dag_timeout" ).(string )),
2361
+ Labels : tpgresource .CheckStringMap (d .Get ("effective_labels" )),
2362
+ EncryptionConfig : expandDataprocWorkflowTemplateEncryptionConfig (d .Get ("encryption_config" )),
2363
+ Parameters : expandDataprocWorkflowTemplateParametersArray (d .Get ("parameters" )),
2364
+ Project : dcl .String (project ),
2365
+ Version : dcl .Int64OrNil (int64 (d .Get ("version" ).(int ))),
2337
2366
}
2338
2367
2339
2368
log .Printf ("[DEBUG] Deleting WorkflowTemplate %q" , d .Id ())
@@ -4130,6 +4159,32 @@ func flattenDataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigMan
4130
4159
4131
4160
return []interface {}{transformed }
4132
4161
4162
+ }
4163
+
4164
+ func expandDataprocWorkflowTemplateEncryptionConfig (o interface {}) * dataproc.WorkflowTemplateEncryptionConfig {
4165
+ if o == nil {
4166
+ return dataproc .EmptyWorkflowTemplateEncryptionConfig
4167
+ }
4168
+ objArr := o .([]interface {})
4169
+ if len (objArr ) == 0 || objArr [0 ] == nil {
4170
+ return dataproc .EmptyWorkflowTemplateEncryptionConfig
4171
+ }
4172
+ obj := objArr [0 ].(map [string ]interface {})
4173
+ return & dataproc.WorkflowTemplateEncryptionConfig {
4174
+ KmsKey : dcl .String (obj ["kms_key" ].(string )),
4175
+ }
4176
+ }
4177
+
4178
+ func flattenDataprocWorkflowTemplateEncryptionConfig (obj * dataproc.WorkflowTemplateEncryptionConfig ) interface {} {
4179
+ if obj == nil || obj .Empty () {
4180
+ return nil
4181
+ }
4182
+ transformed := map [string ]interface {}{
4183
+ "kms_key" : obj .KmsKey ,
4184
+ }
4185
+
4186
+ return []interface {}{transformed }
4187
+
4133
4188
}
4134
4189
func expandDataprocWorkflowTemplateParametersArray (o interface {}) []dataproc.WorkflowTemplateParameters {
4135
4190
if o == nil {
0 commit comments