• Adrien Delorme's avatar
    HCL2: generate hcl tags with go-cty tags too (#9306) · 40947c2b
    Adrien Delorme authored
    This will allow to generate the config files:
    
    ```go
    package main
    
    import (
    	"fmt"
    
    	"github.com/hashicorp/hcl/v2/gohcl"
    	"github.com/hashicorp/hcl/v2/hclwrite"
    	"github.com/hashicorp/packer/builder/alicloud/ecs"
    )
    
    func main() {
    	name := "name"
    	app := ecs.FlatConfig{
    		AlicloudImageName: &name,
    		ECSSystemDiskMapping: &ecs.FlatAlicloudDiskDevice{
    			DiskName: &name,
    		},
    	}
    
    	f := hclwrite.NewEmptyFile()
    	block := gohcl.EncodeAsBlock(&app, `source "something" "something"`)
    	f.Body().AppendBlock(block)
    	fmt.Printf("%s", f.Bytes())
    }
    
    ```
    
    Will output:
    
    ```
    source "something" "something" {
      packer_user_variables      = null
      packer_sensitive_variables = null
      image_name                 = "name"
      image_share_account        = null
      image_unshare_account      = null
      image_copy_regions         = null
      image_copy_names           = null
      tags                       = null
      tag                        = null
     ...
    40947c2b