summaryrefslogtreecommitdiff
path: root/openstackclient/compute/v2/server.py
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2016-07-06 13:59:32 +0000
committerGerrit Code Review <review@openstack.org>2016-07-06 13:59:32 +0000
commit7f8999bf540d2c65a1008a1636ff9b623cedb559 (patch)
treeb2411dbb4cc339a627b66f9de1c60d42ebfe3774 /openstackclient/compute/v2/server.py
parent2b8213df889af6399b556361c99a187a2c719a3a (diff)
parent179ebe6d648fc5cff514306076f1b0fa54e64b40 (diff)
downloadpython-openstackclient-7f8999bf540d2c65a1008a1636ff9b623cedb559.tar.gz
Merge "Transfer "ip fixed add/remove" to "server add/remove fixed ip""
Diffstat (limited to 'openstackclient/compute/v2/server.py')
-rw-r--r--openstackclient/compute/v2/server.py57
1 files changed, 57 insertions, 0 deletions
diff --git a/openstackclient/compute/v2/server.py b/openstackclient/compute/v2/server.py
index d7c3a656..7d04ffc3 100644
--- a/openstackclient/compute/v2/server.py
+++ b/openstackclient/compute/v2/server.py
@@ -174,6 +174,36 @@ def _show_progress(progress):
sys.stdout.flush()
+class AddFixedIP(command.Command):
+ """Add fixed IP address to server"""
+
+ def get_parser(self, prog_name):
+ parser = super(AddFixedIP, self).get_parser(prog_name)
+ parser.add_argument(
+ "server",
+ metavar="<server>",
+ help=_("Server (name or ID) to receive the fixed IP address"),
+ )
+ parser.add_argument(
+ "network",
+ metavar="<network>",
+ help=_("Network (name or ID) to allocate "
+ "the fixed IP address from"),
+ )
+ return parser
+
+ def take_action(self, parsed_args):
+ compute_client = self.app.client_manager.compute
+
+ server = utils.find_resource(
+ compute_client.servers, parsed_args.server)
+
+ network = utils.find_resource(
+ compute_client.networks, parsed_args.network)
+
+ server.add_fixed_ip(network.id)
+
+
class AddFloatingIP(command.Command):
"""Add floating IP address to server"""
@@ -1108,6 +1138,33 @@ class RebuildServer(command.ShowOne):
return zip(*sorted(six.iteritems(details)))
+class RemoveFixedIP(command.Command):
+ """Remove fixed IP address from server"""
+
+ def get_parser(self, prog_name):
+ parser = super(RemoveFixedIP, self).get_parser(prog_name)
+ parser.add_argument(
+ "server",
+ metavar="<server>",
+ help=_("Server (name or ID) to remove the fixed IP address from"),
+ )
+ parser.add_argument(
+ "ip_address",
+ metavar="<ip-address>",
+ help=_("Fixed IP address (IP address only) to remove from the "
+ "server"),
+ )
+ return parser
+
+ def take_action(self, parsed_args):
+ compute_client = self.app.client_manager.compute
+
+ server = utils.find_resource(
+ compute_client.servers, parsed_args.server)
+
+ server.remove_fixed_ip(parsed_args.ip_address)
+
+
class RemoveFloatingIP(command.Command):
"""Remove floating IP address from server"""