Skip to content

Commit 4003211

Browse files
Remove output_only restriction on OnPremVersion field (#15311) (#24614)
[upstream:79b81fcaa29fdbfc3106f80dc1effabe73af2a88] Signed-off-by: Modular Magician <[email protected]>
1 parent 3329923 commit 4003211

File tree

5 files changed

+45
-12
lines changed

5 files changed

+45
-12
lines changed

.changelog/15311.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:enhancement
2+
gkeonprem: made it possible to set the `on_prem_version` field on `google_gkeonprem_vmware_node_pool` (previously output-only)
3+
```

google/services/gkeonprem/resource_gkeonprem_vmware_node_pool.go

Lines changed: 25 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -248,6 +248,11 @@ Please refer to the field 'effective_annotations' for all of the annotations pre
248248
},
249249
},
250250
},
251+
"on_prem_version": {
252+
Type: schema.TypeString,
253+
Optional: true,
254+
Description: `Anthos version for the node pool. Defaults to the user cluster version.`,
255+
},
251256
"create_time": {
252257
Type: schema.TypeString,
253258
Computed: true,
@@ -273,11 +278,6 @@ client has an up-to-date value before proceeding.
273278
Allows clients to perform consistent read-modify-writes
274279
through optimistic concurrency control.`,
275280
},
276-
"on_prem_version": {
277-
Type: schema.TypeString,
278-
Computed: true,
279-
Description: `Anthos version for the node pool. Defaults to the user cluster version.`,
280-
},
281281
"reconciling": {
282282
Type: schema.TypeBool,
283283
Computed: true,
@@ -388,6 +388,12 @@ func resourceGkeonpremVmwareNodePoolCreate(d *schema.ResourceData, meta interfac
388388
} else if v, ok := d.GetOkExists("config"); !tpgresource.IsEmptyValue(reflect.ValueOf(configProp)) && (ok || !reflect.DeepEqual(v, configProp)) {
389389
obj["config"] = configProp
390390
}
391+
onPremVersionProp, err := expandGkeonpremVmwareNodePoolOnPremVersion(d.Get("on_prem_version"), d, config)
392+
if err != nil {
393+
return err
394+
} else if v, ok := d.GetOkExists("on_prem_version"); !tpgresource.IsEmptyValue(reflect.ValueOf(onPremVersionProp)) && (ok || !reflect.DeepEqual(v, onPremVersionProp)) {
395+
obj["onPremVersion"] = onPremVersionProp
396+
}
391397
effectiveAnnotationsProp, err := expandGkeonpremVmwareNodePoolEffectiveAnnotations(d.Get("effective_annotations"), d, config)
392398
if err != nil {
393399
return err
@@ -572,6 +578,12 @@ func resourceGkeonpremVmwareNodePoolUpdate(d *schema.ResourceData, meta interfac
572578
} else if v, ok := d.GetOkExists("config"); !tpgresource.IsEmptyValue(reflect.ValueOf(v)) && (ok || !reflect.DeepEqual(v, configProp)) {
573579
obj["config"] = configProp
574580
}
581+
onPremVersionProp, err := expandGkeonpremVmwareNodePoolOnPremVersion(d.Get("on_prem_version"), d, config)
582+
if err != nil {
583+
return err
584+
} else if v, ok := d.GetOkExists("on_prem_version"); !tpgresource.IsEmptyValue(reflect.ValueOf(v)) && (ok || !reflect.DeepEqual(v, onPremVersionProp)) {
585+
obj["onPremVersion"] = onPremVersionProp
586+
}
575587
effectiveAnnotationsProp, err := expandGkeonpremVmwareNodePoolEffectiveAnnotations(d.Get("effective_annotations"), d, config)
576588
if err != nil {
577589
return err
@@ -600,6 +612,10 @@ func resourceGkeonpremVmwareNodePoolUpdate(d *schema.ResourceData, meta interfac
600612
updateMask = append(updateMask, "config")
601613
}
602614

615+
if d.HasChange("on_prem_version") {
616+
updateMask = append(updateMask, "onPremVersion")
617+
}
618+
603619
if d.HasChange("effective_annotations") {
604620
updateMask = append(updateMask, "annotations")
605621
}
@@ -1386,6 +1402,10 @@ func expandGkeonpremVmwareNodePoolConfigEnableLoadBalancer(v interface{}, d tpgr
13861402
return v, nil
13871403
}
13881404

1405+
func expandGkeonpremVmwareNodePoolOnPremVersion(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) {
1406+
return v, nil
1407+
}
1408+
13891409
func expandGkeonpremVmwareNodePoolEffectiveAnnotations(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (map[string]string, error) {
13901410
if v == nil {
13911411
return map[string]string{}, nil

google/services/gkeonprem/resource_gkeonprem_vmware_node_pool_generated_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ resource "google_gkeonprem_vmware_cluster" "default-full" {
140140
location = "us-west1"
141141
admin_cluster_membership = "projects/870316890899/locations/global/memberships/gkeonprem-terraform-test"
142142
description = "test cluster"
143-
on_prem_version = "1.13.1-gke.35"
143+
on_prem_version = "1.33.0-gke.35"
144144
network_config {
145145
service_address_cidr_blocks = ["10.96.0.0/12"]
146146
pod_address_cidr_blocks = ["192.168.0.0/16"]
@@ -177,6 +177,7 @@ resource "google_gkeonprem_vmware_node_pool" "nodepool-full" {
177177
name = "tf-test-my-nodepool%{random_suffix}"
178178
location = "us-west1"
179179
vmware_cluster = google_gkeonprem_vmware_cluster.default-full.name
180+
on_prem_version = "1.33.0-gke.35"
180181
annotations = {}
181182
config {
182183
cpus = 4

google/services/gkeonprem/resource_gkeonprem_vmware_node_pool_test.go

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import (
2020
"testing"
2121

2222
"github.com/hashicorp/terraform-plugin-testing/helper/resource"
23+
"github.com/hashicorp/terraform-plugin-testing/plancheck"
2324
"github.com/hashicorp/terraform-provider-google/google/acctest"
2425
)
2526

@@ -46,6 +47,11 @@ func TestAccGkeonpremVmwareNodePool_vmwareNodePoolUpdate(t *testing.T) {
4647
},
4748
{
4849
Config: testAccGkeonpremVmwareNodePool_vmwareNodePoolUpdate(context),
50+
ConfigPlanChecks: resource.ConfigPlanChecks{
51+
PreApply: []plancheck.PlanCheck{
52+
plancheck.ExpectResourceAction("google_gkeonprem_vmware_node_pool.nodepool", plancheck.ResourceActionUpdate),
53+
},
54+
},
4955
},
5056
{
5157
ResourceName: "google_gkeonprem_vmware_node_pool.nodepool",
@@ -65,7 +71,7 @@ func testAccGkeonpremVmwareNodePool_vmwareNodePoolUpdateStart(context map[string
6571
location = "us-west1"
6672
admin_cluster_membership = "projects/870316890899/locations/global/memberships/gkeonprem-terraform-test"
6773
description = "test cluster"
68-
on_prem_version = "1.13.1-gke.35"
74+
on_prem_version = "1.33.1-gke.35"
6975
annotations = {}
7076
network_config {
7177
service_address_cidr_blocks = ["10.96.0.0/12"]
@@ -105,6 +111,7 @@ func testAccGkeonpremVmwareNodePool_vmwareNodePoolUpdateStart(context map[string
105111
name = "tf-test-nodepool-%{random_suffix}"
106112
location = "us-west1"
107113
vmware_cluster = google_gkeonprem_vmware_cluster.cluster.name
114+
on_prem_version = "1.33.1-gke.35"
108115
annotations = {
109116
env = "test"
110117
}
@@ -150,7 +157,7 @@ func testAccGkeonpremVmwareNodePool_vmwareNodePoolUpdate(context map[string]inte
150157
location = "us-west1"
151158
admin_cluster_membership = "projects/870316890899/locations/global/memberships/gkeonprem-terraform-test"
152159
description = "test cluster"
153-
on_prem_version = "1.13.1-gke.35"
160+
on_prem_version = "1.33.1-gke.35"
154161
annotations = {}
155162
network_config {
156163
service_address_cidr_blocks = ["10.96.0.0/12"]

website/docs/r/gkeonprem_vmware_node_pool.html.markdown

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ resource "google_gkeonprem_vmware_cluster" "default-full" {
9090
location = "us-west1"
9191
admin_cluster_membership = "projects/870316890899/locations/global/memberships/gkeonprem-terraform-test"
9292
description = "test cluster"
93-
on_prem_version = "1.13.1-gke.35"
93+
on_prem_version = "1.33.0-gke.35"
9494
network_config {
9595
service_address_cidr_blocks = ["10.96.0.0/12"]
9696
pod_address_cidr_blocks = ["192.168.0.0/16"]
@@ -127,6 +127,7 @@ resource "google_gkeonprem_vmware_node_pool" "nodepool-full" {
127127
name = "my-nodepool"
128128
location = "us-west1"
129129
vmware_cluster = google_gkeonprem_vmware_cluster.default-full.name
130+
on_prem_version = "1.33.0-gke.35"
130131
annotations = {}
131132
config {
132133
cpus = 4
@@ -212,6 +213,10 @@ The following arguments are supported:
212213
Node Pool autoscaling config for the node pool.
213214
Structure is [documented below](#nested_node_pool_autoscaling).
214215

216+
* `on_prem_version` -
217+
(Optional)
218+
Anthos version for the node pool. Defaults to the user cluster version.
219+
215220
* `project` - (Optional) The ID of the project in which the resource belongs.
216221
If it is not provided, the provider project is used.
217222

@@ -355,9 +360,6 @@ In addition to the arguments listed above, the following computed attributes are
355360
Allows clients to perform consistent read-modify-writes
356361
through optimistic concurrency control.
357362

358-
* `on_prem_version` -
359-
Anthos version for the node pool. Defaults to the user cluster version.
360-
361363
* `effective_annotations` -
362364
All of annotations (key/value pairs) present on the resource in GCP, including the annotations configured through Terraform, other clients and services.
363365

0 commit comments

Comments
 (0)