From c5553716b51760d11fb1c14b8d83664610050c54 Mon Sep 17 00:00:00 2001 From: zengchen1024 Date: Sat, 28 Apr 2018 17:18:15 +0800 Subject: [PATCH] add new delete method for elb loadbalance --- .../v2/extensions/elbaas/loadbalancer_elbs/requests.go | 4 ++-- .../v2/extensions/elbaas/loadbalancer_elbs/urls.go | 7 +++++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/openstack/networking/v2/extensions/elbaas/loadbalancer_elbs/requests.go b/openstack/networking/v2/extensions/elbaas/loadbalancer_elbs/requests.go index 74f76ade6..aa38abfea 100644 --- a/openstack/networking/v2/extensions/elbaas/loadbalancer_elbs/requests.go +++ b/openstack/networking/v2/extensions/elbaas/loadbalancer_elbs/requests.go @@ -195,8 +195,8 @@ func Update(c *golangsdk.ServiceClient, id string, opts UpdateOpts) (r UpdateRes } // Delete will permanently delete a particular LoadBalancer based on its unique ID. -func Delete(c *golangsdk.ServiceClient, id string) (r DeleteResult) { - _, r.Err = c.Delete2(resourceURL(c, id), &r.Body, &golangsdk.RequestOpts{ +func Delete(c *golangsdk.ServiceClient, id string, keepEIP bool) (r DeleteResult) { + _, r.Err = c.Delete2(deleteURL(c, id, keepEIP), &r.Body, &golangsdk.RequestOpts{ OkCodes: []int{200}, }) return diff --git a/openstack/networking/v2/extensions/elbaas/loadbalancer_elbs/urls.go b/openstack/networking/v2/extensions/elbaas/loadbalancer_elbs/urls.go index 141a36914..7648cf934 100644 --- a/openstack/networking/v2/extensions/elbaas/loadbalancer_elbs/urls.go +++ b/openstack/networking/v2/extensions/elbaas/loadbalancer_elbs/urls.go @@ -14,3 +14,10 @@ func rootURL(c *golangsdk.ServiceClient) string { func resourceURL(c *golangsdk.ServiceClient, id string) string { return c.ServiceURL(rootPath, resourcePath, id) } + +func deleteURL(c *golangsdk.ServiceClient, id string, keepEIP bool) string { + if keepEIP { + return c.ServiceURL(rootPath, resourcePath, id, "keep-eip") + } + return c.ServiceURL(rootPath, resourcePath, id) +}