LOG = logging.getLogger(__name__)
USER_AGENT = 'python-heatclient'
CHUNKSIZE = 1024 * 64  # 64kB
SENSITIVE_HEADERS = ('X-Auth-Token',)
def authenticated_fetcher(hc):
    def _do(*args, **kwargs):
def get_system_ca_file():
    def __init__(self, endpoint, **kwargs):
    def safe_header(self, name, value):
    def log_curl_request(self, method, url, kwargs):
    def log_http_response(resp):
    def _http_request(self, url, method, **kwargs):
    def credentials_headers(self):
    def json_request(self, method, url, **kwargs):
    def raw_request(self, method, url, **kwargs):
    def client_request(self, method, url, **kwargs):
    def head(self, url, **kwargs):
    def get(self, url, **kwargs):
    def post(self, url, **kwargs):
    def put(self, url, **kwargs):
    def delete(self, url, **kwargs):
    def patch(self, url, **kwargs):
    def request(self, url, method, **kwargs):
    def credentials_headers(self):
    def strip_endpoint(self, location):
def _construct_http_client(endpoint=None, username=None, password=None,
                           include_pass=None, endpoint_type=None,
                           auth_url=None, **kwargs):
class HTTPClient(object):
class SessionClient(adapter.LegacyJsonAdapter): DEFAULT_PAGE_SIZE = 20
class Action(base.Resource):
class ActionManager(stacks.StackChildManager):
    def __repr__(self):
    def update(self, **fields):
    def delete(self):
    def data(self, **kwargs):
    def suspend(self, stack_id):
    def resume(self, stack_id):
    def cancel_update(self, stack_id):
    def cancel_without_rollback(self, stack_id):
    def check(self, stack_id): def build_info(self):
    return self.manager.build_info() DEFAULT_PAGE_SIZE = 20
class Event(base.Resource):
class EventManager(stacks.StackChildManager):
    def __repr__(self):
    def update(self, **fields):
    def delete(self):
    def data(self, **kwargs):
    def list(self, stack_id, resource_name=None, **kwargs):
    def get(self, stack_id, resource_name, event_id): class ResourceType(base.Resource):
class ResourceTypeManager(base.BaseManager):
    def __repr__(self):
    def data(self, **kwargs):
    def _add_details(self, info):
    def list(self, **kwargs):
    def get(self, resource_type, with_description=False):
    def generate_template(self, resource_type, template_type='cfn'):
    KEY = 'resource_types' DEFAULT_PAGE_SIZE = 20
class Resource(base.Resource):
class ResourceManager(stacks.StackChildManager):
    def __repr__(self):
    def update(self, **fields):
    def delete(self):
    def data(self, **kwargs):
    def stack_name(self):
    def list(self, stack_id, **kwargs):
    def get(self, stack_id, resource_name, with_attr=None):
    def metadata(self, stack_id, resource_name):
    def signal(self, stack_id, resource_name, data=None):
    def mark_unhealthy(self, stack_id, resource_name,
                       mark_unhealthy, resource_status_reason):
    def generate_template(self, resource_name): class Service(base.Resource):
class ServiceManager(base.BaseManager):
    def __repr__(self):
    def list(self): class SoftwareConfig(base.Resource):
class SoftwareConfigManager(base.BaseManager):
    def __repr__(self):
    def delete(self):
    def data(self, **kwargs):
    def list(self, **kwargs):
    def get(self, config_id):
    def create(self, **kwargs):
    def delete(self, config_id): class SoftwareDeployment(base.Resource):
class SoftwareDeploymentManager(base.BaseManager):
    def __repr__(self):
    def update(self, **fields):
    def delete(self):
    def list(self, **kwargs):
    def metadata(self, server_id):
    def get(self, deployment_id):
    def create(self, **kwargs):
    def update(self, deployment_id, **kwargs):
    def delete(self, deployment_id): class Stack(base.Resource):
class StackChildManager(base.BaseManager):
class StackManager(StackChildManager):
    def __repr__(self):
    def preview(self, **fields):
    def create(self, **fields):
    def update(self, **fields):
    def delete(self):
    def abandon(self):
    def snapshot(self, name=None):
    def snapshot_show(self, snapshot_id):
    def snapshot_delete(self, snapshot_id):
    def restore(self, snapshot_id):
    def snapshot_list(self):
    def output_list(self):
    def output_show(self, output_key):
    def environment(self):
    def files(self):
    def get(self):
    def action(self):
    def status(self):
    def identifier(self):
    def api(self):
    def _resolve_stack_id(self, stack_id):
    def list(self, **kwargs):
        def paginate(params):
    def preview(self, **kwargs):
    def create(self, **kwargs):
    def update(self, stack_id, **kwargs):
    def preview_update(self, stack_id, **kwargs):
    def delete(self, stack_id):
    def abandon(self, stack_id):
    def export(self, stack_id):
    def snapshot(self, stack_id, name=None):
    def snapshot_show(self, stack_id, snapshot_id):
    def snapshot_delete(self, stack_id, snapshot_id):
    def restore(self, stack_id, snapshot_id):
    def snapshot_list(self, stack_id):
    def output_list(self, stack_id):
    def output_show(self, stack_id, output_key):
    def get(self, stack_id, resolve_outputs=True):
    def template(self, stack_id):
    def environment(self, stack_id):
    def files(self, stack_id):
    def validate(self, **kwargs): class TemplateVersion(base.Resource):
class TemplateVersionManager(base.BaseManager):
    def __repr__(self):
    def data(self, **kwargs):
    def list(self):
    def get(self, template_version, **kwargs):
from heatclient.common import http
from heatclient.v1 import actions
from heatclient.v1 import build_info
from heatclient.v1 import events
from heatclient.v1 import resource_types
from heatclient.v1 import resources
from heatclient.v1 import services
from heatclient.v1 import software_configs
from heatclient.v1 import software_deployments
from heatclient.v1 import stacks
from heatclient.v1 import template_versions
# Copyright 2012 OpenStack Foundation
# All Rights Reserved.
#
#    Licensed under the Apache License, Version 2.0 (the "License"); you may
#    not use this file except in compliance with the License. You may obtain
#    a copy of the License at
#
#         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 Heat v1 API.

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

    def __init__(self, *args, **kwargs):
        """Initialize a new client for the Heat v1 API."""

        self.http_client = http._construct_http_client(*args, **kwargs)