Commit Graph

81 Commits

Author SHA1 Message Date
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