hashicorp / hashicorp/terraform-plugin-codegen-framework

Consider Handling of Terraform-specific Behaviour Properties

Open
#116 0 comments 1 reaction 0 assignees View on GitHub
enhancement
Dominant language
Go
Stars
57
Forks
29
Avg merge
2d 13h
Merged PRs (30d)
1

Description

### Use Cases or Problem Statement

Automated generation of provider schema Go code for predefined Plan Modifiers would simplify code generation.

Currently, in order to have a predefined Plan Modifier appear in the generated schema, the spec that is fed to the generator needs to explicitly define the Plan Modifier as follows:

```json
"plan_modifiers": [
{
"custom": {
"imports": [
{
"path": "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier"
}
],
"schema_definition": "stringplanmodifier.UseStateForUnknown()"
}
}
]
```

If [Consider Adding Terraform-specific Behaviour Properties](https://github.com/hashicorp/terraform-plugin-codegen-spec/issues/85) is implemented in codegen-spec, then modifications to codegen-framework will be required in order to process these new fields in the spec.

### Proposal

Track [Consider Adding Terraform-specific Behaviour Properties](https://github.com/hashicorp/terraform-plugin-codegen-spec/issues/85) is implemented in codegen-spec, and add relevant code to process new behaviour properties if/when they are added to codegen-spec.

### Additional Information

References:

- [Consider Adding Terraform-specific Behaviour Properties](https://github.com/hashicorp/terraform-plugin-codegen-spec/issues/85)
- [Remove Framework-specific Implementation Details from Plan Modifiers](https://github.com/hashicorp/terraform-plugin-codegen-spec/issues/83#top)
- [Removing framework-specific implementation details from plan modifiers](https://github.com/hashicorp/terraform-plugin-codegen-spec/pull/84#top)

### Code of Conduct

- [X] I agree to follow this project's Code of Conduct

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.