summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrant Knudson <bknudson@us.ibm.com>2015-02-08 10:51:43 -0600
committerBrant Knudson <bknudson@us.ibm.com>2015-02-09 20:37:39 -0600
commitdf4ebe36497ecd182cdb0d9b68c936aa69e9b79b (patch)
tree29aa5d21b431529cf6241bee9b877cb6664f8809
parenta333c56ac9a6b48b8e5d16e654251fb7d15bd89f (diff)
downloadpython-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.py47
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))