# Path: muranoclient/glance/artifacts.py
# class Controller(object):
#     def __init__(self, http_client, type_name=None, type_version=None,
#                  version='0.1'):
#     def _check_type_params(self, type_name, type_version):
#     def _validate_sort_param(self, sort):
#     def create(self, name, version, type_name=None, type_version=None,
#                **kwargs):
#     def update(self, artifact_id, type_name=None, type_version=None,
#                remove_props=None, **kwargs):
#     def get(self, artifact_id, type_name=None, type_version=None,
#             show_level=None):
#     def list(self, **kwargs):
#     def drafts(self, **kwargs):
#     def _list(self, drafts, type_name=None, type_version=None, **kwargs):
#         def paginate(url, page_size, limit=None):
#     def active(self, artifact_id, type_name=None, type_version=None):
#     def deactivate(self, artifact_id, type_name=None, type_version=None):
#     def delete(self, artifact_id, type_name=None, type_version=None):
#     def upload_blob(self, artifact_id, blob_property, data, position=None,
#                     type_name=None, type_version=None):
#     def download_blob(self, artifact_id, blob_property, position=None,
#                       type_name=None, type_version=None, do_checksum=True):
#     def delete_blob(self, artifact_id, blob_property, position=None,
#                     type_name=None, type_version=None):
#     def add_property(self, artifact_id, dependency_id, position=None,
#                      type_name=None, type_version=None):
#     def replace_property(self, artifact_id, dependency_id, position=None,
#                          type_name=None, type_version=None):
#     def remove_property(self, artifact_id, dependency_id, position=None,
#                         type_name=None, type_version=None):
#     def artifact_export(self, artifact_id,
#                         type_name=None, type_version=None):
#     def artifact_import(self, data, type_name=None, type_version=None):


from glanceclient.common import http
from glanceclient.common import utils
from muranoclient.glance import artifacts
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.




class Client(object):
    """Client for the OpenStack glance-glare API.

    :param string endpoint: A user-supplied endpoint URL for the glance
                            service.
    :param string token: Token for authentication.
    :param integer timeout: Allows customization of the timeout for client
                            http requests. (optional)
    """

    def __init__(self, endpoint, type_name, type_version, **kwargs):
        endpoint, version = utils.strip_version(endpoint)
        self.version = version or '0.1'
        self.http_client = http.HTTPClient(endpoint, **kwargs)

        self.type_name = type_name
        self.type_version = type_version


# Path: muranoclient/glance/artifacts.py
# class Controller(object):
#     def __init__(self, http_client, type_name=None, type_version=None,
#                  version='0.1'):
#     def _check_type_params(self, type_name, type_version):
#     def _validate_sort_param(self, sort):
#     def create(self, name, version, type_name=None, type_version=None,
#                **kwargs):
#     def update(self, artifact_id, type_name=None, type_version=None,
#                remove_props=None, **kwargs):
#     def get(self, artifact_id, type_name=None, type_version=None,
#             show_level=None):
#     def list(self, **kwargs):
#     def drafts(self, **kwargs):
#     def _list(self, drafts, type_name=None, type_version=None, **kwargs):
#         def paginate(url, page_size, limit=None):
#     def active(self, artifact_id, type_name=None, type_version=None):
#     def deactivate(self, artifact_id, type_name=None, type_version=None):
#     def delete(self, artifact_id, type_name=None, type_version=None):
#     def upload_blob(self, artifact_id, blob_property, data, position=None,
#                     type_name=None, type_version=None):
#     def download_blob(self, artifact_id, blob_property, position=None,
#                       type_name=None, type_version=None, do_checksum=True):
#     def delete_blob(self, artifact_id, blob_property, position=None,
#                     type_name=None, type_version=None):
#     def add_property(self, artifact_id, dependency_id, position=None,
#                      type_name=None, type_version=None):
#     def replace_property(self, artifact_id, dependency_id, position=None,
#                          type_name=None, type_version=None):
#     def remove_property(self, artifact_id, dependency_id, position=None,
#                         type_name=None, type_version=None):
#     def artifact_export(self, artifact_id,
#                         type_name=None, type_version=None):
#     def artifact_import(self, data, type_name=None, type_version=None):


# Path: muranoclient/glance/client.py
from glanceclient.common import http
from glanceclient.common import utils
from muranoclient.glance import artifacts

#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.




class Client(object):
    """Client for the OpenStack glance-glare API.

    :param string endpoint: A user-supplied endpoint URL for the glance
                            service.
    :param string token: Token for authentication.
    :param integer timeout: Allows customization of the timeout for client
                            http requests. (optional)
    """

    def __init__(self, endpoint, type_name, type_version, **kwargs):
        endpoint, version = utils.strip_version(endpoint)
        self.version = version or '0.1'
        self.http_client = http.HTTPClient(endpoint, **kwargs)

        self.type_name = type_name
        self.type_version = type_version


        self.artifacts = artifacts.Controller(self.http_client,