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{
"nat_ip": &schema.Schema{
Type: schema.TypeString,
Computed: 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
accessConfigs := make(
[]map[string]interface{}, 0, len(iface.AccessConfigs))
for _, config := range iface.AccessConfigs {
for j, config := range iface.AccessConfigs {
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 == "" {

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
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:
* `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}"
type = "A"
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}"]
}
```