Skip to content

Commit 65db8c7

Browse files
upgrade dcl to 1.77 (#12879) (#9168)
[upstream:a5ea060babe4d01f21acc12ba718c2228badbd0e] Signed-off-by: Modular Magician <[email protected]>
1 parent 1b14199 commit 65db8c7

File tree

7 files changed

+184
-30
lines changed

7 files changed

+184
-30
lines changed

.changelog/12879.txt

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:enhancement
2+
dataproc: added `encryption_config` to `google_dataproc_workflow_template`
3+
```

go.mod

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ go 1.23
44

55
require (
66
cloud.google.com/go/bigtable v1.33.0
7-
github.com/GoogleCloudPlatform/declarative-resource-client-library v1.76.0
7+
github.com/GoogleCloudPlatform/declarative-resource-client-library v1.77.0
88
github.com/apparentlymart/go-cidr v1.1.0
99
github.com/davecgh/go-spew v1.1.1
1010
github.com/dnaeon/go-vcr v1.0.1

go.sum

+2
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk=
2424
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
2525
github.com/GoogleCloudPlatform/declarative-resource-client-library v1.76.0 h1:VH/j8GmTsvPds/NkGfo4OYr9C7R8ysikaqq4rcDUT0s=
2626
github.com/GoogleCloudPlatform/declarative-resource-client-library v1.76.0/go.mod h1:pL2Qt5HT+x6xrTd806oMiM3awW6kNIXB/iiuClz6m6k=
27+
github.com/GoogleCloudPlatform/declarative-resource-client-library v1.77.0 h1:fCJw7h8lc8oVQAhoMABdsWAGWF8E6+4A5HvDHe5OsVM=
28+
github.com/GoogleCloudPlatform/declarative-resource-client-library v1.77.0/go.mod h1:pL2Qt5HT+x6xrTd806oMiM3awW6kNIXB/iiuClz6m6k=
2729
github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow=
2830
github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM=
2931
github.com/ProtonMail/go-crypto v1.1.0-alpha.2 h1:bkyFVUP+ROOARdgCiJzNQo2V2kiB97LyUpzH9P6Hrlg=

google-beta/services/assuredworkloads/resource_assured_workloads_workload.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ func ResourceAssuredWorkloadsWorkload() *schema.Resource {
6060
Type: schema.TypeString,
6161
Required: true,
6262
ForceNew: true,
63-
Description: "Required. Immutable. Compliance Regime associated with this workload. Possible values: COMPLIANCE_REGIME_UNSPECIFIED, IL4, CJIS, FEDRAMP_HIGH, FEDRAMP_MODERATE, US_REGIONAL_ACCESS, HIPAA, HITRUST, EU_REGIONS_AND_SUPPORT, CA_REGIONS_AND_SUPPORT, ITAR, AU_REGIONS_AND_US_SUPPORT, ASSURED_WORKLOADS_FOR_PARTNERS, ISR_REGIONS, ISR_REGIONS_AND_SUPPORT, CA_PROTECTED_B, IL5, IL2, JP_REGIONS_AND_SUPPORT, KSA_REGIONS_AND_SUPPORT_WITH_SOVEREIGNTY_CONTROLS, REGIONAL_CONTROLS, HEALTHCARE_AND_LIFE_SCIENCES_CONTROLS, HEALTHCARE_AND_LIFE_SCIENCES_CONTROLS_WITH_US_SUPPORT, IRS_1075",
63+
Description: "Required. Immutable. Compliance Regime associated with this workload. Possible values: COMPLIANCE_REGIME_UNSPECIFIED, IL4, CJIS, FEDRAMP_HIGH, FEDRAMP_MODERATE, US_REGIONAL_ACCESS, HIPAA, HITRUST, EU_REGIONS_AND_SUPPORT, CA_REGIONS_AND_SUPPORT, ITAR, AU_REGIONS_AND_US_SUPPORT, ASSURED_WORKLOADS_FOR_PARTNERS, ISR_REGIONS, ISR_REGIONS_AND_SUPPORT, CA_PROTECTED_B, IL5, IL2, JP_REGIONS_AND_SUPPORT, KSA_REGIONS_AND_SUPPORT_WITH_SOVEREIGNTY_CONTROLS, REGIONAL_CONTROLS, HEALTHCARE_AND_LIFE_SCIENCES_CONTROLS, HEALTHCARE_AND_LIFE_SCIENCES_CONTROLS_US_SUPPORT, IRS_1075",
6464
},
6565

6666
"display_name": {

google-beta/services/dataproc/resource_dataproc_workflow_template.go

+82-27
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,15 @@ func ResourceDataprocWorkflowTemplate() *schema.Resource {
110110
Description: "All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Terraform, other clients and services.",
111111
},
112112

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+
113122
"parameters": {
114123
Type: schema.TypeList,
115124
Optional: true,
@@ -2083,6 +2092,20 @@ func DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigManagedGro
20832092
}
20842093
}
20852094

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+
20862109
func DataprocWorkflowTemplateParametersSchema() *schema.Resource {
20872110
return &schema.Resource{
20882111
Schema: map[string]*schema.Schema{
@@ -2180,15 +2203,16 @@ func resourceDataprocWorkflowTemplateCreate(d *schema.ResourceData, meta interfa
21802203
}
21812204

21822205
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))),
21922216
}
21932217

21942218
id, err := obj.ID()
@@ -2236,15 +2260,16 @@ func resourceDataprocWorkflowTemplateRead(d *schema.ResourceData, meta interface
22362260
}
22372261

22382262
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))),
22482273
}
22492274

22502275
userAgent, err := tpgresource.GenerateUserAgentString(d, config.UserAgent)
@@ -2287,6 +2312,9 @@ func resourceDataprocWorkflowTemplateRead(d *schema.ResourceData, meta interface
22872312
if err = d.Set("effective_labels", res.Labels); err != nil {
22882313
return fmt.Errorf("error setting effective_labels in state: %s", err)
22892314
}
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+
}
22902318
if err = d.Set("parameters", flattenDataprocWorkflowTemplateParametersArray(res.Parameters)); err != nil {
22912319
return fmt.Errorf("error setting parameters in state: %s", err)
22922320
}
@@ -2325,15 +2353,16 @@ func resourceDataprocWorkflowTemplateDelete(d *schema.ResourceData, meta interfa
23252353
}
23262354

23272355
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))),
23372366
}
23382367

23392368
log.Printf("[DEBUG] Deleting WorkflowTemplate %q", d.Id())
@@ -4130,6 +4159,32 @@ func flattenDataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigMan
41304159

41314160
return []interface{}{transformed}
41324161

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+
41334188
}
41344189
func expandDataprocWorkflowTemplateParametersArray(o interface{}) []dataproc.WorkflowTemplateParameters {
41354190
if o == nil {

google-beta/services/dataproc/resource_dataproc_workflow_template_test.go

+94
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,33 @@ func TestAccDataprocWorkflowTemplate_withShieldedVMs(t *testing.T) {
7777
})
7878
}
7979

80+
func TestAccDataprocWorkflowTemplate_encryptionConfig(t *testing.T) {
81+
t.Parallel()
82+
83+
context := map[string]interface{}{
84+
"random_suffix": acctest.RandString(t, 10),
85+
"project": envvar.GetTestProjectFromEnv(),
86+
"version": "2.0.35-debian10",
87+
"kms_key_name": acctest.BootstrapKMSKeyWithPurposeInLocationAndName(t, "ENCRYPT_DECRYPT", "us-central1", "tf-bootstrap-dataproc-workflow").CryptoKey.Name,
88+
}
89+
90+
acctest.VcrTest(t, resource.TestCase{
91+
PreCheck: func() { acctest.AccTestPreCheck(t) },
92+
ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories(t),
93+
CheckDestroy: funcAccTestDataprocWorkflowTemplateCheckDestroy(t),
94+
Steps: []resource.TestStep{
95+
{
96+
Config: testAccDataprocWorkflowTemplate_encryptionConfig(context),
97+
},
98+
{
99+
ImportState: true,
100+
ImportStateVerify: true,
101+
ResourceName: "google_dataproc_workflow_template.template",
102+
},
103+
},
104+
})
105+
}
106+
80107
func testAccDataprocWorkflowTemplate_basic(context map[string]interface{}) string {
81108
return acctest.Nprintf(`
82109
resource "google_dataproc_workflow_template" "template" {
@@ -199,6 +226,73 @@ resource "google_dataproc_workflow_template" "shielded_vms_template" {
199226
`, context)
200227
}
201228

229+
func testAccDataprocWorkflowTemplate_encryptionConfig(context map[string]interface{}) string {
230+
return acctest.Nprintf(`
231+
resource "google_dataproc_workflow_template" "template" {
232+
name = "template%{random_suffix}"
233+
location = "us-central1"
234+
encryption_config {
235+
kms_key = "%{kms_key_name}"
236+
}
237+
placement {
238+
managed_cluster {
239+
cluster_name = "my-cluster"
240+
config {
241+
gce_cluster_config {
242+
zone = "us-central1-a"
243+
tags = ["foo", "bar"]
244+
}
245+
master_config {
246+
num_instances = 1
247+
machine_type = "n1-standard-1"
248+
disk_config {
249+
boot_disk_type = "pd-ssd"
250+
boot_disk_size_gb = 15
251+
}
252+
}
253+
worker_config {
254+
num_instances = 3
255+
machine_type = "n1-standard-2"
256+
disk_config {
257+
boot_disk_size_gb = 10
258+
num_local_ssds = 2
259+
}
260+
}
261+
262+
secondary_worker_config {
263+
num_instances = 2
264+
}
265+
software_config {
266+
image_version = "%{version}"
267+
}
268+
}
269+
}
270+
}
271+
jobs {
272+
step_id = "someJob"
273+
spark_job {
274+
main_class = "SomeClass"
275+
}
276+
}
277+
jobs {
278+
step_id = "otherJob"
279+
prerequisite_step_ids = ["someJob"]
280+
presto_job {
281+
query_file_uri = "someuri"
282+
}
283+
}
284+
depends_on =[google_kms_crypto_key_iam_member.crypto_key]
285+
}
286+
287+
data "google_project" "project" {}
288+
resource "google_kms_crypto_key_iam_member" "crypto_key" {
289+
crypto_key_id = "%{kms_key_name}"
290+
role = "roles/cloudkms.cryptoKeyEncrypterDecrypter"
291+
member = "serviceAccount:service-${data.google_project.project.number}@dataproc-accounts.iam.gserviceaccount.com"
292+
}
293+
`, context)
294+
}
295+
202296
func funcAccTestDataprocWorkflowTemplateCheckDestroy(t *testing.T) func(s *terraform.State) error {
203297
return func(s *terraform.State) error {
204298
for name, rs := range s.RootModule().Resources {

website/docs/r/assured_workloads_workload.html.markdown

+1-1
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ The following arguments are supported:
150150

151151
* `compliance_regime` -
152152
(Required)
153-
Required. Immutable. Compliance Regime associated with this workload. Possible values: COMPLIANCE_REGIME_UNSPECIFIED, IL4, CJIS, FEDRAMP_HIGH, FEDRAMP_MODERATE, US_REGIONAL_ACCESS, HIPAA, HITRUST, EU_REGIONS_AND_SUPPORT, CA_REGIONS_AND_SUPPORT, ITAR, AU_REGIONS_AND_US_SUPPORT, ASSURED_WORKLOADS_FOR_PARTNERS, ISR_REGIONS, ISR_REGIONS_AND_SUPPORT, CA_PROTECTED_B, IL5, IL2, JP_REGIONS_AND_SUPPORT, KSA_REGIONS_AND_SUPPORT_WITH_SOVEREIGNTY_CONTROLS, REGIONAL_CONTROLS, HEALTHCARE_AND_LIFE_SCIENCES_CONTROLS, HEALTHCARE_AND_LIFE_SCIENCES_CONTROLS_WITH_US_SUPPORT, IRS_1075
153+
Required. Immutable. Compliance Regime associated with this workload. Possible values: COMPLIANCE_REGIME_UNSPECIFIED, IL4, CJIS, FEDRAMP_HIGH, FEDRAMP_MODERATE, US_REGIONAL_ACCESS, HIPAA, HITRUST, EU_REGIONS_AND_SUPPORT, CA_REGIONS_AND_SUPPORT, ITAR, AU_REGIONS_AND_US_SUPPORT, ASSURED_WORKLOADS_FOR_PARTNERS, ISR_REGIONS, ISR_REGIONS_AND_SUPPORT, CA_PROTECTED_B, IL5, IL2, JP_REGIONS_AND_SUPPORT, KSA_REGIONS_AND_SUPPORT_WITH_SOVEREIGNTY_CONTROLS, REGIONAL_CONTROLS, HEALTHCARE_AND_LIFE_SCIENCES_CONTROLS, HEALTHCARE_AND_LIFE_SCIENCES_CONTROLS_US_SUPPORT, IRS_1075
154154

155155
* `display_name` -
156156
(Required)

0 commit comments

Comments
 (0)