From ed09f28a9dd1cbc0f8c141a8e38587b7022d4166 Mon Sep 17 00:00:00 2001 From: Jens Harbott Date: Wed, 4 Apr 2018 13:44:24 +0000 Subject: Add DNS support to floating IP commands Add the DNS domain and name options to the ``floating ip create`` command. Also add these two columns to the output of the ``floating ip list --long`` command. Change-Id: Id4cb18b51b252f19b87b24ec5d77183771189d17 Story: 1547736 Task: 13114 --- openstackclient/network/v2/floating_ip.py | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) (limited to 'openstackclient/network') diff --git a/openstackclient/network/v2/floating_ip.py b/openstackclient/network/v2/floating_ip.py index f51baed5..5e6c331a 100644 --- a/openstackclient/network/v2/floating_ip.py +++ b/openstackclient/network/v2/floating_ip.py @@ -82,6 +82,12 @@ def _get_attrs(client_manager, parsed_args): ).id attrs['tenant_id'] = project_id + if parsed_args.dns_domain: + attrs['dns_domain'] = parsed_args.dns_domain + + if parsed_args.dns_name: + attrs['dns_name'] = parsed_args.dns_name + return attrs @@ -139,15 +145,32 @@ class CreateFloatingIP(common.NetworkAndComputeShowOne): metavar='', help=_("Owner's project (name or ID)") ) + parser.add_argument( + '--dns-domain', + metavar='', + dest='dns_domain', + help=_("Set DNS domain for this floating IP") + ) + parser.add_argument( + '--dns-name', + metavar='', + dest='dns_name', + help=_("Set DNS name for this floating IP") + ) + identity_common.add_project_domain_option_to_parser(parser) _tag.add_tag_option_to_parser_for_create(parser, _('floating IP')) return parser def take_action_network(self, client, parsed_args): attrs = _get_attrs(self.app.client_manager, parsed_args) - obj = client.create_ip(**attrs) + with common.check_missing_extension_if_error( + self.app.client_manager.network, attrs): + obj = client.create_ip(**attrs) + # tags cannot be set when created, so tags need to be set later. _tag.update_tags_for_set(client, obj, parsed_args) + display_columns, columns = _get_network_columns(obj) data = utils.get_item_properties(obj, columns) return (display_columns, data) @@ -314,12 +337,16 @@ class ListFloatingIP(common.NetworkAndComputeLister): 'status', 'description', 'tags', + 'dns_name', + 'dns_domain', ) headers = headers + ( 'Router', 'Status', 'Description', 'Tags', + 'DNS Name', + 'DNS Domain', ) query = {} -- cgit v1.2.1