Commit Graph

305 Commits

Author SHA1 Message Date
stack72 804f5e1288 provider/azurerm: `azurerm_network_security_group` now polls for State
succeeded

This fixes #7122 where the SG was not fully configured before a
dependant service was created

```
make testacc TEST=./builtin/providers/azurerm
TESTARGS='-run=TestAccAzureRMNetworkSecurityGroup_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /vendor/)
TF_ACC=1 go test ./builtin/providers/azurerm -v
-run=TestAccAzureRMNetworkSecurityGroup_ -timeout 120m
=== RUN   TestAccAzureRMNetworkSecurityGroup_basic
--- PASS: TestAccAzureRMNetworkSecurityGroup_basic (128.93s)
=== RUN   TestAccAzureRMNetworkSecurityGroup_withTags
--- PASS: TestAccAzureRMNetworkSecurityGroup_withTags (164.52s)
=== RUN   TestAccAzureRMNetworkSecurityGroup_addingExtraRules
--- PASS: TestAccAzureRMNetworkSecurityGroup_addingExtraRules (178.20s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/azurerm
471.677s
```
2016-06-23 23:32:34 +01:00
stack72 e57ee0a067 provider/azurerm: Change `azurerm_virtual_machine` to use MaxItems
There were lots of hacky checks in the ARM VM resource to check for a
length of 1 param block

MaxItems was introduced so this PR updates to use MaxItems
2016-06-13 13:25:32 +02:00
Paul Stack ab721e2ffc provider/azurerm: Fix `azurerm_virtual_machine` windows_config (#7123)
When using winrm config block, we had an address issue. This is no
longer a set but a list (As a list fits it more approp)

    ```
    make testacc TEST=./builtin/providers/azurerm
    TESTARGS='-run=TestAccAzureRMVirtualMachine_'
    ==> Checking that code complies with gofmt requirements...
    go generate $(go list ./... | grep -v /vendor/)
    TF_ACC=1 go test ./builtin/providers/azurerm -v
    -run=TestAccAzureRMVirtualMachine_ -timeout 120m
    === RUN   TestAccAzureRMVirtualMachine_basicLinuxMachine
    --- PASS: TestAccAzureRMVirtualMachine_basicLinuxMachine (587.80s)
    === RUN   TestAccAzureRMVirtualMachine_tags
    --- PASS: TestAccAzureRMVirtualMachine_tags (554.53s)
    === RUN   TestAccAzureRMVirtualMachine_updateMachineSize
    --- PASS: TestAccAzureRMVirtualMachine_updateMachineSize (612.52s)
    === RUN   TestAccAzureRMVirtualMachine_basicWindowsMachine
    --- PASS: TestAccAzureRMVirtualMachine_basicWindowsMachine (765.90s)
    === RUN   TestAccAzureRMVirtualMachine_windowsUnattendedConfig
    --- PASS: TestAccAzureRMVirtualMachine_windowsUnattendedConfig
    (770.53s)
    === RUN   TestAccAzureRMVirtualMachine_winRMConfig
    --- PASS: TestAccAzureRMVirtualMachine_winRMConfig (827.90s)
    PASS
    ok      github.com/hashicorp/terraform/builtin/providers/azurerm
    4119.192s
    ```
2016-06-11 13:28:18 +02:00
Paul Stack b4ed5dfba3 provider/azurerm: VMSS Tests still used old naming convention (#7121) 2016-06-11 10:12:20 +02:00
Paul Stack 514d8422f3 provider/azurerm: Add `azurerm_virtual_machine_scale_set` resource (#6711) 2016-06-11 00:37:14 +02:00
Paul Stack 5644545680 provider/azurerm: DNS CNAME resource wasn't posting records (#7113)
* provider/azurerm: DNS CNAME resource wasn't posting records

Azure changed the API for CNAME at some point and since then we haven't
been creating CNAME records. The API changes from []records to a single
record

This PR changes the schema for dns cnames to have a record parameter and
adds a deprecation warning around records. Talked with @jen20 on this
and we decided that it's currently broken and we should handle this as
part of 0.7 where there are other breaking changes

```
TF_LOG=1 make testacc TEST=./builtin/providers/azurerm
TESTARGS='-run=TestAccAzureRMDnsCNameRecord' 2>~/tf.log
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /vendor/)
TF_ACC=1 go test ./builtin/providers/azurerm -v
-run=TestAccAzureRMDnsCNameRecord -timeout 120m
=== RUN   TestAccAzureRMDnsCNameRecord_basic
--- PASS: TestAccAzureRMDnsCNameRecord_basic (97.22s)
=== RUN   TestAccAzureRMDnsCNameRecord_subdomain
--- PASS: TestAccAzureRMDnsCNameRecord_subdomain (94.94s)
=== RUN   TestAccAzureRMDnsCNameRecord_updateRecords
--- PASS: TestAccAzureRMDnsCNameRecord_updateRecords (116.62s)
```

* Change DNS Records to removed rather than deprecated
2016-06-10 23:53:32 +02:00
Paul Hinze 81a436e956 Merge pull request #7105 from hashicorp/b-arm-vm-winconfig
provider/azurerm: `azurerm_virtual_machine` Windows_config
2016-06-10 16:17:09 -05:00
stack72 155a47fa80 provider/azurerm: `azurerm_virtual_machine` Windows_config
Fixes #7053 where, when using `additional_unattend_config` in
`os_profile_windows_config` we got an error as follows:

```
azurerm_virtual_machine.test: [DEBUG] Error setting Virtual Machine
Storage OS Profile Windows Configuration: &errors.errorString{s:"Invalid
address to set: []string{\"os_profile_windows_config\", \"1534614206\",
\"additional_unattend_config\"}"}
```
2016-06-10 19:33:09 +01:00
clint shryock fad26ec59e provider tests: Update to match new tags map in state 2016-06-10 10:07:02 -05:00
Paul Stack 695633257e provider/azurerm: Fix up some small issues for a post SDK upgrade test (#6981)
issue
2016-06-02 12:59:33 +01:00
James Nugent 738f4bd777 provider/azurerm: Fix azurerm_virtual_machine 2016-06-01 19:52:57 -05:00
James Nugent 6ee2bd4a55 provider/azurerm: Fix CDN resources 2016-06-01 19:52:57 -05:00
James Nugent 0691c0eb91 provider/azurerm: Fix azurerm_template_deployment
Tests are too slow to run.
2016-06-01 19:52:56 -05:00
James Nugent 8ecfddf507 provider/azurerm: Fix azurerm_network_security_group_rule
```
HTTP_PROXY=http://localhost:8888 make testacc TEST=./builtin/providers/azurerm TESTARGS="-run TestAccAzureRMNetworkSecurityRule_"
==> Checking that code complies with gofmt requirements...
/Users/James/Code/go/bin/stringer
go generate $(go list ./... | grep -v /vendor/)
2016/06/01 19:19:59 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/azurerm -v -run TestAccAzureRMNetworkSecurityRule_ -timeout 120m
=== RUN   TestAccAzureRMNetworkSecurityRule_basic
--- PASS: TestAccAzureRMNetworkSecurityRule_basic (105.61s)
=== RUN   TestAccAzureRMNetworkSecurityRule_addingRules
--- PASS: TestAccAzureRMNetworkSecurityRule_addingRules (141.59s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/azurerm    247.221s
```
2016-06-01 19:52:56 -05:00
James Nugent 2f66747e79 provider/azurerm: Fix azurerm_network_security_group
```
HTTP_PROXY=http://localhost:8888 make testacc TEST=./builtin/providers/azurerm TESTARGS="-run TestAccAzureRMNetworkSecurityGroup_"
==> Checking that code complies with gofmt requirements...
/Users/James/Code/go/bin/stringer
go generate $(go list ./... | grep -v /vendor/)
2016/06/01 19:09:36 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/azurerm -v -run TestAccAzureRMNetworkSecurityGroup_ -timeout 120m
=== RUN   TestAccAzureRMNetworkSecurityGroup_basic
--- PASS: TestAccAzureRMNetworkSecurityGroup_basic (81.00s)
=== RUN   TestAccAzureRMNetworkSecurityGroup_withTags
--- PASS: TestAccAzureRMNetworkSecurityGroup_withTags (101.89s)
=== RUN   TestAccAzureRMNetworkSecurityGroup_addingExtraRules
--- PASS: TestAccAzureRMNetworkSecurityGroup_addingExtraRules (99.33s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/azurerm	282.240s
```
2016-06-01 19:52:56 -05:00
James Nugent 0e3da1f98c provider/azurerm: Fix azurerm_local_network_gateway
```
HTTP_PROXY=http://localhost:8888 make testacc TEST=./builtin/providers/azurerm TESTARGS="-run TestAccAzureRMLocalNetworkGateway_"
==> Checking that code complies with gofmt requirements...
/Users/James/Code/go/bin/stringer
go generate $(go list ./... | grep -v /vendor/)
2016/06/01 18:59:05 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/azurerm -v -run TestAccAzureRMLocalNetworkGateway_ -timeout 120m
=== RUN   TestAccAzureRMLocalNetworkGateway_basic
--- PASS: TestAccAzureRMLocalNetworkGateway_basic (95.25s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/azurerm    95.260s
```
2016-06-01 19:52:56 -05:00
James Nugent bde2c502b6 provider/azurerm: Fix azurerm_network_interface_card
```
HTTP_PROXY=http://localhost:8888 make testacc TEST=./builtin/providers/azurerm TESTARGS="-run TestAccAzureRMNetworkInterface"
==> Checking that code complies with gofmt requirements...
/Users/James/Code/go/bin/stringer
go generate $(go list ./... | grep -v /vendor/)
2016/06/01 18:46:41 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/azurerm -v -run TestAccAzureRMNetworkInterface -timeout 120m
=== RUN   TestAccAzureRMNetworkInterface_basic
--- PASS: TestAccAzureRMNetworkInterface_basic (118.72s)
=== RUN   TestAccAzureRMNetworkInterface_enableIPForwarding
--- PASS: TestAccAzureRMNetworkInterface_enableIPForwarding (123.44s)
=== RUN   TestAccAzureRMNetworkInterface_withTags
--- PASS: TestAccAzureRMNetworkInterface_withTags (139.62s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/azurerm    381.802s
```
2016-06-01 19:52:56 -05:00
James Nugent a9b9986e76 provider/azurerm: Fix azurerm_route
```
HTTP_PROXY=http://localhost:8888 make testacc TEST=./builtin/providers/azurerm TESTARGS="-run TestAccAzureRMRoute_"
==> Checking that code complies with gofmt requirements...
/Users/James/Code/go/bin/stringer
go generate $(go list ./... | grep -v /vendor/)
2016/06/01 18:28:38 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/azurerm -v -run TestAccAzureRMRoute_ -timeout 120m
=== RUN   TestAccAzureRMRoute_basic
--- PASS: TestAccAzureRMRoute_basic (98.80s)
=== RUN   TestAccAzureRMRoute_multipleRoutes
--- PASS: TestAccAzureRMRoute_multipleRoutes (130.77s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/azurerm    229.584s
```
2016-06-01 19:52:56 -05:00
James Nugent 9b9ec7bb6c provider/azurerm: Fix azurerm_route_table
```
HTTP_PROXY=http://localhost:8888 make testacc TEST=./builtin/providers/azurerm TESTARGS="-run TestAccAzureRMRouteTable"
==> Checking that code complies with gofmt requirements...
/Users/James/Code/go/bin/stringer
go generate $(go list ./... | grep -v /vendor/)
2016/06/01 18:19:00 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/azurerm -v -run TestAccAzureRMRouteTable -timeout 120m
=== RUN   TestAccAzureRMRouteTable_basic
--- PASS: TestAccAzureRMRouteTable_basic (76.52s)
=== RUN   TestAccAzureRMRouteTable_withTags
--- PASS: TestAccAzureRMRouteTable_withTags (92.15s)
=== RUN   TestAccAzureRMRouteTable_multipleRoutes
--- PASS: TestAccAzureRMRouteTable_multipleRoutes (98.14s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/azurerm 266.828s
```
2016-06-01 19:52:56 -05:00
James Nugent 5f45521795 provider/azurerm: Fix azurerm_storage_container
```
HTTP_PROXY=http://localhost:8888 make testacc TEST=./builtin/providers/azurerm TESTARGS="-run TestAccAzureRMStorageContainer"
==> Checking that code complies with gofmt requirements...
/Users/James/Code/go/bin/stringer
go generate $(go list ./... | grep -v /vendor/)
2016/06/01 18:10:56 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/azurerm -v -run TestAccAzureRMStorageContainer -timeout 120m
=== RUN   TestAccAzureRMStorageContainer_basic
--- PASS: TestAccAzureRMStorageContainer_basic (102.16s)
=== RUN   TestAccAzureRMStorageContainer_disappears
--- PASS: TestAccAzureRMStorageContainer_disappears (101.05s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/azurerm 203.221s
```
2016-06-01 19:52:56 -05:00
James Nugent 26e2c9bec2 provider/azurerm: Fix azurerm_storage_account
```
HTTP_PROXY=http://localhost:8888 make testacc TEST=./builtin/providers/azurerm TESTARGS="-run TestAccAzureRMStorageAccount"
==> Checking that code complies with gofmt requirements...
/Users/James/Code/go/bin/stringer
go generate $(go list ./... | grep -v /vendor/)
2016/06/01 18:05:12 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/azurerm -v -run TestAccAzureRMStorageAccount -timeout 120m
=== RUN   TestAccAzureRMStorageAccount_basic
--- PASS: TestAccAzureRMStorageAccount_basic (89.48s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/azurerm 89.491s
```
2016-06-01 19:52:56 -05:00
James Nugent 3831553c72 provider/azurerm: Fix azurerm_public_ip
```
HTTP_PROXY=http://localhost:8888 make testacc TEST=./builtin/providers/azurerm TESTARGS="-run TestAccAzureRMPublicIpStatic"
==> Checking that code complies with gofmt requirements...
/Users/James/Code/go/bin/stringer
go generate $(go list ./... | grep -v /vendor/)
2016/06/01 17:09:54 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/azurerm -v -run TestAccAzureRMPublicIpStatic -timeout 120m
=== RUN   TestAccAzureRMPublicIpStatic_basic
--- PASS: TestAccAzureRMPublicIpStatic_basic (101.00s)
=== RUN   TestAccAzureRMPublicIpStatic_withTags
--- PASS: TestAccAzureRMPublicIpStatic_withTags (125.13s)
=== RUN   TestAccAzureRMPublicIpStatic_update
--- PASS: TestAccAzureRMPublicIpStatic_update (128.66s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/azurerm	354.802s
```
2016-06-01 19:52:56 -05:00
James Nugent 876d0269df provider/azurerm: Fix azurerm_subnet
```
make testacc TEST=./builtin/providers/azurerm TESTARGS="-run TestAccAzureRMSubnet"
==> Checking that code complies with gofmt requirements...
/Users/James/Code/go/bin/stringer
go generate $(go list ./... | grep -v /vendor/)
2016/06/01 16:54:37 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/azurerm -v -run TestAccAzureRMSubnet -timeout 120m
=== RUN   TestAccAzureRMSubnet_basic
--- PASS: TestAccAzureRMSubnet_basic (131.83s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/azurerm
131.844s
```
2016-06-01 19:52:55 -05:00
James Nugent 36a204506f provider/azurerm: Fix azurerm_virtual_network
```
make testacc TEST=./builtin/providers/azurerm TESTARGS="-run TestAccAzureRMVirtualNetwork"
==> Checking that code complies with gofmt requirements...
/Users/James/Code/go/bin/stringer
go generate $(go list ./... | grep -v /vendor/)
2016/06/01 16:19:17 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/azurerm -v -run TestAccAzureRMVirtualNetwork -timeout 120m
=== RUN   TestAccAzureRMVirtualNetwork_basic
--- PASS: TestAccAzureRMVirtualNetwork_basic (206.36s)
=== RUN   TestAccAzureRMVirtualNetwork_withTags
--- PASS: TestAccAzureRMVirtualNetwork_withTags (289.05s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/azurerm	495.422s
```
2016-06-01 19:52:55 -05:00
James Nugent 0769674c54 provider/azurerm: Use new library configuration
Most resources are commented out at this stage, as they require surgery
to make them work with the new world of the Azure SDK.
2016-06-01 19:52:55 -05:00
Paul Stack 1d6493f721 provider/azurerm: Remove storage containers and blobs when storage (#6855)
accounts are not found
2016-05-24 23:01:26 +01:00
Paul Stack d997b3fb5e provider/azurerm: Add support for storage container name validation (#6852) 2016-05-24 22:30:27 +01:00
James Nugent 3356acc1f7 Merge pull request #6790 from hashicorp/b-arm-nic-iphash
provider/azurerm: `azurerm_network_interface` diffs didn't match during apply
2016-05-20 16:56:12 -05:00
Paul Stack 2c8c587ca5 provider/azurerm: Add support for EnableIPForwarding to (#6807)
`azurerm_network_interface`

As requested in #6803

```

```
2016-05-20 22:43:18 +01:00
stack72 a869d2f8a9 provider/azurerm: `azurerm_network_interface` diffs didn't match during
apply

The IP COnfiguration block of `azurerm_network_interface` didn't have a
hash created in a way that changes to the optional params were being
picked up:

```
~ azurerm_network_interface.test
    ip_configuration.273485505.name:                                       "testconfiguration1" => ""
    ip_configuration.273485505.private_ip_address_allocation:              "dynamic" => ""
    ip_configuration.273485505.subnet_id:                                  "/subscriptions/34ca515c-4629-458e-bf7c-738d77e0d0ea/resourceGroups/acctestrg/providers/Microsoft.Network/virtualNetworks/acctvn/subnets/acctsub" => ""
    ip_configuration.~273485505.load_balancer_backend_address_pools_ids.#: "" => "<computed>"
    ip_configuration.~273485505.load_balancer_inbound_nat_rules_ids.#:     "" => "<computed>"
    ip_configuration.~273485505.name:                                      "" => "testconfiguration1"
    ip_configuration.~273485505.private_ip_address:                        "" => "<computed>"
    ip_configuration.~273485505.private_ip_address_allocation:             "" => "dynamic"
    ip_configuration.~273485505.public_ip_address_id:                      "" => "${azurerm_public_ip.test.id}"
    ip_configuration.~273485505.subnet_id:                                 "" => "/subscriptions/34ca515c-4629-458e-bf7c-738d77e0d0ea/resourceGroups/acctestrg/providers/Microsoft.Network/virtualNetworks/acctvn/subnets/acctsub"
```

This caused the following error:

```
Error applying plan:

1 error(s) occurred:

* azurerm_network_interface.test: diffs didn't match during apply. This is a bug with Terraform and should be reported as a GitHub Issue.

Please include the following information in your report:
```

Notice that the hash didn't change. This change adds the remaining optional params to the hash so that the hash id will change.

```
~ azurerm_network_interface.test
    ip_configuration.4255411321.load_balancer_backend_address_pools_ids.#: "" => "<computed>"
    ip_configuration.4255411321.load_balancer_inbound_nat_rules_ids.#:     "" => "<computed>"
    ip_configuration.4255411321.name:                                      "" => "testconfiguration1"
    ip_configuration.4255411321.private_ip_address:                        "" => "<computed>"
    ip_configuration.4255411321.private_ip_address_allocation:             "" => "dynamic"
    ip_configuration.4255411321.public_ip_address_id:                      "" => "/subscriptions/34ca515c-4629-458e-bf7c-738d77e0d0ea/resourceGroups/acctestrg/providers/Microsoft.Network/publicIPAddresses/public-ip"
    ip_configuration.4255411321.subnet_id:                                 "" => "/subscriptions/34ca515c-4629-458e-bf7c-738d77e0d0ea/resourceGroups/acctestrg/providers/Microsoft.Network/virtualNetworks/acctvn/subnets/acctsub"
    ip_configuration.966273186.name:                                       "testconfiguration1" => ""
    ip_configuration.966273186.private_ip_address_allocation:              "dynamic" => ""
    ip_configuration.966273186.subnet_id:                                  "/subscriptions/34ca515c-4629-458e-bf7c-738d77e0d0ea/resourceGroups/acctestrg/providers/Microsoft.Network/virtualNetworks/acctvn/subnets/acctsub" => ""
```

This allows the Update to work as expected :)

```
azurerm_network_interface.test: Modifications complete

Apply complete! Resources: 0 added, 1 changed, 0 destroyed.
```
2016-05-20 09:34:40 +01:00
Maxime Bury bd073c539e Fixes terraform crash when using SSH keys with Azure VMs (#6766) 2016-05-19 16:45:58 +01:00
Maxime Bury b33bd427e1 Normalizes availability_set_id to lowercase to avoid spurious diffs (#6768) 2016-05-19 16:44:29 +01:00
Paul Stack be0db001db provider/azurerm: Add support for exporting the (#6742)
`azurerm_storage_account` access keys

Please note that we do NOT have the ability to manage the access keys -
we are just getting the keys that the account creates for us. To manage
the keys, you would need to use the azure portal still
2016-05-18 16:31:43 +01:00
Paul Stack 8fce851878 provider/azurerm: Fixing Acceptance Test for VM tags (#6589) 2016-05-10 22:31:56 +01:00
Antoine Rouaze a105de19c0 [azurerm] Add os_type and image_uri in azurerm_virtual_machine (#6553)
Fix #6372

Partial fix of #6526
2016-05-09 18:51:19 +01:00
Paul Stack d3939db0a1 provider/azurerm: Adding support for `tags` to `azurerm_virtual_machine` (#6556)
provider/azurerm: Adding support for `tags` to `azurerm_virtual_machine`
2016-05-09 18:14:02 +01:00
Felivel Camilo 156d2916d8 Adding private ip address reference to azurerm network interface (#6538)
* Adding private ip address reference

* adding private ip address reference
* Updating the docs.

* Removing optional attrib from private_ip_address

Removing optional attribute from private_ip_address, this element is only being used in the read.

* Selecting the first element instead of using a loop for now.
Change this to a loop when https://github.com/Azure/azure-sdk-for-go/issues/259 is fixed
2016-05-09 15:21:15 +01:00
stack72 8dc47ac799 provider/azurerm: Error creating `azurerm_virtual_machine` data_disk
The `storage_data_disk` was trying to use vhd_url rather than vhd_uri.
This was causing an error on creating a new data_disk as part of a VM

Also added validation as data_disks can only be 1 - 1023 GB in size
2016-05-09 00:48:01 +01:00
stack72 712fc83a20 provider/azurerm: Fix an issue with `azurerm_virtual_machine` ssh_keys
ssh_keys were throwing an error similar to this:

```
* azurerm_virtual_machine.test: [DEBUG] Error setting Virtual Machine
* Storage OS Profile Linux Configuration: &errors.errorString{s:"Invalid
* address to set: []string{\"os_profile_linux_config\", \"0\",
* \"ssh_keys\"}"}
```

This was because of nesting of Set within a Set in the schema. By
changing this to a List within a Set, the schema works as expected. This
means we can now set SSH Keys on VMs. This has been tested using a
remote-exec and a connection block with the ssh key

```
azurerm_virtual_machine.test: Still creating... (2m10s elapsed)
azurerm_virtual_machine.test (remote-exec): Connected!
azurerm_virtual_machine.test (remote-exec): CONNECTED!
```
2016-05-08 22:51:51 +01:00
stack72 2e174ca3d4 provider/azurerm: Update `azurerm_virtual_machine` failed on
adminPassword

The Azure API never returns the AdminPAssword (as is correct) from the
Read API call. Therefore on Create, we do not set the AdminPassword of
the vm as part of the state. The Same func is used for Create & Update,
therefore when we changed anything on the VM, we were getting the
following error:

```
statusCode:Conflict
serviceRequestId:f498a6c8-6e7a-420f-9788-400f18078921
statusMessage:{"error":{"code":"PropertyChangeNotAllowed","target":"adminPassword","message":"Changing property 'adminPassword' is not allowed."}}
```

To fix this, we need to excldue the AdminPassword from the Update func
if it is empty
2016-05-06 23:44:03 +01:00
John Bresnahan 7a4bf6ae47 Azure does not allow CDN ports to be 0 (#6329)
The azure tests relating to cdn endpoints (TestAccAzureRMCdnEndpoint_basic
etc) are breaking because ARM is not accepting port values of 0.  The
following error is received:

statusCode:BadRequest
statusMessage:{"error":{"code":"BadRequest","message":"Invalid port \"0\". Port value must be a number between 1 and 65535."}}

This patch sets the ports for example.com to 443 and 80.
2016-04-25 19:15:14 +01:00
Felivel Camilo ae38ef2e01 provider/azurerm: Make ARM template timeout 40m
Template deployments with multiple extensions can last more than 10
minutes. Fixing that by increasing the timeout to 40 minutes.
2016-04-25 10:29:50 -05:00
James Nugent c90718d1ac provider/azurerm: Error on bad creds and speed++ (#6290)
This commit uses Riviera to register the Microsoft.Compute provider as a
canary for whether or not the Azure account credentials are set up. It
used to use the MS client, but that appeared to panic internally if the
credentials were bad. It's possible that we were using it wrong, but
there are no docs so ¯\_(ツ)_/¯.

As part of this, we parellelise the registration of the other providers.
This shaves the latency of each provider request times the number of
providers minus 1 off the "startup" time of the AzureRM provider. The
result is quite noticeable.
2016-04-22 00:50:47 +01:00
stack72 de4b0a9f00 provider/azurerm: Fix not removing azurerm_storage_account 404 from
state
2016-03-27 16:31:55 +01:00
stack72 6aa11e57e5 provider/azurerm: Fix a potential panic in the
`azurerm_template_deployment` resource
2016-03-21 19:50:30 +00:00
stack72 fe79dcf6c1 provider/azurerm: Add the documentation for the AzureRM Template
Deployment resource
2016-03-21 18:59:54 +00:00
stack72 a4cd5eeb2b provider/azurerm: Scaffold the Azure RM Template Deployment resource 2016-03-21 18:51:38 +00:00
stack72 4db3242c53 provider/azurerm: Scaffolding the AzureRM Virtual Machine Test framework 2016-03-17 15:08:59 +00:00
stack72 cb109043f2 Scaffold the Azure RM Virtual Machine resource 2016-03-17 15:08:59 +00:00
stack72 3eab9f2ff0 provider/azurerm: Add documentation for the `azurerm_search_service`
resource
2016-02-19 00:57:51 +00:00
James Nugent 17a7990708 provider/azurerm: Add generic state refresh func 2016-02-19 00:56:11 +00:00
stack72 0d750c16f0 provider/azurerm: Support `azurerm_search_service` resource 2016-02-19 00:56:09 +00:00
James Nugent d51bdd1772 provider/azurerm: Use Riviera for Resource Groups 2016-02-18 14:50:43 -08:00
stack72 584b52c34c provider/azurerm: Add `azurerm_sql_firewall_rule` resource 2016-02-08 21:13:59 +00:00
stack72 81b50330a1 provider/azurerm: Add `azurerm_dns_mx_record` resource 2016-02-07 22:26:56 +00:00
stack72 8ac4d2e080 provider/azurerm: Add `azurerm_dns_srv_record` resource 2016-02-07 21:49:02 +00:00
stack72 f9ffeae0f6 provider/azurerm: Add `azurerm_dns_ns_record` resource 2016-02-06 19:09:52 +00:00
stack72 37bc5a4c80 provider/azurerm: Add `azurerm_dns_txt_record` resource 2016-02-06 18:43:53 +00:00
stack72 6b5e5710c8 provider/azurerm: Add DNS CName Record Resource 2016-02-05 12:51:33 +00:00
stack72 1357f150a5 provider/azurerm: Add AzureRM AAAA DNS Record resource 2016-02-05 12:14:09 +00:00
stack72 761308cd2a provider/azurerm: Add the DNS A Record Resource 2016-02-05 11:28:48 +00:00
stack72 d89088246c provider/azurerm: Adding azurerm_sql_database resource 2016-02-04 23:36:50 +00:00
stack72 4ef557bed7 deps: Update jen20/riviera 2016-02-04 10:02:58 +00:00
stack72 f6bee13bd4 Scaffold the Sql Server AzureRM Resource 2016-02-03 23:08:56 +00:00
James Nugent 295bb897f2 provider/azurerm: Use separate "if" over "else if" 2016-02-03 13:16:36 -05:00
Paul Stack 1421d4ce18 provider/azurerm: Add `azurerm_dns_zone` resource
This resource is the first which makes use of the new Riviera library
(at https://github.com/jen20/riviera), so there is some additional set
up work to add the provider to the client which gets passed among
resources.
2016-02-02 19:53:00 -05:00
James Nugent f8a40ff371 provider/azurerm: Fix panic if no creds supplied
Using EnvDefaultFunc with a default of empty string causes the
validation which would ordinarily be performed by `Required: true` in
the schema to not have any effect. Instead validate the configuration
used to produce the ARM client before attempting to use it during
provider configuration.
2016-01-29 10:51:25 -05:00
stack72 8696854b51 Randomising the resource names in AzureRM acceptance tests. There is a potential issue that reusing names will cause the tests to be slower while we wait for old resources to go through GC 2016-01-29 12:48:11 +00:00
stack72 5a5c32e7d2 Azure RM Storage Queue:
Adds the schema, CRUD, acceptance tests and documentation for the
AzureRM storage Queue resource
2016-01-27 12:27:58 +00:00
stack72 e470ffd0be AzureRM storage container and blob tests and documentation 2016-01-27 00:23:57 +00:00
James Nugent 4a57ab4022 provider/azurerm: Add storage container and blob
These resources use ARM to get keys for the storage API, but then use
the storage REST API as per the ASM provider. The code is significantly
reworked with better logging and error handling. The key functions can
be reused for queues and file storage resources when they get added.
2016-01-26 15:45:18 -05:00
James Nugent 1b3908633c Merge pull request #4767 from monkeylittleinc/v0.6.9-branch
Add support for multiple final states on the WaitForState resource
2016-01-21 18:19:52 -05:00
stack72 eb6fd87a42 Fixing a flapping AzureRM PublicIP validation test 2016-01-21 20:59:30 +00:00
Ian Duffy 47ac10d66b Change resource.StateChangeConf to use an array for target states
Signed-off-by: Ian Duffy <ian@ianduffy.ie>
2016-01-21 01:20:41 +00:00
James Nugent 53c23511ef provider/azurerm: Add `azurerm_storage_account`
This is an unusual resource (so far) in that it cannot be created in one
call, and instead must be created and the modified to set some of the
parameters.

We use the pollIndefinitelyWhileNeeded function which will continue to
poll Azure RM operation monitoring endpoints until an error is reported
or the operation meets one of the given status codes. The function was
originally part of this feature but was separated out in order to
unblock other work.

Currently there is no support for the "custom_domain" section of the
storage account API. This was originally present and was later taken out
of the scope of the storage account resource in order that the following
workflow can be used:

1. Create storage account
2. Create DNS CNAME entry once the account name is known
3. Create custom domain mapping
2016-01-20 19:47:23 -05:00
stack72 d91c7080e0 Scaffold the AzureRM CDN Endpoint resource 2016-01-20 16:47:41 +00:00
James Nugent 734d5698d7 provider/azurerm: Poll indefinitely if no error
This adds a pollIndefinitelyWhileNeeded function which will continue to
poll Azure RM operation monitoring endpoints until an error is reported
or the operation meets one of the given status codes. This may need
revisiting at some point in the future.
2016-01-20 10:25:26 -05:00
stack72 183eb248df Scaffold the Azure RM CDN Profile 2016-01-19 17:37:28 +00:00
James Nugent c3ce8b81ef provider/azurerm: Parse "resourcegroups" in IDs
When parsing resource IDs (probably incorrectly since they are URIs and
should therefore be opaque), we need to look for "resourcegroups" in
addition to "resourceGroups" because the Azure CDN resources return that
in their URIs.

Unfortunately the casing semantics of the rest of the string are not
clear, so downcasing the entire URI is probably best avoided. This is a
fix for a single case.
2016-01-19 11:32:16 -05:00
stack72 a9afb489f6 Adds the ability to tag more of the Azure RM Network resources 2016-01-18 20:55:28 +00:00
stack72 2ebe2c01f1 Add acceptance tests and docs update to allow the tagging of AzureRM resource & 2016-01-18 18:35:41 +00:00
James Nugent 2ff0c65c3c provider/azurerm: Support tagging `azurerm_resource_group` 2016-01-18 13:13:28 -05:00
James Nugent d5e3db9deb provider/azurerm: Add tags to `azurerm_virtual_network` 2016-01-18 13:13:28 -05:00
stack72 d7a7eb4644 Adds an acceptance test to the ARM Availability Set to show that tagging
and updating of tags work as expected

Also updated the documentation for azure rm availability set to
demonstrate this
2016-01-18 17:47:37 +00:00
James Nugent a640ef9f16 provider/azurerm: Add tests for tag scaffolding 2016-01-18 12:28:04 -05:00
James Nugent f374ca77e7 provider/azurerm: Add scaffolding to tags 2016-01-18 11:48:01 -05:00
clint shryock 317ab83743 Go fmt updates 2016-01-12 16:07:26 -06:00
stack72 b1c8c30df3 Scaffold the Azure RM Route Resource 2016-01-10 15:02:48 +00:00
stack72 c1fa8392e3 Scaffold Azure RM Route Table resource 2016-01-10 02:47:20 +00:00
stack72 53714542f8 Scaffold the Azure RM Network Interface resource 2016-01-10 01:23:46 +00:00
stack72 55ba179046 Scaffold the Azure RM Subnet resource 2016-01-09 18:09:46 +00:00
stack72 719f3ad2ce Scaffold the Azure RM Network Security Rule resource 2016-01-09 00:06:58 +00:00
Paul Hinze d9c0b3e6bd provider/azurerm: Additional fixes for upstream breaking changes
More fixes for breaking changes introduced in:

https://github.com/Azure/azure-sdk-for-go/pull/258
2016-01-08 14:48:03 -06:00
Paul Hinze 5912bf25b4 Update azurerm imports to fix build
Catches us up with breaking change introduced here:

https://github.com/Azure/azure-sdk-for-go/pull/258
2016-01-08 14:06:09 -06:00
stack72 eab75dc884 Scaffolds the AzureRM Public IP resource 2016-01-08 00:25:50 +00:00
stack72 f79d951524 Rename the AzureRM Security Group to AzureRM Network Security Group 2016-01-07 22:38:11 +00:00
stack72 43760d4670 Scaffolding for the AzureRM Network Security Groups 2016-01-07 21:05:50 +00:00
stack72 fac989ed5f Azure RM Availability Sets. Adds Schema, CRUD, Acceptance Tests and Documentation 2016-01-07 14:18:18 +00:00
James Nugent 41e9416ab2 provider/azurerm: Set user agent 2016-01-06 14:28:36 -08:00
James Nugent a48e713fe0 provider/azurerm: Register needed Azure providers 2016-01-05 16:43:52 -05:00
James Nugent 008dc970b6 provider/azurerm: Fix up network gateway tests
This diff represents the changes  necessary to make local network
gateway tests pass:

- Parse the resource ID instead of relying on attributes
- Remove unecessary logging (which is handled via the autorest wrapper)
- Resource GUID is removed - if this is actually required for anything
  we may need to find a way to supress it during apply, as we get
  spurious diffs in plans otherwise.
- Various typos fixed.
2015-12-23 18:49:21 +02:00
Nashwan Azhari 1eb129a99b provider/azure: added local network gateway resource 2015-12-23 18:49:21 +02:00
James Nugent 805c4896bd provider/azurerm: Clean up work for base provider
- Add documentation for resources
- Rename files to match standard patterns
- Add acceptance tests for resource groups
- Add acceptance tests for vnets
- Remove ARM_CREDENTIALS file - as discussed this does not appear to be
  an Azure standard, and there is scope for confusion with the
  azureProfile.json file which the CLI generates. If a standard emerges
  we can reconsider this.
- Validate credentials in the schema
- Remove storage testing artefacts
- Use ARM IDs as Terraform IDs
- Use autorest hooks for logging
2015-12-15 18:31:02 -05:00
Nashwan Azhari 63bc8e9852 provider/azurerm: Tidy up minor issues
This commit cleans up some of the work on the Azure ARM provider
following review by @phinze. Specifically:

- Unnecessary ASM-targeted tests are removed
- Validation is added to the `resource_group` resource
- `dns_servers_names` -> `dns_servers` as per the API documentation
- AZURE_SUBSCRIPTION_ID environment variable is renamed to be
  ARM_SUBSCRIPTION_ID in order to match the other environment variables
2015-12-15 17:26:33 -05:00
Nashwan Azhari c279adfc55 provider/azurerm: Initial commit.
This commit brings some of the work over from #3808, but rearchitects to
use a separate provider for Azure Resource Manager. This is in line with
the decisions made by the Azure Powershell Cmdlets, and is important for
usability since the sets of required fields change between the ASM and
ARM APIs.

Currently `azurerm_resource_group` and `azurerm_virtual_network` are
implemented, more resources will follow.
2015-12-15 17:26:33 -05:00