packer-cn/command/test-fixtures
Adrien Delorme 5ba134ac5b
JSON to HCL2 (minimal best-effort) transpiler (#9659)
hcl2_upgrade transforms a JSON build-file in a HCL2 build-file.
This starts a validated Packer core and from that core we generate an HCL 'block' per plugin/configuration. So for a builder, a provisioner, a post-processor or a variable. The contents of each block is just transformed as is and basically all fields are HCL2-ified.
A generated field can be valid in JSON but invalid on HCL2; for example JSON templating (in mapstructure) allows to set arrays of strings - like `x = ["a", "b"]` - with single strings - like `x="a"` -, HCL does not allow this.
Since JSON does not make the distinction between variables and locals, everything will be a variable. So variables that use other variables will not work.
hcl2_upgrade tries to transform go templating interpolation calls to HCL2 calls when possible, leaving the go templating calls like they are in case it cannot.

Work:
* transpiler
* tests
* update hcl v2 library so that output looks great.
* update docs
2020-08-25 10:51:43 +02:00
..
build-name-and-type HCL2: pass on builder type and name (#8956) 2020-04-09 11:14:37 +02:00
build-only Add complete HCL2 examples + allow to name a singular build.source blocks (#9490) 2020-07-02 11:07:59 +02:00
build-variable-sharing Revert "Share build info with Provisioner and Post-Processor via HCL2 variables (#9444)" 2020-07-02 15:07:29 +02:00
cleanup-script rename option to error-cleanup-privisoner, which I think is clearer 2019-09-25 13:43:29 -07:00
fix command/fix: validate resulting template [GH-2075] 2015-06-13 13:56:09 -04:00
fix-invalid command/fix: validate resulting template [GH-2075] 2015-06-13 13:56:09 -04:00
hcl add tests and update override example 2020-08-14 11:22:51 +02:00
hcl-only-except hcl work on only/except (#9454) 2020-06-23 10:53:16 +02:00
hcl2_upgrade_basic JSON to HCL2 (minimal best-effort) transpiler (#9659) 2020-08-25 10:51:43 +02:00
parallel add tests for cancellation while building 2019-05-06 15:07:57 +02:00
provisioners add tests and update override example 2020-08-14 11:22:51 +02:00
timeout test provisionning timeout 2019-04-08 20:09:21 +02:00
validate HCL2: add post-processors block to run multiple post-processor after a build (#9638) 2020-07-28 10:02:37 +02:00
validate-invalid command/validate: Add support for HCL2 configuration files 2020-06-05 14:24:39 -04:00
var-arg packer console for HCL2 (#9359) 2020-06-05 17:23:54 +02:00