diff --git a/.changelog/4541.txt b/.changelog/4541.txt new file mode 100644 index 00000000000..bf479f4ade0 --- /dev/null +++ b/.changelog/4541.txt @@ -0,0 +1,3 @@ +```release-note:bug +container: Fixed failure in deleting `maintenance_exclusion` for `google_container_cluster` +``` diff --git a/google/resource_container_cluster.go b/google/resource_container_cluster.go index ed7ebbcc676..b007dec492d 100644 --- a/google/resource_container_cluster.go +++ b/google/resource_container_cluster.go @@ -2523,6 +2523,9 @@ func expandMaintenancePolicy(d *schema.ResourceData, meta interface{}) *containe maintenancePolicy := l[0].(map[string]interface{}) if maintenanceExclusions, ok := maintenancePolicy["maintenance_exclusion"]; ok && len(maintenanceExclusions.(*schema.Set).List()) > 0 { + for k := range exclusions { + delete(exclusions, k) + } for _, me := range maintenanceExclusions.(*schema.Set).List() { exclusion := me.(map[string]interface{}) exclusions[exclusion["exclusion_name"].(string)] = containerBeta.TimeWindow{ diff --git a/google/resource_container_cluster_test.go b/google/resource_container_cluster_test.go index 5a54ac9c4ca..a9ced5ebae4 100644 --- a/google/resource_container_cluster_test.go +++ b/google/resource_container_cluster_test.go @@ -1204,7 +1204,7 @@ func TestAccContainerCluster_withMaintenanceExclusionWindow(t *testing.T) { ImportStateVerify: true, }, { - Config: testAccContainerCluster_withExclusion_DailyMaintenanceWindow(cluster, "2020-01-01T00:00:00Z", "2020-01-02T00:00:00Z", "2020-05-01T00:00:00Z", "2020-05-02T00:00:00Z"), + Config: testAccContainerCluster_withExclusion_DailyMaintenanceWindow(cluster, "2020-01-01T00:00:00Z", "2020-01-02T00:00:00Z"), }, { ResourceName: resourceName, @@ -2950,7 +2950,7 @@ resource "google_container_cluster" "with_maintenance_exclusion_window" { `, clusterName, w1startTime, w1endTime, w1startTime, w1endTime, w2startTime, w2endTime) } -func testAccContainerCluster_withExclusion_DailyMaintenanceWindow(clusterName string, w1startTime, w1endTime, w2startTime, w2endTime string) string { +func testAccContainerCluster_withExclusion_DailyMaintenanceWindow(clusterName string, w1startTime, w1endTime string) string { return fmt.Sprintf(` resource "google_container_cluster" "with_maintenance_exclusion_window" { @@ -2967,14 +2967,9 @@ resource "google_container_cluster" "with_maintenance_exclusion_window" { start_time = "%s" end_time = "%s" } - maintenance_exclusion { - exclusion_name = "holiday data load" - start_time = "%s" - end_time = "%s" - } } } -`, clusterName, w1startTime, w1endTime, w2startTime, w2endTime) +`, clusterName, w1startTime, w1endTime) } func testAccContainerCluster_withIPAllocationPolicy_existingSecondaryRanges(containerNetName string, clusterName string) string {