hashicorp / hashicorp/terraform-plugin-framework

ElementAs() make target null

Open
#698 1 comment 0 reactions 0 assignees View on GitHub
enhancement types
Dominant language
Go
Stars
384
Forks
107
Avg merge
3m
Merged PRs (30d)
1

Description

### Module version

```
github.com/hashicorp/terraform-plugin-framework v1.1.1
```

### Relevant provider source code

```go
type R struct {
Environment types.Map `tfsdk:"environment"`
}
...
env := map[string]string{"t": "e"} // we have a map with 1 entry

// r.Environement is null (IsNull() = true)
diags.Append(r.Environment.ElementsAs(ctx, &env, false)...)
if diags.HasError() {
return env // no error reported
}

// Here, env is null
env["PHP_VERSION"] = "8"
```

### Terraform Configuration Files
```hcl
not relevant
```

### Debug Output

### Expected Behavior
The initial map untouched

### Actual Behavior

```
panic: assignment to entry in nil map

goroutine 268 [running]:
go.clever-cloud.com/terraform-provider/pkg/resources/php.(*PHP).toEnv.func3({0x1589900, 0x1})
/terraform-provider-clevercloud/pkg/resources/php/resource_php_schema.go:110 +0x1c5
go.clever-cloud.com/terraform-provider/pkg.IfIsSet({0x20?, {0x1589900?, 0xea0b14?}}, 0x9?)
/terraform-provider-clevercloud/pkg/types.go:9 +0x32
/terraform-provider/pkg/resources/php.(*PHP).toEnv(0xc0002d8000, {0x100d320, 0xc00027f410}, {0x0, 0x0, 0x0})
/terraform-provider-clevercloud/pkg/resources/php/resource_php_schema.go:105 +0x785
go.clever-cloud.com/terraform-provider/pkg/resources/php.(*ResourcePHP).Create(0xc00056f8a8, {0x100d320, 0xc00027f410}, {{{{0x1012000, 0xc000295d40}, {0xd87c40, 0xc000294c60}}, {0x1013488, 0xc000752320}}, {{{0x1012000, ...}, ...}, ...}, ...}, ...)
```

### Steps to Reproduce

### References

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.