Skip to content

Commit 763defb

Browse files
committed
Add labels functionality to managed DNS
1 parent 62cee9b commit 763defb

File tree

2 files changed

+31
-0
lines changed

2 files changed

+31
-0
lines changed

google/resource_dns_managed_zone.go

+28
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,12 @@ func resourceDnsManagedZone() *schema.Resource {
5353
Computed: true,
5454
ForceNew: true,
5555
},
56+
57+
"labels": &schema.Schema{
58+
Type: schema.TypeMap,
59+
Optional: true,
60+
Elem: &schema.Schema{Type: schema.TypeString},
61+
},
5662
},
5763
}
5864
}
@@ -72,7 +78,18 @@ func resourceDnsManagedZoneCreate(d *schema.ResourceData, meta interface{}) erro
7278
Description: d.Get("description").(string),
7379
}
7480

81+
if clabels, ok := d.GetOk("labels"); ok {
82+
labels := map[string]string{}
83+
84+
for k, v := range clabels.(map[string]interface{}) {
85+
labels[k] = v.(string)
86+
}
87+
88+
zone.Labels = labels
89+
}
90+
7591
log.Printf("[DEBUG] DNS ManagedZone create request: %#v", zone)
92+
7693
zone, err = config.clientDns.ManagedZones.Create(project, zone).Do()
7794
if err != nil {
7895
return fmt.Errorf("Error creating DNS ManagedZone: %s", err)
@@ -102,6 +119,7 @@ func resourceDnsManagedZoneRead(d *schema.ResourceData, meta interface{}) error
102119
d.Set("dns_name", zone.DnsName)
103120
d.Set("description", zone.Description)
104121
d.Set("project", project)
122+
d.Set("labels", zone.Labels)
105123

106124
return nil
107125
}
@@ -120,6 +138,16 @@ func resourceDnsManagedZoneUpdate(d *schema.ResourceData, meta interface{}) erro
120138
Description: d.Get("description").(string),
121139
}
122140

141+
if clabels, ok := d.GetOk("labels"); ok {
142+
labels := map[string]string{}
143+
144+
for k, v := range clabels.(map[string]interface{}) {
145+
labels[k] = v.(string)
146+
}
147+
148+
zone.Labels = labels
149+
}
150+
123151
op, err := config.clientDnsBeta.ManagedZones.Patch(project, d.Id(), zone).Do()
124152
if err != nil {
125153
return err

google/resource_dns_managed_zone_test.go

+3
Original file line numberDiff line numberDiff line change
@@ -85,5 +85,8 @@ resource "google_dns_managed_zone" "foobar" {
8585
name = "mzone-test-%s"
8686
dns_name = "tf-acctest-%s.hashicorptest.com."
8787
description = "%s"
88+
labels = {
89+
foo = "bar"
90+
}
8891
}`, suffix, suffix, description)
8992
}

0 commit comments

Comments
 (0)