Skip to content

Commit 8e7078f

Browse files
make ForceNew on newly added required field (#5362) (#10421)
* make ForceNew on newly added required field * Update resource_bigquery_table.go Fixed a typo Signed-off-by: Modular Magician <[email protected]>
1 parent bdbbf91 commit 8e7078f

File tree

3 files changed

+15
-1
lines changed

3 files changed

+15
-1
lines changed

.changelog/5362.txt

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:bug
2+
bigquery: fixed a bug of cannot add required fields to an existing schema on `google_bigquery_table`
3+
```

google/resource_bigquery_table.go

+11
Original file line numberDiff line numberDiff line change
@@ -225,6 +225,17 @@ func resourceBigQueryTableSchemaIsChangeable(old, new interface{}) (bool, error)
225225
return false, err
226226
}
227227
mapNew := bigQueryArrayToMapIndexedByName(arrayNew)
228+
for key := range mapNew {
229+
// making unchangeable if an newly added column is with REQUIRED mode
230+
if _, ok := mapOld[key]; !ok {
231+
items := mapNew[key].(map[string]interface{})
232+
for k := range items {
233+
if k == "mode" && fmt.Sprintf("%v", items[k]) == "REQUIRED" {
234+
return false, nil
235+
}
236+
}
237+
}
238+
}
228239
for key := range mapOld {
229240
// all old keys should be represented in the new config
230241
if _, ok := mapNew[key]; !ok {

google/resource_container_node_pool.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
package google
22

33
import (
4-
"context"
54
"fmt"
65
"log"
76
"regexp"
87
"strings"
98
"time"
109

10+
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/customdiff"
1111
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
1212
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
1313
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation"

0 commit comments

Comments
 (0)