Run now takes a context as well as a statebag. We'll assign the context
to the blank identifier to prevent namespace collisions. We'll let the
step authors opt-in to using the context.
`find . -iname "step_*.go" -exec gsed -i'' 's/func \(.*\)Run(/func \1Run(_ context.Context, /' {} \;`
Location is required by default because you must specify where to create
the resource group containing the packer resources.
When using build_resource_group_name you are specifying that packer
should use an existing resource group and so the location that resources
are in can be determined by fetching the information from the existing
group.
It is forbidden to pass both variables as it is easier and more
intuitive that the location comes from the group rather than ignore a
parameter.
Closes: #5655
* Created a new parameter for using existing resource groups
* Implemented logic to ensure temp_ and build_ can't both be used
* Implemented logic to ensure they can only be used in correct context
* Implemented tests for this logic
* Updated where required to ensure the process works
This changeset will detect if the defined temporary resource group
already exists. If it does, it will not destroy it, but clean up
every resource required for building that is created by Packer
individually, both on success and failure.
Unit tests have been fixed, but more tests should be added for the new
functionalities.
There are two types for storage profile, but they use the same
serialization name (storageProfile). This creates problems, so I worked
around it by taking the union of this type as well as OS Disk.
* More unit testing to assert customer's configuration.
* Further reduce the options that are needed to power an Azure build.
This seems like a much more manageable level.
* Update all of the examples to use a more current VM sku.
* Add an example for RHEL.
* Move from OpenSuSE to SuSE.
* Update the docs.
The OAuth code was moved to the adal package.
Authorizers now ues an interface instead of a simple token.
Long running operations return a channel for the operation, and the
error.
There have been two issues raised where the user followed the error
message, but they needed to add yet another config value to disambiguate
the VNET. It would be better if the message over corrected, and asked the
user to specify everything to ensure complete disambiguation.
Two new configuration options have been exposed to allow users to specify
an existing virtual network: virtual_network_name and
virtual_network_resource_group_name.
* virtual_network_name: name of the virtual network to attach a Packer VM
to.
* virtual_network_resource_group_name: name of the resource group that
contains the virtual network. This value is optional. If the value is
not specified, the builder queries Azure for the appropriate value. If
the builder cannot disambiguate the value, a value must be provided for
this setting.
* virtual_network_subnet_name: name of the subnet attached to the virtual
network. This value is optional. If the value is not specified, the
builder queries Azure for the appropriate value. If the builder cannot
disambiguate the value, a value must be provided for this setting.
* azure-sdk-for-go to 3.1.0-beta
* go-autorest to 7.0.7
* dgrijalva/jwt-go to 3.0.0
Add the German cloud configuration.
Ensure the different cloud URLs are _actually_ used.
The in-project version of Approvals has been moved to its own GitHub
project under the offcial umbrella. This PR snaps to that version of the
code.an official version of Approvals
The in-project version of Approvals has been moved to its own GitHub
project under the offcial umbrella. This PR snaps to that version of the
code.
Check the response when fetching a secret from KeyVault. Any non-OK (200)
are considered to be an error. This will provide a more informed error
message for the user.
This is last merge that will happen from the github.com/Azure/packer-Azure
repository. All development is being over to this repository.
The biggest change in this merge is support for Windows. There are a few other
fixes as well.
* If the user cancels the build, clean up any resources.
* Output a reasonable build artifact.
* Log requests and responses with Azure.
* Support for US Government and the China clouds.
* Support interrupting long running tasks.
* Allow the user to set the image version.
* Device login support.