opentofu/internal/command/jsonplan
Liam Cervante 4d837df546
Plannable import: Add generated config to JSON and human-readable plan output (#33154)
* command: keep our promises

* remove some nil config checks

Remove some of the safety checks that ensure plan nodes have config attached at the appropriate time.

* add GeneratedConfig to plan changes objects

Add a new GeneratedConfig field alongside Importing in plan changes.

* add config generation package

The genconfig package implements HCL config generation from provider state values.

Thanks to @mildwonkey whose implementation of terraform add is the basis for this package.

* generate config during plan

If a resource is being imported and does not already have config, attempt to generate that config during planning. The config is generated from the state as an HCL string, and then parsed back into an hcl.Body to attach to the plan graph node.

The generated config string is attached to the change emitted by the plan.

* complete config generation prototype, and add tests

* Plannable import: Add generated config to json and human-readable plan output

---------

Co-authored-by: Katy Moe <katy@katy.moe>
2023-05-11 08:50:03 +02:00
..
doc.go [COMPLIANCE] Add Copyright and License Headers 2023-05-02 15:33:06 +00:00
module.go [COMPLIANCE] Add Copyright and License Headers 2023-05-02 15:33:06 +00:00
plan_test.go [COMPLIANCE] Add Copyright and License Headers 2023-05-02 15:33:06 +00:00
plan.go Plannable import: Add generated config to JSON and human-readable plan output (#33154) 2023-05-11 08:50:03 +02:00
resource.go [COMPLIANCE] Add Copyright and License Headers 2023-05-02 15:33:06 +00:00
values_test.go [COMPLIANCE] Add Copyright and License Headers 2023-05-02 15:33:06 +00:00
values.go [COMPLIANCE] Add Copyright and License Headers 2023-05-02 15:33:06 +00:00