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
This commit is contained in:
Brant Knudson
2015-02-08 10:51:43 -06:00
parent a333c56ac9
commit df4ebe3649

View File

@@ -24,6 +24,10 @@ class Credential(base.Resource):
Attributes: Attributes:
* id: a uuid that identifies the credential * id: a uuid that identifies the credential
* user_id: user ID
* type: credential type
* blob: credential data
* project_id: project ID (optional)
""" """
pass pass
@@ -51,6 +55,20 @@ class CredentialManager(base.CrudManager):
@utils.positional(1, enforcement=utils.positional.WARN) @utils.positional(1, enforcement=utils.positional.WARN)
def create(self, user, type, blob=None, data=None, project=None, **kwargs): 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( return super(CredentialManager, self).create(
user_id=base.getid(user), user_id=base.getid(user),
type=type, type=type,
@@ -59,6 +77,12 @@ class CredentialManager(base.CrudManager):
**kwargs) **kwargs)
def get(self, credential): def get(self, credential):
"""Get a credential
:param credential: Credential
:type credential: :class:`Credential` or str
"""
return super(CredentialManager, self).get( return super(CredentialManager, self).get(
credential_id=base.getid(credential)) credential_id=base.getid(credential))
@@ -73,6 +97,22 @@ class CredentialManager(base.CrudManager):
@utils.positional(2, enforcement=utils.positional.WARN) @utils.positional(2, enforcement=utils.positional.WARN)
def update(self, credential, user, type=None, blob=None, data=None, def update(self, credential, user, type=None, blob=None, data=None,
project=None, **kwargs): 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( return super(CredentialManager, self).update(
credential_id=base.getid(credential), credential_id=base.getid(credential),
user_id=base.getid(user), user_id=base.getid(user),
@@ -82,5 +122,12 @@ class CredentialManager(base.CrudManager):
**kwargs) **kwargs)
def delete(self, credential): def delete(self, credential):
"""Delete a credential
:param credential: Credential
:type credential: :class:`Credential` or str
"""
return super(CredentialManager, self).delete( return super(CredentialManager, self).delete(
credential_id=base.getid(credential)) credential_id=base.getid(credential))