terraform/builtin/providers/azurerm
stack72 392f634ff4
provider/azurerm: Reordering the checks after an Azure API Get
We are receiving suggestions of a panic as follows:

```
2016/09/01 07:21:55 [DEBUG] plugin: terraform: panic: runtime error: invalid memory address or nil pointer dereference
2016/09/01 07:21:55 [DEBUG] plugin: terraform: [signal SIGSEGV: segmentation violation code=0x1 addr=0x10 pc=0xa3170f]
2016/09/01 07:21:55 [DEBUG] plugin: terraform:
2016/09/01 07:21:55 [DEBUG] plugin: terraform: goroutine 114 [running]:
2016/09/01 07:21:55 [DEBUG] plugin: terraform: panic(0x27f4e60, 0xc4200100e0)
2016/09/01 07:21:55 [DEBUG] plugin: terraform: 	/opt/go/src/runtime/panic.go:500 +0x1a1
2016/09/01 07:21:55 [DEBUG] plugin: terraform: github.com/hashicorp/terraform/builtin/providers/azurerm.resourceArmVirtualMachineRead(0xc4206d8060, 0x2995620, 0xc4204d0000, 0x0, 0x17)
2016/09/01 07:21:55 [DEBUG] plugin: terraform: 	/opt/gopath/src/github.com/hashicorp/terraform/builtin/providers/azurerm/resource_arm_virtual_machine.go:488 +0x1ff
2016/09/01 07:21:55 [DEBUG] plugin: terraform: github.com/hashicorp/terraform/helper/schema.(*Resource).Refresh(0xc420017a40, 0xc42040c780, 0x2995620, 0xc4204d0000, 0xc42019c990, 0x1, 0x0)
```

This is because the code is as follows:

```
resp, err := client.Get(resGroup, vnetName, name)
if resp.StatusCode == http.StatusNotFound {
	d.SetId("")
	return nil
}
if err != nil {
	return fmt.Errorf("Error making Read request on Azure virtual network peering %s: %s", name, err)
}
```

When a request throws an error, the response object isn't valid. Therefore, we need to flip that code to check the error first

```
resp, err := client.Get(resGroup, vnetName, name)
if err != nil {
	return fmt.Errorf("Error making Read request on Azure virtual network peering %s: %s", name, err)
}
if resp.StatusCode == http.StatusNotFound {
	d.SetId("")
	return nil
}
```
2016-09-01 15:31:42 +01:00
..
config.go provider/azurerm: Add support for servicebus namespaces (#8195) 2016-08-15 18:00:00 +01:00
import_arm_availability_set_test.go provider/azurerm: Support Import for `azurerm_availability_set` 2016-07-10 22:33:02 +01:00
import_arm_dns_zone_test.go provider/azurerm: Support Import for `azurerm_dns_zone` 2016-07-13 11:43:05 +01:00
import_arm_local_network_gateway_test.go provider/azurerm: Support Import `azurerm_local_network_gateway` 2016-07-13 13:14:59 +01:00
import_arm_network_security_group_test.go provider/azurerm: Support Import of `azurerm_network_security_group` 2016-07-13 13:42:50 +01:00
import_arm_network_security_rule_test.go provider/azurerm: Support Import `azurerm_network_security_rule` 2016-07-13 21:44:28 +01:00
import_arm_public_ip_test.go provider/azurerm: Support Import for `azurerm_public_ip` 2016-07-11 14:36:23 +01:00
import_arm_resource_group_test.go Update import_arm_resource_group_test.go 2016-07-11 13:33:39 +01:00
import_arm_sql_firewall_rule_test.go provider/azurerm: Support Import of `azurerm_sql_firewall_rule` 2016-07-13 12:53:24 +01:00
import_arm_storage_account_test.go provider/azurerm: Support Import `azurerm_storage_account` 2016-07-13 12:08:44 +01:00
import_arm_traffic_manager_endpoint_test.go provider/azurerm: fix; add tests for importing traffic manager resources (#8111) 2016-08-11 16:00:23 +12:00
import_arm_traffic_manager_profile_test.go provider/azurerm: fix; add tests for importing traffic manager resources (#8111) 2016-08-11 16:00:23 +12:00
import_arm_virtual_network_peering_test.go provider/azurerm: create virtual_network_peering resource (#8168) 2016-08-13 22:37:46 +04:00
import_arm_virtual_network_test.go provider/azurerm: Support Import of `azurerm_virtual_network` 2016-07-13 12:32:34 +01:00
network_security_rule.go Scaffold the Azure RM Network Security Rule resource 2016-01-09 00:06:58 +00:00
network_security_rule_test.go Scaffold the Azure RM Network Security Rule resource 2016-01-09 00:06:58 +00:00
provider.go provider/azurerm: Add support for servicebus namespaces (#8195) 2016-08-15 18:00:00 +01:00
provider_test.go provider/azurerm: Clean up work for base provider 2015-12-15 18:31:02 -05:00
resource_arm_availability_set.go provider/azurerm: Reordering the checks after an Azure API Get 2016-09-01 15:31:42 +01:00
resource_arm_availability_set_test.go provider tests: Update to match new tags map in state 2016-06-10 10:07:02 -05:00
resource_arm_cdn_endpoint.go provider/azurerm: Reordering the checks after an Azure API Get 2016-09-01 15:31:42 +01:00
resource_arm_cdn_endpoint_test.go provider/azurerm: Bump azure-sdk-for-go to 3.0.0-beta (#7420) 2016-06-30 15:36:08 +01:00
resource_arm_cdn_profile.go provider/azurerm: Reordering the checks after an Azure API Get 2016-09-01 15:31:42 +01:00
resource_arm_cdn_profile_test.go provider/azurerm: Bump azure-sdk-for-go to 3.0.0-beta (#7420) 2016-06-30 15:36:08 +01:00
resource_arm_dns_a_record.go provider/azurerm: Add the DNS A Record Resource 2016-02-05 11:28:48 +00:00
resource_arm_dns_a_record_test.go provider tests: Update to match new tags map in state 2016-06-10 10:07:02 -05:00
resource_arm_dns_aaaa_record.go provider/azurerm: Add AzureRM AAAA DNS Record resource 2016-02-05 12:14:09 +00:00
resource_arm_dns_aaaa_record_test.go provider tests: Update to match new tags map in state 2016-06-10 10:07:02 -05:00
resource_arm_dns_cname_record.go provider/azurerm: DNS CNAME resource wasn't posting records (#7113) 2016-06-10 23:53:32 +02:00
resource_arm_dns_cname_record_test.go provider/azurerm: DNS CNAME resource wasn't posting records (#7113) 2016-06-10 23:53:32 +02:00
resource_arm_dns_mx_record.go provider/azurerm: Add `azurerm_dns_mx_record` resource 2016-02-07 22:26:56 +00:00
resource_arm_dns_mx_record_test.go provider tests: Update to match new tags map in state 2016-06-10 10:07:02 -05:00
resource_arm_dns_ns_record.go provider/azurerm: Add `azurerm_dns_srv_record` resource 2016-02-07 21:49:02 +00:00
resource_arm_dns_ns_record_test.go provider tests: Update to match new tags map in state 2016-06-10 10:07:02 -05:00
resource_arm_dns_srv_record.go provider/azurerm: Add `azurerm_dns_mx_record` resource 2016-02-07 22:26:56 +00:00
resource_arm_dns_srv_record_test.go provider tests: Update to match new tags map in state 2016-06-10 10:07:02 -05:00
resource_arm_dns_txt_record.go provider/azurerm: Add `azurerm_dns_txt_record` resource 2016-02-06 18:43:53 +00:00
resource_arm_dns_txt_record_test.go provider tests: Update to match new tags map in state 2016-06-10 10:07:02 -05:00
resource_arm_dns_zone.go provider/azurerm: Support Import for `azurerm_dns_zone` 2016-07-13 11:43:05 +01:00
resource_arm_dns_zone_test.go provider/azurerm: Use separate "if" over "else if" 2016-02-03 13:16:36 -05:00
resource_arm_local_network_gateway.go provider/azurerm: Reordering the checks after an Azure API Get 2016-09-01 15:31:42 +01:00
resource_arm_local_network_gateway_test.go provider/azurerm: Reordering the checks after an Azure API Get 2016-09-01 15:31:42 +01:00
resource_arm_network_interface_card.go provider/azurerm: Reordering the checks after an Azure API Get 2016-09-01 15:31:42 +01:00
resource_arm_network_interface_card_test.go provider tests: Update to match new tags map in state 2016-06-10 10:07:02 -05:00
resource_arm_network_security_group.go provider/azurerm: Reordering the checks after an Azure API Get 2016-09-01 15:31:42 +01:00
resource_arm_network_security_group_test.go provider tests: Update to match new tags map in state 2016-06-10 10:07:02 -05:00
resource_arm_network_security_rule.go provider/azurerm: Reordering the checks after an Azure API Get 2016-09-01 15:31:42 +01:00
resource_arm_network_security_rule_test.go provider/azurerm: Fix azurerm_network_security_group_rule 2016-06-01 19:52:56 -05:00
resource_arm_public_ip.go provider/azurerm: Reordering the checks after an Azure API Get 2016-09-01 15:31:42 +01:00
resource_arm_public_ip_test.go provider/azurerm: Public IP - Setting idle timeout value caused panic. (#8283) 2016-08-18 14:05:14 +01:00
resource_arm_resource_group.go provider/azurerm: Support Import of `azurerm_resource_group` 2016-07-11 12:30:22 +01:00
resource_arm_resource_group_test.go provider tests: Update to match new tags map in state 2016-06-10 10:07:02 -05:00
resource_arm_route.go provider/azurerm: Reordering the checks after an Azure API Get 2016-09-01 15:31:42 +01:00
resource_arm_route_table.go provider/azurerm: Reordering the checks after an Azure API Get 2016-09-01 15:31:42 +01:00
resource_arm_route_table_test.go provider tests: Update to match new tags map in state 2016-06-10 10:07:02 -05:00
resource_arm_route_test.go provider/azurerm: Fix azurerm_route 2016-06-01 19:52:56 -05:00
resource_arm_search_service.go Update CHANGELOG.md 2016-08-23 14:38:48 +02:00
resource_arm_search_service_test.go provider tests: Update to match new tags map in state 2016-06-10 10:07:02 -05:00
resource_arm_servicebus_namespace.go provider/azurerm: Reordering the checks after an Azure API Get 2016-09-01 15:31:42 +01:00
resource_arm_servicebus_namespace_test.go provider/azurerm: Add support for servicebus namespaces (#8195) 2016-08-15 18:00:00 +01:00
resource_arm_sql_database.go provider/azurerm: Adding azurerm_sql_database resource 2016-02-04 23:36:50 +00:00
resource_arm_sql_database_test.go provider tests: Update to match new tags map in state 2016-06-10 10:07:02 -05:00
resource_arm_sql_firewall_rule.go provider/azurerm: Support Import of `azurerm_sql_firewall_rule` 2016-07-13 12:53:24 +01:00
resource_arm_sql_firewall_rule_test.go provider/azurerm: Add `azurerm_sql_firewall_rule` resource 2016-02-08 21:13:59 +00:00
resource_arm_sql_server.go deps: Update jen20/riviera 2016-02-04 10:02:58 +00:00
resource_arm_sql_server_test.go provider tests: Update to match new tags map in state 2016-06-10 10:07:02 -05:00
resource_arm_storage_account.go provider/azurerm: Reordering the checks after an Azure API Get 2016-09-01 15:31:42 +01:00
resource_arm_storage_account_test.go provider/azurerm: Support Import `azurerm_storage_account` 2016-07-13 12:08:44 +01:00
resource_arm_storage_blob.go Azure blob contents can be copied from an existing blob (#8126) 2016-08-14 11:14:41 +01:00
resource_arm_storage_blob_test.go Azure blob contents can be copied from an existing blob (#8126) 2016-08-14 11:14:41 +01:00
resource_arm_storage_container.go provider/azurerm: Fix azurerm_storage_container 2016-06-01 19:52:56 -05:00
resource_arm_storage_container_test.go provider/azurerm: Fix azurerm_storage_container 2016-06-01 19:52:56 -05:00
resource_arm_storage_queue.go provider/azurerm: Use new library configuration 2016-06-01 19:52:55 -05:00
resource_arm_storage_queue_test.go provider/azurerm: Remove storage containers and blobs when storage (#6855) 2016-05-24 23:01:26 +01:00
resource_arm_storage_table.go provider/azurerm: `azurerm_storage_table` resource (#7327) 2016-07-27 22:49:43 +01:00
resource_arm_storage_table_test.go provider/azurerm: `azurerm_storage_table` resource (#7327) 2016-07-27 22:49:43 +01:00
resource_arm_subnet.go provider/azurerm: Reordering the checks after an Azure API Get 2016-09-01 15:31:42 +01:00
resource_arm_subnet_test.go provider/azurerm: Fix azurerm_subnet 2016-06-01 19:52:55 -05:00
resource_arm_template_deployment.go provider/azurerm: Reordering the checks after an Azure API Get 2016-09-01 15:31:42 +01:00
resource_arm_template_deployment_test.go provider/azurerm: catch azurerm_template_deployment errors (#7644) 2016-07-14 16:06:58 +01:00
resource_arm_traffic_manager_endpoint.go provider/azurerm: Reordering the checks after an Azure API Get 2016-09-01 15:31:42 +01:00
resource_arm_traffic_manager_endpoint_test.go provider/azurerm: add traffic manager resources (#7826) 2016-07-31 23:46:15 +01:00
resource_arm_traffic_manager_profile.go provider/azurerm: Reordering the checks after an Azure API Get 2016-09-01 15:31:42 +01:00
resource_arm_traffic_manager_profile_test.go provider/azurerm: add traffic manager resources (#7826) 2016-07-31 23:46:15 +01:00
resource_arm_virtual_machine.go provider/azurerm: Reordering the checks after an Azure API Get 2016-09-01 15:31:42 +01:00
resource_arm_virtual_machine_scale_set.go provider/azurerm: Reordering the checks after an Azure API Get 2016-09-01 15:31:42 +01:00
resource_arm_virtual_machine_scale_set_test.go provider/azurerm: VMSS Tests still used old naming convention (#7121) 2016-06-11 10:12:20 +02:00
resource_arm_virtual_machine_test.go provider/azurerm: Change of `availability_set_id` on (#7650) 2016-07-27 22:39:03 +01:00
resource_arm_virtual_network.go provider/azurerm: Reordering the checks after an Azure API Get 2016-09-01 15:31:42 +01:00
resource_arm_virtual_network_peering.go provider/azurerm: Reordering the checks after an Azure API Get 2016-09-01 15:31:42 +01:00
resource_arm_virtual_network_peering_test.go provider/azurerm: create virtual_network_peering resource (#8168) 2016-08-13 22:37:46 +04:00
resource_arm_virtual_network_test.go provider tests: Update to match new tags map in state 2016-06-10 10:07:02 -05:00
resourceid.go provider/azurerm: Parse "resourcegroups" in IDs 2016-01-19 11:32:16 -05:00
resourceid_test.go provider/azurerm: Parse "resourcegroups" in IDs 2016-01-19 11:32:16 -05:00
tags.go provider/azurerm: Add scaffolding to tags 2016-01-18 11:48:01 -05:00
tags_test.go provider/azurerm: Add tests for tag scaffolding 2016-01-18 12:28:04 -05:00