diff options
| author | Brant Knudson <bknudson@us.ibm.com> | 2015-02-08 10:51:43 -0600 |
|---|---|---|
| committer | Brant Knudson <bknudson@us.ibm.com> | 2015-02-09 20:37:39 -0600 |
| commit | df4ebe36497ecd182cdb0d9b68c936aa69e9b79b (patch) | |
| tree | 29aa5d21b431529cf6241bee9b877cb6664f8809 | |
| parent | a333c56ac9a6b48b8e5d16e654251fb7d15bd89f (diff) | |
| download | python-keystoneclient-df4ebe36497ecd182cdb0d9b68c936aa69e9b79b.tar.gz | |
Docs for v3 credentials
The v3 credentials API was unusable because the docs didn't
include any information about what parameters are passed to the
CredentialManager methods.
Also, the attributes for the Credential objects was incomplete.
Change-Id: I6872f217c75ae94611749c59be0dd6941170fd57
| -rw-r--r-- | keystoneclient/v3/credentials.py | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/keystoneclient/v3/credentials.py b/keystoneclient/v3/credentials.py index 833a32f..8ef7ce4 100644 --- a/keystoneclient/v3/credentials.py +++ b/keystoneclient/v3/credentials.py @@ -24,6 +24,10 @@ class Credential(base.Resource): Attributes: * id: a uuid that identifies the credential + * user_id: user ID + * type: credential type + * blob: credential data + * project_id: project ID (optional) """ pass @@ -51,6 +55,20 @@ class CredentialManager(base.CrudManager): @utils.positional(1, enforcement=utils.positional.WARN) def create(self, user, type, blob=None, data=None, project=None, **kwargs): + """Create a credential + + :param user: User + :type user: :class:`keystoneclient.v3.users.User` or str + :param str type: credential type, should be either ``ec2`` or ``cert`` + :param JSON blob: Credential data + :param JSON data: Deprecated, use blob instead. + :param project: Project, optional + :type project: :class:`keystoneclient.v3.projects.Project` or str + :param kwargs: Extra attributes passed to create. + + :raises ValueError: if one of ``blob`` or ``data`` is not specified. + + """ return super(CredentialManager, self).create( user_id=base.getid(user), type=type, @@ -59,6 +77,12 @@ class CredentialManager(base.CrudManager): **kwargs) def get(self, credential): + """Get a credential + + :param credential: Credential + :type credential: :class:`Credential` or str + + """ return super(CredentialManager, self).get( credential_id=base.getid(credential)) @@ -73,6 +97,22 @@ class CredentialManager(base.CrudManager): @utils.positional(2, enforcement=utils.positional.WARN) def update(self, credential, user, type=None, blob=None, data=None, project=None, **kwargs): + """Update a credential + + :param credential: Credential to update + :type credential: :class:`Credential` or str + :param user: User + :type user: :class:`keystoneclient.v3.users.User` or str + :param str type: credential type, should be either ``ec2`` or ``cert`` + :param JSON blob: Credential data + :param JSON data: Deprecated, use blob instead. + :param project: Project + :type project: :class:`keystoneclient.v3.projects.Project` or str + :param kwargs: Extra attributes passed to create. + + :raises ValueError: if one of ``blob`` or ``data`` is not specified. + + """ return super(CredentialManager, self).update( credential_id=base.getid(credential), user_id=base.getid(user), @@ -82,5 +122,12 @@ class CredentialManager(base.CrudManager): **kwargs) def delete(self, credential): + """Delete a credential + + :param credential: Credential + :type credential: :class:`Credential` or str + + """ + return super(CredentialManager, self).delete( credential_id=base.getid(credential)) |
