Commit Graph

503 Commits

Author SHA1 Message Date
Paul Meyer 0ee77f8b0e Add datadisks to disk set when using SIG as source 2020-05-28 23:37:43 +00:00
Paul Meyer 12f746b2b5 Move to using a diskset
Need to store lun numbers for data disks as well
2020-05-28 23:37:43 +00:00
Paul Meyer 3a3e6e525b Shift names to diskset
Instead of one disk, we'll be working with a set of disks.
2020-05-28 23:37:43 +00:00
Paul Meyer c9284d03aa Add config for data disk/snapshot naming 2020-05-28 23:37:38 +00:00
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
Feiyu Shi fdb0b2ab03 Revert "validate if user assigned identity exists"
This reverts commit 9bd19df040.
2020-05-26 17:17:48 -07:00
Feiyu Shi c016f3752a upgrade SIG source api-version to match identity api-version to avoid potential setback for identity 2020-05-26 16:08:00 -07:00
Feiyu Shi 3fdab998f8 check error 2020-05-25 12:33:33 -07:00
Feiyu Shi 9bd19df040 validate if user assigned identity exists 2020-05-24 19:05:46 -07:00
Feiyu Shi b334458b91 use empty struct for UserAssignedIdentities map value; omitempty 2020-05-24 19:05:45 -07:00
Feiyu Shi c5e2eff847 change to []*Resource 2020-05-24 19:05:45 -07:00
Feiyu Shi 3e3fdaa24e make generate 2020-05-24 19:05:45 -07:00
Feiyu Shi 76a7ab25e2 add SetIdentity test 2020-05-24 19:05:45 -07:00
Feiyu Shi 764f99ec7b add correct api-version 2020-05-24 19:05:45 -07:00
Feiyu Shi f7f033a7fd add config validation test 2020-05-24 19:05:45 -07:00
Feiyu Shi 10b0a4548f add identity resource id validation 2020-05-24 19:05:45 -07:00
Feiyu Shi 7c1a62dfed set identity field in the template 2020-05-24 19:05:45 -07:00
Feiyu Shi d9c9bfbae8 add identity field to the template 2020-05-24 19:05:45 -07:00
Feiyu Shi b5b2982772 add user_assigned_managed_identities to the config 2020-05-24 19:05:45 -07:00
Megan Marsh 58b32ebefa
Merge pull request #9251 from hashicorp/fix_9249
builder/azure-arm: Update runtime constants with a valid DataDiskName
2020-05-19 11:00:44 -07:00
Sylvia Moss 1c30a71d09
Replace file shared state by statebag (#9238) 2020-05-19 11:49:48 +02:00
Wilken Rivera c954831bb2 builder/azure-arm: Update runtime constants with a valid DataDiskName
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
2020-05-18 14:57:20 -04:00
Wilken Rivera f31f5bc61b docs/builder/azure-arm: Fix a small typo for the custom_managed_image_* config options
Closes #9199
2020-05-14 13:31:40 -04:00
Evan Digby e4eaff6bba
s/Directoty/Directory (#9221) 2020-05-14 15:00:27 +02: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
Wilken Rivera 86ab71f56e
test/azure/arm: Add regression test case for ssh_username overrides (#9136)
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
2020-04-30 10:49:58 +02:00
Wilken Rivera e0d2f4fd69
builder/azure-arm: Fix SSH connection for temporary admin users specified in `ssh_username` (#9103) 2020-04-23 11:04:49 +02:00
Paul Meyer 26d768f429
[builder/azure-chroot] Shared image source (#9070) 2020-04-23 11:03:17 +02:00
Lars Lehtonen ab119d3270
builder/azure/chroot: fix dropped error (#9106) 2020-04-23 10:53:13 +02:00
Adrien Delorme da4a5224be
HCL2 singular blocks: use key/value or name/value depending on how the service names things (#9078)
* 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>
2020-04-23 10:46:49 +02:00
Matthew Sanabria 761abdda4e
Updating documentation for azure-arm builder (#9097) 2020-04-21 10:47:48 +02:00
vijayrajah 5d2fee04b2
builder/azure: enable boot Diagnostics (#9053)
* enable boot Diagnostics
2020-04-20 07:29:13 -04:00
Paul Meyer 89f3aa0bd6
[builder/azure-arm] Use VM/build location for image location (#9068)
* [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.
2020-04-17 05:43:03 -04:00
Megan Marsh 08787ba31f
Merge pull request #9028 from vijayrajah/set_azure_custom_res_names
Set Custom Resource Names for Azure-Arm builds
2020-04-16 15:58:41 -07:00
Vijay Rajah da7382980a Fix failing test & format code 2020-04-17 00:17:39 +05:30
vijayrajah fff06353b7
Update builder/azure/arm/tempname.go
refactor the code.. thanks for the suggestion @sylviamoss

Co-Authored-By: Sylvia Moss <sylviamoss.m@gmail.com>
2020-04-17 00:04:39 +05:30
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
Paul Meyer 621bd8ccac Fix error message grammar 2020-04-09 20:55:10 +00:00
Paul Meyer 89a8238a07 Fix artifact output 2020-04-09 20:54:50 +00:00
Paul Meyer 47107e6355 Default polling delay 5 sec 2020-04-09 20:37:23 +00:00
Vijay Rajah 9209826bfe Update the doc with more info 2020-04-10 00:34:56 +05:30
Paul Meyer 4ffe5611b8 Add more tests 2020-04-08 21:05:26 +00:00
Vijay Rajah 1e66a1b355 Fix linting & code generation 2020-04-09 00:00:13 +05:30
Vijay Rajah 56bf8bd686 Merge branch 'set_azure_custom_res_names' of github.com:vijayrajah/packer into set_azure_custom_res_names 2020-04-08 23:54:21 +05:30
vijayrajah a3c580f2ac
Merge branch 'master' into set_azure_custom_res_names 2020-04-08 23:51:58 +05:30
Vijay Rajah 53f54000e6 generate spec & fix typo 2020-04-08 23:42:49 +05:30
Paul Meyer b12aedcda9 Remove lint 2020-04-07 23:09:42 +00:00
Paul Meyer 5c89d22fa2 generated & docs 2020-04-07 23:05:09 +00:00
Paul Meyer 2240ead39c [azure/chroot] Add shared image output 2020-04-07 22:49:24 +00:00
Paul Meyer 73edd9d3d2 Make skip_cleanup generic 2020-04-07 22:49:24 +00:00
Paul Meyer 90188bb18d add func for searching string slice 2020-04-07 22:49:24 +00:00
Paul Meyer a3d8bf27e1 Add snapshot and gallery clients 2020-04-07 22:49:24 +00:00
Paul Meyer cfe37057bd Use const for statebag key 2020-04-07 22:49:24 +00:00
Paul Meyer f3703a775f Use subscription id from client set 2020-04-07 22:49:24 +00:00
Paul Meyer 6131301fdd Standardize compute SDK version 2020-04-07 22:49:24 +00:00
Paul Meyer f73a673b99 Extract build steps generation
Add tests for build step generation
2020-04-07 22:49:21 +00:00
Paul Meyer c167ef91ce Move PIR :latest resolution to step 2020-04-07 22:49:21 +00:00
Paul Meyer f0ec912ba6 Make VirtualMachineImagesClient easier to mock 2020-04-07 22:49:21 +00:00
Paul Meyer a3b49cdc08 Stub metadata service for builder tests 2020-04-07 22:49:21 +00:00
Paul Meyer b3e361a139 Extract testUI func 2020-04-07 22:49:20 +00:00
Jeff Escalante 81b08898ba
update generated pages after rebase 2020-04-07 17:53:26 -04:00
Jeff Escalante 9165be87da
packer.io prefix removal, html extension remove for in-code errors 2020-04-07 17:53:22 -04:00
Jeff Escalante 4afd107eeb
patch source files for extensions changes 2020-04-07 17:50:51 -04:00
Vijay Rajah cd41ad1a40 change resource names 2020-04-07 02:17:50 +05:30
Vijay Rajah 90a0c5ec49 fix more typos ( ')]' ) 2020-04-06 22:02:43 +05:30
vijayrajah 620c791473
Merge branch 'master' into feature/datadisk-change_name 2020-04-06 21:52:43 +05:30
Vijay Rajah 1009e8c983 fix more typos 2020-04-06 21:50:05 +05:30
Vijay Rajah 1314d69b51 fix typo (add missing ')]' ) 2020-04-06 11:40:05 +05:30
Vijay Rajah 0589f57d4d Update tests for datadisk name change 2020-04-05 01:16:24 +05:30
Megan Marsh b804e5a8f5
Merge pull request #8987 from VaijanathB/azure-devtestlabs-take2
Building Azure devtestlabs Images using Packer - update
2020-04-03 11:14:31 -07:00
vijayrajah aba9797730
Fix :: allow Managed data disks to be used with azure shared image gallery image Sources (#8912) 2020-04-03 10:18:02 +02:00
Vaijanath Angadihiremath 20379c9eff Rebasing with origin/master and fixing issues 2020-04-02 18:15:08 -07:00
Vaijanath Angadihiremath 8194b664af Fixing issues due to merge. 2020-04-02 17:25:41 -07:00
Vaijanath Angadihiremath b7d85b8a23 Added acceptance tests for DTL. Fixed couple of issues with DTL root resource group not set to new directory 2020-04-02 17:23:21 -07:00
Vaijanath Angadihiremath 69015b1870 Fixing the linting errors 2020-04-02 17:22:39 -07:00
Vaijanath Angadihiremath fd21b669db Fixing the linting errors now required for merging 2020-04-02 17:22:16 -07:00
Vaijanath Angadihiremath d43fb441b9 Updating the credentials to be picked up from environment variables. 2020-04-02 17:18:00 -07:00
Vaijanath Angadihiremath e726902116 Fixing the latest changes from the merge 2020-04-02 17:16:31 -07:00
Vaijanath Angadihiremath 645cdf1a59 Updating the modules to include update to autorest 12.4 2020-04-02 17:13:36 -07:00
Vijay Rajah 5340af4d49 Merge remote-tracking branch 'upstream/master' into feature/datadisk-change_name 2020-04-02 21:53:47 +05:30
Vijay Rajah d82475566a change datadisk names -- WIP 2020-04-02 21:28:38 +05:30
Sylvia Moss e6368b9246
Fix azure winrm_password attribution and allow to set winrm_username (#8928) 2020-03-24 14:43:24 +01:00
Vijay Rajah dd04108ac8 Fix :: allow Managed data disks to be used with azure shared image gallery image Sources 2020-03-19 12:11:34 +05:30
Megan Marsh 28797dd709 replace the homegrown vault delete functions in azure with the sdk ones. 2020-03-18 13:48:54 -07:00
Megan Marsh e7dba3e55e fix error cleaning up existing keyvault 2020-03-18 13:48:54 -07: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
Adrien Delorme 9a74ce60d5 Update config.go 2020-03-16 15:12:13 +01:00
Adrien Delorme 45695608b5 WIP 2020-03-16 12:21:46 +01:00
Adrien Delorme dab689ce2e WIP 2020-03-16 12:19:34 +01:00
Megan Marsh 6008f911fd
Merge pull request #8847 from takaishi/support-keyboard-interactive
communicator/ssh: support keyboard-interactive auth to connect bastion
2020-03-13 11:48:12 -07:00
Adrien Delorme 6e6490d688 WIP 2020-03-13 18:04:48 +01:00
r_takaishi f50ff1d270 make generate 2020-03-13 11:29:42 +09:00
Megan Marsh aeedc9af7a
Merge pull request #8879 from mbrancato/specify_keyvault_sku
Add support for configurable KeyVault SKU
2020-03-12 13:47:51 -07:00
Wilken Rivera 7b705545d9
docs: Various doc clean-ups to fix code block formatting and syntax highlighting (#8868) 2020-03-12 15:05:08 +01:00
Mike Brancato ebb161ae41 Fix config documentation 2020-03-11 21:43:37 -04:00
Mike Brancato 892622987c Add KeyVault parameter and fix whitespace 2020-03-11 21:13:10 -04:00
Mike Brancato 0f09638f7a Add HCL2 spec for KeyVault SKU 2020-03-11 20:48:34 -04:00