# Path: deckhand/client/buckets.py
# class Bucket(base.Resource):
# class BucketManager(base.Manager):
#     def __repr__(self):
#     def update(self, bucket_name, documents):
# 
# Path: deckhand/client/exceptions.py
# LOG = logging.getLogger(__name__)
# class ClientException(Exception):
# class BadRequest(ClientException):
# class Unauthorized(ClientException):
# class Forbidden(ClientException):
# class NotFound(ClientException):
# class MethodNotAllowed(ClientException):
# class Conflict(ClientException):
# class HTTPNotImplemented(ClientException):
#     def __init__(self, code, url, method, message=None, details=None,
#                  reason=None, apiVersion=None, retry=False, status=None,
#                  kind=None, metadata=None):
#     def __str__(self):
# def from_response(response, body, url, method=None):
# 
# Path: deckhand/client/revisions.py
# class Revision(base.Resource):
# class RevisionManager(base.Manager):
#     def __repr__(self):
#     def list(self, **filters):
#     def get(self, revision_id):
#     def diff(self, revision_id, comparison_revision_id):
#     def rollback(self, revision_id):
#     def documents(self, revision_id, rendered=True, **filters):
#     def delete_all(self):
# 
# Path: deckhand/client/tags.py
# class RevisionTag(base.Resource):
# class RevisionTagManager(base.Manager):
#     def __repr__(self):
#     def list(self, revision_id):
#     def get(self, revision_id, tag):
#     def create(self, revision_id, tag, data=None):
#     def delete(self, revision_id, tag):
#     def delete_all(self, revision_id):
# 
# Path: deckhand/client/validations.py
# class Validation(base.Resource):
# class ValidationManager(base.Manager):
#     def __repr__(self):
#     def list(self, revision_id):
#     def list_entries(self, revision_id, validation_name):
#     def get_entry(self, revision_id, validation_name, entry_id):
#     def create(self, revision_id, validation_name, data):


from keystoneauth1 import adapter
from keystoneauth1 import identity
from keystoneauth1 import session as ksession
from oslo_log import log as logging
from deckhand.client import buckets
from deckhand.client import exceptions
from deckhand.client import revisions
from deckhand.client import tags
from deckhand.client import validations
            outside novaclient. It's restricted.
        :param str endpoint_override: Bypass URL
        :param str endpoint_type: Endpoint Type
        :param bool http_log_debug: Enable debugging for HTTP connections
        :param bool insecure: Allow insecure
        :param logging.Logger logger: Logger instance to be used for all
            logging stuff
        :param str password: User password
        :param str project_domain_id: ID of project domain
        :param str project_domain_name: Name of project domain
        :param str project_id: Project/Tenant ID
        :param str project_name: Project/Tenant name
        :param str region_name: Region Name
        :param str service_name: Service Name
        :param str service_type: Service Type
        :param str session: Session
        :param float timeout: API timeout, None or 0 disables
        :param str user_domain_id: ID of user domain
        :param str user_domain_name: Name of user domain
        :param str user_id: User ID
        :param str username: Username
        """

        self.project_id = project_id
        self.project_name = project_name
        self.user_id = user_id

        self.logger = logger or logging.getLogger(__name__)

        self.buckets = buckets.BucketManager(self)

# Path: deckhand/client/buckets.py
# class Bucket(base.Resource):
# class BucketManager(base.Manager):
#     def __repr__(self):
#     def update(self, bucket_name, documents):
# 
# Path: deckhand/client/exceptions.py
# LOG = logging.getLogger(__name__)
# class ClientException(Exception):
# class BadRequest(ClientException):
# class Unauthorized(ClientException):
# class Forbidden(ClientException):
# class NotFound(ClientException):
# class MethodNotAllowed(ClientException):
# class Conflict(ClientException):
# class HTTPNotImplemented(ClientException):
#     def __init__(self, code, url, method, message=None, details=None,
#                  reason=None, apiVersion=None, retry=False, status=None,
#                  kind=None, metadata=None):
#     def __str__(self):
# def from_response(response, body, url, method=None):
# 
# Path: deckhand/client/revisions.py
# class Revision(base.Resource):
# class RevisionManager(base.Manager):
#     def __repr__(self):
#     def list(self, **filters):
#     def get(self, revision_id):
#     def diff(self, revision_id, comparison_revision_id):
#     def rollback(self, revision_id):
#     def documents(self, revision_id, rendered=True, **filters):
#     def delete_all(self):
# 
# Path: deckhand/client/tags.py
# class RevisionTag(base.Resource):
# class RevisionTagManager(base.Manager):
#     def __repr__(self):
#     def list(self, revision_id):
#     def get(self, revision_id, tag):
#     def create(self, revision_id, tag, data=None):
#     def delete(self, revision_id, tag):
#     def delete_all(self, revision_id):
# 
# Path: deckhand/client/validations.py
# class Validation(base.Resource):
# class ValidationManager(base.Manager):
#     def __repr__(self):
#     def list(self, revision_id):
#     def list_entries(self, revision_id, validation_name):
#     def get_entry(self, revision_id, validation_name, entry_id):
#     def create(self, revision_id, validation_name, data):


# Path: deckhand/client/client.py
from keystoneauth1 import adapter
from keystoneauth1 import identity
from keystoneauth1 import session as ksession
from oslo_log import log as logging
from deckhand.client import buckets
from deckhand.client import exceptions
from deckhand.client import revisions
from deckhand.client import tags
from deckhand.client import validations

            outside novaclient. It's restricted.
        :param str endpoint_override: Bypass URL
        :param str endpoint_type: Endpoint Type
        :param bool http_log_debug: Enable debugging for HTTP connections
        :param bool insecure: Allow insecure
        :param logging.Logger logger: Logger instance to be used for all
            logging stuff
        :param str password: User password
        :param str project_domain_id: ID of project domain
        :param str project_domain_name: Name of project domain
        :param str project_id: Project/Tenant ID
        :param str project_name: Project/Tenant name
        :param str region_name: Region Name
        :param str service_name: Service Name
        :param str service_type: Service Type
        :param str session: Session
        :param float timeout: API timeout, None or 0 disables
        :param str user_domain_id: ID of user domain
        :param str user_domain_name: Name of user domain
        :param str user_id: User ID
        :param str username: Username
        """

        self.project_id = project_id
        self.project_name = project_name
        self.user_id = user_id

        self.logger = logger or logging.getLogger(__name__)

        self.buckets = buckets.BucketManager(self)

        self.revisions = revisions.RevisionManager(self)