mirror of
https://github.com/hashicorp/packer.git
synced 2026-02-20 00:10:04 -05:00
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
|
||
|---|---|---|
| .. | ||
| alicloud/ecs | ||
| amazon | ||
| azure | ||
| cloudstack | ||
| digitalocean | ||
| docker | ||
| file | ||
| googlecompute | ||
| hcloud | ||
| hyperone | ||
| hyperv | ||
| jdcloud | ||
| linode | ||
| lxc | ||
| lxd | ||
| ncloud | ||
| null | ||
| oneandone | ||
| openstack | ||
| oracle | ||
| osc | ||
| parallels | ||
| profitbricks | ||
| proxmox | ||
| qemu | ||
| scaleway | ||
| tencentcloud/cvm | ||
| triton | ||
| ucloud | ||
| vagrant | ||
| virtualbox | ||
| vmware | ||
| vsphere | ||
| yandex | ||
| generated_data.go | ||
| generated_data_test.go | ||