summaryrefslogtreecommitdiff
path: root/openstackclient/network
diff options
context:
space:
mode:
authorTang Chen <chen.tang@easystack.cn>2016-02-13 09:49:46 +0800
committerTang Chen <chen.tang@easystack.cn>2016-02-19 11:00:33 +0800
commita04012c3d50c3623c699f57d0dd320783b92e1cb (patch)
treed26cb92b36bf20ecc921f0908619432473796cce /openstackclient/network
parent444fc6149db58361e5329e3f05eb8f056fb7479a (diff)
downloadpython-openstackclient-a04012c3d50c3623c699f57d0dd320783b92e1cb.tar.gz
Subnet Pool: Add "subnet pool list" command
Change-Id: I7935be2488fb728ced9680d75880870e5d315655 Closes-Bug: 1544589 Implements: blueprint neutron-client
Diffstat (limited to 'openstackclient/network')
-rw-r--r--openstackclient/network/v2/subnet_pool.py51
1 files changed, 51 insertions, 0 deletions
diff --git a/openstackclient/network/v2/subnet_pool.py b/openstackclient/network/v2/subnet_pool.py
index 133e3e71..e82b2050 100644
--- a/openstackclient/network/v2/subnet_pool.py
+++ b/openstackclient/network/v2/subnet_pool.py
@@ -14,6 +14,7 @@
"""Subnet pool action implementations"""
from openstackclient.common import command
+from openstackclient.common import utils
class DeleteSubnetPool(command.Command):
@@ -32,3 +33,53 @@ class DeleteSubnetPool(command.Command):
client = self.app.client_manager.network
obj = client.find_subnet_pool(parsed_args.subnet_pool)
client.delete_subnet_pool(obj)
+
+
+class ListSubnetPool(command.Lister):
+ """List subnet pools"""
+
+ def get_parser(self, prog_name):
+ parser = super(ListSubnetPool, self).get_parser(prog_name)
+ parser.add_argument(
+ '--long',
+ action='store_true',
+ default=False,
+ help='List additional fields in output',
+ )
+ return parser
+
+ def take_action(self, parsed_args):
+ data = self.app.client_manager.network.subnet_pools()
+
+ if parsed_args.long:
+ headers = (
+ 'ID',
+ 'Name',
+ 'Prefixes',
+ 'Default Prefix Length',
+ 'Address Scope',
+ )
+ columns = (
+ 'id',
+ 'name',
+ 'prefixes',
+ 'default_prefixlen',
+ 'address_scope_id',
+ )
+ else:
+ headers = (
+ 'ID',
+ 'Name',
+ 'Prefixes',
+ )
+ columns = (
+ 'id',
+ 'name',
+ 'prefixes',
+ )
+
+ return (headers,
+ (utils.get_item_properties(
+ s, columns,
+ formatters={},
+ ) for s in data))