Remove use of positional decorator
The positional decorator results in poorly maintainable code in a misguided effort to emulate python3's key-word-arg only notation and functionality. This patch removes keystoneclient's dependance on the positional decorator. Change-Id: I9e691cc8b0c04992f4a8dabd67e1b413d3220d23
This commit is contained in:
parent
5d0c29fc91
commit
4a43aa02b8
keystoneclient
_discover.pyadapter.py
requirements.txtauth
contrib/auth/v3
discover.pyhttpclient.pyservice_catalog.pysession.pytests/unit/v3
utils.pyv2_0
v3
@ -24,8 +24,6 @@ raw data specified in version discovery responses.
|
||||
import logging
|
||||
import re
|
||||
|
||||
from positional import positional
|
||||
|
||||
from keystoneclient import exceptions
|
||||
from keystoneclient.i18n import _
|
||||
|
||||
@ -33,7 +31,6 @@ from keystoneclient.i18n import _
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@positional()
|
||||
def get_version_data(session, url, authenticated=None):
|
||||
"""Retrieve raw version data from a url."""
|
||||
headers = {'Accept': 'application/json'}
|
||||
@ -141,7 +138,6 @@ class Discover(object):
|
||||
DEPRECATED_STATUSES = ('deprecated',)
|
||||
EXPERIMENTAL_STATUSES = ('experimental',)
|
||||
|
||||
@positional()
|
||||
def __init__(self, session, url, authenticated=None):
|
||||
self._data = get_version_data(session, url,
|
||||
authenticated=authenticated)
|
||||
|
@ -13,7 +13,6 @@
|
||||
import warnings
|
||||
|
||||
from oslo_serialization import jsonutils
|
||||
from positional import positional
|
||||
|
||||
|
||||
class Adapter(object):
|
||||
@ -46,7 +45,6 @@ class Adapter(object):
|
||||
:type logger: logging.Logger
|
||||
"""
|
||||
|
||||
@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,
|
||||
|
@ -14,7 +14,6 @@ import argparse
|
||||
import os
|
||||
|
||||
from debtcollector import removals
|
||||
from positional import positional
|
||||
|
||||
from keystoneclient.auth import base
|
||||
|
||||
@ -24,7 +23,6 @@ from keystoneclient.auth import base
|
||||
version='2.1.0',
|
||||
removal_version='3.0.0'
|
||||
)
|
||||
@positional()
|
||||
def register_argparse_arguments(parser, argv, default=None):
|
||||
"""Register CLI options needed to create a plugin.
|
||||
|
||||
|
@ -10,8 +10,6 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from positional import positional
|
||||
|
||||
from keystoneclient.auth.identity import base
|
||||
|
||||
|
||||
@ -32,7 +30,6 @@ class AccessInfoPlugin(base.BaseIdentityPlugin):
|
||||
if using the AUTH_INTERFACE with get_endpoint. (optional)
|
||||
"""
|
||||
|
||||
@positional()
|
||||
def __init__(self, auth_ref, auth_url=None):
|
||||
super(AccessInfoPlugin, self).__init__(auth_url=auth_url,
|
||||
reauthenticate=False)
|
||||
|
@ -16,7 +16,6 @@ import threading
|
||||
import warnings
|
||||
|
||||
from oslo_config import cfg
|
||||
from positional import positional
|
||||
import six
|
||||
|
||||
from keystoneclient import _discover
|
||||
@ -366,7 +365,6 @@ class BaseIdentityPlugin(base.BaseAuthPlugin):
|
||||
def get_project_id(self, session, **kwargs):
|
||||
return self.get_access(session).project_id
|
||||
|
||||
@positional()
|
||||
def get_discovery(self, session, url, authenticated=None):
|
||||
"""Return the discovery object for a URL.
|
||||
|
||||
|
@ -11,7 +11,6 @@
|
||||
# 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
|
||||
@ -25,7 +24,6 @@ class DefaultCLI(password.Password):
|
||||
as well as allowing users to override with a custom token and endpoint.
|
||||
"""
|
||||
|
||||
@positional()
|
||||
def __init__(self, endpoint=None, token=None, **kwargs):
|
||||
super(DefaultCLI, self).__init__(**kwargs)
|
||||
|
||||
|
@ -11,7 +11,6 @@
|
||||
# under the License.
|
||||
|
||||
from oslo_config import cfg
|
||||
from positional import positional
|
||||
|
||||
from keystoneclient import _discover
|
||||
from keystoneclient.auth.identity.generic import base
|
||||
@ -42,7 +41,6 @@ class Password(base.BaseGenericPlugin):
|
||||
|
||||
"""
|
||||
|
||||
@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)
|
||||
|
@ -14,7 +14,6 @@ import abc
|
||||
import logging
|
||||
|
||||
from oslo_config import cfg
|
||||
from positional import positional
|
||||
import six
|
||||
|
||||
from keystoneclient import access
|
||||
@ -49,7 +48,6 @@ class Auth(base.BaseIdentityPlugin):
|
||||
|
||||
return options
|
||||
|
||||
@positional()
|
||||
def __init__(self, auth_url,
|
||||
trust_id=None,
|
||||
tenant_id=None,
|
||||
@ -128,7 +126,6 @@ class Password(Auth):
|
||||
:raises TypeError: if a user_id or username is not provided.
|
||||
"""
|
||||
|
||||
@positional(4)
|
||||
def __init__(self, auth_url, username=_NOT_PASSED, password=None,
|
||||
user_id=_NOT_PASSED, **kwargs):
|
||||
super(Password, self).__init__(auth_url, **kwargs)
|
||||
|
@ -15,7 +15,6 @@ import json
|
||||
import logging
|
||||
|
||||
from oslo_config import cfg
|
||||
from positional import positional
|
||||
import six
|
||||
|
||||
from keystoneclient import access
|
||||
@ -47,7 +46,6 @@ class BaseAuth(base.BaseIdentityPlugin):
|
||||
token. (optional) default True.
|
||||
"""
|
||||
|
||||
@positional()
|
||||
def __init__(self, auth_url,
|
||||
trust_id=None,
|
||||
domain_id=None,
|
||||
|
@ -11,7 +11,6 @@
|
||||
# under the License.
|
||||
|
||||
from oslo_config import cfg
|
||||
from positional import positional
|
||||
|
||||
from keystoneclient import access
|
||||
from keystoneclient.auth.identity.v3 import federated
|
||||
@ -42,7 +41,6 @@ class OidcPassword(federated.FederatedBaseAuth):
|
||||
])
|
||||
return options
|
||||
|
||||
@positional(4)
|
||||
def __init__(self, auth_url, identity_provider, protocol,
|
||||
username, password, client_id, client_secret,
|
||||
access_token_endpoint, scope='profile',
|
||||
|
@ -14,7 +14,6 @@ import warnings
|
||||
|
||||
from debtcollector import removals
|
||||
from keystoneauth1 import plugin
|
||||
from positional import positional
|
||||
|
||||
from keystoneclient import _discover
|
||||
from keystoneclient import exceptions
|
||||
@ -146,7 +145,6 @@ class Discover(_discover.Discover):
|
||||
|
||||
"""
|
||||
|
||||
@positional(2)
|
||||
def __init__(self, session=None, authenticated=None, **kwargs):
|
||||
if not session:
|
||||
warnings.warn(
|
||||
|
@ -25,7 +25,6 @@ from debtcollector import renames
|
||||
from keystoneauth1 import adapter
|
||||
from oslo_serialization import jsonutils
|
||||
import pkg_resources
|
||||
from positional import positional
|
||||
import requests
|
||||
|
||||
try:
|
||||
@ -241,7 +240,6 @@ 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')
|
||||
@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, auth_ref=None, use_keyring=False,
|
||||
@ -483,7 +481,6 @@ class HTTPClient(baseclient.Client, base.BaseAuthPlugin):
|
||||
|
||||
return self.project_name
|
||||
|
||||
@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,
|
||||
@ -693,7 +690,6 @@ class HTTPClient(baseclient.Client, base.BaseAuthPlugin):
|
||||
# permanently setting _endpoint would better match that behaviour.
|
||||
self._endpoint = value
|
||||
|
||||
@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,
|
||||
|
@ -19,7 +19,6 @@
|
||||
import abc
|
||||
import warnings
|
||||
|
||||
from positional import positional
|
||||
import six
|
||||
|
||||
from keystoneclient import exceptions
|
||||
@ -209,7 +208,6 @@ class ServiceCatalog(object):
|
||||
return endpoints
|
||||
|
||||
@abc.abstractmethod
|
||||
@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 +231,6 @@ class ServiceCatalog(object):
|
||||
"""
|
||||
raise NotImplementedError() # pragma: no cover
|
||||
|
||||
@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 +345,6 @@ class ServiceCatalogV2(ServiceCatalog):
|
||||
pass
|
||||
return token
|
||||
|
||||
@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 +411,6 @@ class ServiceCatalogV3(ServiceCatalog):
|
||||
pass
|
||||
return token
|
||||
|
||||
@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):
|
||||
|
@ -25,7 +25,6 @@ from oslo_serialization import jsonutils
|
||||
from oslo_utils import encodeutils
|
||||
from oslo_utils import importutils
|
||||
from oslo_utils import strutils
|
||||
from positional import positional
|
||||
import requests
|
||||
import six
|
||||
from six.moves import urllib
|
||||
@ -134,7 +133,6 @@ class Session(object):
|
||||
"""This property is deprecated as of the 1.7.0 release and may be removed
|
||||
in the 2.0.0 release."""
|
||||
|
||||
@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):
|
||||
@ -177,7 +175,6 @@ class Session(object):
|
||||
return (header[0], '{SHA1}%s' % token_hash)
|
||||
return header
|
||||
|
||||
@positional()
|
||||
def _http_log_request(self, url, method=None, data=None,
|
||||
headers=None, logger=_logger):
|
||||
if not logger.isEnabledFor(logging.DEBUG):
|
||||
@ -256,7 +253,6 @@ class Session(object):
|
||||
logger.debug(' '.join(string_parts))
|
||||
|
||||
# NOTE(artmr): parameter 'original_ip' value is never used
|
||||
@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,
|
||||
@ -806,7 +802,7 @@ class Session(object):
|
||||
auth = self._auth_required(auth, msg)
|
||||
return auth.get_project_id(self)
|
||||
|
||||
@positional.classmethod()
|
||||
@classmethod
|
||||
def get_conf_options(cls, deprecated_opts=None):
|
||||
"""Get oslo_config options that are needed for a :py:class:`.Session`.
|
||||
|
||||
@ -855,7 +851,7 @@ class Session(object):
|
||||
help='Timeout value for http requests'),
|
||||
]
|
||||
|
||||
@positional.classmethod()
|
||||
@classmethod
|
||||
def register_conf_options(cls, conf, group, deprecated_opts=None):
|
||||
"""Register the oslo_config options that are needed for a session.
|
||||
|
||||
|
@ -64,11 +64,6 @@ class TokenTests(utils.ClientTestCase, testresources.ResourcedTestCase):
|
||||
self.assertQueryStringIs('audit_id_only')
|
||||
self.assertEqual(sample_revoked_response, resp)
|
||||
|
||||
def test_get_revoked_audit_id_only_positional_exc(self):
|
||||
# When get_revoked(True) an exception is raised because this must be
|
||||
# called with named parameter.
|
||||
self.assertRaises(TypeError, self.client.tokens.get_revoked, True)
|
||||
|
||||
def test_validate_token_with_token_id(self):
|
||||
# Can validate a token passing a string token ID.
|
||||
token_id = uuid.uuid4().hex
|
||||
|
@ -16,9 +16,6 @@ import sys
|
||||
|
||||
from keystoneauth1 import exceptions as ksa_exceptions
|
||||
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 six
|
||||
|
||||
from keystoneclient import exceptions as ksc_exceptions
|
||||
|
@ -12,7 +12,6 @@
|
||||
|
||||
from keystoneauth1 import exceptions
|
||||
from keystoneauth1 import plugin
|
||||
from positional import positional
|
||||
|
||||
from keystoneclient import access
|
||||
from keystoneclient import base
|
||||
@ -40,7 +39,6 @@ class Token(base.Resource):
|
||||
class TokenManager(base.Manager):
|
||||
resource_class = Token
|
||||
|
||||
@positional(enforcement=positional.WARN)
|
||||
def authenticate(self, username=None, tenant_id=None, tenant_name=None,
|
||||
password=None, token=None, return_raw=False):
|
||||
if token:
|
||||
|
@ -10,8 +10,6 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from positional import positional
|
||||
|
||||
from keystoneclient import base
|
||||
|
||||
|
||||
@ -40,7 +38,6 @@ class IdentityProviderManager(base.CrudManager):
|
||||
return self._update(url, body=body, response_key=self.key,
|
||||
method='PUT')
|
||||
|
||||
@positional.method(0)
|
||||
def create(self, id, **kwargs):
|
||||
"""Create Identity Provider object.
|
||||
|
||||
|
@ -10,8 +10,6 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from positional import positional
|
||||
|
||||
from keystoneclient import base
|
||||
|
||||
|
||||
@ -41,7 +39,6 @@ class MappingManager(base.CrudManager):
|
||||
response_key=self.key,
|
||||
method='PUT')
|
||||
|
||||
@positional.method(0)
|
||||
def create(self, mapping_id, **kwargs):
|
||||
"""Create federation mapping.
|
||||
|
||||
|
@ -10,8 +10,6 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from positional import positional
|
||||
|
||||
from keystoneclient import base
|
||||
|
||||
|
||||
@ -57,7 +55,6 @@ class ProtocolManager(base.CrudManager):
|
||||
response_key=self.key,
|
||||
method='PUT')
|
||||
|
||||
@positional.method(3)
|
||||
def create(self, protocol_id, identity_provider, mapping, **kwargs):
|
||||
"""Create federation protocol object and tie to the Identity Provider.
|
||||
|
||||
|
@ -10,8 +10,6 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from positional import positional
|
||||
|
||||
from keystoneclient import base
|
||||
|
||||
|
||||
@ -42,7 +40,6 @@ class ServiceProviderManager(base.CrudManager):
|
||||
return self._update(url, body=body, response_key=self.key,
|
||||
method='PUT')
|
||||
|
||||
@positional.method(0)
|
||||
def create(self, id, **kwargs):
|
||||
"""Create Service Provider object.
|
||||
|
||||
|
@ -14,8 +14,6 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from positional import positional
|
||||
|
||||
from keystoneclient import base
|
||||
|
||||
|
||||
@ -41,7 +39,6 @@ class CredentialManager(base.CrudManager):
|
||||
collection_key = 'credentials'
|
||||
key = 'credential'
|
||||
|
||||
@positional(1, enforcement=positional.WARN)
|
||||
def create(self, user, type, blob, project=None, **kwargs):
|
||||
"""Create a credential.
|
||||
|
||||
@ -95,7 +92,6 @@ class CredentialManager(base.CrudManager):
|
||||
"""
|
||||
return super(CredentialManager, self).list(**kwargs)
|
||||
|
||||
@positional(2, enforcement=positional.WARN)
|
||||
def update(self, credential, user, type=None, blob=None, project=None,
|
||||
**kwargs):
|
||||
"""Update a credential.
|
||||
|
@ -14,8 +14,6 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from positional import positional
|
||||
|
||||
from keystoneclient import base
|
||||
|
||||
|
||||
@ -40,7 +38,6 @@ class DomainManager(base.CrudManager):
|
||||
collection_key = 'domains'
|
||||
key = 'domain'
|
||||
|
||||
@positional(1, enforcement=positional.WARN)
|
||||
def create(self, name, description=None, enabled=True, **kwargs):
|
||||
"""Create a domain.
|
||||
|
||||
@ -89,7 +86,6 @@ class DomainManager(base.CrudManager):
|
||||
kwargs['enabled'] = 0
|
||||
return super(DomainManager, self).list(**kwargs)
|
||||
|
||||
@positional(enforcement=positional.WARN)
|
||||
def update(self, domain, name=None,
|
||||
description=None, enabled=None, **kwargs):
|
||||
"""Update a domain.
|
||||
|
@ -14,8 +14,6 @@
|
||||
# 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 _
|
||||
@ -54,7 +52,6 @@ class EndpointManager(base.CrudManager):
|
||||
msg %= ', '.join(VALID_INTERFACES)
|
||||
raise exceptions.ValidationError(msg)
|
||||
|
||||
@positional(1, enforcement=positional.WARN)
|
||||
def create(self, service, url, interface=None, region=None, enabled=True,
|
||||
**kwargs):
|
||||
"""Create an endpoint.
|
||||
@ -97,7 +94,6 @@ class EndpointManager(base.CrudManager):
|
||||
return super(EndpointManager, self).get(
|
||||
endpoint_id=base.getid(endpoint))
|
||||
|
||||
@positional(enforcement=positional.WARN)
|
||||
def list(self, service=None, interface=None, region=None, enabled=None,
|
||||
region_id=None, **kwargs):
|
||||
"""List endpoints.
|
||||
@ -128,7 +124,6 @@ class EndpointManager(base.CrudManager):
|
||||
enabled=enabled,
|
||||
**kwargs)
|
||||
|
||||
@positional(enforcement=positional.WARN)
|
||||
def update(self, endpoint, service=None, url=None, interface=None,
|
||||
region=None, enabled=None, **kwargs):
|
||||
"""Update an endpoint.
|
||||
|
@ -14,8 +14,6 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from positional import positional
|
||||
|
||||
from keystoneclient import base
|
||||
|
||||
|
||||
@ -29,7 +27,6 @@ class Group(base.Resource):
|
||||
|
||||
"""
|
||||
|
||||
@positional(enforcement=positional.WARN)
|
||||
def update(self, name=None, description=None):
|
||||
kwargs = {
|
||||
'name': name if name is not None else self.name,
|
||||
@ -54,7 +51,6 @@ class GroupManager(base.CrudManager):
|
||||
collection_key = 'groups'
|
||||
key = 'group'
|
||||
|
||||
@positional(1, enforcement=positional.WARN)
|
||||
def create(self, name, domain=None, description=None, **kwargs):
|
||||
"""Create a group.
|
||||
|
||||
@ -75,7 +71,6 @@ class GroupManager(base.CrudManager):
|
||||
description=description,
|
||||
**kwargs)
|
||||
|
||||
@positional(enforcement=positional.WARN)
|
||||
def list(self, user=None, domain=None, **kwargs):
|
||||
"""List groups.
|
||||
|
||||
@ -111,7 +106,6 @@ class GroupManager(base.CrudManager):
|
||||
return super(GroupManager, self).get(
|
||||
group_id=base.getid(group))
|
||||
|
||||
@positional(enforcement=positional.WARN)
|
||||
def update(self, group, name=None, description=None, **kwargs):
|
||||
"""Update a group.
|
||||
|
||||
|
@ -14,8 +14,6 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from positional import positional
|
||||
|
||||
from keystoneclient import base
|
||||
|
||||
|
||||
@ -29,7 +27,6 @@ class Policy(base.Resource):
|
||||
|
||||
"""
|
||||
|
||||
@positional(enforcement=positional.WARN)
|
||||
def update(self, blob=None, type=None):
|
||||
kwargs = {
|
||||
'blob': blob if blob is not None else self.blob,
|
||||
@ -52,7 +49,6 @@ class PolicyManager(base.CrudManager):
|
||||
collection_key = 'policies'
|
||||
key = 'policy'
|
||||
|
||||
@positional(1, enforcement=positional.WARN)
|
||||
def create(self, blob, type='application/json', **kwargs):
|
||||
"""Create a policy.
|
||||
|
||||
@ -95,7 +91,6 @@ class PolicyManager(base.CrudManager):
|
||||
"""
|
||||
return super(PolicyManager, self).list(**kwargs)
|
||||
|
||||
@positional(enforcement=positional.WARN)
|
||||
def update(self, policy, blob=None, type=None, **kwargs):
|
||||
"""Update a policy.
|
||||
|
||||
|
@ -14,8 +14,6 @@
|
||||
# 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 _
|
||||
@ -37,7 +35,6 @@ class Project(base.Resource):
|
||||
|
||||
"""
|
||||
|
||||
@positional(enforcement=positional.WARN)
|
||||
def update(self, name=None, description=None, enabled=None):
|
||||
kwargs = {
|
||||
'name': name if name is not None else self.name,
|
||||
@ -63,7 +60,6 @@ class ProjectManager(base.CrudManager):
|
||||
collection_key = 'projects'
|
||||
key = 'project'
|
||||
|
||||
@positional(3, enforcement=positional.WARN)
|
||||
def create(self, name, domain, description=None,
|
||||
enabled=True, parent=None, **kwargs):
|
||||
"""Create a project.
|
||||
@ -96,7 +92,6 @@ class ProjectManager(base.CrudManager):
|
||||
enabled=enabled,
|
||||
**kwargs)
|
||||
|
||||
@positional(enforcement=positional.WARN)
|
||||
def list(self, domain=None, user=None, **kwargs):
|
||||
"""List projects.
|
||||
|
||||
@ -132,7 +127,6 @@ class ProjectManager(base.CrudManager):
|
||||
'parameters, not both')
|
||||
raise exceptions.ValidationError(msg)
|
||||
|
||||
@positional()
|
||||
def get(self, project, subtree_as_list=False, parents_as_list=False,
|
||||
subtree_as_ids=False, parents_as_ids=False):
|
||||
"""Retrieve a project.
|
||||
@ -182,7 +176,6 @@ class ProjectManager(base.CrudManager):
|
||||
url = self.build_url(dict_args_in_out=dict_args)
|
||||
return self._get(url + query, self.key)
|
||||
|
||||
@positional(enforcement=positional.WARN)
|
||||
def update(self, project, name=None, domain=None, description=None,
|
||||
enabled=None, **kwargs):
|
||||
"""Update a project.
|
||||
|
@ -15,7 +15,6 @@
|
||||
# under the License.
|
||||
|
||||
from debtcollector import removals
|
||||
from positional import positional
|
||||
|
||||
from keystoneclient import base
|
||||
from keystoneclient import exceptions
|
||||
@ -96,7 +95,6 @@ class RoleManager(base.CrudManager):
|
||||
msg = _('Must specify either a user or group')
|
||||
raise exceptions.ValidationError(msg)
|
||||
|
||||
@positional(1, enforcement=positional.WARN)
|
||||
def create(self, name, domain=None, **kwargs):
|
||||
"""Create a role.
|
||||
|
||||
@ -132,7 +130,6 @@ class RoleManager(base.CrudManager):
|
||||
"""
|
||||
return super(RoleManager, self).get(role_id=base.getid(role))
|
||||
|
||||
@positional(enforcement=positional.WARN)
|
||||
def list(self, user=None, group=None, domain=None,
|
||||
project=None, os_inherit_extension_inherited=False, **kwargs):
|
||||
"""List roles and role grants.
|
||||
@ -178,7 +175,6 @@ class RoleManager(base.CrudManager):
|
||||
|
||||
return super(RoleManager, self).list(**kwargs)
|
||||
|
||||
@positional(enforcement=positional.WARN)
|
||||
def update(self, role, name=None, **kwargs):
|
||||
"""Update a role.
|
||||
|
||||
@ -212,7 +208,6 @@ class RoleManager(base.CrudManager):
|
||||
return super(RoleManager, self).delete(
|
||||
role_id=base.getid(role))
|
||||
|
||||
@positional(enforcement=positional.WARN)
|
||||
def grant(self, role, user=None, group=None, domain=None, project=None,
|
||||
os_inherit_extension_inherited=False, **kwargs):
|
||||
"""Grant a role to a user or group on a domain or project.
|
||||
@ -259,7 +254,6 @@ class RoleManager(base.CrudManager):
|
||||
role_id=base.getid(role),
|
||||
**kwargs)
|
||||
|
||||
@positional(enforcement=positional.WARN)
|
||||
def check(self, role, user=None, group=None, domain=None, project=None,
|
||||
os_inherit_extension_inherited=False, **kwargs):
|
||||
"""Check if a user or group has a role on a domain or project.
|
||||
@ -310,7 +304,6 @@ class RoleManager(base.CrudManager):
|
||||
os_inherit_extension_inherited=os_inherit_extension_inherited,
|
||||
**kwargs)
|
||||
|
||||
@positional(enforcement=positional.WARN)
|
||||
def revoke(self, role, user=None, group=None, domain=None, project=None,
|
||||
os_inherit_extension_inherited=False, **kwargs):
|
||||
"""Revoke a role from a user or group on a domain or project.
|
||||
|
@ -14,8 +14,6 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from positional import positional
|
||||
|
||||
from keystoneclient import base
|
||||
|
||||
|
||||
@ -41,7 +39,6 @@ class ServiceManager(base.CrudManager):
|
||||
collection_key = 'services'
|
||||
key = 'service'
|
||||
|
||||
@positional(1, enforcement=positional.WARN)
|
||||
def create(self, name, type=None,
|
||||
enabled=True, description=None, **kwargs):
|
||||
"""Create a service.
|
||||
@ -78,7 +75,6 @@ class ServiceManager(base.CrudManager):
|
||||
return super(ServiceManager, self).get(
|
||||
service_id=base.getid(service))
|
||||
|
||||
@positional(enforcement=positional.WARN)
|
||||
def list(self, name=None, type=None, **kwargs):
|
||||
"""List services.
|
||||
|
||||
@ -96,7 +92,6 @@ class ServiceManager(base.CrudManager):
|
||||
type=type_arg,
|
||||
**kwargs)
|
||||
|
||||
@positional(enforcement=positional.WARN)
|
||||
def update(self, service, name=None, type=None, enabled=None,
|
||||
description=None, **kwargs):
|
||||
"""Update a service.
|
||||
|
@ -10,8 +10,6 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from positional import positional
|
||||
|
||||
from keystoneclient import access
|
||||
from keystoneclient import base
|
||||
|
||||
@ -40,7 +38,6 @@ class TokenManager(object):
|
||||
headers = {'X-Subject-Token': token_id}
|
||||
return self._client.delete('/auth/tokens', headers=headers)
|
||||
|
||||
@positional.method(0)
|
||||
def get_revoked(self, audit_id_only=False):
|
||||
"""Get revoked tokens list.
|
||||
|
||||
@ -60,7 +57,6 @@ class TokenManager(object):
|
||||
resp, body = self._client.get(path)
|
||||
return body
|
||||
|
||||
@positional.method(1)
|
||||
def get_token_data(self, token, include_catalog=True, allow_expired=False):
|
||||
"""Fetch the data about a token from the identity server.
|
||||
|
||||
@ -89,7 +85,6 @@ class TokenManager(object):
|
||||
resp, body = self._client.get(url, headers=headers)
|
||||
return body
|
||||
|
||||
@positional.method(1)
|
||||
def validate(self, token, include_catalog=True, allow_expired=False):
|
||||
"""Validate a token.
|
||||
|
||||
|
@ -15,7 +15,6 @@
|
||||
# under the License.
|
||||
|
||||
from debtcollector import renames
|
||||
from positional import positional
|
||||
|
||||
from keystoneclient import base
|
||||
from keystoneclient import exceptions
|
||||
@ -47,7 +46,6 @@ class UserManager(base.CrudManager):
|
||||
|
||||
@renames.renamed_kwarg('project', 'default_project', version='1.7.0',
|
||||
removal_version='2.0.0')
|
||||
@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):
|
||||
@ -96,7 +94,6 @@ class UserManager(base.CrudManager):
|
||||
|
||||
@renames.renamed_kwarg('project', 'default_project', version='1.7.0',
|
||||
removal_version='2.0.0')
|
||||
@positional(enforcement=positional.WARN)
|
||||
def list(self, project=None, domain=None, group=None, default_project=None,
|
||||
**kwargs):
|
||||
"""List users.
|
||||
@ -153,7 +150,6 @@ class UserManager(base.CrudManager):
|
||||
|
||||
@renames.renamed_kwarg('project', 'default_project', version='1.7.0',
|
||||
removal_version='2.0.0')
|
||||
@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):
|
||||
|
@ -10,7 +10,6 @@ oslo.config!=4.3.0,!=4.4.0,>=4.0.0 # Apache-2.0
|
||||
oslo.i18n!=3.15.2,>=2.1.0 # Apache-2.0
|
||||
oslo.serialization!=2.19.1,>=1.10.0 # Apache-2.0
|
||||
oslo.utils>=3.20.0 # Apache-2.0
|
||||
positional>=1.1.1 # Apache-2.0
|
||||
requests>=2.14.2 # Apache-2.0
|
||||
six>=1.9.0 # MIT
|
||||
stevedore>=1.20.0 # Apache-2.0
|
||||
|
Loading…
x
Reference in New Issue
Block a user