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