packer-cn/common
Adrien Delorme 40947c2bf6
HCL2: generate hcl tags with go-cty tags too (#9306)
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
  system_disk_mapping        = { disk_category = null, disk_delete_with_instance = null, disk_descri
ption = null, disk_device = null, disk_encrypted = null, disk_name = "name", disk_size = null, disk_
snapshot_id = null }
  image_disk_mappings        = null
  ssh_remote_tunnels         = null
  ssh_local_tunnels          = null
  ssh_public_key             = null
  ssh_private_key            = null
}
```

This is a good first step for #9015 and #9282 

fix #9304
2020-05-28 11:19:00 +02:00
..
adapter allow a provisioner to timeout 2019-04-08 20:09:21 +02:00
bootcommand properly document how to set boot_wait to 0s 2020-04-07 16:43:33 -07:00
chroot Sharing info with post-processors via artifact (#8632) 2020-01-30 11:27:58 +01:00
filelock Shadow the flock pkg & add a noop filelock so that at least the solaris binary can be built 2019-04-30 16:01:23 +02:00
iochan use our own copy of iochan.LineReader 2019-04-11 14:25:24 +02:00
json common/json: add Unmarshal with method with syntax errors 2013-08-09 16:50:24 -07:00
net configure_port_test.go: don't panic when error is not what we expected 2019-09-05 17:03:54 +02:00
powershell hyperv: add support for setting the boot order (#9046) 2020-04-30 13:31:41 +02:00
random Fix azure winrm_password attribution and allow to set winrm_username (#8928) 2020-03-24 14:43:24 +01:00
retry builder/azure-arm: Update logic for setting subscriptionID (#8685) 2020-02-04 10:54:58 -05:00
shell use shell struct in shell-local provisioner and post-processor. 2019-11-21 16:47:29 -08:00
shell-local HCL2: generate hcl tags with go-cty tags too (#9306) 2020-05-28 11:19:00 +02:00
shutdowncommand Change back to make sure all durations are a time.Duration 2019-10-31 16:12:07 +01:00
template introduce the clean_resource_name to clean image names and deprecate the old ones 2019-04-03 11:25:51 +02:00
test-fixtures Add iso config test for checksum from file specific case (#8897) 2020-03-18 11:32:51 +01:00
uuid Simplifies the implementation of common/uuid 2013-10-23 23:05:02 +01:00
command.go Move CommandWrapper & ShellCommand to common 2019-10-24 04:06:29 +00:00
config.go Use the hashicorp/go-getter to download files 2019-03-13 12:11:58 +01:00
floppy_config.go packer.io prefix removal, html extension remove for in-code errors 2020-04-07 17:53:22 -04:00
floppy_config_test.go tests actually test the floppies 2016-07-27 21:59:21 +01:00
http_config.go document HTTPConfig from struct 2019-06-14 11:52:38 +02:00
http_config_test.go use port as ints 2019-03-19 15:01:12 +01:00
iso_config.go Drop the iso_checksum_type & iso_checksum_url fields (#8437) 2020-05-28 11:02:09 +02:00
iso_config_test.go Drop the iso_checksum_type & iso_checksum_url fields (#8437) 2020-05-28 11:02:09 +02:00
multistep_debug.go fix imports 2018-01-24 17:09:17 -08:00
multistep_runner.go implement abort logic and printing for the askstep implementation as well 2019-07-26 12:24:03 -07:00
packer_config.go replace scrubconfig with packer.LogSecretFilter.Set 2018-08-20 15:35:55 -07:00
retry.go builder/virtualbox-ovf retry removing VM. 2017-10-25 10:27:33 -07:00
retry_test.go post-processor/vagrant-cloud: try upload once 2017-06-12 17:34:32 -07:00
step_cleanup_temp_keys.go allow a provisioner to timeout 2019-04-08 20:09:21 +02:00
step_create_floppy.go use printf for logging 2019-09-13 01:53:42 +03:00
step_create_floppy_test.go Merge pull request #8310 from alrs/resuscitate-common-floppy-tests 2019-11-04 15:50:46 +01:00
step_download.go Drop the iso_checksum_type & iso_checksum_url fields (#8437) 2020-05-28 11:02:09 +02:00
step_download_test.go Drop the iso_checksum_type & iso_checksum_url fields (#8437) 2020-05-28 11:02:09 +02:00
step_http_server.go Replace file shared state by statebag (#9238) 2020-05-19 11:49:48 +02:00
step_output_dir.go rename interpolation context from ctx to ictx and contexts to ctx to avoid conflicts 2019-04-03 15:56:15 +02:00
step_output_dir_test.go deduplicate step_output_dir and move to common folder 2019-01-11 15:06:36 -08:00
step_provision.go Replace file shared state by statebag (#9238) 2020-05-19 11:49:48 +02:00
step_provision_test.go Replace file shared state by statebag (#9238) 2020-05-19 11:49:48 +02:00
terminal.go Moved the progress bar out of packer.Ui and unlinked it out of all the packer.Ui implementations. Split up the terminal-related functions into a separate terminal.go and calculate the progress bar width by traversing through packer.Ui to avoid the issue with github.com/ugorji/go/codec serializing private members (or unsafe pointers) of structs. Shuffled some arguments around in getConsoleScreenBufferInfo in common/terminal_windows.go so that the interface forces the user to correctly declare a _CONSOLE_SCREEN_BUFFER_INFO type. 2018-08-20 21:55:18 -05:00
terminal_posix.go fix goimports 2020-02-06 18:18:03 +01:00
terminal_test.go Moved the progress bar out of packer.Ui and unlinked it out of all the packer.Ui implementations. Split up the terminal-related functions into a separate terminal.go and calculate the progress bar width by traversing through packer.Ui to avoid the issue with github.com/ugorji/go/codec serializing private members (or unsafe pointers) of structs. Shuffled some arguments around in getConsoleScreenBufferInfo in common/terminal_windows.go so that the interface forces the user to correctly declare a _CONSOLE_SCREEN_BUFFER_INFO type. 2018-08-20 21:55:18 -05:00
terminal_windows.go Moved the progress bar out of packer.Ui and unlinked it out of all the packer.Ui implementations. Split up the terminal-related functions into a separate terminal.go and calculate the progress bar width by traversing through packer.Ui to avoid the issue with github.com/ugorji/go/codec serializing private members (or unsafe pointers) of structs. Shuffled some arguments around in getConsoleScreenBufferInfo in common/terminal_windows.go so that the interface forces the user to correctly declare a _CONSOLE_SCREEN_BUFFER_INFO type. 2018-08-20 21:55:18 -05:00