summaryrefslogtreecommitdiff
path: root/openstackclient/identity
diff options
context:
space:
mode:
Diffstat (limited to 'openstackclient/identity')
-rw-r--r--openstackclient/identity/v3/identity_provider.py24
1 files changed, 23 insertions, 1 deletions
diff --git a/openstackclient/identity/v3/identity_provider.py b/openstackclient/identity/v3/identity_provider.py
index 2b2d9d11..7307cea0 100644
--- a/openstackclient/identity/v3/identity_provider.py
+++ b/openstackclient/identity/v3/identity_provider.py
@@ -143,10 +143,32 @@ class DeleteIdentityProvider(command.Command):
class ListIdentityProvider(command.Lister):
_description = _("List identity providers")
+ def get_parser(self, prog_name):
+ parser = super(ListIdentityProvider, self).get_parser(prog_name)
+ parser.add_argument(
+ '--id',
+ metavar='<id>',
+ help=_('The Identity Providers’ ID attribute'),
+ )
+ parser.add_argument(
+ '--enabled',
+ dest='enabled',
+ action='store_true',
+ help=_('The Identity Providers that are enabled will be returned'),
+ )
+ return parser
+
def take_action(self, parsed_args):
columns = ('ID', 'Enabled', 'Domain ID', 'Description')
identity_client = self.app.client_manager.identity
- data = identity_client.federation.identity_providers.list()
+
+ kwargs = {}
+ if parsed_args.id:
+ kwargs['id'] = parsed_args.id
+ if parsed_args.enabled:
+ kwargs['enabled'] = True
+
+ data = identity_client.federation.identity_providers.list(**kwargs)
return (columns,
(utils.get_item_properties(
s, columns,