From 17e6e5d118aa48f0e0bbe8a4bd84066dc5871ae4 Mon Sep 17 00:00:00 2001 From: Yo Takezawa Date: Wed, 27 Jan 2016 17:39:45 +0900 Subject: [PATCH] provider/openstack Convert FixedIPS from struct to map for ResourceData --- .../resource_openstack_networking_port_v2.go | 13 ++++++++++++- .../openstack/r/networking_port_v2.html.markdown | 1 + 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/builtin/providers/openstack/resource_openstack_networking_port_v2.go b/builtin/providers/openstack/resource_openstack_networking_port_v2.go index 4870f2877..d005d2d34 100644 --- a/builtin/providers/openstack/resource_openstack_networking_port_v2.go +++ b/builtin/providers/openstack/resource_openstack_networking_port_v2.go @@ -81,6 +81,7 @@ func resourceNetworkingPortV2() *schema.Resource { Type: schema.TypeList, Optional: true, ForceNew: false, + Computed: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "subnet_id": &schema.Schema{ @@ -90,6 +91,7 @@ func resourceNetworkingPortV2() *schema.Resource { "ip_address": &schema.Schema{ Type: schema.TypeString, Optional: true, + Computed: true, }, }, }, @@ -163,7 +165,16 @@ func resourceNetworkingPortV2Read(d *schema.ResourceData, meta interface{}) erro d.Set("device_owner", p.DeviceOwner) d.Set("security_group_ids", p.SecurityGroups) d.Set("device_id", p.DeviceID) - d.Set("fixed_ip", p.FixedIPs) + + // Convert FixedIPs to list of map + var ips []map[string]interface{} + for _, ipObject := range p.FixedIPs { + ip := make(map[string]interface{}) + ip["subnet_id"] = ipObject.SubnetID + ip["ip_address"] = ipObject.IPAddress + ips = append(ips, ip) + } + d.Set("fixed_ip", ips) return nil } diff --git a/website/source/docs/providers/openstack/r/networking_port_v2.html.markdown b/website/source/docs/providers/openstack/r/networking_port_v2.html.markdown index 45ae14c5d..6e9b8e2d5 100644 --- a/website/source/docs/providers/openstack/r/networking_port_v2.html.markdown +++ b/website/source/docs/providers/openstack/r/networking_port_v2.html.markdown @@ -84,3 +84,4 @@ The following attributes are exported: * `device_owner` - See Argument Reference above. * `security_groups` - See Argument Reference above. * `device_id` - See Argument Reference above. +* `fixed_ip/ip_address` - See Argument Reference above.