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.