/usr/lib/python2.6/site-packages/keystoneclient/v3
NameSizeModeActions
contrib/-0755rm
auth.py28210644editdlrm
auth.pyc28110644editdlrm
client.py126710644editdlrm
client.pyc111510644editdlrm
credentials.py50050644editdlrm
credentials.pyc51530644editdlrm
domains.py23700644editdlrm
domains.pyc26330644editdlrm
ec2.py19750644editdlrm
ec2.pyc24130644editdlrm
endpoints.py35310644editdlrm
endpoints.pyc37850644editdlrm
groups.py30650644editdlrm
groups.pyc33380644editdlrm
policies.py25570644editdlrm
policies.pyc30850644editdlrm
projects.py74620644editdlrm
projects.pyc69980644editdlrm
regions.py33620644editdlrm
regions.pyc38330644editdlrm
roles.py78260644editdlrm
roles.pyc71710644editdlrm
role_assignments.py44820644editdlrm
role_assignments.pyc54210644editdlrm
services.py24430644editdlrm
services.pyc27530644editdlrm
tokens.py28790644editdlrm
tokens.pyc34560644editdlrm
users.py71710644editdlrm
users.pyc67760644editdlrm
__init__.py830644editdlrm
__init__.pyc2650644editdlrm
Edit: /usr/lib/python2.6/site-packages/keystoneclient/v3/credentials.py (5005B)
# Copyright 2011 OpenStack Foundation # Copyright 2011 Nebula, Inc. # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from debtcollector import renames from keystoneclient import base from keystoneclient.i18n import _ from keystoneclient import utils class Credential(base.Resource): """Represents an Identity credential. Attributes: * id: a uuid that identifies the credential * user_id: user ID * type: credential type * blob: credential data * project_id: project ID (optional) """ pass class CredentialManager(base.CrudManager): """Manager class for manipulating Identity credentials.""" resource_class = Credential collection_key = 'credentials' key = 'credential' def _get_data_blob(self, blob, data): # Ref bug #1259461, the <= 0.4.1 keystoneclient calling convention was # to pass "data", but the underlying API expects "blob", so # support both in the python API for backwards compatibility if blob is not None: return blob elif data is not None: return data else: raise ValueError( _("Credential requires blob to be specified")) @renames.renamed_kwarg('data', 'blob', version='1.7.0', removal_version='2.0.0') @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 as of the 1.7.0 release in favor of blob and may by removed in the 2.0.0 release. :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, blob=self._get_data_blob(blob, data), project_id=base.getid(project), **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)) def list(self, **kwargs): """List credentials. If ``**kwargs`` are provided, then filter credentials with attributes matching ``**kwargs``. """ return super(CredentialManager, self).list(**kwargs) @renames.renamed_kwarg('data', 'blob', version='1.7.0', removal_version='2.0.0') @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 as of the 1.7.0 release in favor of blob and may be removed in the 2.0.0 release. :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), type=type, blob=self._get_data_blob(blob, data), project_id=base.getid(project), **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))