Skip to content

Commit

Permalink
Enabling empty value send for fleet default member config in google_g…
Browse files Browse the repository at this point in the history
…ke_hub_feature (#10963) (#18487)

[upstream:89adfa77d478f937fce6c3121fd7e1414f6e0856]

Signed-off-by: Modular Magician <magic-modules@google.com>
  • Loading branch information
modular-magician authored Jun 19, 2024
1 parent bf32bc8 commit 0291ef9
Show file tree
Hide file tree
Showing 3 changed files with 48 additions and 2 deletions.
3 changes: 3 additions & 0 deletions .changelog/10963.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
```release-note:bug
gkehub: allowed `google_gke_hub_feature` field to send empty values for its field `fleet_default_member_config`
```
4 changes: 2 additions & 2 deletions google/services/gkehub2/resource_gke_hub_feature.go
Original file line number Diff line number Diff line change
Expand Up @@ -733,7 +733,7 @@ func resourceGKEHub2FeatureCreate(d *schema.ResourceData, meta interface{}) erro
fleetDefaultMemberConfigProp, err := expandGKEHub2FeatureFleetDefaultMemberConfig(d.Get("fleet_default_member_config"), d, config)
if err != nil {
return err
} else if v, ok := d.GetOkExists("fleet_default_member_config"); !tpgresource.IsEmptyValue(reflect.ValueOf(fleetDefaultMemberConfigProp)) && (ok || !reflect.DeepEqual(v, fleetDefaultMemberConfigProp)) {
} else if v, ok := d.GetOkExists("fleet_default_member_config"); ok || !reflect.DeepEqual(v, fleetDefaultMemberConfigProp) {
obj["fleetDefaultMemberConfig"] = fleetDefaultMemberConfigProp
}
labelsProp, err := expandGKEHub2FeatureEffectiveLabels(d.Get("effective_labels"), d, config)
Expand Down Expand Up @@ -910,7 +910,7 @@ func resourceGKEHub2FeatureUpdate(d *schema.ResourceData, meta interface{}) erro
fleetDefaultMemberConfigProp, err := expandGKEHub2FeatureFleetDefaultMemberConfig(d.Get("fleet_default_member_config"), d, config)
if err != nil {
return err
} else if v, ok := d.GetOkExists("fleet_default_member_config"); !tpgresource.IsEmptyValue(reflect.ValueOf(v)) && (ok || !reflect.DeepEqual(v, fleetDefaultMemberConfigProp)) {
} else if v, ok := d.GetOkExists("fleet_default_member_config"); ok || !reflect.DeepEqual(v, fleetDefaultMemberConfigProp) {
obj["fleetDefaultMemberConfig"] = fleetDefaultMemberConfigProp
}
labelsProp, err := expandGKEHub2FeatureEffectiveLabels(d.Get("effective_labels"), d, config)
Expand Down
43 changes: 43 additions & 0 deletions google/services/gkehub2/resource_gke_hub_feature_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -322,6 +322,22 @@ func TestAccGKEHubFeature_FleetDefaultMemberConfigServiceMesh(t *testing.T) {
ImportState: true,
ImportStateVerify: true,
},
{
Config: testAccGKEHubFeature_FleetDefaultMemberConfigServiceMeshRemovalUpdate(context),
},
{
ResourceName: "google_gke_hub_feature.feature",
ImportState: true,
ImportStateVerify: true,
},
{
Config: testAccGKEHubFeature_FleetDefaultMemberConfigServiceMeshReAddUpdate(context),
},
{
ResourceName: "google_gke_hub_feature.feature",
ImportState: true,
ImportStateVerify: true,
},
},
})
}
Expand Down Expand Up @@ -358,6 +374,33 @@ resource "google_gke_hub_feature" "feature" {
`, context)
}

func testAccGKEHubFeature_FleetDefaultMemberConfigServiceMeshRemovalUpdate(context map[string]interface{}) string {
return gkeHubFeatureProjectSetupForGA(context) + acctest.Nprintf(`
resource "google_gke_hub_feature" "feature" {
name = "servicemesh"
location = "global"
depends_on = [google_project_service.anthos, google_project_service.gkehub, google_project_service.mesh]
project = google_project.project.project_id
}
`, context)
}

func testAccGKEHubFeature_FleetDefaultMemberConfigServiceMeshReAddUpdate(context map[string]interface{}) string {
return gkeHubFeatureProjectSetupForGA(context) + acctest.Nprintf(`
resource "google_gke_hub_feature" "feature" {
name = "servicemesh"
location = "global"
fleet_default_member_config {
mesh {
management = "MANAGEMENT_MANUAL"
}
}
depends_on = [google_project_service.anthos, google_project_service.gkehub, google_project_service.mesh]
project = google_project.project.project_id
}
`, context)
}

func TestAccGKEHubFeature_FleetDefaultMemberConfigConfigManagement(t *testing.T) {
// VCR fails to handle batched project services
acctest.SkipIfVcr(t)
Expand Down

0 comments on commit 0291ef9

Please sign in to comment.