Richard Theis 325420f6d1 Doc: Update and add IP address
Fix the 'ip floating' command documentation file name.
Add missing command list documentation for the 'ip fixed'
and 'ip floating pool' commands.  In addition, update the
command description and argument help to fix minor issues
and use consistent terminology.  And finally, cleanup the
Network command object formatting.

Change-Id: I0168891bc674c9f0d4df4062f7e93f497dc8fe6f
2015-11-24 14:03:51 -06:00

86 lines
2.6 KiB
Python

# Copyright 2013 OpenStack Foundation
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
"""Fixed IP action implementations"""
import logging
from cliff import command
from openstackclient.common import utils
class AddFixedIP(command.Command):
"""Add fixed IP address to server"""
log = logging.getLogger(__name__ + ".AddFixedIP")
def get_parser(self, prog_name):
parser = super(AddFixedIP, self).get_parser(prog_name)
parser.add_argument(
"network",
metavar="<network>",
help="Network to fetch an IP address from (name or ID)",
)
parser.add_argument(
"server",
metavar="<server>",
help="Server to receive the IP address (name or ID)",
)
return parser
def take_action(self, parsed_args):
self.log.debug("take_action(%s)", parsed_args)
compute_client = self.app.client_manager.compute
network = utils.find_resource(
compute_client.networks, parsed_args.network)
server = utils.find_resource(
compute_client.servers, parsed_args.server)
server.add_fixed_ip(network.id)
return
class RemoveFixedIP(command.Command):
"""Remove fixed IP address from server"""
log = logging.getLogger(__name__ + ".RemoveFixedIP")
def get_parser(self, prog_name):
parser = super(RemoveFixedIP, self).get_parser(prog_name)
parser.add_argument(
"ip_address",
metavar="<ip-address>",
help="IP address to remove from server (name only)",
)
parser.add_argument(
"server",
metavar="<server>",
help="Server to remove the IP address from (name or ID)",
)
return parser
def take_action(self, parsed_args):
self.log.debug("take_action(%s)", 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)
return