Merge pull request #560 from terraform-providers/b-ds-dns-mz-404

d/dns_managed_zone: Error out if zone is not found
This commit is contained in:
Radek Simko 2017-10-10 18:21:56 +01:00 committed by GitHub
commit 44f477326d
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 { func dataSourceDnsManagedZoneRead(d *schema.ResourceData, meta interface{}) error {
config := meta.(*Config)
d.SetId(d.Get("name").(string)) 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{ Steps: []resource.TestStep{
resource.TestStep{ resource.TestStep{
Config: testAccDataSourceDnsManagedZone_basic, 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 { func testAccDataSourceDnsManagedZoneCheck(dsName, rsName string) resource.TestCheckFunc {
return func(s *terraform.State) error { return func(s *terraform.State) error {
dsFullName := "data.google_dns_managed_zone." + dsName ds, ok := s.RootModule().Resources[rsName]
rsFullName := "google_dns_managed_zone." + rsName
ds, ok := s.RootModule().Resources[dsFullName]
if !ok { 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 { 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 dsAttr := ds.Primary.Attributes