Start using positional decorator
Apply the positional decorator to functions. It has been added as I think best practice would dictate, though in some places it has been added in a way that doesn't break existing tests. Closes-Bug: #1295881 Change-Id: I4f7ddbede4cba4ab79d144ad1f9dc83ea76f204a
This commit is contained in:
@@ -19,6 +19,7 @@ import six
|
||||
from keystoneclient import access
|
||||
from keystoneclient.auth.identity import base
|
||||
from keystoneclient import exceptions
|
||||
from keystoneclient import utils
|
||||
|
||||
|
||||
@six.add_metaclass(abc.ABCMeta)
|
||||
@@ -51,6 +52,7 @@ class Auth(base.BaseIdentityPlugin):
|
||||
msg = 'A username and password or token is required.'
|
||||
raise exceptions.NoMatchingPlugin(msg)
|
||||
|
||||
@utils.positional()
|
||||
def __init__(self, auth_url,
|
||||
trust_id=None,
|
||||
tenant_id=None,
|
||||
|
@@ -20,12 +20,14 @@ import six
|
||||
from keystoneclient import access
|
||||
from keystoneclient.auth.identity import base
|
||||
from keystoneclient import exceptions
|
||||
from keystoneclient import utils
|
||||
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class Auth(base.BaseIdentityPlugin):
|
||||
|
||||
@utils.positional()
|
||||
def __init__(self, auth_url, auth_methods,
|
||||
trust_id=None,
|
||||
domain_id=None,
|
||||
|
@@ -42,6 +42,7 @@ from keystoneclient import baseclient
|
||||
from keystoneclient import exceptions
|
||||
from keystoneclient.openstack.common import jsonutils
|
||||
from keystoneclient import session as client_session
|
||||
from keystoneclient import utils
|
||||
|
||||
|
||||
_logger = logging.getLogger(__name__)
|
||||
@@ -54,6 +55,7 @@ request = client_session.request
|
||||
|
||||
class HTTPClient(baseclient.Client, base.BaseAuthPlugin):
|
||||
|
||||
@utils.positional(enforcement=utils.positional.WARN)
|
||||
def __init__(self, username=None, tenant_id=None, tenant_name=None,
|
||||
password=None, auth_url=None, region_name=None, endpoint=None,
|
||||
token=None, debug=False, auth_ref=None, use_keyring=False,
|
||||
@@ -287,6 +289,7 @@ class HTTPClient(baseclient.Client, base.BaseAuthPlugin):
|
||||
"""
|
||||
return self.project_name
|
||||
|
||||
@utils.positional(enforcement=utils.positional.WARN)
|
||||
def authenticate(self, username=None, password=None, tenant_name=None,
|
||||
tenant_id=None, auth_url=None, token=None,
|
||||
user_id=None, domain_name=None, domain_id=None,
|
||||
@@ -496,6 +499,7 @@ class HTTPClient(baseclient.Client, base.BaseAuthPlugin):
|
||||
# permanently setting _endpoint would better match that behaviour.
|
||||
self._endpoint = value
|
||||
|
||||
@utils.positional(enforcement=utils.positional.WARN)
|
||||
def get_raw_token_from_identity_service(self, auth_url, username=None,
|
||||
password=None, tenant_name=None,
|
||||
tenant_id=None, token=None,
|
||||
|
@@ -21,6 +21,7 @@ import abc
|
||||
import six
|
||||
|
||||
from keystoneclient import exceptions
|
||||
from keystoneclient import utils
|
||||
|
||||
|
||||
@six.add_metaclass(abc.ABCMeta)
|
||||
@@ -140,6 +141,7 @@ class ServiceCatalog(object):
|
||||
return endpoints
|
||||
|
||||
@abc.abstractmethod
|
||||
@utils.positional(enforcement=utils.positional.WARN)
|
||||
def get_urls(self, attr=None, filter_value=None,
|
||||
service_type='identity', endpoint_type='publicURL',
|
||||
region_name=None):
|
||||
@@ -162,6 +164,7 @@ class ServiceCatalog(object):
|
||||
"""
|
||||
raise NotImplementedError()
|
||||
|
||||
@utils.positional(3, enforcement=utils.positional.WARN)
|
||||
def url_for(self, attr=None, filter_value=None,
|
||||
service_type='identity', endpoint_type='publicURL',
|
||||
region_name=None):
|
||||
@@ -248,6 +251,7 @@ class ServiceCatalogV2(ServiceCatalog):
|
||||
pass
|
||||
return token
|
||||
|
||||
@utils.positional(enforcement=utils.positional.WARN)
|
||||
def get_urls(self, attr=None, filter_value=None,
|
||||
service_type='identity', endpoint_type='publicURL',
|
||||
region_name=None):
|
||||
@@ -312,6 +316,7 @@ class ServiceCatalogV3(ServiceCatalog):
|
||||
pass
|
||||
return token
|
||||
|
||||
@utils.positional(enforcement=utils.positional.WARN)
|
||||
def get_urls(self, attr=None, filter_value=None,
|
||||
service_type='identity', endpoint_type='public',
|
||||
region_name=None):
|
||||
|
@@ -17,6 +17,7 @@ import six
|
||||
|
||||
from keystoneclient import exceptions
|
||||
from keystoneclient.openstack.common import jsonutils
|
||||
from keystoneclient import utils
|
||||
|
||||
|
||||
USER_AGENT = 'python-keystoneclient'
|
||||
@@ -51,6 +52,7 @@ class Session(object):
|
||||
REDIRECT_STATUSES = (301, 302, 303, 305, 307)
|
||||
DEFAULT_REDIRECT_LIMIT = 30
|
||||
|
||||
@utils.positional(2, enforcement=utils.positional.WARN)
|
||||
def __init__(self, auth=None, session=None, original_ip=None, verify=True,
|
||||
cert=None, timeout=None, user_agent=None,
|
||||
redirect=DEFAULT_REDIRECT_LIMIT):
|
||||
@@ -108,6 +110,7 @@ class Session(object):
|
||||
if user_agent is not None:
|
||||
self.user_agent = user_agent
|
||||
|
||||
@utils.positional(enforcement=utils.positional.WARN)
|
||||
def request(self, url, method, json=None, original_ip=None,
|
||||
user_agent=None, redirect=None, authenticated=None,
|
||||
**kwargs):
|
||||
|
@@ -11,6 +11,7 @@
|
||||
# under the License.
|
||||
|
||||
from keystoneclient import base
|
||||
from keystoneclient import utils
|
||||
|
||||
|
||||
class Token(base.Resource):
|
||||
@@ -33,6 +34,7 @@ class Token(base.Resource):
|
||||
class TokenManager(base.Manager):
|
||||
resource_class = Token
|
||||
|
||||
@utils.positional(enforcement=utils.positional.WARN)
|
||||
def authenticate(self, username=None, tenant_id=None, tenant_name=None,
|
||||
password=None, token=None, return_raw=False):
|
||||
if token:
|
||||
|
@@ -15,6 +15,7 @@
|
||||
# under the License.
|
||||
|
||||
from keystoneclient import base
|
||||
from keystoneclient import utils
|
||||
|
||||
|
||||
class Credential(base.Resource):
|
||||
@@ -47,6 +48,7 @@ class CredentialManager(base.CrudManager):
|
||||
raise ValueError(
|
||||
"Credential requires blob to be specified")
|
||||
|
||||
@utils.positional(1, enforcement=utils.positional.WARN)
|
||||
def create(self, user, type, blob=None, data=None, project=None, **kwargs):
|
||||
return super(CredentialManager, self).create(
|
||||
user_id=base.getid(user),
|
||||
@@ -67,6 +69,7 @@ class CredentialManager(base.CrudManager):
|
||||
"""
|
||||
return super(CredentialManager, self).list(**kwargs)
|
||||
|
||||
@utils.positional(2, enforcement=utils.positional.WARN)
|
||||
def update(self, credential, user, type=None, blob=None, data=None,
|
||||
project=None, **kwargs):
|
||||
return super(CredentialManager, self).update(
|
||||
|
@@ -15,6 +15,7 @@
|
||||
# under the License.
|
||||
|
||||
from keystoneclient import base
|
||||
from keystoneclient import utils
|
||||
|
||||
|
||||
class Domain(base.Resource):
|
||||
@@ -33,6 +34,7 @@ class DomainManager(base.CrudManager):
|
||||
collection_key = 'domains'
|
||||
key = 'domain'
|
||||
|
||||
@utils.positional(1, enforcement=utils.positional.WARN)
|
||||
def create(self, name, description=None, enabled=True, **kwargs):
|
||||
return super(DomainManager, self).create(
|
||||
name=name,
|
||||
@@ -56,6 +58,7 @@ class DomainManager(base.CrudManager):
|
||||
kwargs['enabled'] = 0
|
||||
return super(DomainManager, self).list(**kwargs)
|
||||
|
||||
@utils.positional(enforcement=utils.positional.WARN)
|
||||
def update(self, domain, name=None,
|
||||
description=None, enabled=True, **kwargs):
|
||||
return super(DomainManager, self).update(
|
||||
|
@@ -16,6 +16,7 @@
|
||||
|
||||
from keystoneclient import base
|
||||
from keystoneclient import exceptions
|
||||
from keystoneclient import utils
|
||||
|
||||
|
||||
VALID_INTERFACES = ['public', 'admin', 'internal']
|
||||
@@ -48,6 +49,7 @@ class EndpointManager(base.CrudManager):
|
||||
msg = msg % ', '.join(VALID_INTERFACES)
|
||||
raise exceptions.ValidationError(msg)
|
||||
|
||||
@utils.positional(1, enforcement=utils.positional.WARN)
|
||||
def create(self, service, url, interface=None, region=None, enabled=True,
|
||||
**kwargs):
|
||||
self._validate_interface(interface)
|
||||
@@ -63,6 +65,7 @@ class EndpointManager(base.CrudManager):
|
||||
return super(EndpointManager, self).get(
|
||||
endpoint_id=base.getid(endpoint))
|
||||
|
||||
@utils.positional(enforcement=utils.positional.WARN)
|
||||
def list(self, service=None, interface=None, region=None, enabled=None,
|
||||
**kwargs):
|
||||
"""List endpoints.
|
||||
@@ -78,6 +81,7 @@ class EndpointManager(base.CrudManager):
|
||||
enabled=enabled,
|
||||
**kwargs)
|
||||
|
||||
@utils.positional(enforcement=utils.positional.WARN)
|
||||
def update(self, endpoint, service=None, url=None, interface=None,
|
||||
region=None, enabled=None, **kwargs):
|
||||
self._validate_interface(interface)
|
||||
|
@@ -15,6 +15,7 @@
|
||||
# under the License.
|
||||
|
||||
from keystoneclient import base
|
||||
from keystoneclient import utils
|
||||
|
||||
|
||||
class Group(base.Resource):
|
||||
@@ -26,6 +27,7 @@ class Group(base.Resource):
|
||||
* description: group description
|
||||
|
||||
"""
|
||||
@utils.positional(enforcement=utils.positional.WARN)
|
||||
def update(self, name=None, description=None):
|
||||
kwargs = {
|
||||
'name': name if name is not None else self.name,
|
||||
@@ -49,6 +51,7 @@ class GroupManager(base.CrudManager):
|
||||
collection_key = 'groups'
|
||||
key = 'group'
|
||||
|
||||
@utils.positional(1, enforcement=utils.positional.WARN)
|
||||
def create(self, name, domain=None, description=None, **kwargs):
|
||||
return super(GroupManager, self).create(
|
||||
name=name,
|
||||
@@ -56,6 +59,7 @@ class GroupManager(base.CrudManager):
|
||||
description=description,
|
||||
**kwargs)
|
||||
|
||||
@utils.positional(enforcement=utils.positional.WARN)
|
||||
def list(self, user=None, domain=None, **kwargs):
|
||||
"""List groups.
|
||||
|
||||
@@ -78,6 +82,7 @@ class GroupManager(base.CrudManager):
|
||||
return super(GroupManager, self).get(
|
||||
group_id=base.getid(group))
|
||||
|
||||
@utils.positional(enforcement=utils.positional.WARN)
|
||||
def update(self, group, name=None, description=None, **kwargs):
|
||||
return super(GroupManager, self).update(
|
||||
group_id=base.getid(group),
|
||||
|
@@ -15,6 +15,7 @@
|
||||
# under the License.
|
||||
|
||||
from keystoneclient import base
|
||||
from keystoneclient import utils
|
||||
|
||||
|
||||
class Policy(base.Resource):
|
||||
@@ -26,6 +27,7 @@ class Policy(base.Resource):
|
||||
* type: the mime type of the policy blob
|
||||
|
||||
"""
|
||||
@utils.positional(enforcement=utils.positional.WARN)
|
||||
def update(self, blob=None, type=None):
|
||||
kwargs = {
|
||||
'blob': blob if blob is not None else self.blob,
|
||||
@@ -47,6 +49,7 @@ class PolicyManager(base.CrudManager):
|
||||
collection_key = 'policies'
|
||||
key = 'policy'
|
||||
|
||||
@utils.positional(1, enforcement=utils.positional.WARN)
|
||||
def create(self, blob, type='application/json', **kwargs):
|
||||
return super(PolicyManager, self).create(
|
||||
blob=blob,
|
||||
@@ -65,6 +68,7 @@ class PolicyManager(base.CrudManager):
|
||||
"""
|
||||
return super(PolicyManager, self).list(**kwargs)
|
||||
|
||||
@utils.positional(enforcement=utils.positional.WARN)
|
||||
def update(self, entity, blob=None, type=None, **kwargs):
|
||||
return super(PolicyManager, self).update(
|
||||
policy_id=base.getid(entity),
|
||||
|
@@ -15,6 +15,7 @@
|
||||
# under the License.
|
||||
|
||||
from keystoneclient import base
|
||||
from keystoneclient import utils
|
||||
|
||||
|
||||
class Project(base.Resource):
|
||||
@@ -27,6 +28,7 @@ class Project(base.Resource):
|
||||
* enabled: boolean to indicate if project is enabled
|
||||
|
||||
"""
|
||||
@utils.positional(enforcement=utils.positional.WARN)
|
||||
def update(self, name=None, description=None, enabled=None):
|
||||
kwargs = {
|
||||
'name': name if name is not None else self.name,
|
||||
@@ -51,6 +53,7 @@ class ProjectManager(base.CrudManager):
|
||||
collection_key = 'projects'
|
||||
key = 'project'
|
||||
|
||||
@utils.positional(1, enforcement=utils.positional.WARN)
|
||||
def create(self, name, domain, description=None, enabled=True, **kwargs):
|
||||
return super(ProjectManager, self).create(
|
||||
domain_id=base.getid(domain),
|
||||
@@ -59,6 +62,7 @@ class ProjectManager(base.CrudManager):
|
||||
enabled=enabled,
|
||||
**kwargs)
|
||||
|
||||
@utils.positional(enforcement=utils.positional.WARN)
|
||||
def list(self, domain=None, user=None, **kwargs):
|
||||
"""List projects.
|
||||
|
||||
@@ -78,6 +82,7 @@ class ProjectManager(base.CrudManager):
|
||||
return super(ProjectManager, self).get(
|
||||
project_id=base.getid(project))
|
||||
|
||||
@utils.positional(enforcement=utils.positional.WARN)
|
||||
def update(self, project, name=None, domain=None, description=None,
|
||||
enabled=None, **kwargs):
|
||||
return super(ProjectManager, self).update(
|
||||
|
@@ -16,6 +16,7 @@
|
||||
|
||||
from keystoneclient import base
|
||||
from keystoneclient import exceptions
|
||||
from keystoneclient import utils
|
||||
|
||||
|
||||
class Role(base.Resource):
|
||||
@@ -72,6 +73,7 @@ class RoleManager(base.CrudManager):
|
||||
msg = 'Must specify either a user or group'
|
||||
raise exceptions.ValidationError(msg)
|
||||
|
||||
@utils.positional(1, enforcement=utils.positional.WARN)
|
||||
def create(self, name, **kwargs):
|
||||
return super(RoleManager, self).create(
|
||||
name=name,
|
||||
@@ -81,6 +83,7 @@ class RoleManager(base.CrudManager):
|
||||
return super(RoleManager, self).get(
|
||||
role_id=base.getid(role))
|
||||
|
||||
@utils.positional(enforcement=utils.positional.WARN)
|
||||
def list(self, user=None, group=None, domain=None, project=None, **kwargs):
|
||||
"""Lists roles and role grants.
|
||||
|
||||
@@ -104,6 +107,7 @@ class RoleManager(base.CrudManager):
|
||||
|
||||
return super(RoleManager, self).list(**kwargs)
|
||||
|
||||
@utils.positional(enforcement=utils.positional.WARN)
|
||||
def update(self, role, name=None, **kwargs):
|
||||
return super(RoleManager, self).update(
|
||||
role_id=base.getid(role),
|
||||
@@ -114,6 +118,7 @@ class RoleManager(base.CrudManager):
|
||||
return super(RoleManager, self).delete(
|
||||
role_id=base.getid(role))
|
||||
|
||||
@utils.positional(enforcement=utils.positional.WARN)
|
||||
def grant(self, role, user=None, group=None, domain=None, project=None):
|
||||
"""Grants a role to a user or group on a domain or project."""
|
||||
self._require_domain_xor_project(domain, project)
|
||||
@@ -123,6 +128,7 @@ class RoleManager(base.CrudManager):
|
||||
base_url=self._role_grants_base_url(user, group, domain, project),
|
||||
role_id=base.getid(role))
|
||||
|
||||
@utils.positional(enforcement=utils.positional.WARN)
|
||||
def check(self, role, user=None, group=None, domain=None, project=None):
|
||||
"""Checks if a user or group has a role on a domain or project."""
|
||||
self._require_domain_xor_project(domain, project)
|
||||
@@ -132,6 +138,7 @@ class RoleManager(base.CrudManager):
|
||||
base_url=self._role_grants_base_url(user, group, domain, project),
|
||||
role_id=base.getid(role))
|
||||
|
||||
@utils.positional(enforcement=utils.positional.WARN)
|
||||
def revoke(self, role, user=None, group=None, domain=None, project=None):
|
||||
"""Revokes a role from a user or group on a domain or project."""
|
||||
self._require_domain_xor_project(domain, project)
|
||||
|
@@ -15,6 +15,7 @@
|
||||
# under the License.
|
||||
|
||||
from keystoneclient import base
|
||||
from keystoneclient import utils
|
||||
|
||||
|
||||
class Service(base.Resource):
|
||||
@@ -36,6 +37,7 @@ class ServiceManager(base.CrudManager):
|
||||
collection_key = 'services'
|
||||
key = 'service'
|
||||
|
||||
@utils.positional(1, enforcement=utils.positional.WARN)
|
||||
def create(self, name, type, enabled=True, **kwargs):
|
||||
return super(ServiceManager, self).create(
|
||||
name=name,
|
||||
@@ -47,6 +49,7 @@ class ServiceManager(base.CrudManager):
|
||||
return super(ServiceManager, self).get(
|
||||
service_id=base.getid(service))
|
||||
|
||||
@utils.positional(enforcement=utils.positional.WARN)
|
||||
def update(self, service, name=None, type=None, enabled=None, **kwargs):
|
||||
return super(ServiceManager, self).update(
|
||||
service_id=base.getid(service),
|
||||
|
@@ -18,7 +18,7 @@ import logging
|
||||
|
||||
from keystoneclient import base
|
||||
from keystoneclient import exceptions
|
||||
|
||||
from keystoneclient import utils
|
||||
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
||||
@@ -44,6 +44,7 @@ class UserManager(base.CrudManager):
|
||||
msg = 'Specify both a user and a group'
|
||||
raise exceptions.ValidationError(msg)
|
||||
|
||||
@utils.positional(1, enforcement=utils.positional.WARN)
|
||||
def create(self, name, domain=None, project=None, password=None,
|
||||
email=None, description=None, enabled=True,
|
||||
default_project=None, **kwargs):
|
||||
@@ -70,6 +71,7 @@ class UserManager(base.CrudManager):
|
||||
enabled=enabled,
|
||||
**kwargs)
|
||||
|
||||
@utils.positional(enforcement=utils.positional.WARN)
|
||||
def list(self, project=None, domain=None, group=None, default_project=None,
|
||||
**kwargs):
|
||||
"""List users.
|
||||
@@ -106,6 +108,7 @@ class UserManager(base.CrudManager):
|
||||
return super(UserManager, self).get(
|
||||
user_id=base.getid(user))
|
||||
|
||||
@utils.positional(enforcement=utils.positional.WARN)
|
||||
def update(self, user, name=None, domain=None, project=None, password=None,
|
||||
email=None, description=None, enabled=None,
|
||||
default_project=None, **kwargs):
|
||||
|
Reference in New Issue
Block a user