summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/source/command-objects/identity-provider.rst100
-rw-r--r--doc/source/commands.rst2
-rw-r--r--openstackclient/identity/v3/identity_provider.py31
3 files changed, 114 insertions, 19 deletions
diff --git a/doc/source/command-objects/identity-provider.rst b/doc/source/command-objects/identity-provider.rst
new file mode 100644
index 00000000..f08cde01
--- /dev/null
+++ b/doc/source/command-objects/identity-provider.rst
@@ -0,0 +1,100 @@
+=================
+identity provider
+=================
+
+Identity v3
+
+`Requires: OS-FEDERATION extension`
+
+identity provider create
+------------------------
+
+Create new identity provider
+
+.. program:: identity provider create
+.. code:: bash
+
+ os identity provider create
+ [--description <description>]
+ [--enable | --disable]
+ <name>
+
+.. option:: --description
+
+ New identity provider description
+
+.. option:: --enable
+
+ Enable the identity provider (default)
+
+.. option:: --disable
+
+ Disable the identity provider
+
+.. describe:: <name>
+
+ New identity provider name (must be unique)
+
+identity provider delete
+------------------------
+
+Delete an identity provider
+
+.. program:: identity provider delete
+.. code:: bash
+
+ os identity provider delete
+ <identity-provider>
+
+.. describe:: <identity-provider>
+
+ Identity provider to delete
+
+identity provider list
+----------------------
+
+List identity providers
+
+.. program:: identity provider list
+.. code:: bash
+
+ os identity provider list
+
+identity provider set
+---------------------
+
+Set identity provider properties
+
+.. program:: identity provider set
+.. code:: bash
+
+ os identity provider set
+ [--enable | --disable]
+ <identity-provider>
+
+.. option:: --enable
+
+ Enable the identity provider
+
+.. option:: --disable
+
+ Disable the identity provider
+
+.. describe:: <identity-provider>
+
+ Identity provider to modify
+
+identity provider show
+----------------------
+
+Display identity provider details
+
+.. program:: identity provider show
+.. code:: bash
+
+ os identity provider show
+ <identity-provider>
+
+.. describe:: <identity-provider>
+
+ Identity provider to display
diff --git a/doc/source/commands.rst b/doc/source/commands.rst
index 8976fc02..cbe46ef7 100644
--- a/doc/source/commands.rst
+++ b/doc/source/commands.rst
@@ -87,7 +87,7 @@ referring to both Compute and Volume quotas.
* ``group``: (**Identity**) a grouping of users
* ``host``: Compute - the physical computer running a hypervisor
* ``hypervisor``: Compute - the virtual machine manager
-* ``identity provider``: Identity - a source of users and authentication
+* ``identity provider``: (**Identity**) a source of users and authentication
* ``image``: Image - a disk image
* ``ip fixed``: Compute, Network - an internal IP address assigned to a server
* ``ip floating``: Compute, Network - a public IP address that can be mapped to a server
diff --git a/openstackclient/identity/v3/identity_provider.py b/openstackclient/identity/v3/identity_provider.py
index 8a1b22d0..f46341a1 100644
--- a/openstackclient/identity/v3/identity_provider.py
+++ b/openstackclient/identity/v3/identity_provider.py
@@ -15,7 +15,6 @@
import logging
import six
-import sys
from cliff import command
from cliff import lister
@@ -33,22 +32,21 @@ class CreateIdentityProvider(show.ShowOne):
parser = super(CreateIdentityProvider, self).get_parser(prog_name)
parser.add_argument(
'identity_provider_id',
- metavar='<identity-provider-id>',
- help='New identity provider ID (must be unique)'
+ metavar='<name>',
+ help='New identity provider name (must be unique)'
)
parser.add_argument(
'--description',
metavar='<description>',
help='New identity provider description',
)
-
enable_identity_provider = parser.add_mutually_exclusive_group()
enable_identity_provider.add_argument(
'--enable',
dest='enabled',
action='store_true',
default=True,
- help='Enable identity provider',
+ help='Enable identity provider (default)',
)
enable_identity_provider.add_argument(
'--disable',
@@ -79,8 +77,8 @@ class DeleteIdentityProvider(command.Command):
parser = super(DeleteIdentityProvider, self).get_parser(prog_name)
parser.add_argument(
'identity_provider',
- metavar='<identity-provider-id>',
- help='Identity provider ID to delete',
+ metavar='<identity-provider>',
+ help='Identity provider to delete',
)
return parser
@@ -118,10 +116,9 @@ class SetIdentityProvider(command.Command):
parser = super(SetIdentityProvider, self).get_parser(prog_name)
parser.add_argument(
'identity_provider',
- metavar='<identity-provider-id>',
- help='Identity provider ID to change',
+ metavar='<identity-provider>',
+ help='Identity provider to modify',
)
-
enable_identity_provider = parser.add_mutually_exclusive_group()
enable_identity_provider.add_argument(
'--enable',
@@ -144,19 +141,17 @@ class SetIdentityProvider(command.Command):
elif parsed_args.disable is True:
enabled = False
else:
- sys.stdout.write("Identity Provider not updated, "
- "no arguments present")
+ self.log.error("No changes requested")
return (None, None)
identity_provider = federation_client.identity_providers.update(
parsed_args.identity_provider, enabled=enabled)
- info = {}
- info.update(identity_provider._info)
- return zip(*sorted(six.iteritems(info)))
+ identity_provider._info.pop('links', None)
+ return zip(*sorted(six.iteritems(identity_provider._info)))
class ShowIdentityProvider(show.ShowOne):
- """Show identity provider details"""
+ """Display identity provider details"""
log = logging.getLogger(__name__ + '.ShowIdentityProvider')
@@ -164,8 +159,8 @@ class ShowIdentityProvider(show.ShowOne):
parser = super(ShowIdentityProvider, self).get_parser(prog_name)
parser.add_argument(
'identity_provider',
- metavar='<identity-provider-id>',
- help='Identity provider ID to show',
+ metavar='<identity-provider>',
+ help='Identity provider to display',
)
return parser