diff --git a/builtin/providers/azurerm/import_arm_cdn_endpoint_test.go b/builtin/providers/azurerm/import_arm_cdn_endpoint_test.go new file mode 100644 index 0000000000..ee5c8a4bdc --- /dev/null +++ b/builtin/providers/azurerm/import_arm_cdn_endpoint_test.go @@ -0,0 +1,33 @@ +package azurerm + +import ( + "fmt" + "testing" + + "github.com/hashicorp/terraform/helper/acctest" + "github.com/hashicorp/terraform/helper/resource" +) + +func TestAccAzureRMCdnEndpoint_importWithTags(t *testing.T) { + resourceName := "azurerm_cdn_endpoint.test" + + ri := acctest.RandInt() + config := fmt.Sprintf(testAccAzureRMCdnEndpoint_withTags, ri, ri, ri) + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testCheckAzureRMCdnEndpointDestroy, + Steps: []resource.TestStep{ + resource.TestStep{ + Config: config, + }, + + resource.TestStep{ + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} diff --git a/builtin/providers/azurerm/import_arm_dns_a_record_test.go b/builtin/providers/azurerm/import_arm_dns_a_record_test.go new file mode 100644 index 0000000000..373239e56c --- /dev/null +++ b/builtin/providers/azurerm/import_arm_dns_a_record_test.go @@ -0,0 +1,33 @@ +package azurerm + +import ( + "fmt" + "testing" + + "github.com/hashicorp/terraform/helper/acctest" + "github.com/hashicorp/terraform/helper/resource" +) + +func TestAccAzureRMDnsARecord_importBasic(t *testing.T) { + resourceName := "azurerm_dns_a_record.test" + + ri := acctest.RandInt() + config := fmt.Sprintf(testAccAzureRMDnsARecord_basic, ri, ri, ri) + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testCheckAzureRMDnsARecordDestroy, + Steps: []resource.TestStep{ + resource.TestStep{ + Config: config, + }, + + resource.TestStep{ + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} diff --git a/builtin/providers/azurerm/import_arm_dns_aaaa_record_test.go b/builtin/providers/azurerm/import_arm_dns_aaaa_record_test.go new file mode 100644 index 0000000000..dbf3851101 --- /dev/null +++ b/builtin/providers/azurerm/import_arm_dns_aaaa_record_test.go @@ -0,0 +1,33 @@ +package azurerm + +import ( + "fmt" + "testing" + + "github.com/hashicorp/terraform/helper/acctest" + "github.com/hashicorp/terraform/helper/resource" +) + +func TestAccAzureRMDnsAAAARecord_importBasic(t *testing.T) { + resourceName := "azurerm_dns_aaaa_record.test" + + ri := acctest.RandInt() + config := fmt.Sprintf(testAccAzureRMDnsAAAARecord_basic, ri, ri, ri) + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testCheckAzureRMDnsAAAARecordDestroy, + Steps: []resource.TestStep{ + resource.TestStep{ + Config: config, + }, + + resource.TestStep{ + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} diff --git a/builtin/providers/azurerm/import_arm_dns_cname_record_test.go b/builtin/providers/azurerm/import_arm_dns_cname_record_test.go new file mode 100644 index 0000000000..a4e376060b --- /dev/null +++ b/builtin/providers/azurerm/import_arm_dns_cname_record_test.go @@ -0,0 +1,33 @@ +package azurerm + +import ( + "fmt" + "testing" + + "github.com/hashicorp/terraform/helper/acctest" + "github.com/hashicorp/terraform/helper/resource" +) + +func TestAccAzureRMDnsCNameRecord_importBasic(t *testing.T) { + resourceName := "azurerm_dns_cname_record.test" + + ri := acctest.RandInt() + config := fmt.Sprintf(testAccAzureRMDnsCNameRecord_basic, ri, ri, ri) + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testCheckAzureRMDnsCNameRecordDestroy, + Steps: []resource.TestStep{ + resource.TestStep{ + Config: config, + }, + + resource.TestStep{ + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} diff --git a/builtin/providers/azurerm/import_arm_dns_mx_record_test.go b/builtin/providers/azurerm/import_arm_dns_mx_record_test.go new file mode 100644 index 0000000000..ef87fffd13 --- /dev/null +++ b/builtin/providers/azurerm/import_arm_dns_mx_record_test.go @@ -0,0 +1,33 @@ +package azurerm + +import ( + "fmt" + "testing" + + "github.com/hashicorp/terraform/helper/acctest" + "github.com/hashicorp/terraform/helper/resource" +) + +func TestAccAzureRMDnsMxRecord_importBasic(t *testing.T) { + resourceName := "azurerm_dns_mx_record.test" + + ri := acctest.RandInt() + config := fmt.Sprintf(testAccAzureRMDnsMxRecord_basic, ri, ri, ri) + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testCheckAzureRMDnsMxRecordDestroy, + Steps: []resource.TestStep{ + resource.TestStep{ + Config: config, + }, + + resource.TestStep{ + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} diff --git a/builtin/providers/azurerm/import_arm_dns_ns_record_test.go b/builtin/providers/azurerm/import_arm_dns_ns_record_test.go new file mode 100644 index 0000000000..ea2a1a6112 --- /dev/null +++ b/builtin/providers/azurerm/import_arm_dns_ns_record_test.go @@ -0,0 +1,33 @@ +package azurerm + +import ( + "fmt" + "testing" + + "github.com/hashicorp/terraform/helper/acctest" + "github.com/hashicorp/terraform/helper/resource" +) + +func TestAccAzureRMDnsNsRecord_importBasic(t *testing.T) { + resourceName := "azurerm_dns_ns_record.test" + + ri := acctest.RandInt() + config := fmt.Sprintf(testAccAzureRMDnsNsRecord_basic, ri, ri, ri) + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testCheckAzureRMDnsNsRecordDestroy, + Steps: []resource.TestStep{ + resource.TestStep{ + Config: config, + }, + + resource.TestStep{ + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} diff --git a/builtin/providers/azurerm/import_arm_dns_srv_record_test.go b/builtin/providers/azurerm/import_arm_dns_srv_record_test.go new file mode 100644 index 0000000000..0d4de6bae0 --- /dev/null +++ b/builtin/providers/azurerm/import_arm_dns_srv_record_test.go @@ -0,0 +1,33 @@ +package azurerm + +import ( + "fmt" + "testing" + + "github.com/hashicorp/terraform/helper/acctest" + "github.com/hashicorp/terraform/helper/resource" +) + +func TestAccAzureRMDnsSrvRecord_importBasic(t *testing.T) { + resourceName := "azurerm_dns_srv_record.test" + + ri := acctest.RandInt() + config := fmt.Sprintf(testAccAzureRMDnsSrvRecord_basic, ri, ri, ri) + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testCheckAzureRMDnsSrvRecordDestroy, + Steps: []resource.TestStep{ + resource.TestStep{ + Config: config, + }, + + resource.TestStep{ + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} diff --git a/builtin/providers/azurerm/import_arm_dns_txt_record_test.go b/builtin/providers/azurerm/import_arm_dns_txt_record_test.go new file mode 100644 index 0000000000..30abf25a6e --- /dev/null +++ b/builtin/providers/azurerm/import_arm_dns_txt_record_test.go @@ -0,0 +1,33 @@ +package azurerm + +import ( + "fmt" + "testing" + + "github.com/hashicorp/terraform/helper/acctest" + "github.com/hashicorp/terraform/helper/resource" +) + +func TestAccAzureRMDnsTxtRecord_importBasic(t *testing.T) { + resourceName := "azurerm_dns_txt_record.test" + + ri := acctest.RandInt() + config := fmt.Sprintf(testAccAzureRMDnsTxtRecord_basic, ri, ri, ri) + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testCheckAzureRMDnsTxtRecordDestroy, + Steps: []resource.TestStep{ + resource.TestStep{ + Config: config, + }, + + resource.TestStep{ + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} diff --git a/builtin/providers/azurerm/import_arm_servicebus_namespace_test.go b/builtin/providers/azurerm/import_arm_servicebus_namespace_test.go new file mode 100644 index 0000000000..2fa623ed3c --- /dev/null +++ b/builtin/providers/azurerm/import_arm_servicebus_namespace_test.go @@ -0,0 +1,33 @@ +package azurerm + +import ( + "fmt" + "testing" + + "github.com/hashicorp/terraform/helper/acctest" + "github.com/hashicorp/terraform/helper/resource" +) + +func TestAccAzureRMServiceBusNamespace_importBasic(t *testing.T) { + resourceName := "azurerm_servicebus_namespace.test" + + ri := acctest.RandInt() + config := fmt.Sprintf(testAccAzureRMServiceBusNamespace_basic, ri, ri) + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testCheckAzureRMServiceBusNamespaceDestroy, + Steps: []resource.TestStep{ + resource.TestStep{ + Config: config, + }, + + resource.TestStep{ + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} diff --git a/builtin/providers/azurerm/import_arm_sql_firewall_rule_test.go b/builtin/providers/azurerm/import_arm_sql_firewall_rule_test.go index 9c59c78b85..fde1203a67 100644 --- a/builtin/providers/azurerm/import_arm_sql_firewall_rule_test.go +++ b/builtin/providers/azurerm/import_arm_sql_firewall_rule_test.go @@ -24,10 +24,9 @@ func TestAccAzureRMSqlFirewallRule_importBasic(t *testing.T) { }, resource.TestStep{ - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"server_name"}, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, }, }) diff --git a/builtin/providers/azurerm/import_arm_sql_server_test.go b/builtin/providers/azurerm/import_arm_sql_server_test.go new file mode 100644 index 0000000000..f14e475923 --- /dev/null +++ b/builtin/providers/azurerm/import_arm_sql_server_test.go @@ -0,0 +1,34 @@ +package azurerm + +import ( + "fmt" + "testing" + + "github.com/hashicorp/terraform/helper/acctest" + "github.com/hashicorp/terraform/helper/resource" +) + +func TestAccAzureRMSqlServer_importBasic(t *testing.T) { + resourceName := "azurerm_sql_server.test" + + ri := acctest.RandInt() + config := fmt.Sprintf(testAccAzureRMSqlServer_basic, ri, ri) + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testCheckAzureRMSqlServerDestroy, + Steps: []resource.TestStep{ + resource.TestStep{ + Config: config, + }, + + resource.TestStep{ + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{"administrator_login_password"}, + }, + }, + }) +} diff --git a/builtin/providers/azurerm/import_arm_virtual_machine_test.go b/builtin/providers/azurerm/import_arm_virtual_machine_test.go new file mode 100644 index 0000000000..806d44987d --- /dev/null +++ b/builtin/providers/azurerm/import_arm_virtual_machine_test.go @@ -0,0 +1,37 @@ +package azurerm + +import ( + "fmt" + "testing" + + "github.com/hashicorp/terraform/helper/acctest" + "github.com/hashicorp/terraform/helper/resource" +) + +func TestAccAzureRMVirtualMachine_importBasic(t *testing.T) { + resourceName := "azurerm_virtual_machine.test" + + ri := acctest.RandInt() + config := fmt.Sprintf(testAccAzureRMVirtualMachine_basicLinuxMachine, ri, ri, ri, ri, ri, ri, ri) + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testCheckAzureRMVirtualMachineDestroy, + Steps: []resource.TestStep{ + resource.TestStep{ + Config: config, + }, + + resource.TestStep{ + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{ + "delete_data_disks_on_termination", + "delete_os_disk_on_termination", + }, + }, + }, + }) +} diff --git a/builtin/providers/azurerm/resource_arm_cdn_endpoint.go b/builtin/providers/azurerm/resource_arm_cdn_endpoint.go index f4d3b1e557..7c961016c4 100644 --- a/builtin/providers/azurerm/resource_arm_cdn_endpoint.go +++ b/builtin/providers/azurerm/resource_arm_cdn_endpoint.go @@ -18,6 +18,9 @@ func resourceArmCdnEndpoint() *schema.Resource { Read: resourceArmCdnEndpointRead, Update: resourceArmCdnEndpointUpdate, Delete: resourceArmCdnEndpointDelete, + Importer: &schema.ResourceImporter{ + State: schema.ImportStatePassthrough, + }, Schema: map[string]*schema.Schema{ "name": { @@ -234,6 +237,9 @@ func resourceArmCdnEndpointRead(d *schema.ResourceData, meta interface{}) error } d.Set("name", resp.Name) + d.Set("resource_group_name", resGroup) + d.Set("location", azureRMNormalizeLocation(*resp.Location)) + d.Set("profile_name", profileName) d.Set("host_name", resp.Properties.HostName) d.Set("is_compression_enabled", resp.Properties.IsCompressionEnabled) d.Set("is_http_allowed", resp.Properties.IsHTTPAllowed) @@ -245,7 +251,7 @@ func resourceArmCdnEndpointRead(d *schema.ResourceData, meta interface{}) error if resp.Properties.OriginPath != nil && *resp.Properties.OriginPath != "" { d.Set("origin_path", resp.Properties.OriginPath) } - if resp.Properties.ContentTypesToCompress != nil && len(*resp.Properties.ContentTypesToCompress) > 0 { + if resp.Properties.ContentTypesToCompress != nil { d.Set("content_types_to_compress", flattenAzureRMCdnEndpointContentTypes(resp.Properties.ContentTypesToCompress)) } d.Set("origin", flattenAzureRMCdnEndpointOrigin(resp.Properties.Origins)) diff --git a/builtin/providers/azurerm/resource_arm_dns_a_record.go b/builtin/providers/azurerm/resource_arm_dns_a_record.go index 004308e64b..ba56deb637 100644 --- a/builtin/providers/azurerm/resource_arm_dns_a_record.go +++ b/builtin/providers/azurerm/resource_arm_dns_a_record.go @@ -14,6 +14,9 @@ func resourceArmDnsARecord() *schema.Resource { Read: resourceArmDnsARecordRead, Update: resourceArmDnsARecordCreate, Delete: resourceArmDnsARecordDelete, + Importer: &schema.ResourceImporter{ + State: schema.ImportStatePassthrough, + }, Schema: map[string]*schema.Schema{ "name": &schema.Schema{ @@ -111,6 +114,11 @@ func resourceArmDnsARecordRead(d *schema.ResourceData, meta interface{}) error { client := meta.(*ArmClient) rivieraClient := client.rivieraClient + id, err := parseAzureResourceID(d.Id()) + if err != nil { + return err + } + readRequest := rivieraClient.NewRequestForURI(d.Id()) readRequest.Command = &dns.GetARecordSet{} @@ -126,6 +134,9 @@ func resourceArmDnsARecordRead(d *schema.ResourceData, meta interface{}) error { resp := readResponse.Parsed.(*dns.GetARecordSetResponse) + d.Set("name", resp.Name) + d.Set("resource_group_name", id.ResourceGroup) + d.Set("zone_name", id.Path["dnszones"]) d.Set("ttl", resp.TTL) if resp.ARecords != nil { diff --git a/builtin/providers/azurerm/resource_arm_dns_aaaa_record.go b/builtin/providers/azurerm/resource_arm_dns_aaaa_record.go index 68c465a988..5246e9f4ca 100644 --- a/builtin/providers/azurerm/resource_arm_dns_aaaa_record.go +++ b/builtin/providers/azurerm/resource_arm_dns_aaaa_record.go @@ -14,6 +14,9 @@ func resourceArmDnsAAAARecord() *schema.Resource { Read: resourceArmDnsAAAARecordRead, Update: resourceArmDnsAAAARecordCreate, Delete: resourceArmDnsAAAARecordDelete, + Importer: &schema.ResourceImporter{ + State: schema.ImportStatePassthrough, + }, Schema: map[string]*schema.Schema{ "name": &schema.Schema{ @@ -111,6 +114,11 @@ func resourceArmDnsAAAARecordRead(d *schema.ResourceData, meta interface{}) erro client := meta.(*ArmClient) rivieraClient := client.rivieraClient + id, err := parseAzureResourceID(d.Id()) + if err != nil { + return err + } + readRequest := rivieraClient.NewRequestForURI(d.Id()) readRequest.Command = &dns.GetAAAARecordSet{} @@ -126,6 +134,9 @@ func resourceArmDnsAAAARecordRead(d *schema.ResourceData, meta interface{}) erro resp := readResponse.Parsed.(*dns.GetAAAARecordSetResponse) + d.Set("name", resp.Name) + d.Set("resource_group_name", id.ResourceGroup) + d.Set("zone_name", id.Path["dnszones"]) d.Set("ttl", resp.TTL) if resp.AAAARecords != nil { diff --git a/builtin/providers/azurerm/resource_arm_dns_cname_record.go b/builtin/providers/azurerm/resource_arm_dns_cname_record.go index 5d97662b7b..7541fc46c5 100644 --- a/builtin/providers/azurerm/resource_arm_dns_cname_record.go +++ b/builtin/providers/azurerm/resource_arm_dns_cname_record.go @@ -14,6 +14,9 @@ func resourceArmDnsCNameRecord() *schema.Resource { Read: resourceArmDnsCNameRecordRead, Update: resourceArmDnsCNameRecordCreate, Delete: resourceArmDnsCNameRecordDelete, + Importer: &schema.ResourceImporter{ + State: schema.ImportStatePassthrough, + }, Schema: map[string]*schema.Schema{ "name": &schema.Schema{ @@ -111,6 +114,11 @@ func resourceArmDnsCNameRecordRead(d *schema.ResourceData, meta interface{}) err client := meta.(*ArmClient) rivieraClient := client.rivieraClient + id, err := parseAzureResourceID(d.Id()) + if err != nil { + return err + } + readRequest := rivieraClient.NewRequestForURI(d.Id()) readRequest.Command = &dns.GetCNAMERecordSet{} @@ -126,6 +134,9 @@ func resourceArmDnsCNameRecordRead(d *schema.ResourceData, meta interface{}) err resp := readResponse.Parsed.(*dns.GetCNAMERecordSetResponse) + d.Set("name", resp.Name) + d.Set("resource_group_name", id.ResourceGroup) + d.Set("zone_name", id.Path["dnszones"]) d.Set("ttl", resp.TTL) d.Set("record", resp.CNAMERecord.CNAME) diff --git a/builtin/providers/azurerm/resource_arm_dns_mx_record.go b/builtin/providers/azurerm/resource_arm_dns_mx_record.go index ec601f1660..d4881c5f51 100644 --- a/builtin/providers/azurerm/resource_arm_dns_mx_record.go +++ b/builtin/providers/azurerm/resource_arm_dns_mx_record.go @@ -16,6 +16,9 @@ func resourceArmDnsMxRecord() *schema.Resource { Read: resourceArmDnsMxRecordRead, Update: resourceArmDnsMxRecordCreate, Delete: resourceArmDnsMxRecordDelete, + Importer: &schema.ResourceImporter{ + State: schema.ImportStatePassthrough, + }, Schema: map[string]*schema.Schema{ "name": &schema.Schema{ @@ -122,6 +125,11 @@ func resourceArmDnsMxRecordRead(d *schema.ResourceData, meta interface{}) error client := meta.(*ArmClient) rivieraClient := client.rivieraClient + id, err := parseAzureResourceID(d.Id()) + if err != nil { + return err + } + readRequest := rivieraClient.NewRequestForURI(d.Id()) readRequest.Command = &dns.GetMXRecordSet{} @@ -137,6 +145,9 @@ func resourceArmDnsMxRecordRead(d *schema.ResourceData, meta interface{}) error resp := readResponse.Parsed.(*dns.GetMXRecordSetResponse) + d.Set("name", resp.Name) + d.Set("resource_group_name", id.ResourceGroup) + d.Set("zone_name", id.Path["dnszones"]) d.Set("ttl", resp.TTL) if err := d.Set("record", flattenAzureRmDnsMxRecord(resp.MXRecords)); err != nil { diff --git a/builtin/providers/azurerm/resource_arm_dns_ns_record.go b/builtin/providers/azurerm/resource_arm_dns_ns_record.go index 09f33d32a7..17173239b2 100644 --- a/builtin/providers/azurerm/resource_arm_dns_ns_record.go +++ b/builtin/providers/azurerm/resource_arm_dns_ns_record.go @@ -14,6 +14,9 @@ func resourceArmDnsNsRecord() *schema.Resource { Read: resourceArmDnsNsRecordRead, Update: resourceArmDnsNsRecordCreate, Delete: resourceArmDnsNsRecordDelete, + Importer: &schema.ResourceImporter{ + State: schema.ImportStatePassthrough, + }, Schema: map[string]*schema.Schema{ "name": &schema.Schema{ @@ -114,6 +117,11 @@ func resourceArmDnsNsRecordRead(d *schema.ResourceData, meta interface{}) error client := meta.(*ArmClient) rivieraClient := client.rivieraClient + id, err := parseAzureResourceID(d.Id()) + if err != nil { + return err + } + readRequest := rivieraClient.NewRequestForURI(d.Id()) readRequest.Command = &dns.GetNSRecordSet{} @@ -129,6 +137,9 @@ func resourceArmDnsNsRecordRead(d *schema.ResourceData, meta interface{}) error resp := readResponse.Parsed.(*dns.GetNSRecordSetResponse) + d.Set("name", resp.Name) + d.Set("resource_group_name", id.ResourceGroup) + d.Set("zone_name", id.Path["dnszones"]) d.Set("ttl", resp.TTL) if resp.NSRecords != nil { diff --git a/builtin/providers/azurerm/resource_arm_dns_srv_record.go b/builtin/providers/azurerm/resource_arm_dns_srv_record.go index 4a2f446a0b..ca7e2bac5c 100644 --- a/builtin/providers/azurerm/resource_arm_dns_srv_record.go +++ b/builtin/providers/azurerm/resource_arm_dns_srv_record.go @@ -16,6 +16,9 @@ func resourceArmDnsSrvRecord() *schema.Resource { Read: resourceArmDnsSrvRecordRead, Update: resourceArmDnsSrvRecordCreate, Delete: resourceArmDnsSrvRecordDelete, + Importer: &schema.ResourceImporter{ + State: schema.ImportStatePassthrough, + }, Schema: map[string]*schema.Schema{ "name": &schema.Schema{ @@ -132,6 +135,11 @@ func resourceArmDnsSrvRecordRead(d *schema.ResourceData, meta interface{}) error client := meta.(*ArmClient) rivieraClient := client.rivieraClient + id, err := parseAzureResourceID(d.Id()) + if err != nil { + return err + } + readRequest := rivieraClient.NewRequestForURI(d.Id()) readRequest.Command = &dns.GetSRVRecordSet{} @@ -147,6 +155,9 @@ func resourceArmDnsSrvRecordRead(d *schema.ResourceData, meta interface{}) error resp := readResponse.Parsed.(*dns.GetSRVRecordSetResponse) + d.Set("name", resp.Name) + d.Set("resource_group_name", id.ResourceGroup) + d.Set("zone_name", id.Path["dnszones"]) d.Set("ttl", resp.TTL) if err := d.Set("record", flattenAzureRmDnsSrvRecord(resp.SRVRecords)); err != nil { diff --git a/builtin/providers/azurerm/resource_arm_dns_txt_record.go b/builtin/providers/azurerm/resource_arm_dns_txt_record.go index d4f71dba5f..37f45deee4 100644 --- a/builtin/providers/azurerm/resource_arm_dns_txt_record.go +++ b/builtin/providers/azurerm/resource_arm_dns_txt_record.go @@ -14,6 +14,9 @@ func resourceArmDnsTxtRecord() *schema.Resource { Read: resourceArmDnsTxtRecordRead, Update: resourceArmDnsTxtRecordCreate, Delete: resourceArmDnsTxtRecordDelete, + Importer: &schema.ResourceImporter{ + State: schema.ImportStatePassthrough, + }, Schema: map[string]*schema.Schema{ "name": &schema.Schema{ @@ -114,6 +117,11 @@ func resourceArmDnsTxtRecordRead(d *schema.ResourceData, meta interface{}) error client := meta.(*ArmClient) rivieraClient := client.rivieraClient + id, err := parseAzureResourceID(d.Id()) + if err != nil { + return err + } + readRequest := rivieraClient.NewRequestForURI(d.Id()) readRequest.Command = &dns.GetTXTRecordSet{} @@ -129,6 +137,9 @@ func resourceArmDnsTxtRecordRead(d *schema.ResourceData, meta interface{}) error resp := readResponse.Parsed.(*dns.GetTXTRecordSetResponse) + d.Set("name", resp.Name) + d.Set("resource_group_name", id.ResourceGroup) + d.Set("zone_name", id.Path["dnszones"]) d.Set("ttl", resp.TTL) if resp.TXTRecords != nil { diff --git a/builtin/providers/azurerm/resource_arm_servicebus_namespace.go b/builtin/providers/azurerm/resource_arm_servicebus_namespace.go index 05de1f71a0..408bc4c230 100644 --- a/builtin/providers/azurerm/resource_arm_servicebus_namespace.go +++ b/builtin/providers/azurerm/resource_arm_servicebus_namespace.go @@ -145,6 +145,8 @@ func resourceArmServiceBusNamespaceRead(d *schema.ResourceData, meta interface{} } d.Set("name", resp.Name) + d.Set("resource_group_name", resGroup) + d.Set("location", azureRMNormalizeLocation(*resp.Location)) d.Set("sku", strings.ToLower(string(resp.Sku.Name))) d.Set("capacity", resp.Sku.Capacity) diff --git a/builtin/providers/azurerm/resource_arm_sql_firewall_rule.go b/builtin/providers/azurerm/resource_arm_sql_firewall_rule.go index 680cec74ee..1150fc6f03 100644 --- a/builtin/providers/azurerm/resource_arm_sql_firewall_rule.go +++ b/builtin/providers/azurerm/resource_arm_sql_firewall_rule.go @@ -119,7 +119,9 @@ func resourceArmSqlFirewallRuleRead(d *schema.ResourceData, meta interface{}) er resp := readResponse.Parsed.(*sql.GetFirewallRuleResponse) d.Set("resource_group_name", resGroup) + d.Set("location", azureRMNormalizeLocation(*resp.Location)) d.Set("name", resp.Name) + d.Set("server_name", id.Path["servers"]) d.Set("start_ip_address", resp.StartIPAddress) d.Set("end_ip_address", resp.EndIPAddress) diff --git a/builtin/providers/azurerm/resource_arm_sql_server.go b/builtin/providers/azurerm/resource_arm_sql_server.go index 6ddaae30d3..a77a5b2ce5 100644 --- a/builtin/providers/azurerm/resource_arm_sql_server.go +++ b/builtin/providers/azurerm/resource_arm_sql_server.go @@ -15,6 +15,9 @@ func resourceArmSqlServer() *schema.Resource { Read: resourceArmSqlServerRead, Update: resourceArmSqlServerCreate, Delete: resourceArmSqlServerDelete, + Importer: &schema.ResourceImporter{ + State: schema.ImportStatePassthrough, + }, Schema: map[string]*schema.Schema{ "name": &schema.Schema{ @@ -111,6 +114,11 @@ func resourceArmSqlServerRead(d *schema.ResourceData, meta interface{}) error { client := meta.(*ArmClient) rivieraClient := client.rivieraClient + id, err := parseAzureResourceID(d.Id()) + if err != nil { + return err + } + readRequest := rivieraClient.NewRequestForURI(d.Id()) readRequest.Command = &sql.GetServer{} @@ -126,6 +134,9 @@ func resourceArmSqlServerRead(d *schema.ResourceData, meta interface{}) error { resp := readResponse.Parsed.(*sql.GetServerResponse) + d.Set("name", id.Path["servers"]) + d.Set("resource_group_name", id.ResourceGroup) + d.Set("location", azureRMNormalizeLocation(*resp.Location)) d.Set("fully_qualified_domain_name", resp.FullyQualifiedDomainName) d.Set("administrator_login", resp.AdministratorLogin) d.Set("version", resp.Version) diff --git a/builtin/providers/azurerm/resource_arm_virtual_machine.go b/builtin/providers/azurerm/resource_arm_virtual_machine.go index 4a34971ada..6a694e8251 100644 --- a/builtin/providers/azurerm/resource_arm_virtual_machine.go +++ b/builtin/providers/azurerm/resource_arm_virtual_machine.go @@ -20,6 +20,9 @@ func resourceArmVirtualMachine() *schema.Resource { Read: resourceArmVirtualMachineRead, Update: resourceArmVirtualMachineCreate, Delete: resourceArmVirtualMachineDelete, + Importer: &schema.ResourceImporter{ + State: schema.ImportStatePassthrough, + }, Schema: map[string]*schema.Schema{ "name": { @@ -44,7 +47,6 @@ func resourceArmVirtualMachine() *schema.Resource { "plan": { Type: schema.TypeSet, Optional: true, - Computed: true, MaxItems: 1, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ @@ -559,6 +561,10 @@ func resourceArmVirtualMachineRead(d *schema.ResourceData, meta interface{}) err return fmt.Errorf("Error making Read request on Azure Virtual Machine %s: %s", name, err) } + d.Set("name", resp.Name) + d.Set("resource_group_name", resGroup) + d.Set("location", resp.Location) + if resp.Plan != nil { if err := d.Set("plan", flattenAzureRmVirtualMachinePlan(resp.Plan)); err != nil { return fmt.Errorf("[DEBUG] Error setting Virtual Machine Plan error: %#v", err) diff --git a/website/source/docs/providers/azurerm/r/cdn_endpoint.html.markdown b/website/source/docs/providers/azurerm/r/cdn_endpoint.html.markdown index 9be153d077..8c6a7bf6ad 100644 --- a/website/source/docs/providers/azurerm/r/cdn_endpoint.html.markdown +++ b/website/source/docs/providers/azurerm/r/cdn_endpoint.html.markdown @@ -84,4 +84,12 @@ The `origin` block supports: The following attributes are exported: -* `id` - The CDN Endpoint ID. \ No newline at end of file +* `id` - The CDN Endpoint ID. + +## Import + +CDN Endpoints can be imported using the `resource id`, e.g. + +``` +terraform import azurerm_cdn_endpoint.test /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Cdn/profiles/myprofile1/endpoints/myendpoint1 +``` \ No newline at end of file diff --git a/website/source/docs/providers/azurerm/r/cdn_profile.html.markdown b/website/source/docs/providers/azurerm/r/cdn_profile.html.markdown index 69d3dbd906..d37a9022b1 100644 --- a/website/source/docs/providers/azurerm/r/cdn_profile.html.markdown +++ b/website/source/docs/providers/azurerm/r/cdn_profile.html.markdown @@ -51,4 +51,12 @@ The following arguments are supported: The following attributes are exported: -* `id` - The CDN Profile ID. \ No newline at end of file +* `id` - The CDN Profile ID. + +## Import + +CDN Profiles can be imported using the `resource id`, e.g. + +``` +terraform import azurerm_cdn_profile.test /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Cdn/profiles/myprofile1 +``` \ No newline at end of file diff --git a/website/source/docs/providers/azurerm/r/dns_a_record.html.markdown b/website/source/docs/providers/azurerm/r/dns_a_record.html.markdown index 63399e7622..764f792afe 100644 --- a/website/source/docs/providers/azurerm/r/dns_a_record.html.markdown +++ b/website/source/docs/providers/azurerm/r/dns_a_record.html.markdown @@ -51,3 +51,11 @@ The following arguments are supported: The following attributes are exported: * `id` - The DNS A Record ID. + +## Import + +A records can be imported using the `resource id`, e.g. + +``` +terraform import azurerm_dns_a_record.test /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/dnsZones/zone1/A/myrecord1 +``` diff --git a/website/source/docs/providers/azurerm/r/dns_aaaa_record.html.markdown b/website/source/docs/providers/azurerm/r/dns_aaaa_record.html.markdown index 5088d0fefc..14f31a13ed 100644 --- a/website/source/docs/providers/azurerm/r/dns_aaaa_record.html.markdown +++ b/website/source/docs/providers/azurerm/r/dns_aaaa_record.html.markdown @@ -51,3 +51,11 @@ The following arguments are supported: The following attributes are exported: * `id` - The DNS AAAA Record ID. + +## Import + +AAAA records can be imported using the `resource id`, e.g. + +``` +terraform import azurerm_dns_aaaa_record.test /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/dnsZones/zone1/AAAA/myrecord1 +``` diff --git a/website/source/docs/providers/azurerm/r/dns_cname_record.html.markdown b/website/source/docs/providers/azurerm/r/dns_cname_record.html.markdown index a358a0b399..cbb206959f 100644 --- a/website/source/docs/providers/azurerm/r/dns_cname_record.html.markdown +++ b/website/source/docs/providers/azurerm/r/dns_cname_record.html.markdown @@ -51,3 +51,11 @@ The following arguments are supported: The following attributes are exported: * `id` - The DNS CName Record ID. + +## Import + +CNAME records can be imported using the `resource id`, e.g. + +``` +terraform import azurerm_dns_cname_record.test /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/dnsZones/zone1/CNAME/myrecord1 +``` diff --git a/website/source/docs/providers/azurerm/r/dns_mx_record.html.markdown b/website/source/docs/providers/azurerm/r/dns_mx_record.html.markdown index 961979162b..b3731090d0 100644 --- a/website/source/docs/providers/azurerm/r/dns_mx_record.html.markdown +++ b/website/source/docs/providers/azurerm/r/dns_mx_record.html.markdown @@ -70,3 +70,11 @@ The `record` block supports: The following attributes are exported: * `id` - The DNS MX Record ID. + +## Import + +MX records can be imported using the `resource id`, e.g. + +``` +terraform import azurerm_dns_mx_record.test /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/dnsZones/zone1/MX/myrecord1 +``` diff --git a/website/source/docs/providers/azurerm/r/dns_ns_record.html.markdown b/website/source/docs/providers/azurerm/r/dns_ns_record.html.markdown index e160a1199b..fff7a8d160 100644 --- a/website/source/docs/providers/azurerm/r/dns_ns_record.html.markdown +++ b/website/source/docs/providers/azurerm/r/dns_ns_record.html.markdown @@ -65,3 +65,11 @@ The `record` block supports: The following attributes are exported: * `id` - The DNS NS Record ID. + +## Import + +NS records can be imported using the `resource id`, e.g. + +``` +terraform import azurerm_dns_ns_record.test /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/dnsZones/zone1/NS/myrecord1 +``` diff --git a/website/source/docs/providers/azurerm/r/dns_srv_record.html.markdown b/website/source/docs/providers/azurerm/r/dns_srv_record.html.markdown index 2a783a7145..8fea38350e 100644 --- a/website/source/docs/providers/azurerm/r/dns_srv_record.html.markdown +++ b/website/source/docs/providers/azurerm/r/dns_srv_record.html.markdown @@ -72,3 +72,11 @@ The `record` block supports: The following attributes are exported: * `id` - The DNS SRV Record ID. + +## Import + +SRV records can be imported using the `resource id`, e.g. + +``` +terraform import azurerm_dns_srv_record.test /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/dnsZones/zone1/SRV/myrecord1 +``` diff --git a/website/source/docs/providers/azurerm/r/dns_txt_record.html.markdown b/website/source/docs/providers/azurerm/r/dns_txt_record.html.markdown index df8e55f7ce..4fe259dfef 100644 --- a/website/source/docs/providers/azurerm/r/dns_txt_record.html.markdown +++ b/website/source/docs/providers/azurerm/r/dns_txt_record.html.markdown @@ -64,3 +64,11 @@ The `record` block supports: The following attributes are exported: * `id` - The DNS TXT Record ID. + +## Import + +TXT records can be imported using the `resource id`, e.g. + +``` +terraform import azurerm_dns_txt_record.test /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/dnsZones/zone1/TXT/myrecord1 +``` diff --git a/website/source/docs/providers/azurerm/r/network_interface.html.markdown b/website/source/docs/providers/azurerm/r/network_interface.html.markdown index 33a1c00aff..87f6f78a76 100644 --- a/website/source/docs/providers/azurerm/r/network_interface.html.markdown +++ b/website/source/docs/providers/azurerm/r/network_interface.html.markdown @@ -101,3 +101,11 @@ The following attributes are exported: * `virtual_machine_id` - Reference to a VM with which this NIC has been associated. * `applied_dns_servers` - If the VM that uses this NIC is part of an Availability Set, then this list will have the union of all DNS servers from all NICs that are part of the Availability Set * `internal_fqdn` - Fully qualified DNS name supporting internal communications between VMs in the same VNet + +## Import + +Network Interfaces can be imported using the `resource id`, e.g. + +``` +terraform import azurerm_network_interface.test /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/microsoft.network/networkInterfaces/nic1 +``` \ No newline at end of file diff --git a/website/source/docs/providers/azurerm/r/servicebus_namespace.html.markdown b/website/source/docs/providers/azurerm/r/servicebus_namespace.html.markdown index 9fedfd9792..82ed2e9aff 100644 --- a/website/source/docs/providers/azurerm/r/servicebus_namespace.html.markdown +++ b/website/source/docs/providers/azurerm/r/servicebus_namespace.html.markdown @@ -66,3 +66,11 @@ The following attributes are exported only if there is an authorization rule nam * `default_primary_key` - The primary access key for the authorization rule `RootManageSharedAccessKey`. * `default_secondary_key` - The secondary access key for the authorization rule `RootManageSharedAccessKey`. + +## Import + +Service Bus Namespace can be imported using the `resource id`, e.g. + +``` +terraform import azurerm_servicebus_namespace.test /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/microsoft.servicebus/namespaces/sbns1 +``` diff --git a/website/source/docs/providers/azurerm/r/servicebus_subscription.html.markdown b/website/source/docs/providers/azurerm/r/servicebus_subscription.html.markdown index cdac07f9d5..da9c6ab2c9 100644 --- a/website/source/docs/providers/azurerm/r/servicebus_subscription.html.markdown +++ b/website/source/docs/providers/azurerm/r/servicebus_subscription.html.markdown @@ -105,3 +105,11 @@ used to represent a lengh of time. The supported format is documented [here](htt The following attributes are exported: * `id` - The ServiceBus Subscription ID. + +## Import + +Service Bus Subscriptions can be imported using the `resource id`, e.g. + +``` +terraform import azurerm_servicebus_subscription.test /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/microsoft.servicebus/namespaces/sbns1/topics/sntopic1/subscriptions/sbsub1 +``` \ No newline at end of file diff --git a/website/source/docs/providers/azurerm/r/servicebus_topic.html.markdown b/website/source/docs/providers/azurerm/r/servicebus_topic.html.markdown index 99edaa3be5..1ab84cdcb5 100644 --- a/website/source/docs/providers/azurerm/r/servicebus_topic.html.markdown +++ b/website/source/docs/providers/azurerm/r/servicebus_topic.html.markdown @@ -106,3 +106,11 @@ used to represent a lengh of time. The supported format is documented [here](htt The following attributes are exported: * `id` - The ServiceBus Topic ID. + +## Import + +Service Bus Topics can be imported using the `resource id`, e.g. + +``` +terraform import azurerm_servicebus_topic.test /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/microsoft.servicebus/namespaces/sbns1/topics/sntopic1 +``` diff --git a/website/source/docs/providers/azurerm/r/sql_server.html.markdown b/website/source/docs/providers/azurerm/r/sql_server.html.markdown index 8137f32c31..2daf9564b6 100644 --- a/website/source/docs/providers/azurerm/r/sql_server.html.markdown +++ b/website/source/docs/providers/azurerm/r/sql_server.html.markdown @@ -55,3 +55,11 @@ The following attributes are exported: * `id` - The SQL Server ID. * `fully_qualified_domain_name` - The fully qualified domain name of the Azure SQL Server (e.g. myServerName.database.windows.net) + +## Import + +SQL Servers can be imported using the `resource id`, e.g. + +``` +terraform import azurerm_sql_server.test /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Sql/servers/myserver +``` diff --git a/website/source/docs/providers/azurerm/r/virtual_machine.html.markdown b/website/source/docs/providers/azurerm/r/virtual_machine.html.markdown index beb2b62c8d..0157d17330 100644 --- a/website/source/docs/providers/azurerm/r/virtual_machine.html.markdown +++ b/website/source/docs/providers/azurerm/r/virtual_machine.html.markdown @@ -313,3 +313,11 @@ For more information on the different example configurations, please check out t The following attributes are exported: * `id` - The virtual machine ID. + +## Import + +Virtual Machines can be imported using the `resource id`, e.g. + +``` +terraform import azurerm_virtual_machine.test /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/microsoft.compute/virtualMachines/machine1 +```