13798 Commits

Author SHA1 Message Date
Paul Meyer
cb729e5a38 Add documentation to config struct 2019-10-15 21:13:37 +00:00
Paul Meyer
27a5bfe11c Add implementation for disk as source 2019-10-15 21:13:37 +00:00
Paul Meyer
eff3f2bdcf Add test for disk input validation 2019-10-15 21:13:37 +00:00
Paul Meyer
57cff8961a Allow skipping OSDisk cleanup 2019-10-15 21:13:37 +00:00
Paul Meyer
6dee4d2d32 Wait for detach optimization 2019-10-15 21:13:37 +00:00
Paul Meyer
bbac79f0a4 Make PIR images work 2019-10-15 21:13:37 +00:00
Paul Meyer
b5401d552a Make from_scratch work 2019-10-15 21:13:37 +00:00
Paul Meyer
b9b5bb2951 Use DiskStorageAccountTypes 2019-10-15 21:13:37 +00:00
Paul Meyer
7297d74c98 Add azure-chroot builder plugin 2019-10-15 21:13:37 +00:00
Paul Meyer
b4d0865548 Update azure-chroot builder 2019-10-15 21:13:37 +00:00
Paul Meyer
e11a5bdb40 Put os disk id in state 2019-10-15 21:13:37 +00:00
Paul Meyer
77b782c5b5 Add StepEarlyCleanup 2019-10-15 21:13:37 +00:00
Paul Meyer
977ca5be1c Add StepCopyFiles and StepChrootProvision 2019-10-15 21:13:37 +00:00
Paul Meyer
9a3e6661b1 Add StepMountExtra 2019-10-15 21:13:37 +00:00
Paul Meyer
addbdedea9 Add StepPostMountCommands 2019-10-15 21:13:37 +00:00
Paul Meyer
d1f8b8545d Add StepAttachDisk 2019-10-15 21:13:37 +00:00
Paul Meyer
4d750ddefa Reuse amazon/chroot/step_pre_mount_commands.go 2019-10-15 21:13:37 +00:00
Paul Meyer
45d3f28c67 Add StepCreateNewDisk 2019-10-15 21:13:37 +00:00
Paul Meyer
3d329cf87d Add chroot builder framework 2019-10-15 21:13:37 +00:00
Paul Meyer
369ec9a84c Create disk attacher component 2019-10-15 21:13:37 +00:00
Paul Meyer
3c33aa4fc5 Add metadata client 2019-10-15 21:13:37 +00:00
Paul Meyer
113dc12346 Add function to detect whether Packer is running on Azure 2019-10-15 21:13:37 +00:00
Paul Meyer
f106adbd12 Add Azure client set for chroot builder 2019-10-15 21:13:37 +00:00
Paul Meyer
2ded8f25ec Add metadata client 2019-10-15 21:13:37 +00:00
Paul Meyer
72fdce09ba Allow GetServicePrincipalToken to be called independently 2019-10-15 21:13:37 +00:00
Jonathan Walker (Keenan)
6c486c4ab8
Fix "Acces" typo in amazon-ebs.html.md.erb
Found and fixed a typo in the Amazon EBS documentation for "Access"
2019-10-15 15:42:43 -04:00
Megan Marsh
3d5af49bf3
Merge pull request #8231 from yooakim/patch-1
Changed from jq to JMESPath queries
2019-10-15 10:25:55 -07:00
Adrien Delorme
9dac7908a5 Update mapstructure-to-hcl2.go
better comments
2019-10-15 15:25:01 +02:00
Adrien Delorme
71f80e2ad2 Update amazon-chroot.html.md.erb
unlink removed type
2019-10-15 15:17:05 +02:00
Vladimír
d6994df188
Select first adapter attached to host OS's switch
If more than one vNic is attached to vmSwitch, use the first one only.
2019-10-15 15:14:22 +02:00
Adrien Delorme
0e4fec03d7 make complete tests files link as windows can't handle synlinks 2019-10-15 12:56:43 +02:00
Adrien Delorme
21a0cbffba fmt 2019-10-15 12:56:43 +02:00
Adrien Delorme
1158eeb46d Update Makefile
to @go install ./cmd/mapstructure-to-hcl2 so that we can `make generate` and tests that generated code is what it should be
2019-10-15 12:56:43 +02:00
Adrien Delorme
a8b2918d0e remote duplicate gob.Register(new(map[string]interface{}))
otherwise this panics
2019-10-15 12:56:42 +02:00
Adrien Delorme
8b1fcbb3bd vendor vendors 2019-10-15 12:56:42 +02:00
Adrien Delorme
2b0e0d4eab add hcl2template pkg
Package hcl2template defines code to parse hcl2 template files correctly.

In order to configure a packer builder,provisioner,communicator and post
processor.

Checkout the files in testdata/complete/ to see what a packer config could
look like.
2019-10-15 12:56:42 +02:00
Adrien Delorme
078ba7c8c3 commit old code generation tool
for history
2019-10-15 12:56:42 +02:00
Adrien Delorme
0eb9090dcf Create mapstructure-to-hcl2.go
mapstructure-to-hcl2 fills the gaps between hcl2 and mapstructure for Packer

By generating a struct that the HCL2 ecosystem understands making use of
mapstructure tags.

Packer heavily uses the mapstructure decoding library to load/parse user
config files. Packer now needs to move to HCL2.

Here are a few differences/gaps betweens hcl2 and mapstructure:

 * in HCL2 all basic struct fields (string/int/struct) that are not pointers
  are required ( must be set ). In mapstructure everything is optional.

 * mapstructure allows to 'squash' fields
 (ex: Field CommonStructType `mapstructure:",squash"`) this allows to
 decorate structs and reuse configuration code. HCL2 parsing libs don't have
 anything similar.

mapstructure-to-hcl2 will parse Packer's config files and generate the HCL2
compliant code that will allow to not change any of the current builders in
order to move to HCL2 to softly move to HCL2.
2019-10-15 12:56:42 +02:00
Adrien Delorme
438f704333 fmt 2019-10-15 12:56:42 +02:00
Adrien Delorme
193d3e6bbd provisioner.windows-shell: demove duplicate ExecuteCommand field 2019-10-15 12:56:42 +02:00
Adrien Delorme
771a6e55ef pp.google.[import|export]: unexport Account field
so it doesnt temper with hcl2 cfg generation
2019-10-15 12:56:42 +02:00
Adrien Delorme
af08e2a410 pp.alicloud-import: remove duplicate AlicloudImageName field
( already defined in packerecs.Config )
2019-10-15 12:56:42 +02:00
Adrien Delorme
7be94f41a6 common.shell-local: unexport Ctx field
so that it doesn't temper with hcl2 generation
2019-10-15 12:56:42 +02:00
Adrien Delorme
766e5c77ef builder.vmware.vmx: remove duplicate RemoteType field. 2019-10-15 12:56:42 +02:00
Adrien Delorme
00e3f97f5b builder.vmware.iso: remove duplicate Format field 2019-10-15 12:56:42 +02:00
Adrien Delorme
6fbd664b66 builder.vagrant: simplify communicator.Config field 2019-10-15 12:56:42 +02:00
Adrien Delorme
3fe1c96491 builder.proxmox: make ProxmoxURL *url.URL field unexported
the only exported field we/users care about is ProxmoxURLRaw
2019-10-15 12:56:42 +02:00
Adrien Delorme
40692a4e38 builder.profitbricks: remove duplicate communicator.Config field 2019-10-15 12:56:41 +02:00
Adrien Delorme
3fa614b5e1 builder.oracle.oci: make ConfigProvider unexported
so that it doesn't temper with hcl2 code generation & parsing.

The field is set only later on after further processing.
2019-10-15 12:56:41 +02:00
Adrien Delorme
17c069baa5 builder.google:
* make CustomerEncryptionKey our own type so that it can be hcl2 generated
* make Account setting unexported so that it doesn't temper with HCL2 generation ( the field is set a bit later after processing )
2019-10-15 12:56:41 +02:00