diff --git a/builtin/providers/azurerm/import_arm_traffic_manager_endpoint_test.go b/builtin/providers/azurerm/import_arm_traffic_manager_endpoint_test.go new file mode 100644 index 000000000..d8778a2c4 --- /dev/null +++ b/builtin/providers/azurerm/import_arm_traffic_manager_endpoint_test.go @@ -0,0 +1,36 @@ +package azurerm + +import ( + "fmt" + "testing" + + "github.com/hashicorp/terraform/helper/acctest" + "github.com/hashicorp/terraform/helper/resource" +) + +func TestAccAzureRMTrafficManagerEndpoint_importBasic(t *testing.T) { + resourceName := "azurerm_traffic_manager_endpoint.testExternal" + + ri := acctest.RandInt() + config := fmt.Sprintf(testAccAzureRMTrafficManagerEndpoint_basic, ri, ri, ri, ri, ri, ri, ri) + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testCheckAzureRMTrafficManagerEndpointDestroy, + Steps: []resource.TestStep{ + resource.TestStep{ + Config: config, + }, + + resource.TestStep{ + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{ + "resource_group_name", + }, + }, + }, + }) +} diff --git a/builtin/providers/azurerm/import_arm_traffic_manager_profile_test.go b/builtin/providers/azurerm/import_arm_traffic_manager_profile_test.go new file mode 100644 index 000000000..08be702e4 --- /dev/null +++ b/builtin/providers/azurerm/import_arm_traffic_manager_profile_test.go @@ -0,0 +1,34 @@ +package azurerm + +import ( + "fmt" + "testing" + + "github.com/hashicorp/terraform/helper/acctest" + "github.com/hashicorp/terraform/helper/resource" +) + +func TestAccAzureRMTrafficManagerProfile_importBasic(t *testing.T) { + resourceName := "azurerm_traffic_manager_profile.test" + + ri := acctest.RandInt() + config := fmt.Sprintf(testAccAzureRMTrafficManagerProfile_performance, ri, ri, ri) + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testCheckAzureRMTrafficManagerProfileDestroy, + Steps: []resource.TestStep{ + resource.TestStep{ + Config: config, + }, + + resource.TestStep{ + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{"resource_group_name"}, + }, + }, + }) +} diff --git a/builtin/providers/azurerm/resource_arm_traffic_manager_endpoint.go b/builtin/providers/azurerm/resource_arm_traffic_manager_endpoint.go index 922db271f..f4d1c4b68 100644 --- a/builtin/providers/azurerm/resource_arm_traffic_manager_endpoint.go +++ b/builtin/providers/azurerm/resource_arm_traffic_manager_endpoint.go @@ -4,6 +4,7 @@ import ( "fmt" "log" "net/http" + "regexp" "github.com/Azure/azure-sdk-for-go/arm/trafficmanager" "github.com/hashicorp/terraform/helper/schema" @@ -136,7 +137,15 @@ func resourceArmTrafficManagerEndpointRead(d *schema.ResourceData, meta interfac return err } resGroup := id.ResourceGroup - endpointType := d.Get("type").(string) + + // lookup endpointType in Azure ID path + var endpointType string + typeRegex := regexp.MustCompile("azureEndpoints|externalEndpoints|nestedEndpoints") + for k := range id.Path { + if typeRegex.MatchString(k) { + endpointType = k + } + } profileName := id.Path["trafficManagerProfiles"] // endpoint name is keyed by endpoint type in ARM ID @@ -153,6 +162,8 @@ func resourceArmTrafficManagerEndpointRead(d *schema.ResourceData, meta interfac endpoint := *resp.Properties d.Set("name", resp.Name) + d.Set("type", endpointType) + d.Set("profile_name", profileName) d.Set("endpoint_status", endpoint.EndpointStatus) d.Set("target_resource_id", endpoint.TargetResourceID) d.Set("target", endpoint.Target)