diff options
| author | Jenkins <jenkins@review.openstack.org> | 2016-07-06 13:59:32 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2016-07-06 13:59:32 +0000 |
| commit | 7f8999bf540d2c65a1008a1636ff9b623cedb559 (patch) | |
| tree | b2411dbb4cc339a627b66f9de1c60d42ebfe3774 /openstackclient/compute/v2/server.py | |
| parent | 2b8213df889af6399b556361c99a187a2c719a3a (diff) | |
| parent | 179ebe6d648fc5cff514306076f1b0fa54e64b40 (diff) | |
| download | python-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.py | 57 |
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""" |
