* add kex algorithm option to ssh config
* regenerate code
* This commit fixes old vmware acceptance tests that have not been run in some time. It does this in two parts:
1) It modifies the minimal vmware build configuration to use a custom kex algorithm, which enables the ssh connection to succeed.
2) It modifies logic in reading and defaulting hardware config values, which was crashing.
3) It adds a new acceptance test with a preseed file to test loading from an http directory.
This change fixes an issue where using the `disk_additional_size` configuration option would cause builds to fail.
Build results before the change
```
==> Builds finished but no artifacts were created.
Build 'azure-arm' errored: Code="DeploymentFailed" Message="At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/DeployOperations for usage details." Details=[{"code":"BadRequest","message":"{\r\n \"error\": {\r\n \"code
\": \"InvalidParameter\",\r\n \"message\": \"The entity name 'dataDisk.name' is invalid according to its validation rule: ^[^_\\\\W][\\\\w-._]{0,79}(?\u003c![-.])$.\",\r\n \"target\": \"dataDisk.name\"\r\n }\r\n}"}]
```
Build results after change
```
Build 'azure-arm' finished.
==> Builds finished. The artifacts of successful builds are:
--> azure-arm: Azure.ResourceManagement.VMImage:
OSType: Linux
ManagedImageResourceGroupName: test-pkr
ManagedImageName: wilkenPacker9249
```
Closes#9249
This test is for the regression fixed in #9103
Before fix
```
⇶ go test ./builder/azure/arm/... -run=TestConfigUserNameOverride
--- FAIL: TestConfigUserNameOverride (0.42s)
config_test.go:75: Expected 'c.Comm.SSHPassword' to be set to generated password, but found ""!
config_test.go💯 Expected 'UserName' to be set to 'override_winrm_username', but found "packer"!
FAIL
FAIL github.com/hashicorp/packer/builder/azure/arm 0.425s
FAIL
```
After fix
```
⇶ go test ./builder/azure/arm/... -run=TestConfigUserNameOverride
ok github.com/hashicorp/packer/builder/azure/arm 0.379s
```
* Fix variable names in error messages
* make sure keyvalue and namevalue filters are using the same naming as the service being used
* make docs a bit more readable for KeyValues too
* Update website/pages/docs/from-1.5/expressions.mdx
Co-Authored-By: Megan Marsh <megan@hashicorp.com>
Co-authored-by: Megan Marsh <megan@hashicorp.com>
* [builder/azure-arm] Use VM/build location for image locationThe builder was using the location of the containing resource group asthe image location, but the API call can only create images in the samelocation as the source VM that is being captured.
* 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