From 20bb0b352ac6757feb7a796ef282232bb55dc9b5 Mon Sep 17 00:00:00 2001 From: Dmytro Aleksandrov Date: Wed, 15 Jun 2016 21:50:21 +0300 Subject: [PATCH] Added gophercloud startstop dependency --- .../compute/v2/extensions/startstop/doc.go | 5 ++++ .../v2/extensions/startstop/fixtures.go | 29 +++++++++++++++++++ .../v2/extensions/startstop/requests.go | 23 +++++++++++++++ vendor/vendor.json | 6 ++++ 4 files changed, 63 insertions(+) create mode 100644 vendor/github.com/rackspace/gophercloud/openstack/compute/v2/extensions/startstop/doc.go create mode 100644 vendor/github.com/rackspace/gophercloud/openstack/compute/v2/extensions/startstop/fixtures.go create mode 100644 vendor/github.com/rackspace/gophercloud/openstack/compute/v2/extensions/startstop/requests.go diff --git a/vendor/github.com/rackspace/gophercloud/openstack/compute/v2/extensions/startstop/doc.go b/vendor/github.com/rackspace/gophercloud/openstack/compute/v2/extensions/startstop/doc.go new file mode 100644 index 0000000000..d2729f8743 --- /dev/null +++ b/vendor/github.com/rackspace/gophercloud/openstack/compute/v2/extensions/startstop/doc.go @@ -0,0 +1,5 @@ +/* +Package startstop provides functionality to start and stop servers that have +been provisioned by the OpenStack Compute service. +*/ +package startstop diff --git a/vendor/github.com/rackspace/gophercloud/openstack/compute/v2/extensions/startstop/fixtures.go b/vendor/github.com/rackspace/gophercloud/openstack/compute/v2/extensions/startstop/fixtures.go new file mode 100644 index 0000000000..e2c33fe2d5 --- /dev/null +++ b/vendor/github.com/rackspace/gophercloud/openstack/compute/v2/extensions/startstop/fixtures.go @@ -0,0 +1,29 @@ +// +build fixtures + +package startstop + +import ( + "net/http" + "testing" + + th "github.com/rackspace/gophercloud/testhelper" + "github.com/rackspace/gophercloud/testhelper/client" +) + +func mockStartServerResponse(t *testing.T, id string) { + th.Mux.HandleFunc("/servers/"+id+"/action", func(w http.ResponseWriter, r *http.Request) { + th.TestMethod(t, r, "POST") + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) + th.TestJSONRequest(t, r, `{"os-start": null}`) + w.WriteHeader(http.StatusAccepted) + }) +} + +func mockStopServerResponse(t *testing.T, id string) { + th.Mux.HandleFunc("/servers/"+id+"/action", func(w http.ResponseWriter, r *http.Request) { + th.TestMethod(t, r, "POST") + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) + th.TestJSONRequest(t, r, `{"os-stop": null}`) + w.WriteHeader(http.StatusAccepted) + }) +} diff --git a/vendor/github.com/rackspace/gophercloud/openstack/compute/v2/extensions/startstop/requests.go b/vendor/github.com/rackspace/gophercloud/openstack/compute/v2/extensions/startstop/requests.go new file mode 100644 index 0000000000..0e090e69f2 --- /dev/null +++ b/vendor/github.com/rackspace/gophercloud/openstack/compute/v2/extensions/startstop/requests.go @@ -0,0 +1,23 @@ +package startstop + +import "github.com/rackspace/gophercloud" + +func actionURL(client *gophercloud.ServiceClient, id string) string { + return client.ServiceURL("servers", id, "action") +} + +// Start is the operation responsible for starting a Compute server. +func Start(client *gophercloud.ServiceClient, id string) gophercloud.ErrResult { + var res gophercloud.ErrResult + reqBody := map[string]interface{}{"os-start": nil} + _, res.Err = client.Post(actionURL(client, id), reqBody, nil, nil) + return res +} + +// Stop is the operation responsible for stopping a Compute server. +func Stop(client *gophercloud.ServiceClient, id string) gophercloud.ErrResult { + var res gophercloud.ErrResult + reqBody := map[string]interface{}{"os-stop": nil} + _, res.Err = client.Post(actionURL(client, id), reqBody, nil, nil) + return res +} diff --git a/vendor/vendor.json b/vendor/vendor.json index 67b82fc3cd..4668171d30 100644 --- a/vendor/vendor.json +++ b/vendor/vendor.json @@ -1184,6 +1184,12 @@ "revision": "d47105ce4ef90cea9a14b85c8dd172b760085828", "revisionTime": "2016-06-03T22:34:01Z" }, + { + "checksumSHA1": "jqSmOJoNKVtGwDhuoilAF7iftqA=", + "path": "github.com/rackspace/gophercloud/openstack/compute/v2/extensions/startstop", + "revision": "d47105ce4ef90cea9a14b85c8dd172b760085828", + "revisionTime": "2016-06-03T22:34:01Z" + }, { "checksumSHA1": "rHEOEAm10HDsfBLU8FqKSUdwqFY=", "path": "github.com/rackspace/gophercloud/openstack/compute/v2/extensions/tenantnetworks",