summaryrefslogtreecommitdiff
path: root/barbicanclient/barbican_cli/v1/secrets.py
diff options
context:
space:
mode:
authorMauricio Harley <mharley@redhat.com>2023-01-30 17:29:08 +0100
committerMauricio Harley <mharley@redhat.com>2023-02-10 18:22:43 +0100
commitda03fc5cf0774f4bcd884279356452deeac4e700 (patch)
tree2a7145f3686888942368c911edcfba6ff1c40353 /barbicanclient/barbican_cli/v1/secrets.py
parent7f6b3cf790e7d37e85fb38d300fb43573f31184c (diff)
downloadpython-barbicanclient-da03fc5cf0774f4bcd884279356452deeac4e700.tar.gz
Added secret consumers list functionality. Unit, smoke
and functional tests were also added. Change-Id: I093475833cdc6d68ff2d4735a0d4a8d0eb143a53
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)