From 44fc1b5d8038732b42a088125b770be7d8f700ad Mon Sep 17 00:00:00 2001 From: Hany Fahim Date: Sat, 9 Apr 2016 11:58:57 -0400 Subject: [PATCH 1/2] Add project parameter to cloudstack_port_forward. - Add parameter to resource. - Modify read operation to pass in projectid if defined. --- .../resource_cloudstack_port_forward.go | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/builtin/providers/cloudstack/resource_cloudstack_port_forward.go b/builtin/providers/cloudstack/resource_cloudstack_port_forward.go index 46fadce4c..fbff933c6 100644 --- a/builtin/providers/cloudstack/resource_cloudstack_port_forward.go +++ b/builtin/providers/cloudstack/resource_cloudstack_port_forward.go @@ -43,6 +43,12 @@ func resourceCloudStackPortForward() *schema.Resource { Default: false, }, + "project": &schema.Schema{ + Type: schema.TypeString, + Optional: true, + ForceNew: true, + }, + "forward": &schema.Schema{ Type: schema.TypeSet, Required: true, @@ -207,6 +213,17 @@ func resourceCloudStackPortForwardRead(d *schema.ResourceData, meta interface{}) p.SetIpaddressid(d.Id()) p.SetListall(true) + // If there is a project supplied, we retrieve and set the project id + if project, ok := d.GetOk("project"); ok { + // Retrieve the project ID + projectid, e := retrieveID(cs, "project", project.(string)) + if e != nil { + return e.Error() + } + // Set the default project ID + p.SetProjectid(projectid) + } + l, err := cs.Firewall.ListPortForwardingRules(p) if err != nil { return err From 3135706d1f9571395a66dbf70437ad03b48be233 Mon Sep 17 00:00:00 2001 From: Hany Fahim Date: Mon, 11 Apr 2016 08:22:01 -0400 Subject: [PATCH 2/2] Update to use setProjectid helper function --- .../cloudstack/resource_cloudstack_port_forward.go | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/builtin/providers/cloudstack/resource_cloudstack_port_forward.go b/builtin/providers/cloudstack/resource_cloudstack_port_forward.go index fbff933c6..64fd6a3bb 100644 --- a/builtin/providers/cloudstack/resource_cloudstack_port_forward.go +++ b/builtin/providers/cloudstack/resource_cloudstack_port_forward.go @@ -213,15 +213,8 @@ func resourceCloudStackPortForwardRead(d *schema.ResourceData, meta interface{}) p.SetIpaddressid(d.Id()) p.SetListall(true) - // If there is a project supplied, we retrieve and set the project id - if project, ok := d.GetOk("project"); ok { - // Retrieve the project ID - projectid, e := retrieveID(cs, "project", project.(string)) - if e != nil { - return e.Error() - } - // Set the default project ID - p.SetProjectid(projectid) + if err := setProjectid(p, cs, d); err != nil { + return err } l, err := cs.Firewall.ListPortForwardingRules(p)