summaryrefslogtreecommitdiff
path: root/openstackclient
diff options
context:
space:
mode:
authorTang Chen <tangchen@cn.fujitsu.com>2015-10-24 12:08:35 +0800
committerTang Chen <tangchen@cn.fujitsu.com>2015-11-05 15:43:39 +0800
commit7107b5536e9ece347014ec88c5c5bb3e68050882 (patch)
treeec31ee0d50bd86ac1151d2d7d1691d7a79309af9 /openstackclient
parent1809faaf1fbffea497cfbe2f1c7adde6bf449234 (diff)
downloadpython-openstackclient-7107b5536e9ece347014ec88c5c5bb3e68050882.tar.gz
Add "server stop" command to osc.
There is no stop command in osc. Add it. Change-Id: Ia11a8f3b1245c884f7da442292009342d2ffde1e Implements: blueprint cmd-with-multi-servers
Diffstat (limited to 'openstackclient')
-rw-r--r--openstackclient/compute/v2/server.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/openstackclient/compute/v2/server.py b/openstackclient/compute/v2/server.py
index 2768951d..e7dfbbef 100644
--- a/openstackclient/compute/v2/server.py
+++ b/openstackclient/compute/v2/server.py
@@ -1508,6 +1508,31 @@ class StartServer(command.Command):
).start()
+class StopServer(command.Command):
+ """Stop server(s)."""
+
+ log = logging.getLogger(__name__ + '.StopServer')
+
+ def get_parser(self, prog_name):
+ parser = super(StopServer, self).get_parser(prog_name)
+ parser.add_argument(
+ 'server',
+ metavar='<server>',
+ nargs="+",
+ help=_('Server(s) to stop (name or ID)'),
+ )
+ return parser
+
+ @utils.log_method(log)
+ def take_action(self, parsed_args):
+ compute_client = self.app.client_manager.compute
+ for server in parsed_args.server:
+ utils.find_resource(
+ compute_client.servers,
+ server,
+ ).stop()
+
+
class SuspendServer(command.Command):
"""Suspend server"""