summaryrefslogtreecommitdiff
path: root/barbicanclient/barbican_cli/v1/secrets.py
diff options
context:
space:
mode:
Diffstat (limited to 'barbicanclient/barbican_cli/v1/secrets.py')
-rw-r--r--barbicanclient/barbican_cli/v1/secrets.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/barbicanclient/barbican_cli/v1/secrets.py b/barbicanclient/barbican_cli/v1/secrets.py
index 3ce2348..a036ff1 100644
--- a/barbicanclient/barbican_cli/v1/secrets.py
+++ b/barbicanclient/barbican_cli/v1/secrets.py
@@ -252,3 +252,27 @@ class DeleteConsumer(command.Command):
args.service_type_name,
args.resource_type,
args.resource_id)
+
+
+class ListConsumer(lister.Lister):
+ """List consumers of a secret."""
+
+ def get_parser(self, prog_name):
+ parser = super(ListConsumer, self).get_parser(prog_name)
+ parser.add_argument('URI', help='The URI reference for the secret')
+ parser.add_argument('--limit', '-l', default=10,
+ help='specify the limit to the number of items '
+ 'to list per page (default: %(default)s; '
+ 'maximum: 100)',
+ type=int)
+ parser.add_argument('--offset', '-o', default=0,
+ help='specify the page offset '
+ '(default: %(default)s)',
+ type=int)
+ return parser
+
+ def take_action(self, args):
+ obj_list = self.app.client_manager.key_manager.secrets.list_consumers(
+ secret_ref=args.URI, limit=args.limit, offset=args.offset)
+
+ return secrets.SecretConsumers._list_objects(obj_list)