provider/google: provide assigned_nat_ip as well as nat_ip

This commit is contained in:
Lars Wander 2015-12-11 11:41:02 -05:00
parent b26a85e5b2
commit a1a5788ed8
3 changed files with 13 additions and 4 deletions

View File

@ -136,9 +136,13 @@ func resourceComputeInstance() *schema.Resource {
Schema: map[string]*schema.Schema{ Schema: map[string]*schema.Schema{
"nat_ip": &schema.Schema{ "nat_ip": &schema.Schema{
Type: schema.TypeString, Type: schema.TypeString,
Computed: true,
Optional: true, Optional: true,
}, },
"assigned_nat_ip": &schema.Schema{
Type: schema.TypeString,
Computed: true,
},
}, },
}, },
}, },
@ -629,9 +633,10 @@ func resourceComputeInstanceRead(d *schema.ResourceData, meta interface{}) error
var natIP string var natIP string
accessConfigs := make( accessConfigs := make(
[]map[string]interface{}, 0, len(iface.AccessConfigs)) []map[string]interface{}, 0, len(iface.AccessConfigs))
for _, config := range iface.AccessConfigs { for j, config := range iface.AccessConfigs {
accessConfigs = append(accessConfigs, map[string]interface{}{ accessConfigs = append(accessConfigs, map[string]interface{}{
"nat_ip": config.NatIP, "nat_ip": d.Get(fmt.Sprintf("network_interface.%d.access_config.%d.nat_ip", i, j)),
"assigned_nat_ip": config.NatIP,
}) })
if natIP == "" { if natIP == "" {

View File

@ -133,6 +133,10 @@ The `access_config` block supports:
* `nat_ip` - (Optional) The IP address that will be 1:1 mapped to the instance's network ip. If not * `nat_ip` - (Optional) The IP address that will be 1:1 mapped to the instance's network ip. If not
given, one will be generated. given, one will be generated.
* `assigned_nat_ip` - (Optional) The IP address that is assigned to the
instance. If `nat_ip` is filled, it will appear here. If `nat_ip` is left
blank, the ephemeral assigned IP will appear here.
(DEPRECATED) The `network` block supports: (DEPRECATED) The `network` block supports:
* `source` - (Required) The name of the network to attach this interface to. * `source` - (Required) The name of the network to attach this interface to.

View File

@ -40,7 +40,7 @@ resource "google_dns_record_set" "frontend" {
name = "frontend.${google_dns_managed_zone.prod.dns_name}" name = "frontend.${google_dns_managed_zone.prod.dns_name}"
type = "A" type = "A"
ttl = 300 ttl = 300
rrdatas = ["${google_compute_instance.frontend.network_interface.0.access_config.0.nat_ip}"] rrdatas = ["${google_compute_instance.frontend.network_interface.0.access_config.0.assigned_nat_ip}"]
} }
``` ```