From 8aafc9e687b0dcf15709d4029b55b0271160f1ce Mon Sep 17 00:00:00 2001 From: Vadim Ponomarev Date: Sun, 1 Aug 2021 23:57:20 +0300 Subject: [PATCH] Add 'bgpvpn' type support to rbac commands Depends-On: https://review.opendev.org/c/openstack/networking-bgpvpn/+/798155 Change-Id: I687556cebf22c2450596060d4c5094bd395bf473 --- openstackclient/network/v2/network_rbac.py | 17 +++++++++++------ .../notes/rbac-add-bgpvpn-6e7dbbc69cf1035b.yaml | 4 ++++ 2 files changed, 15 insertions(+), 6 deletions(-) create mode 100644 releasenotes/notes/rbac-add-bgpvpn-6e7dbbc69cf1035b.yaml diff --git a/openstackclient/network/v2/network_rbac.py b/openstackclient/network/v2/network_rbac.py index 00667395b..5345b7f6a 100644 --- a/openstackclient/network/v2/network_rbac.py +++ b/openstackclient/network/v2/network_rbac.py @@ -67,6 +67,11 @@ def _get_attrs(client_manager, parsed_args): object_id = network_client.find_address_group( parsed_args.rbac_object, ignore_missing=False).id + if parsed_args.type == 'bgpvpn': + # BPGVPN will be available only when + # bgpvn extension is enabled + if network_client.find_extension('rbac-bgpvpn'): + object_id = parsed_args.rbac_object attrs['object_id'] = object_id @@ -107,10 +112,10 @@ def get_parser(self, prog_name): '--type', metavar="", required=True, - choices=['address_group', 'address_scope', 'security_group', - 'subnetpool', 'qos_policy', 'network'], + choices=['address_group', 'address_scope', 'bgpvpn', + 'security_group', 'subnetpool', 'qos_policy', 'network'], help=_('Type of the object that RBAC policy ' - 'affects ("address_group", "address_scope", ' + 'affects ("address_group", "address_scope", "bgpvpn" ' '"security_group", "subnetpool", "qos_policy" or ' '"network")') ) @@ -203,11 +208,11 @@ def get_parser(self, prog_name): parser.add_argument( '--type', metavar='', - choices=['address_group', 'address_scope', 'security_group', - 'subnetpool', 'qos_policy', 'network'], + choices=['address_group', 'address_scope', 'bgpvpn', + 'security_group', 'subnetpool', 'qos_policy', 'network'], help=_('List network RBAC policies according to ' 'given object type ("address_group", "address_scope", ' - '"security_group", "subnetpool", "qos_policy" or ' + '"bgpvpn", "security_group", "subnetpool", "qos_policy" or ' '"network")') ) parser.add_argument( diff --git a/releasenotes/notes/rbac-add-bgpvpn-6e7dbbc69cf1035b.yaml b/releasenotes/notes/rbac-add-bgpvpn-6e7dbbc69cf1035b.yaml new file mode 100644 index 000000000..5e923ead2 --- /dev/null +++ b/releasenotes/notes/rbac-add-bgpvpn-6e7dbbc69cf1035b.yaml @@ -0,0 +1,4 @@ +features: + - | + Add ``bgpvpn`` as a valid ``--type`` value for the + ``network rbac create`` and ``network rbac list`` commands.