summaryrefslogtreecommitdiff
path: root/keystoneclient
diff options
context:
space:
mode:
authorSteve Martinelli <stevemar@ca.ibm.com>2016-01-25 01:48:16 -0500
committerSteve Martinelli <stevemar@ca.ibm.com>2016-01-25 01:54:35 -0500
commit81fdaabf3fd73b6ed7fc8e8b4eb550d9206c017a (patch)
tree56d7cafd244a46fac39c75b94b2b55d38d475217 /keystoneclient
parent056740cd2d0513c7f79d459c8c78c3133c43adef (diff)
downloadpython-keystoneclient-81fdaabf3fd73b6ed7fc8e8b4eb550d9206c017a.tar.gz
use positional library instead of utils
swap instances of utils.positional with the positional library. Change-Id: Id8a9961e68d287a802f25512fc970829e9feb5c2
Diffstat (limited to 'keystoneclient')
-rw-r--r--keystoneclient/_discover.py7
-rw-r--r--keystoneclient/adapter.py5
-rw-r--r--keystoneclient/auth/cli.py5
-rw-r--r--keystoneclient/auth/identity/access.py5
-rw-r--r--keystoneclient/auth/identity/base.py4
-rw-r--r--keystoneclient/auth/identity/generic/cli.py4
-rw-r--r--keystoneclient/auth/identity/generic/password.py3
-rw-r--r--keystoneclient/auth/identity/v2.py5
-rw-r--r--keystoneclient/auth/identity/v3/base.py4
-rw-r--r--keystoneclient/contrib/auth/v3/oidc.py4
-rw-r--r--keystoneclient/discover.py4
-rw-r--r--keystoneclient/fixture/discovery.py13
-rw-r--r--keystoneclient/httpclient.py8
-rw-r--r--keystoneclient/service_catalog.py10
-rw-r--r--keystoneclient/session.py12
-rw-r--r--keystoneclient/utils.py2
-rw-r--r--keystoneclient/v2_0/tokens.py5
-rw-r--r--keystoneclient/v3/contrib/federation/identity_providers.py5
-rw-r--r--keystoneclient/v3/contrib/federation/mappings.py5
-rw-r--r--keystoneclient/v3/contrib/federation/protocols.py5
-rw-r--r--keystoneclient/v3/contrib/federation/service_providers.py5
-rw-r--r--keystoneclient/v3/credentials.py6
-rw-r--r--keystoneclient/v3/domains.py7
-rw-r--r--keystoneclient/v3/endpoints.py9
-rw-r--r--keystoneclient/v3/groups.py11
-rw-r--r--keystoneclient/v3/policies.py9
-rw-r--r--keystoneclient/v3/projects.py13
-rw-r--r--keystoneclient/v3/roles.py15
-rw-r--r--keystoneclient/v3/services.py9
-rw-r--r--keystoneclient/v3/tokens.py7
-rw-r--r--keystoneclient/v3/users.py8
31 files changed, 117 insertions, 97 deletions
diff --git a/keystoneclient/_discover.py b/keystoneclient/_discover.py
index d0ef862..9732793 100644
--- a/keystoneclient/_discover.py
+++ b/keystoneclient/_discover.py
@@ -24,15 +24,16 @@ raw data specified in version discovery responses.
import logging
import re
+from positional import positional
+
from keystoneclient import exceptions
from keystoneclient.i18n import _, _LI, _LW
-from keystoneclient import utils
_LOGGER = logging.getLogger(__name__)
-@utils.positional()
+@positional()
def get_version_data(session, url, authenticated=None):
"""Retrieve raw version data from a url."""
headers = {'Accept': 'application/json'}
@@ -135,7 +136,7 @@ class Discover(object):
DEPRECATED_STATUSES = ('deprecated',)
EXPERIMENTAL_STATUSES = ('experimental',)
- @utils.positional()
+ @positional()
def __init__(self, session, url, authenticated=None):
self._data = get_version_data(session, url,
authenticated=authenticated)
diff --git a/keystoneclient/adapter.py b/keystoneclient/adapter.py
index 74399da..d371e9a 100644
--- a/keystoneclient/adapter.py
+++ b/keystoneclient/adapter.py
@@ -11,8 +11,7 @@
# under the License.
from oslo_serialization import jsonutils
-
-from keystoneclient import utils
+from positional import positional
class Adapter(object):
@@ -45,7 +44,7 @@ class Adapter(object):
:type logger: logging.Logger
"""
- @utils.positional()
+ @positional()
def __init__(self, session, service_type=None, service_name=None,
interface=None, region_name=None, endpoint_override=None,
version=None, auth=None, user_agent=None,
diff --git a/keystoneclient/auth/cli.py b/keystoneclient/auth/cli.py
index 40a81c1..172049e 100644
--- a/keystoneclient/auth/cli.py
+++ b/keystoneclient/auth/cli.py
@@ -13,11 +13,12 @@
import argparse
import os
+from positional import positional
+
from keystoneclient.auth import base
-from keystoneclient import utils
-@utils.positional()
+@positional()
def register_argparse_arguments(parser, argv, default=None):
"""Register CLI options needed to create a plugin.
diff --git a/keystoneclient/auth/identity/access.py b/keystoneclient/auth/identity/access.py
index 46df3bf..5849b75 100644
--- a/keystoneclient/auth/identity/access.py
+++ b/keystoneclient/auth/identity/access.py
@@ -10,8 +10,9 @@
# License for the specific language governing permissions and limitations
# under the License.
+from positional import positional
+
from keystoneclient.auth.identity import base
-from keystoneclient import utils
class AccessInfoPlugin(base.BaseIdentityPlugin):
@@ -31,7 +32,7 @@ class AccessInfoPlugin(base.BaseIdentityPlugin):
if using the AUTH_INTERFACE with get_endpoint. (optional)
"""
- @utils.positional()
+ @positional()
def __init__(self, auth_ref, auth_url=None):
super(AccessInfoPlugin, self).__init__(auth_url=auth_url,
reauthenticate=False)
diff --git a/keystoneclient/auth/identity/base.py b/keystoneclient/auth/identity/base.py
index 5737697..854c106 100644
--- a/keystoneclient/auth/identity/base.py
+++ b/keystoneclient/auth/identity/base.py
@@ -16,13 +16,13 @@ import threading
import warnings
from oslo_config import cfg
+from positional import positional
import six
from keystoneclient import _discover
from keystoneclient.auth import base
from keystoneclient import exceptions
from keystoneclient.i18n import _LW
-from keystoneclient import utils
LOG = logging.getLogger(__name__)
@@ -371,7 +371,7 @@ class BaseIdentityPlugin(base.BaseAuthPlugin):
def get_project_id(self, session, **kwargs):
return self.get_access(session).project_id
- @utils.positional()
+ @positional()
def get_discovery(self, session, url, authenticated=None):
"""Return the discovery object for a URL.
diff --git a/keystoneclient/auth/identity/generic/cli.py b/keystoneclient/auth/identity/generic/cli.py
index 212e9b7..9debf63 100644
--- a/keystoneclient/auth/identity/generic/cli.py
+++ b/keystoneclient/auth/identity/generic/cli.py
@@ -11,11 +11,11 @@
# under the License.
from oslo_config import cfg
+from positional import positional
from keystoneclient.auth.identity.generic import password
from keystoneclient import exceptions as exc
from keystoneclient.i18n import _
-from keystoneclient import utils
class DefaultCLI(password.Password):
@@ -25,7 +25,7 @@ class DefaultCLI(password.Password):
as well as allowing users to override with a custom token and endpoint.
"""
- @utils.positional()
+ @positional()
def __init__(self, endpoint=None, token=None, **kwargs):
super(DefaultCLI, self).__init__(**kwargs)
diff --git a/keystoneclient/auth/identity/generic/password.py b/keystoneclient/auth/identity/generic/password.py
index 3527b19..ba3b9d2 100644
--- a/keystoneclient/auth/identity/generic/password.py
+++ b/keystoneclient/auth/identity/generic/password.py
@@ -13,6 +13,7 @@
import logging
from oslo_config import cfg
+from positional import positional
from keystoneclient import _discover
from keystoneclient.auth.identity.generic import base
@@ -45,7 +46,7 @@ class Password(base.BaseGenericPlugin):
"""
- @utils.positional()
+ @positional()
def __init__(self, auth_url, username=None, user_id=None, password=None,
user_domain_id=None, user_domain_name=None, **kwargs):
super(Password, self).__init__(auth_url=auth_url, **kwargs)
diff --git a/keystoneclient/auth/identity/v2.py b/keystoneclient/auth/identity/v2.py
index 5de4527..6a403dc 100644
--- a/keystoneclient/auth/identity/v2.py
+++ b/keystoneclient/auth/identity/v2.py
@@ -14,6 +14,7 @@ import abc
import logging
from oslo_config import cfg
+from positional import positional
import six
from keystoneclient import access
@@ -48,7 +49,7 @@ class Auth(base.BaseIdentityPlugin):
return options
- @utils.positional()
+ @positional()
def __init__(self, auth_url,
trust_id=None,
tenant_id=None,
@@ -127,7 +128,7 @@ class Password(Auth):
:raises TypeError: if a user_id or username is not provided.
"""
- @utils.positional(4)
+ @positional(4)
def __init__(self, auth_url, username=_NOT_PASSED, password=None,
user_id=_NOT_PASSED, **kwargs):
super(Password, self).__init__(auth_url, **kwargs)
diff --git a/keystoneclient/auth/identity/v3/base.py b/keystoneclient/auth/identity/v3/base.py
index 43a0bd7..510fa66 100644
--- a/keystoneclient/auth/identity/v3/base.py
+++ b/keystoneclient/auth/identity/v3/base.py
@@ -14,13 +14,13 @@ import abc
import logging
from oslo_config import cfg
+from positional import positional
import six
from keystoneclient import access
from keystoneclient.auth.identity import base
from keystoneclient import exceptions
from keystoneclient.i18n import _
-from keystoneclient import utils
_logger = logging.getLogger(__name__)
@@ -46,7 +46,7 @@ class BaseAuth(base.BaseIdentityPlugin):
token. (optional) default True.
"""
- @utils.positional()
+ @positional()
def __init__(self, auth_url,
trust_id=None,
domain_id=None,
diff --git a/keystoneclient/contrib/auth/v3/oidc.py b/keystoneclient/contrib/auth/v3/oidc.py
index f9c5286..e2871ac 100644
--- a/keystoneclient/contrib/auth/v3/oidc.py
+++ b/keystoneclient/contrib/auth/v3/oidc.py
@@ -11,10 +11,10 @@
# under the License.
from oslo_config import cfg
+from positional import positional
from keystoneclient import access
from keystoneclient.auth.identity.v3 import federated
-from keystoneclient import utils
class OidcPassword(federated.FederatedBaseAuth):
@@ -42,7 +42,7 @@ class OidcPassword(federated.FederatedBaseAuth):
])
return options
- @utils.positional(4)
+ @positional(4)
def __init__(self, auth_url, identity_provider, protocol,
username, password, client_id, client_secret,
access_token_endpoint, scope='profile',
diff --git a/keystoneclient/discover.py b/keystoneclient/discover.py
index 25d0843..8de0d53 100644
--- a/keystoneclient/discover.py
+++ b/keystoneclient/discover.py
@@ -14,6 +14,7 @@ import logging
import warnings
from debtcollector import removals
+from positional import positional
import six
from keystoneclient import _discover
@@ -21,7 +22,6 @@ from keystoneclient.auth import base
from keystoneclient import exceptions
from keystoneclient.i18n import _
from keystoneclient import session as client_session
-from keystoneclient import utils
from keystoneclient.v2_0 import client as v2_client
from keystoneclient.v3 import client as v3_client
@@ -151,7 +151,7 @@ class Discover(_discover.Discover):
"""
- @utils.positional(2)
+ @positional(2)
def __init__(self, session=None, authenticated=None, **kwargs):
if not session:
warnings.warn(
diff --git a/keystoneclient/fixture/discovery.py b/keystoneclient/fixture/discovery.py
index d596e2d..fd121d2 100644
--- a/keystoneclient/fixture/discovery.py
+++ b/keystoneclient/fixture/discovery.py
@@ -13,6 +13,7 @@
import datetime
from oslo_utils import timeutils
+from positional import positional
from keystoneclient import utils
@@ -34,7 +35,7 @@ class DiscoveryBase(dict):
:param DateTime updated: When the API was last updated.
"""
- @utils.positional()
+ @positional()
def __init__(self, id, status=None, updated=None):
super(DiscoveryBase, self).__init__()
@@ -79,7 +80,7 @@ class DiscoveryBase(dict):
def updated(self, value):
self.updated_str = utils.isotime(value)
- @utils.positional()
+ @positional()
def add_link(self, href, rel='self', type=None):
link = {'href': href, 'rel': rel}
if type:
@@ -91,7 +92,7 @@ class DiscoveryBase(dict):
def media_types(self):
return self.setdefault('media-types', [])
- @utils.positional(1)
+ @positional(1)
def add_media_type(self, base, type):
mt = {'base': base, 'type': type}
self.media_types.append(mt)
@@ -115,7 +116,7 @@ class V2Discovery(DiscoveryBase):
_DESC_URL = 'http://docs.openstack.org/api/openstack-identity-service/2.0/'
- @utils.positional()
+ @positional()
def __init__(self, href, id=None, html=True, pdf=True, **kwargs):
super(V2Discovery, self).__init__(id or 'v2.0', **kwargs)
@@ -161,7 +162,7 @@ class V3Discovery(DiscoveryBase):
:param bool xml: Add XML media-type elements to the structure.
"""
- @utils.positional()
+ @positional()
def __init__(self, href, id=None, json=True, xml=True, **kwargs):
super(V3Discovery, self).__init__(id or 'v3.0', **kwargs)
@@ -212,7 +213,7 @@ class DiscoveryList(dict):
TEST_URL = 'http://keystone.host:5000/'
- @utils.positional(2)
+ @positional(2)
def __init__(self, href=None, v2=True, v3=True, v2_id=None, v3_id=None,
v2_status=None, v2_updated=None, v2_html=True, v2_pdf=True,
v3_status=None, v3_updated=None, v3_json=True, v3_xml=True):
diff --git a/keystoneclient/httpclient.py b/keystoneclient/httpclient.py
index b51526e..1286422 100644
--- a/keystoneclient/httpclient.py
+++ b/keystoneclient/httpclient.py
@@ -26,6 +26,7 @@ from debtcollector import removals
from debtcollector import renames
from oslo_serialization import jsonutils
import pkg_resources
+from positional import positional
import requests
from six.moves.urllib import parse as urlparse
@@ -62,7 +63,6 @@ from keystoneclient import baseclient
from keystoneclient import exceptions
from keystoneclient.i18n import _, _LW
from keystoneclient import session as client_session
-from keystoneclient import utils
_logger = logging.getLogger(__name__)
@@ -249,7 +249,7 @@ class HTTPClient(baseclient.Client, base.BaseAuthPlugin):
removal_version='2.0.0')
@renames.renamed_kwarg('tenant_id', 'project_id', version='1.7.0',
removal_version='2.0.0')
- @utils.positional(enforcement=utils.positional.WARN)
+ @positional(enforcement=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,
@@ -491,7 +491,7 @@ class HTTPClient(baseclient.Client, base.BaseAuthPlugin):
return self.project_name
- @utils.positional(enforcement=utils.positional.WARN)
+ @positional(enforcement=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,
@@ -703,7 +703,7 @@ class HTTPClient(baseclient.Client, base.BaseAuthPlugin):
# permanently setting _endpoint would better match that behaviour.
self._endpoint = value
- @utils.positional(enforcement=utils.positional.WARN)
+ @positional(enforcement=positional.WARN)
def get_raw_token_from_identity_service(self, auth_url, username=None,
password=None, tenant_name=None,
tenant_id=None, token=None,
diff --git a/keystoneclient/service_catalog.py b/keystoneclient/service_catalog.py
index 59ee2ad..d6c383a 100644
--- a/keystoneclient/service_catalog.py
+++ b/keystoneclient/service_catalog.py
@@ -19,11 +19,11 @@
import abc
import warnings
+from positional import positional
import six
from keystoneclient import exceptions
from keystoneclient.i18n import _
-from keystoneclient import utils
@six.add_metaclass(abc.ABCMeta)
@@ -209,7 +209,7 @@ class ServiceCatalog(object):
return endpoints
@abc.abstractmethod
- @utils.positional(enforcement=utils.positional.WARN)
+ @positional(enforcement=positional.WARN)
def get_urls(self, attr=None, filter_value=None,
service_type='identity', endpoint_type='publicURL',
region_name=None, service_name=None):
@@ -233,7 +233,7 @@ class ServiceCatalog(object):
"""
raise NotImplementedError() # pragma: no cover
- @utils.positional(3, enforcement=utils.positional.WARN)
+ @positional(3, enforcement=positional.WARN)
def url_for(self, attr=None, filter_value=None,
service_type='identity', endpoint_type='publicURL',
region_name=None, service_name=None):
@@ -348,7 +348,7 @@ class ServiceCatalogV2(ServiceCatalog):
pass
return token
- @utils.positional(enforcement=utils.positional.WARN)
+ @positional(enforcement=positional.WARN)
def get_urls(self, attr=None, filter_value=None,
service_type='identity', endpoint_type='publicURL',
region_name=None, service_name=None):
@@ -415,7 +415,7 @@ class ServiceCatalogV3(ServiceCatalog):
pass
return token
- @utils.positional(enforcement=utils.positional.WARN)
+ @positional(enforcement=positional.WARN)
def get_urls(self, attr=None, filter_value=None,
service_type='identity', endpoint_type='public',
region_name=None, service_name=None):
diff --git a/keystoneclient/session.py b/keystoneclient/session.py
index 770d007..7c35247 100644
--- a/keystoneclient/session.py
+++ b/keystoneclient/session.py
@@ -24,13 +24,13 @@ from oslo_config import cfg
from oslo_serialization import jsonutils
from oslo_utils import importutils
from oslo_utils import strutils
+from positional import positional
import requests
import six
from six.moves import urllib
from keystoneclient import exceptions
from keystoneclient.i18n import _, _LI, _LW
-from keystoneclient import utils
osprofiler_web = importutils.try_import("osprofiler.web")
@@ -128,7 +128,7 @@ class Session(object):
"""This property is deprecated as of the 1.7.0 release and may be removed
in the 2.0.0 release."""
- @utils.positional(2, enforcement=utils.positional.WARN)
+ @positional(2, enforcement=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):
@@ -165,7 +165,7 @@ class Session(object):
return (header[0], '{SHA1}%s' % token_hash)
return header
- @utils.positional()
+ @positional()
def _http_log_request(self, url, method=None, data=None,
headers=None, logger=_logger):
if not logger.isEnabledFor(logging.DEBUG):
@@ -215,7 +215,7 @@ class Session(object):
logger.debug(' '.join(string_parts))
- @utils.positional(enforcement=utils.positional.WARN)
+ @positional(enforcement=positional.WARN)
def request(self, url, method, json=None, original_ip=None,
user_agent=None, redirect=None, authenticated=None,
endpoint_filter=None, auth=None, requests_auth=None,
@@ -766,7 +766,7 @@ class Session(object):
auth = self._auth_required(auth, msg)
return auth.get_project_id(self)
- @utils.positional.classmethod()
+ @positional.classmethod()
def get_conf_options(cls, deprecated_opts=None):
"""Get oslo_config options that are needed for a :py:class:`.Session`.
@@ -815,7 +815,7 @@ class Session(object):
help='Timeout value for http requests'),
]
- @utils.positional.classmethod()
+ @positional.classmethod()
def register_conf_options(cls, conf, group, deprecated_opts=None):
"""Register the oslo_config options that are needed for a session.
diff --git a/keystoneclient/utils.py b/keystoneclient/utils.py
index 0c48d28..7f36d85 100644
--- a/keystoneclient/utils.py
+++ b/keystoneclient/utils.py
@@ -17,6 +17,8 @@ import sys
from oslo_utils import encodeutils
from oslo_utils import timeutils
+# NOTE(stevemar): do not remove positional. We need this to stay for a while
+# since versions of auth_token require it here.
from positional import positional # noqa
import prettytable
import six
diff --git a/keystoneclient/v2_0/tokens.py b/keystoneclient/v2_0/tokens.py
index 27006f4..bf3a209 100644
--- a/keystoneclient/v2_0/tokens.py
+++ b/keystoneclient/v2_0/tokens.py
@@ -10,12 +10,13 @@
# License for the specific language governing permissions and limitations
# under the License.
+from positional import positional
+
from keystoneclient import access
from keystoneclient import auth
from keystoneclient import base
from keystoneclient import exceptions
from keystoneclient.i18n import _
-from keystoneclient import utils
class Token(base.Resource):
@@ -38,7 +39,7 @@ class Token(base.Resource):
class TokenManager(base.Manager):
resource_class = Token
- @utils.positional(enforcement=utils.positional.WARN)
+ @positional(enforcement=positional.WARN)
def authenticate(self, username=None, tenant_id=None, tenant_name=None,
password=None, token=None, return_raw=False):
if token:
diff --git a/keystoneclient/v3/contrib/federation/identity_providers.py b/keystoneclient/v3/contrib/federation/identity_providers.py
index 242d5d9..d93064f 100644
--- a/keystoneclient/v3/contrib/federation/identity_providers.py
+++ b/keystoneclient/v3/contrib/federation/identity_providers.py
@@ -10,8 +10,9 @@
# License for the specific language governing permissions and limitations
# under the License.
+from positional import positional
+
from keystoneclient import base
-from keystoneclient import utils
class IdentityProvider(base.Resource):
@@ -38,7 +39,7 @@ class IdentityProviderManager(base.CrudManager):
return self._update(url, body=body, response_key=self.key,
method='PUT')
- @utils.positional.method(0)
+ @positional.method(0)
def create(self, id, **kwargs):
"""Create Identity Provider object.
diff --git a/keystoneclient/v3/contrib/federation/mappings.py b/keystoneclient/v3/contrib/federation/mappings.py
index 1cdb879..d047e75 100644
--- a/keystoneclient/v3/contrib/federation/mappings.py
+++ b/keystoneclient/v3/contrib/federation/mappings.py
@@ -10,8 +10,9 @@
# License for the specific language governing permissions and limitations
# under the License.
+from positional import positional
+
from keystoneclient import base
-from keystoneclient import utils
class Mapping(base.Resource):
@@ -39,7 +40,7 @@ class MappingManager(base.CrudManager):
response_key=self.key,
method='PUT')
- @utils.positional.method(0)
+ @positional.method(0)
def create(self, mapping_id, **kwargs):
"""Create federation mapping.
diff --git a/keystoneclient/v3/contrib/federation/protocols.py b/keystoneclient/v3/contrib/federation/protocols.py
index 97d8829..cbec448 100644
--- a/keystoneclient/v3/contrib/federation/protocols.py
+++ b/keystoneclient/v3/contrib/federation/protocols.py
@@ -10,8 +10,9 @@
# License for the specific language governing permissions and limitations
# under the License.
+from positional import positional
+
from keystoneclient import base
-from keystoneclient import utils
class Protocol(base.Resource):
@@ -56,7 +57,7 @@ class ProtocolManager(base.CrudManager):
response_key=self.key,
method='PUT')
- @utils.positional.method(3)
+ @positional.method(3)
def create(self, protocol_id, identity_provider, mapping, **kwargs):
"""Create federation protocol object and tie to the Identity Provider.
diff --git a/keystoneclient/v3/contrib/federation/service_providers.py b/keystoneclient/v3/contrib/federation/service_providers.py
index a419295..81b581b 100644
--- a/keystoneclient/v3/contrib/federation/service_providers.py
+++ b/keystoneclient/v3/contrib/federation/service_providers.py
@@ -10,8 +10,9 @@
# License for the specific language governing permissions and limitations
# under the License.
+from positional import positional
+
from keystoneclient import base
-from keystoneclient import utils
class ServiceProvider(base.Resource):
@@ -40,7 +41,7 @@ class ServiceProviderManager(base.CrudManager):
return self._update(url, body=body, response_key=self.key,
method='PUT')
- @utils.positional.method(0)
+ @positional.method(0)
def create(self, id, **kwargs):
"""Create Service Provider object.
diff --git a/keystoneclient/v3/credentials.py b/keystoneclient/v3/credentials.py
index e3cca14..b4b3e76 100644
--- a/keystoneclient/v3/credentials.py
+++ b/keystoneclient/v3/credentials.py
@@ -15,10 +15,10 @@
# under the License.
from debtcollector import renames
+from positional import positional
from keystoneclient import base
from keystoneclient.i18n import _
-from keystoneclient import utils
class Credential(base.Resource):
@@ -55,7 +55,7 @@ class CredentialManager(base.CrudManager):
@renames.renamed_kwarg('data', 'blob', version='1.7.0',
removal_version='2.0.0')
- @utils.positional(1, enforcement=utils.positional.WARN)
+ @positional(1, enforcement=positional.WARN)
def create(self, user, type, blob=None, data=None, project=None, **kwargs):
"""Create a credential
@@ -99,7 +99,7 @@ class CredentialManager(base.CrudManager):
@renames.renamed_kwarg('data', 'blob', version='1.7.0',
removal_version='2.0.0')
- @utils.positional(2, enforcement=utils.positional.WARN)
+ @positional(2, enforcement=positional.WARN)
def update(self, credential, user, type=None, blob=None, data=None,
project=None, **kwargs):
"""Update a credential
diff --git a/keystoneclient/v3/domains.py b/keystoneclient/v3/domains.py
index 4439f41..7b6c4a1 100644
--- a/keystoneclient/v3/domains.py
+++ b/keystoneclient/v3/domains.py
@@ -14,8 +14,9 @@
# License for the specific language governing permissions and limitations
# under the License.
+from positional import positional
+
from keystoneclient import base
-from keystoneclient import utils
class Domain(base.Resource):
@@ -34,7 +35,7 @@ class DomainManager(base.CrudManager):
collection_key = 'domains'
key = 'domain'
- @utils.positional(1, enforcement=utils.positional.WARN)
+ @positional(1, enforcement=positional.WARN)
def create(self, name, description=None, enabled=True, **kwargs):
return super(DomainManager, self).create(
name=name,
@@ -58,7 +59,7 @@ class DomainManager(base.CrudManager):
kwargs['enabled'] = 0
return super(DomainManager, self).list(**kwargs)
- @utils.positional(enforcement=utils.positional.WARN)
+ @positional(enforcement=positional.WARN)
def update(self, domain, name=None,
description=None, enabled=None, **kwargs):
return super(DomainManager, self).update(
diff --git a/keystoneclient/v3/endpoints.py b/keystoneclient/v3/endpoints.py
index 56c2d60..1be1e22 100644
--- a/keystoneclient/v3/endpoints.py
+++ b/keystoneclient/v3/endpoints.py
@@ -14,10 +14,11 @@
# License for the specific language governing permissions and limitations
# under the License.
+from positional import positional
+
from keystoneclient import base
from keystoneclient import exceptions
from keystoneclient.i18n import _
-from keystoneclient import utils
VALID_INTERFACES = ['public', 'admin', 'internal']
@@ -50,7 +51,7 @@ class EndpointManager(base.CrudManager):
msg = msg % ', '.join(VALID_INTERFACES)
raise exceptions.ValidationError(msg)
- @utils.positional(1, enforcement=utils.positional.WARN)
+ @positional(1, enforcement=positional.WARN)
def create(self, service, url, interface=None, region=None, enabled=True,
**kwargs):
self._validate_interface(interface)
@@ -66,7 +67,7 @@ class EndpointManager(base.CrudManager):
return super(EndpointManager, self).get(
endpoint_id=base.getid(endpoint))
- @utils.positional(enforcement=utils.positional.WARN)
+ @positional(enforcement=positional.WARN)
def list(self, service=None, interface=None, region=None, enabled=None,
region_id=None, **kwargs):
"""List endpoints.
@@ -85,7 +86,7 @@ class EndpointManager(base.CrudManager):
enabled=enabled,
**kwargs)
- @utils.positional(enforcement=utils.positional.WARN)
+ @positional(enforcement=positional.WARN)
def update(self, endpoint, service=None, url=None, interface=None,
region=None, enabled=None, **kwargs):
self._validate_interface(interface)
diff --git a/keystoneclient/v3/groups.py b/keystoneclient/v3/groups.py
index a998323..28e80d5 100644
--- a/keystoneclient/v3/groups.py
+++ b/keystoneclient/v3/groups.py
@@ -14,8 +14,9 @@
# License for the specific language governing permissions and limitations
# under the License.
+from positional import positional
+
from keystoneclient import base
-from keystoneclient import utils
class Group(base.Resource):
@@ -27,7 +28,7 @@ class Group(base.Resource):
* description: group description
"""
- @utils.positional(enforcement=utils.positional.WARN)
+ @positional(enforcement=positional.WARN)
def update(self, name=None, description=None):
kwargs = {
'name': name if name is not None else self.name,
@@ -51,7 +52,7 @@ class GroupManager(base.CrudManager):
collection_key = 'groups'
key = 'group'
- @utils.positional(1, enforcement=utils.positional.WARN)
+ @positional(1, enforcement=positional.WARN)
def create(self, name, domain=None, description=None, **kwargs):
return super(GroupManager, self).create(
name=name,
@@ -59,7 +60,7 @@ class GroupManager(base.CrudManager):
description=description,
**kwargs)
- @utils.positional(enforcement=utils.positional.WARN)
+ @positional(enforcement=positional.WARN)
def list(self, user=None, domain=None, **kwargs):
"""List groups.
@@ -82,7 +83,7 @@ class GroupManager(base.CrudManager):
return super(GroupManager, self).get(
group_id=base.getid(group))
- @utils.positional(enforcement=utils.positional.WARN)
+ @positional(enforcement=positional.WARN)
def update(self, group, name=None, description=None, **kwargs):
return super(GroupManager, self).update(
group_id=base.getid(group),
diff --git a/keystoneclient/v3/policies.py b/keystoneclient/v3/policies.py
index 78cad93..661726d 100644
--- a/keystoneclient/v3/policies.py
+++ b/keystoneclient/v3/policies.py
@@ -14,8 +14,9 @@
# License for the specific language governing permissions and limitations
# under the License.
+from positional import positional
+
from keystoneclient import base
-from keystoneclient import utils
class Policy(base.Resource):
@@ -27,7 +28,7 @@ class Policy(base.Resource):
* type: the mime type of the policy blob
"""
- @utils.positional(enforcement=utils.positional.WARN)
+ @positional(enforcement=positional.WARN)
def update(self, blob=None, type=None):
kwargs = {
'blob': blob if blob is not None else self.blob,
@@ -49,7 +50,7 @@ class PolicyManager(base.CrudManager):
collection_key = 'policies'
key = 'policy'
- @utils.positional(1, enforcement=utils.positional.WARN)
+ @positional(1, enforcement=positional.WARN)
def create(self, blob, type='application/json', **kwargs):
return super(PolicyManager, self).create(
blob=blob,
@@ -68,7 +69,7 @@ class PolicyManager(base.CrudManager):
"""
return super(PolicyManager, self).list(**kwargs)
- @utils.positional(enforcement=utils.positional.WARN)
+ @positional(enforcement=positional.WARN)
def update(self, entity, blob=None, type=None, **kwargs):
return super(PolicyManager, self).update(
policy_id=base.getid(entity),
diff --git a/keystoneclient/v3/projects.py b/keystoneclient/v3/projects.py
index 96f525f..0f52980 100644
--- a/keystoneclient/v3/projects.py
+++ b/keystoneclient/v3/projects.py
@@ -14,10 +14,11 @@
# License for the specific language governing permissions and limitations
# under the License.
+from positional import positional
+
from keystoneclient import base
from keystoneclient import exceptions
from keystoneclient.i18n import _
-from keystoneclient import utils
class Project(base.Resource):
@@ -35,7 +36,7 @@ class Project(base.Resource):
project in the hierarchy
"""
- @utils.positional(enforcement=utils.positional.WARN)
+ @positional(enforcement=positional.WARN)
def update(self, name=None, description=None, enabled=None):
kwargs = {
'name': name if name is not None else self.name,
@@ -60,7 +61,7 @@ class ProjectManager(base.CrudManager):
collection_key = 'projects'
key = 'project'
- @utils.positional(3, enforcement=utils.positional.WARN)
+ @positional(3, enforcement=positional.WARN)
def create(self, name, domain, description=None,
enabled=True, parent=None, **kwargs):
"""Create a project.
@@ -88,7 +89,7 @@ class ProjectManager(base.CrudManager):
enabled=enabled,
**kwargs)
- @utils.positional(enforcement=utils.positional.WARN)
+ @positional(enforcement=positional.WARN)
def list(self, domain=None, user=None, **kwargs):
"""List projects.
@@ -119,7 +120,7 @@ class ProjectManager(base.CrudManager):
'parameters, not both')
raise exceptions.ValidationError(msg)
- @utils.positional()
+ @positional()
def get(self, project, subtree_as_list=False, parents_as_list=False,
subtree_as_ids=False, parents_as_ids=False):
"""Get a project.
@@ -164,7 +165,7 @@ class ProjectManager(base.CrudManager):
url = self.build_url(dict_args_in_out=dict_args)
return self._get(url + query, self.key)
- @utils.positional(enforcement=utils.positional.WARN)
+ @positional(enforcement=positional.WARN)
def update(self, project, name=None, domain=None, description=None,
enabled=None, **kwargs):
return super(ProjectManager, self).update(
diff --git a/keystoneclient/v3/roles.py b/keystoneclient/v3/roles.py
index a8d0125..bc1da69 100644
--- a/keystoneclient/v3/roles.py
+++ b/keystoneclient/v3/roles.py
@@ -14,10 +14,11 @@
# License for the specific language governing permissions and limitations
# under the License.
+from positional import positional
+
from keystoneclient import base
from keystoneclient import exceptions
from keystoneclient.i18n import _
-from keystoneclient import utils
class Role(base.Resource):
@@ -78,7 +79,7 @@ class RoleManager(base.CrudManager):
msg = _('Must specify either a user or group')
raise exceptions.ValidationError(msg)
- @utils.positional(1, enforcement=utils.positional.WARN)
+ @positional(1, enforcement=positional.WARN)
def create(self, name, **kwargs):
return super(RoleManager, self).create(
name=name,
@@ -88,7 +89,7 @@ class RoleManager(base.CrudManager):
return super(RoleManager, self).get(
role_id=base.getid(role))
- @utils.positional(enforcement=utils.positional.WARN)
+ @positional(enforcement=positional.WARN)
def list(self, user=None, group=None, domain=None,
project=None, os_inherit_extension_inherited=False, **kwargs):
"""Lists roles and role grants.
@@ -119,7 +120,7 @@ class RoleManager(base.CrudManager):
return super(RoleManager, self).list(**kwargs)
- @utils.positional(enforcement=utils.positional.WARN)
+ @positional(enforcement=positional.WARN)
def update(self, role, name=None, **kwargs):
return super(RoleManager, self).update(
role_id=base.getid(role),
@@ -130,7 +131,7 @@ class RoleManager(base.CrudManager):
return super(RoleManager, self).delete(
role_id=base.getid(role))
- @utils.positional(enforcement=utils.positional.WARN)
+ @positional(enforcement=positional.WARN)
def grant(self, role, user=None, group=None, domain=None, project=None,
os_inherit_extension_inherited=False, **kwargs):
"""Grants a role to a user or group on a domain or project.
@@ -151,7 +152,7 @@ class RoleManager(base.CrudManager):
role_id=base.getid(role),
**kwargs)
- @utils.positional(enforcement=utils.positional.WARN)
+ @positional(enforcement=positional.WARN)
def check(self, role, user=None, group=None, domain=None, project=None,
os_inherit_extension_inherited=False, **kwargs):
"""Checks if a user or group has a role on a domain or project.
@@ -174,7 +175,7 @@ class RoleManager(base.CrudManager):
os_inherit_extension_inherited=os_inherit_extension_inherited,
**kwargs)
- @utils.positional(enforcement=utils.positional.WARN)
+ @positional(enforcement=positional.WARN)
def revoke(self, role, user=None, group=None, domain=None, project=None,
os_inherit_extension_inherited=False, **kwargs):
"""Revokes a role from a user or group on a domain or project.
diff --git a/keystoneclient/v3/services.py b/keystoneclient/v3/services.py
index 29c84d2..c2b7aeb 100644
--- a/keystoneclient/v3/services.py
+++ b/keystoneclient/v3/services.py
@@ -14,8 +14,9 @@
# License for the specific language governing permissions and limitations
# under the License.
+from positional import positional
+
from keystoneclient import base
-from keystoneclient import utils
class Service(base.Resource):
@@ -37,7 +38,7 @@ class ServiceManager(base.CrudManager):
collection_key = 'services'
key = 'service'
- @utils.positional(1, enforcement=utils.positional.WARN)
+ @positional(1, enforcement=positional.WARN)
def create(self, name, type=None,
enabled=True, description=None, **kwargs):
type_arg = type or kwargs.pop('service_type', None)
@@ -52,7 +53,7 @@ class ServiceManager(base.CrudManager):
return super(ServiceManager, self).get(
service_id=base.getid(service))
- @utils.positional(enforcement=utils.positional.WARN)
+ @positional(enforcement=positional.WARN)
def list(self, name=None, type=None, **kwargs):
type_arg = type or kwargs.pop('service_type', None)
return super(ServiceManager, self).list(
@@ -60,7 +61,7 @@ class ServiceManager(base.CrudManager):
type=type_arg,
**kwargs)
- @utils.positional(enforcement=utils.positional.WARN)
+ @positional(enforcement=positional.WARN)
def update(self, service, name=None, type=None, enabled=None,
description=None, **kwargs):
type_arg = type or kwargs.pop('service_type', None)
diff --git a/keystoneclient/v3/tokens.py b/keystoneclient/v3/tokens.py
index 38f4e9f..1b03002 100644
--- a/keystoneclient/v3/tokens.py
+++ b/keystoneclient/v3/tokens.py
@@ -10,9 +10,10 @@
# License for the specific language governing permissions and limitations
# under the License.
+from positional import positional
+
from keystoneclient import access
from keystoneclient import base
-from keystoneclient import utils
def _calc_id(token):
@@ -51,7 +52,7 @@ class TokenManager(object):
resp, body = self._client.get('/auth/tokens/OS-PKI/revoked')
return body
- @utils.positional.method(1)
+ @positional.method(1)
def get_token_data(self, token, include_catalog=True):
"""Fetch the data about a token from the identity server.
@@ -70,7 +71,7 @@ class TokenManager(object):
resp, body = self._client.get(url, headers=headers)
return body
- @utils.positional.method(1)
+ @positional.method(1)
def validate(self, token, include_catalog=True):
"""Validate a token.
diff --git a/keystoneclient/v3/users.py b/keystoneclient/v3/users.py
index 44d0e56..89c529d 100644
--- a/keystoneclient/v3/users.py
+++ b/keystoneclient/v3/users.py
@@ -17,11 +17,11 @@
import logging
from debtcollector import renames
+from positional import positional
from keystoneclient import base
from keystoneclient import exceptions
from keystoneclient.i18n import _
-from keystoneclient import utils
LOG = logging.getLogger(__name__)
@@ -49,7 +49,7 @@ class UserManager(base.CrudManager):
@renames.renamed_kwarg('project', 'default_project', version='1.7.0',
removal_version='2.0.0')
- @utils.positional(1, enforcement=utils.positional.WARN)
+ @positional(1, enforcement=positional.WARN)
def create(self, name, domain=None, project=None, password=None,
email=None, description=None, enabled=True,
default_project=None, **kwargs):
@@ -78,7 +78,7 @@ class UserManager(base.CrudManager):
@renames.renamed_kwarg('project', 'default_project', version='1.7.0',
removal_version='2.0.0')
- @utils.positional(enforcement=utils.positional.WARN)
+ @positional(enforcement=positional.WARN)
def list(self, project=None, domain=None, group=None, default_project=None,
**kwargs):
"""List users.
@@ -115,7 +115,7 @@ class UserManager(base.CrudManager):
@renames.renamed_kwarg('project', 'default_project', version='1.7.0',
removal_version='2.0.0')
- @utils.positional(enforcement=utils.positional.WARN)
+ @positional(enforcement=positional.WARN)
def update(self, user, name=None, domain=None, project=None, password=None,
email=None, description=None, enabled=None,
default_project=None, **kwargs):