d/dns_managed_zone: Error out if zone is not found

This commit is contained in:
Radek Simko 2017-10-10 12:08:12 +01:00
parent 888df75f39
commit 4bbce17bee
No known key found for this signature in database
GPG Key ID: 1F1C84FE689A88D7
2 changed files with 24 additions and 8 deletions

View File

@ -41,7 +41,25 @@ func dataSourceDnsManagedZone() *schema.Resource {
}
func dataSourceDnsManagedZoneRead(d *schema.ResourceData, meta interface{}) error {
config := meta.(*Config)
d.SetId(d.Get("name").(string))
return resourceDnsManagedZoneRead(d, meta)
project, err := getProject(d, config)
if err != nil {
return err
}
zone, err := config.clientDns.ManagedZones.Get(
project, d.Id()).Do()
if err != nil {
return err
}
d.Set("name_servers", zone.NameServers)
d.Set("name", zone.Name)
d.Set("dns_name", zone.DnsName)
d.Set("description", zone.Description)
return nil
}

View File

@ -16,7 +16,7 @@ func TestAccDataSourceDnsManagedZone_basic(t *testing.T) {
Steps: []resource.TestStep{
resource.TestStep{
Config: testAccDataSourceDnsManagedZone_basic,
Check: testAccDataSourceDnsManagedZoneCheck("qa", "foo"),
Check: testAccDataSourceDnsManagedZoneCheck("data.google_dns_managed_zone.qa", "google_dns_managed_zone.foo"),
},
},
})
@ -24,16 +24,14 @@ func TestAccDataSourceDnsManagedZone_basic(t *testing.T) {
func testAccDataSourceDnsManagedZoneCheck(dsName, rsName string) resource.TestCheckFunc {
return func(s *terraform.State) error {
dsFullName := "data.google_dns_managed_zone." + dsName
rsFullName := "google_dns_managed_zone." + rsName
ds, ok := s.RootModule().Resources[dsFullName]
ds, ok := s.RootModule().Resources[rsName]
if !ok {
return fmt.Errorf("cant' find resource called %s in state", dsFullName)
return fmt.Errorf("can't find resource called %s in state", rsName)
}
rs, ok := s.RootModule().Resources[rsFullName]
rs, ok := s.RootModule().Resources[dsName]
if !ok {
return fmt.Errorf("can't find data source called %s in state", rsFullName)
return fmt.Errorf("can't find data source called %s in state", dsName)
}
dsAttr := ds.Primary.Attributes