Skip to content

Commit 4407599

Browse files
Upgrade DCL to v1.34 (#7276) (#5258)
Signed-off-by: Modular Magician <[email protected]> Co-authored-by: Louis Jimenez <[email protected]>
1 parent be92028 commit 4407599

13 files changed

+385
-74
lines changed

.changelog/7276.txt

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
```release-note:enhancement
2+
containerazure: added `azure_services_authentication` to `google_container_azure_cluster`
3+
```
4+
```release-note:deprecation
5+
gkehub: deprecated `mesh.control_plane` in `google_gke_hub_feature_membership`. Use `mesh.management` instead (beta-only)
6+
```
7+
```release-note:enhancement
8+
cloudbuild: added `peered_network_ip_range` field to `google_cloudbuild_worker_pool` resource
9+
```
10+
```release-note:enhancement
11+
clouddeploy: added `multi_target` field to `google_clouddeploy_target` resource (beta-only)
12+
```

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ go 1.18
33

44
require (
55
cloud.google.com/go/bigtable v1.17.0
6-
github.com/GoogleCloudPlatform/declarative-resource-client-library v1.31.0
6+
github.com/GoogleCloudPlatform/declarative-resource-client-library v1.34.0
77
github.com/apparentlymart/go-cidr v1.1.0
88
github.com/davecgh/go-spew v1.1.1
99
github.com/dnaeon/go-vcr v1.0.1

go.sum

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ cloud.google.com/go/longrunning v0.3.0/go.mod h1:qth9Y41RRSUE69rDcOn6DdK3HfQfsUI
1717
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
1818
github.com/GoogleCloudPlatform/declarative-resource-client-library v1.31.0 h1:4Orb9zAllU52CUtZfKu9OWYyDK6neeBt2ye6NKqAfOg=
1919
github.com/GoogleCloudPlatform/declarative-resource-client-library v1.31.0/go.mod h1:pL2Qt5HT+x6xrTd806oMiM3awW6kNIXB/iiuClz6m6k=
20+
github.com/GoogleCloudPlatform/declarative-resource-client-library v1.34.0 h1:o7t+hPFv+Ax5O2vxzIH7dEtvlWA7JJOlOd7mWFvMa6s=
21+
github.com/GoogleCloudPlatform/declarative-resource-client-library v1.34.0/go.mod h1:pL2Qt5HT+x6xrTd806oMiM3awW6kNIXB/iiuClz6m6k=
2022
github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA=
2123
github.com/Microsoft/go-winio v0.4.16 h1:FtSW/jqD+l4ba5iPBj9CODVtgfYAD8w2wS923g/cFDk=
2224
github.com/Microsoft/go-winio v0.4.16/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0=

google-beta/resource_cloudbuild_worker_pool.go

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,13 @@ func CloudbuildWorkerPoolNetworkConfigSchema() *schema.Resource {
142142
DiffSuppressFunc: compareResourceNames,
143143
Description: "Required. Immutable. The network definition that the workers are peered to. If this section is left empty, the workers will be peered to `WorkerPool.project_id` on the service producer network. Must be in the format `projects/{project}/global/networks/{network}`, where `{project}` is a project number, such as `12345`, and `{network}` is the name of a VPC network in the project. See [Understanding network configuration options](https://cloud.google.com/cloud-build/docs/custom-workers/set-up-custom-worker-pool-environment#understanding_the_network_configuration_options)",
144144
},
145+
146+
"peered_network_ip_range": {
147+
Type: schema.TypeString,
148+
Optional: true,
149+
ForceNew: true,
150+
Description: "Optional. Immutable. Subnet IP range within the peered network. This is specified in CIDR notation with a slash and the subnet prefix size. You can optionally specify an IP address before the subnet prefix value. e.g. `192.168.0.0/29` would specify an IP range starting at 192.168.0.0 with a prefix size of 29 bits. `/16` would specify a prefix size of 16 bits, with an automatically determined IP within the peered VPC. If unspecified, a value of `/24` will be used.",
151+
},
145152
},
146153
}
147154
}
@@ -425,7 +432,8 @@ func expandCloudbuildWorkerPoolNetworkConfig(o interface{}) *cloudbuild.WorkerPo
425432
}
426433
obj := objArr[0].(map[string]interface{})
427434
return &cloudbuild.WorkerPoolNetworkConfig{
428-
PeeredNetwork: dcl.String(obj["peered_network"].(string)),
435+
PeeredNetwork: dcl.String(obj["peered_network"].(string)),
436+
PeeredNetworkIPRange: dcl.String(obj["peered_network_ip_range"].(string)),
429437
}
430438
}
431439

@@ -434,7 +442,8 @@ func flattenCloudbuildWorkerPoolNetworkConfig(obj *cloudbuild.WorkerPoolNetworkC
434442
return nil
435443
}
436444
transformed := map[string]interface{}{
437-
"peered_network": obj.PeeredNetwork,
445+
"peered_network": obj.PeeredNetwork,
446+
"peered_network_ip_range": obj.PeeredNetworkIPRange,
438447
}
439448

440449
return []interface{}{transformed}

google-beta/resource_cloudbuild_worker_pool_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,7 @@ resource "google_cloudbuild_worker_pool" "pool" {
150150
}
151151
network_config {
152152
peered_network = google_compute_network.network.id
153+
peered_network_ip_range = "/29"
153154
}
154155
depends_on = [google_service_networking_connection.worker_pool_conn]
155156
}

google-beta/resource_clouddeploy_target.go

Lines changed: 58 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ func ResourceClouddeployTarget() *schema.Resource {
7272
Description: "Information specifying an Anthos Cluster.",
7373
MaxItems: 1,
7474
Elem: ClouddeployTargetAnthosClusterSchema(),
75-
ConflictsWith: []string{"gke", "run"},
75+
ConflictsWith: []string{"gke", "run", "multi_target"},
7676
},
7777

7878
"description": {
@@ -95,7 +95,7 @@ func ResourceClouddeployTarget() *schema.Resource {
9595
Description: "Information specifying a GKE Cluster.",
9696
MaxItems: 1,
9797
Elem: ClouddeployTargetGkeSchema(),
98-
ConflictsWith: []string{"anthos_cluster", "run"},
98+
ConflictsWith: []string{"anthos_cluster", "run", "multi_target"},
9999
},
100100

101101
"labels": {
@@ -105,6 +105,15 @@ func ResourceClouddeployTarget() *schema.Resource {
105105
Elem: &schema.Schema{Type: schema.TypeString},
106106
},
107107

108+
"multi_target": {
109+
Type: schema.TypeList,
110+
Optional: true,
111+
Description: "Information specifying a multiTarget.",
112+
MaxItems: 1,
113+
Elem: ClouddeployTargetMultiTargetSchema(),
114+
ConflictsWith: []string{"gke", "anthos_cluster", "run"},
115+
},
116+
108117
"project": {
109118
Type: schema.TypeString,
110119
Computed: true,
@@ -126,7 +135,7 @@ func ResourceClouddeployTarget() *schema.Resource {
126135
Description: "Information specifying a Cloud Run deployment target.",
127136
MaxItems: 1,
128137
Elem: ClouddeployTargetRunSchema(),
129-
ConflictsWith: []string{"gke", "anthos_cluster"},
138+
ConflictsWith: []string{"gke", "anthos_cluster", "multi_target"},
130139
},
131140

132141
"create_time": {
@@ -235,6 +244,19 @@ func ClouddeployTargetGkeSchema() *schema.Resource {
235244
}
236245
}
237246

247+
func ClouddeployTargetMultiTargetSchema() *schema.Resource {
248+
return &schema.Resource{
249+
Schema: map[string]*schema.Schema{
250+
"target_ids": {
251+
Type: schema.TypeList,
252+
Required: true,
253+
Description: "Required. The target_ids of this multiTarget.",
254+
Elem: &schema.Schema{Type: schema.TypeString},
255+
},
256+
},
257+
}
258+
}
259+
238260
func ClouddeployTargetRunSchema() *schema.Resource {
239261
return &schema.Resource{
240262
Schema: map[string]*schema.Schema{
@@ -263,6 +285,7 @@ func resourceClouddeployTargetCreate(d *schema.ResourceData, meta interface{}) e
263285
ExecutionConfigs: expandClouddeployTargetExecutionConfigsArray(d.Get("execution_configs")),
264286
Gke: expandClouddeployTargetGke(d.Get("gke")),
265287
Labels: checkStringMap(d.Get("labels")),
288+
MultiTarget: expandClouddeployTargetMultiTarget(d.Get("multi_target")),
266289
Project: dcl.String(project),
267290
RequireApproval: dcl.Bool(d.Get("require_approval").(bool)),
268291
Run: expandClouddeployTargetRun(d.Get("run")),
@@ -321,6 +344,7 @@ func resourceClouddeployTargetRead(d *schema.ResourceData, meta interface{}) err
321344
ExecutionConfigs: expandClouddeployTargetExecutionConfigsArray(d.Get("execution_configs")),
322345
Gke: expandClouddeployTargetGke(d.Get("gke")),
323346
Labels: checkStringMap(d.Get("labels")),
347+
MultiTarget: expandClouddeployTargetMultiTarget(d.Get("multi_target")),
324348
Project: dcl.String(project),
325349
RequireApproval: dcl.Bool(d.Get("require_approval").(bool)),
326350
Run: expandClouddeployTargetRun(d.Get("run")),
@@ -372,6 +396,9 @@ func resourceClouddeployTargetRead(d *schema.ResourceData, meta interface{}) err
372396
if err = d.Set("labels", res.Labels); err != nil {
373397
return fmt.Errorf("error setting labels in state: %s", err)
374398
}
399+
if err = d.Set("multi_target", flattenClouddeployTargetMultiTarget(res.MultiTarget)); err != nil {
400+
return fmt.Errorf("error setting multi_target in state: %s", err)
401+
}
375402
if err = d.Set("project", res.Project); err != nil {
376403
return fmt.Errorf("error setting project in state: %s", err)
377404
}
@@ -415,6 +442,7 @@ func resourceClouddeployTargetUpdate(d *schema.ResourceData, meta interface{}) e
415442
ExecutionConfigs: expandClouddeployTargetExecutionConfigsArray(d.Get("execution_configs")),
416443
Gke: expandClouddeployTargetGke(d.Get("gke")),
417444
Labels: checkStringMap(d.Get("labels")),
445+
MultiTarget: expandClouddeployTargetMultiTarget(d.Get("multi_target")),
418446
Project: dcl.String(project),
419447
RequireApproval: dcl.Bool(d.Get("require_approval").(bool)),
420448
Run: expandClouddeployTargetRun(d.Get("run")),
@@ -468,6 +496,7 @@ func resourceClouddeployTargetDelete(d *schema.ResourceData, meta interface{}) e
468496
ExecutionConfigs: expandClouddeployTargetExecutionConfigsArray(d.Get("execution_configs")),
469497
Gke: expandClouddeployTargetGke(d.Get("gke")),
470498
Labels: checkStringMap(d.Get("labels")),
499+
MultiTarget: expandClouddeployTargetMultiTarget(d.Get("multi_target")),
471500
Project: dcl.String(project),
472501
RequireApproval: dcl.Bool(d.Get("require_approval").(bool)),
473502
Run: expandClouddeployTargetRun(d.Get("run")),
@@ -636,6 +665,32 @@ func flattenClouddeployTargetGke(obj *clouddeploy.TargetGke) interface{} {
636665

637666
}
638667

668+
func expandClouddeployTargetMultiTarget(o interface{}) *clouddeploy.TargetMultiTarget {
669+
if o == nil {
670+
return clouddeploy.EmptyTargetMultiTarget
671+
}
672+
objArr := o.([]interface{})
673+
if len(objArr) == 0 || objArr[0] == nil {
674+
return clouddeploy.EmptyTargetMultiTarget
675+
}
676+
obj := objArr[0].(map[string]interface{})
677+
return &clouddeploy.TargetMultiTarget{
678+
TargetIds: expandStringArray(obj["target_ids"]),
679+
}
680+
}
681+
682+
func flattenClouddeployTargetMultiTarget(obj *clouddeploy.TargetMultiTarget) interface{} {
683+
if obj == nil || obj.Empty() {
684+
return nil
685+
}
686+
transformed := map[string]interface{}{
687+
"target_ids": obj.TargetIds,
688+
}
689+
690+
return []interface{}{transformed}
691+
692+
}
693+
639694
func expandClouddeployTargetRun(o interface{}) *clouddeploy.TargetRun {
640695
if o == nil {
641696
return clouddeploy.EmptyTargetRun

google-beta/resource_clouddeploy_target_generated_test.go

Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,40 @@ import (
2626
"testing"
2727
)
2828

29+
func TestAccClouddeployTarget_MultiTarget(t *testing.T) {
30+
t.Parallel()
31+
32+
context := map[string]interface{}{
33+
"project_name": getTestProjectFromEnv(),
34+
"region": getTestRegionFromEnv(),
35+
"random_suffix": randString(t, 10),
36+
}
37+
38+
vcrTest(t, resource.TestCase{
39+
PreCheck: func() { testAccPreCheck(t) },
40+
41+
Providers: testAccProvidersOiCS,
42+
CheckDestroy: testAccCheckClouddeployTargetDestroyProducer(t),
43+
Steps: []resource.TestStep{
44+
{
45+
Config: testAccClouddeployTarget_MultiTarget(context),
46+
},
47+
{
48+
ResourceName: "google_clouddeploy_target.primary",
49+
ImportState: true,
50+
ImportStateVerify: true,
51+
},
52+
{
53+
Config: testAccClouddeployTarget_MultiTargetUpdate0(context),
54+
},
55+
{
56+
ResourceName: "google_clouddeploy_target.primary",
57+
ImportState: true,
58+
ImportStateVerify: true,
59+
},
60+
},
61+
})
62+
}
2963
func TestAccClouddeployTarget_RunTarget(t *testing.T) {
3064
t.Parallel()
3165

@@ -118,6 +152,75 @@ func TestAccClouddeployTarget_Target(t *testing.T) {
118152
})
119153
}
120154

155+
func testAccClouddeployTarget_MultiTarget(context map[string]interface{}) string {
156+
return Nprintf(`
157+
resource "google_clouddeploy_target" "primary" {
158+
location = "%{region}"
159+
name = "tf-test-target%{random_suffix}"
160+
161+
annotations = {
162+
my_first_annotation = "example-annotation-1"
163+
164+
my_second_annotation = "example-annotation-2"
165+
}
166+
167+
description = "multi-target description"
168+
169+
execution_configs {
170+
usages = ["RENDER", "DEPLOY"]
171+
execution_timeout = "3600s"
172+
}
173+
174+
labels = {
175+
my_first_label = "example-label-1"
176+
177+
my_second_label = "example-label-2"
178+
}
179+
180+
multi_target {
181+
target_ids = ["1", "2"]
182+
}
183+
184+
project = "%{project_name}"
185+
require_approval = false
186+
provider = google-beta
187+
}
188+
189+
`, context)
190+
}
191+
192+
func testAccClouddeployTarget_MultiTargetUpdate0(context map[string]interface{}) string {
193+
return Nprintf(`
194+
resource "google_clouddeploy_target" "primary" {
195+
location = "%{region}"
196+
name = "tf-test-target%{random_suffix}"
197+
198+
annotations = {
199+
my_second_annotation = "updated-example-annotation-2"
200+
201+
my_third_annotation = "example-annotation-3"
202+
}
203+
204+
description = "updated mutli-target description"
205+
206+
labels = {
207+
my_second_label = "example-label-2"
208+
209+
my_third_label = "example-label-3"
210+
}
211+
212+
multi_target {
213+
target_ids = ["1", "2", "3"]
214+
}
215+
216+
project = "%{project_name}"
217+
require_approval = true
218+
provider = google-beta
219+
}
220+
221+
`, context)
222+
}
223+
121224
func testAccClouddeployTarget_RunTarget(context map[string]interface{}) string {
122225
return Nprintf(`
123226
resource "google_clouddeploy_target" "primary" {

0 commit comments

Comments
 (0)