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
Megan Marsh
4041cb7775
generated code
2020-05-19 16:10:51 -07:00
Megan Marsh
557eb015ea
make artifice post-processor play nicely with vagrant post-processor, including template validation., Update docs for each.
2020-05-19 15:52:12 -07:00
Megan Marsh
b982d987a7
Add Artifice postprocessor ID to valid artifacts for postprocessors that perform artifact type validation
2020-05-15 13:13:43 -07:00
Wilken Rivera
aa2c069067
Update post-processor/alicloud-import/post-processor.go
2020-05-13 10:19:55 -04:00
Adrien Delorme
c2d3e494b6
alicloud: better docs + autogenerated post processor docs
2020-05-13 15:49:34 +02:00
Megan Marsh
9476aa03de
Merge pull request #9105 from hashicorp/google_iap
...
Implement iap proxy for googlecompute
2020-05-08 12:40:42 -07:00
Megan Marsh
f67a8ab431
revert unneeded changes to driver roles
2020-05-08 10:13:42 -07:00
Megan Marsh
e6073bcec7
implement iap proxy for googlecompute. ssh-only so far
2020-05-08 10:13:42 -07:00
Megan Marsh
7c13cc5744
swap out tag for tags since it's a list
...
add fixer for docker tag to tags change
2020-05-07 13:24:25 -07:00
Megan Marsh
26d05abd4f
Merge pull request #9182 from hashicorp/fix_9131
...
support pushing multiple tags
2020-05-07 12:09:19 -07:00
Megan Marsh
841c23d5f9
fix tests
2020-05-06 17:14:27 -07:00
Megan Marsh
02c1cf5b28
support pushing multiple tags
2020-05-06 16:39:41 -07:00
Wilken Rivera
dc6de091e7
Merge pull request #9146 from jhawk28/bug_9141
...
add vsphere builder's artifact to vsphere-template's supported types
2020-05-05 14:27:52 -04:00
Megan Marsh
6a682aca2e
Merge pull request #9124 from GennadySpb/yandex-export-post-processor
...
[WIP] Yandex export post processor
2020-05-05 11:01:13 -07:00
Megan Marsh
7e0cfd8b77
add undocumented tag to struct-markdown generator so that we can leave internal-use-only fields out of docs
2020-05-01 10:31:38 -07:00
Joshua Foster
00d0632f4a
add vsphere builder's artifact to vsphere-template's supported types
2020-05-01 11:17:31 -04:00
Gennady Lipenkov
2658d58507
Fixes
2020-04-27 10:12:41 +03:00
Gennady Lipenkov
d5a6781fb7
Add new 'yandex-export' post-processor
2020-04-27 02:20:30 +03:00
Adrien Delorme
73242e8de4
make sure keyvalue and namevalue filters are using the same naming as the service being used
2020-04-16 17:22:13 +02:00
Adrien Delorme
840e67f775
HCL2: when we see a map generate an attribute spec instead of a block spec ( #9035 )
...
* mapstructure-to-hcl2: when we see a map generate an attribute spec and not a block spec
this will alow to do
tags = {
key = "value"
}
instead of
tags {
key = "value"
}
This will also enable using variables directly for those tags
* generate code
* update tests
2020-04-14 16:05:13 +02:00
Adrien Delorme
2af40c762b
HCL2: pass on builder type and name ( #8956 )
...
* sets `packer_build_name` and `packer_builder_type` variables for builder provisioners and post-processors in HCL2
* allows to use the new `${source.type}` and `${source.name}` variables in HCL2
* fixes #8932
Note that the common.PackerConfig is used everywhere and was not set for HCL2, this had some implications:
For #8923 you can see the issue here:
dde74232f2/builder/lxd/config.go (L61-L63)
More random examples of where this could cause an issue :
0785c2f6fc/provisioner/ansible-local/provisioner.go (L380-L381)
b4efd13a4d/builder/amazon/ebs/builder.go (L232-L236)
* [All references to PackerConfig.PackerBuildName](https://sourcegraph.com/github.com/hashicorp/packer@ff6a039d5bb45e34ff761d9c52e8b98972288447/-/blob/common/packer_config.go#L7:2&tab=references )
* [All references to PackerConfig.PackerBuilderType](https://sourcegraph.com/github.com/hashicorp/packer@ff6a039d5bb45e34ff761d9c52e8b98972288447/-/blob/common/packer_config.go#L8:2&tab=references )
2020-04-09 11:14:37 +02:00
Megan Marsh
0f9415297f
Merge pull request #8679 from kwibus/gcp-fallback-image
...
[WIP] fix #8589 gcp public fallback image
2020-04-02 16:49:50 -07:00
Adrien Delorme
a9255c6ebe
Update post-processor.go
2020-03-17 16:37:16 +01:00
Adrien Delorme
88297c796d
Merge branch 'master' into hcl2_singular_blocks
2020-03-17 14:47:17 +01:00
Adrien Delorme
b5e8750f5f
Change key/value to name/value to remain consistent with Terraform
2020-03-17 11:23:11 +01:00
Adrien Delorme
87d6b2433f
make generate
2020-03-16 15:21:29 +01:00
r_takaishi
f50ff1d270
make generate
2020-03-13 11:29:42 +09:00
Wilken Rivera
e1a46ec293
Fix gosimple S1025 linting errors ( #8838 )
...
Remove unneeded use of fmt.Sprintf for variables that are already strings.
2020-03-04 15:31:30 -05:00
Lars Lehtonen
db7a40d6ea
post-processor/digitalocean-import/post-processor.go: replace deprecated session.New() with session.NewSession()
2020-03-03 11:53:40 -08:00
Wilken Rivera
9ec8b67392
Add golangci-lint to project ( #8686 )
...
* Add golangci-lint as linting tool
* Disable failing staticchecks to start; GitHub issue to handle coming soon
* Run `goimports -w` to repair all source files that have improperly
formatted imports
* makefile: Add ci-lint target to run on travis
This change adds a new make target for running golangci-lint on newly
added Go files only. This target is expected to run during Packer ci builds.
* .github/contributing: Add code linting instructions
* travis: Update job configuration to run parallel builds
2020-02-14 11:42:29 -05:00
Adrien Delorme
7d5f0c11af
add max_retries option to aws builders
2020-02-07 16:36:14 +01:00
Rens Sikma
c8062cc8b3
fix #8679 with source_image_project_id as list
2020-02-06 10:30:04 +01:00
Megan Marsh
c6dddb75cf
clarify artifice postprocessor wording to make it clear that it will not clean up old artifacts ( #8676 )
...
fix #5451
2020-01-31 16:45:18 +01:00
Sylvia Moss
dc31bad539
Sharing info with post-processors via artifact ( #8632 )
2020-01-30 11:27:58 +01:00
Sylvia Moss
0677b02e18
Share SourceImageName with provisioners and manifest post-processor ( #8603 )
2020-01-16 12:04:03 +01:00
Sylvia Moss
06a26e74b4
Override post-processor config when processing ( #8592 )
2020-01-14 11:13:16 +01:00
nywilken
5a54c99e98
post-processor/vagrant-cloud: Update error handling for VagrantCloud API responses
...
This change updates the underlying type of VagrantCloudErrors.Errors to match the expected errors response type and adds a simple test to verify the parsing of various error responses.
Tests before change
```
--- FAIL: TestVagranCloudErrors (0.00s)
client_test.go:23: failed to decode error response: json: cannot unmarshal array into Go struct field VagrantCloudErrors.errors of type map[string][]string
client_test.go:23: failed to decode error response: json: cannot unmarshal array into Go struct field VagrantCloudErrors.errors of type map[string][]string
client_test.go:26: failed to get expected response; expected "", got "error1. error2"
client_test.go:23: failed to decode error response: json: cannot unmarshal array into Go struct field VagrantCloudErrors.errors of type map[string][]string
client_test.go:26: failed to get expected response; expected "", got "message Bad credentials"
```
Test after change
```
--- PASS: TestVagranCloudErrors (0.00s)
```
2020-01-13 11:55:53 -05:00
Pit
d7d00d8069
Fix regression in docker-tag post-processor ( #8593 )
...
GH-8392 introduced the feature that multiple tags can be specified. This
(presumably inadvertently) broke the option to tag an image without the
actual tag specified -- Docker handles this by assuming `latest` as the
tag.
In addition, use-cases exist for the `repository` field containing the
tag already, which was also broken.
2020-01-13 11:41:52 +01:00
Hanjie Wang
d9a128a375
In Vagrant post-processor, check whether the host system is able to create a dummy Vagrant box before processing ( #8431 )
2020-01-08 11:33:39 -08:00
Megan Marsh
49a33c04cd
Merge pull request #8511 from TJM/vsphere_template_markas
...
[post-processor/vsphere-template] Simplify method to use vm.MarkAsTemplate (optionally)
2020-01-08 09:41:43 -08:00
Tommy McNeely
e469140678
workaround for mapstructure-to-hcl2 and booleans
2020-01-07 16:58:40 -07:00
Megan Marsh
21edd085c7
Merge pull request #8560 from alexyueer/feature/support_aliyun_profile_20200103
...
support aliyun profile
2020-01-07 12:45:54 -08:00
Tommy McNeely
7f7b54ea31
Use vm.MarkAsTemplate, optionally reregister
2020-01-06 15:34:50 -07:00
Rui Lopes
ec17b3d8fa
correctly handle the diskSize property as a qemu size string
2020-01-05 15:44:01 +00:00
alexyueer
ec4a7b6af0
support aliyun profile
2020-01-03 12:17:34 +08:00
zhuzhih2017
66445ecd2d
Merge pull request #8425 from haoshuwei/master
...
add show expired arg when describe image
2019-12-20 13:33:55 +08:00
haoshuwei
37dc411f30
add skip_image_validation arg to use an expired image as the soure image
...
Signed-off-by: haoshuwei <haoshuwei24@gmail.com>
2019-12-20 11:28:31 +08:00
Megan Marsh
b23425f637
use pointer to config rather than config
2019-12-19 11:27:21 -08:00
Adrien Delorme
4b7132c87c
Merge remote-tracking branch 'origin/master' into sharing_info
2019-12-17 11:57:09 +01:00