summaryrefslogtreecommitdiff
path: root/novaclient/v2/servers.py
diff options
context:
space:
mode:
Diffstat (limited to 'novaclient/v2/servers.py')
-rw-r--r--novaclient/v2/servers.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/novaclient/v2/servers.py b/novaclient/v2/servers.py
index 43ed34f2..acef7856 100644
--- a/novaclient/v2/servers.py
+++ b/novaclient/v2/servers.py
@@ -291,6 +291,7 @@ class Server(base.Resource):
"""
return self.manager.shelve_offload(self)
+ @api_versions.wraps("2.0", "2.76")
def unshelve(self):
"""
Unshelve -- Unshelve the server.
@@ -299,6 +300,18 @@ class Server(base.Resource):
"""
return self.manager.unshelve(self)
+ @api_versions.wraps("2.77")
+ def unshelve(self, availability_zone=None):
+ """
+ Unshelve -- Unshelve the server.
+
+ :param availability_zone: The specified availability zone name
+ (Optional)
+ :returns: An instance of novaclient.base.TupleWithMeta
+ """
+ return self.manager.unshelve(self,
+ availability_zone=availability_zone)
+
def diagnostics(self):
"""Diagnostics -- Retrieve server diagnostics."""
return self.manager.diagnostics(self)
@@ -1222,6 +1235,7 @@ class ServerManager(base.BootingManagerWithFind):
"""
return self._action('shelveOffload', server, None)
+ @api_versions.wraps("2.0", "2.76")
def unshelve(self, server):
"""
Unshelve the server.
@@ -1231,6 +1245,21 @@ class ServerManager(base.BootingManagerWithFind):
"""
return self._action('unshelve', server, None)
+ @api_versions.wraps("2.77")
+ def unshelve(self, server, availability_zone=None):
+ """
+ Unshelve the server.
+
+ :param server: The :class:`Server` (or its ID) to unshelve
+ :param availability_zone: The specified availability zone name
+ (Optional)
+ :returns: An instance of novaclient.base.TupleWithMeta
+ """
+ info = None
+ if availability_zone:
+ info = {'availability_zone': availability_zone}
+ return self._action('unshelve', server, info)
+
def ips(self, server):
"""
Return IP Addresses associated with the server.