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 000000000000..ee5c8a4bdcc8 --- /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 000000000000..373239e56c98 --- /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 000000000000..dbf38511015c --- /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 000000000000..a4e376060b6a --- /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 000000000000..ef87fffd1338 --- /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 000000000000..ea2a1a61122e --- /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 000000000000..0d4de6bae0f5 --- /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 000000000000..30abf25a6ea1 --- /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 000000000000..2fa623ed3c3f --- /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 9c59c78b853a..fde1203a6704 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 000000000000..f14e475923c7 --- /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 000000000000..806d44987d15 --- /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 f4d3b1e55758..7c961016c446 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 004308e64b4a..ba56deb637ae 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 68c465a9884f..5246e9f4cae2 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 5d97662b7b55..7541fc46c511 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 ec601f1660c3..d4881c5f5149 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 09f33d32a7db..17173239b246 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 4a2f446a0b55..ca7e2bac5c45 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 d4f71dba5f66..37f45deee40e 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 05de1f71a0ca..408bc4c23077 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 680cec74eeb9..1150fc6f03c7 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 6ddaae30d3b9..a77a5b2ce554 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 a3f49c0e64e9..afa441c95347 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 9be153d07719..8c6a7bf6adb9 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 69d3dbd906f3..d37a9022b198 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 63399e76226e..764f792afe8b 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 5088d0fefc66..14f31a13ede8 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 a358a0b39935..cbb206959fcb 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 961979162b4a..b3731090d016 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 e160a1199bdb..fff7a8d1608e 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 2a783a71455d..8fea38350ea1 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 df8e55f7ce37..4fe259dfefdc 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 33a1c00aff47..87f6f78a765a 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 9fedfd979278..82ed2e9aff79 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 cdac07f9d587..da9c6ab2c9e0 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 99edaa3be597..1ab84cdcb506 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 8137f32c314a..2daf9564b612 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 beb2b62c8d46..0157d1733002 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 +```