Skip to content

Commit b7b4a99

Browse files
authored
Merge pull request #262 from hashicorp/bendbennett/handle-number-when-nil
Only assign value of number to numeric if number is bool
2 parents 96bc479 + 21df34f commit b7b4a99

File tree

3 files changed

+13
-9
lines changed

3 files changed

+13
-9
lines changed

CHANGELOG.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,11 @@
1-
## 3.3.0 (Unreleased)
1+
## 3.3.1 (June 07, 2022)
2+
3+
BUG FIXES:
4+
5+
* resource/random_password: During schema upgrade, copy value of attribute `number` to attribute `numeric`, only if said value is a boolean (i.e. not `null`) ([262](https://github.com/hashicorp/terraform-provider-random/pull/262))
6+
* resource/random_string: During schema upgrade, copy value of attribute `number` to attribute `numeric`, only if said value is a boolean (i.e. not `null`) ([262](https://github.com/hashicorp/terraform-provider-random/pull/262))
7+
8+
## 3.3.0 (June 06, 2022)
29

310
ENHANCEMENTS:
411

internal/provider/string.go

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -329,13 +329,10 @@ func resourcePasswordStringStateUpgradeV1(_ context.Context, rawState map[string
329329
return nil, errors.New("state upgrade failed, state is nil")
330330
}
331331

332-
number, ok := rawState["number"].(bool)
333-
if !ok {
334-
return nil, fmt.Errorf("state upgrade failed, number is not a boolean: %T", rawState["number"])
332+
if number, ok := rawState["number"].(bool); ok {
333+
rawState["numeric"] = number
335334
}
336335

337-
rawState["numeric"] = number
338-
339336
return rawState, nil
340337
}
341338

internal/provider/string_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ func TestResourcePasswordStringStateUpgradeV1(t *testing.T) {
2121
err: errors.New("state upgrade failed, state is nil"),
2222
},
2323
{
24-
name: "number is not bool",
25-
stateV1: map[string]interface{}{"number": 0},
26-
err: errors.New("state upgrade failed, number is not a boolean: int"),
24+
name: "number is not bool, raw state unaltered",
25+
stateV1: map[string]interface{}{"number": 0},
26+
expectedStateV2: map[string]interface{}{"number": 0},
2727
},
2828
{
2929
name: "success",

0 commit comments

Comments
 (0)