diff options
| author | Jas <singhj@us.ibm.com> | 2016-03-11 13:02:47 -0600 |
|---|---|---|
| committer | Jas <singhj@us.ibm.com> | 2016-03-16 13:20:40 -0500 |
| commit | 62a02466c30e32f8eb54a70497eacacb7fa5c9bf (patch) | |
| tree | 0238a1882126468785fc27f434ed54b01f9cdd00 /openstackclient/network | |
| parent | f8ac17ac52fa42067c881254e243ebe4514624be (diff) | |
| download | python-openstackclient-62a02466c30e32f8eb54a70497eacacb7fa5c9bf.tar.gz | |
Add option to allow filtering by router on port list
Added support to allow filtering ports via --router
option to list ports that are applicable to specific router.
Partial-bug: #1519909
Partially-implements: blueprint neutron-client
Change-Id: I6dd958603909f641735c821a62fc0d45afd5c7ec
Diffstat (limited to 'openstackclient/network')
| -rw-r--r-- | openstackclient/network/v2/port.py | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/openstackclient/network/v2/port.py b/openstackclient/network/v2/port.py index b618a4b0..9894e6da 100644 --- a/openstackclient/network/v2/port.py +++ b/openstackclient/network/v2/port.py @@ -243,6 +243,16 @@ class DeletePort(command.Command): class ListPort(command.Lister): """List ports""" + def get_parser(self, prog_name): + parser = super(ListPort, self).get_parser(prog_name) + parser.add_argument( + '--router', + metavar='<router>', + dest='router', + help='List only ports attached to this router (name or ID)', + ) + return parser + def take_action(self, parsed_args): client = self.app.client_manager.network @@ -259,7 +269,14 @@ class ListPort(command.Lister): 'Fixed IP Addresses', ) - data = client.ports() + filters = {} + if parsed_args.router: + _router = client.find_router(parsed_args.router, + ignore_missing=False) + filters = {'device_id': _router.id} + + data = client.ports(**filters) + return (column_headers, (utils.get_item_properties( s, columns, |
