summaryrefslogtreecommitdiff
path: root/openstackclient/network/v2
diff options
context:
space:
mode:
authorMiguel Lavalle <miguel.lavalle@verizonmedia.com>2020-04-26 17:40:17 -0500
committerSlawek Kaplonski <skaplons@redhat.com>2020-09-04 14:30:07 +0200
commit67700e6dd95b0f58b2f01cc816620819a4a6deae (patch)
tree0d312ad02d18b69d1c85320e31cad09e5e5bd6cb /openstackclient/network/v2
parent95cc05bdf6f62f14970a722d09010c4195951671 (diff)
downloadpython-openstackclient-67700e6dd95b0f58b2f01cc816620819a4a6deae.tar.gz
Support tagging Neutron ports on creation
This change adds support for tagging ports on creation Co-Authored-By: Slawek Kaplonski <skaplons@redhat.com> Change-Id: I3148a568664588eb2f529138f984859570c0fca1 Related-Bug: #1815933
Diffstat (limited to 'openstackclient/network/v2')
-rw-r--r--openstackclient/network/v2/port.py15
1 files changed, 13 insertions, 2 deletions
diff --git a/openstackclient/network/v2/port.py b/openstackclient/network/v2/port.py
index a21324ae..be3e1709 100644
--- a/openstackclient/network/v2/port.py
+++ b/openstackclient/network/v2/port.py
@@ -454,12 +454,23 @@ class CreatePort(command.ShowOne):
if parsed_args.qos_policy:
attrs['qos_policy_id'] = client.find_qos_policy(
parsed_args.qos_policy, ignore_missing=False).id
+
+ set_tags_in_post = bool(
+ client.find_extension('tag-ports-during-bulk-creation'))
+ if set_tags_in_post:
+ if parsed_args.no_tag:
+ attrs['tags'] = []
+ if parsed_args.tags:
+ attrs['tags'] = list(set(parsed_args.tags))
+
with common.check_missing_extension_if_error(
self.app.client_manager.network, attrs):
obj = client.create_port(**attrs)
- # tags cannot be set when created, so tags need to be set later.
- _tag.update_tags_for_set(client, obj, parsed_args)
+ if not set_tags_in_post:
+ # 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_columns(obj)
data = utils.get_item_properties(obj, columns, formatters=_formatters)