# Path: glanceclient/_i18n.py

# 
# Path: glanceclient/common/utils.py
# SENSITIVE_HEADERS = ('X-Auth-Token', )
# REQUIRED_FIELDS_ON_DATA = ('disk_format', 'container_format')
# def arg(*args, **kwargs):
#     def _decorator(func):
# def on_data_require_fields(data_fields, required=REQUIRED_FIELDS_ON_DATA):
#     def args_decorator(func):
#         def prepare_fields(fields):
#         def func_wrapper(gc, args):
# def schema_args(schema_getter, omit=None):
#     def _decorator(func):
# def pretty_choice_list(l):
# def has_version(client, version):
# def print_cached_images(cached_images):
# def print_dict_list(objects, fields):
# def print_list(objs, fields, formatters=None, field_settings=None):
# def _encode(src):
# def unicode_key_value_to_string(src):
# def print_dict(d, max_column_width=80):
# def find_resource(manager, name_or_id):
# def env(*vars, **kwargs):
# def exit(msg='', exit_code=1):
# def print_err(msg):
# def save_image(data, path):
# def make_size_human_readable(size):
# def get_file_size(file_obj):
# def get_data_file(args):
# def strip_version(endpoint):
# def print_image(image_obj, human_readable=False, max_col_width=None):
# def integrity_iter(iter, checksum):
# def serious_integrity_iter(iter, hasher, hash_value):
# def memoized_property(fn):
#     def _memoized_property(self):
# def safe_header(name, value):
# def endpoint_version_from_url(endpoint, default_version=None):
# def debug_enabled(argv):
#     def __init__(self, iterable, length):
#     def __iter__(self):
#     def next(self):
#     def __len__(self):
#     def __init__(self, wrapped):
#     def request_ids(self):
#     def wrapped(self):
#     def next(self):
#     def __init__(self, wrapped):
#     def _set_request_ids(self, resp):
#     def _next(self):
#     def next(self):
#     def __next__(self):
#     def __iter__(self):
#     def request_ids(self):
#     def wrapped(self):
# def add_req_id_to_object():
#     def inner(wrapped, instance, args, kwargs):
# def add_req_id_to_generator():
#     def inner(wrapped, instance, args, kwargs):
# def _extract_request_id(resp):
# class IterableWithLength(object):
# class RequestIdProxy(wrapt.ObjectProxy):
# class GeneratorProxy(wrapt.ObjectProxy):
# 
# Path: glanceclient/exc.py
# class BaseException(Exception):
# class CommandError(BaseException):
# class InvalidEndpoint(BaseException):
# class CommunicationError(BaseException):
# class ClientException(Exception):
# class HTTPException(ClientException):
# class HTTPMultipleChoices(HTTPException):
# class BadRequest(HTTPException):
# class HTTPBadRequest(BadRequest):
# class Unauthorized(HTTPException):
# class HTTPUnauthorized(Unauthorized):
# class Forbidden(HTTPException):
# class HTTPForbidden(Forbidden):
# class NotFound(HTTPException):
# class HTTPNotFound(NotFound):
# class HTTPMethodNotAllowed(HTTPException):
# class Conflict(HTTPException):
# class HTTPConflict(Conflict):
# class OverLimit(HTTPException):
# class HTTPOverLimit(OverLimit):
# class HTTPInternalServerError(HTTPException):
# class HTTPNotImplemented(HTTPException):
# class HTTPBadGateway(HTTPException):
# class ServiceUnavailable(HTTPException):
# class HTTPServiceUnavailable(ServiceUnavailable):
# class NoTokenLookupException(Exception):
# class EndpointNotFound(Exception):
# class SSLConfigurationError(BaseException):
# class SSLCertificateError(BaseException):
#     def __init__(self, message=None):
#     def __str__(self):
#     def __init__(self, details=None):
#     def __str__(self):
#     def __str__(self):
# def from_response(response, body=None):


import argparse
import copy
import getpass
import hashlib
import json
import logging
import os
import sys
import traceback
import urllib.parse
import glanceclient
from oslo_utils import encodeutils
from oslo_utils import importutils
from glanceclient._i18n import _
from glanceclient.common import utils
from glanceclient import exc
from keystoneauth1 import discover
from keystoneauth1 import exceptions as ks_exc
from keystoneauth1.identity import v2 as v2_auth
from keystoneauth1.identity import v3 as v3_auth
from keystoneauth1 import loading
                user_id=user_id,
                username=username,
                password=password,
                user_domain_id=user_domain_id,
                user_domain_name=user_domain_name,
                project_id=project_id,
                project_name=project_name,
                project_domain_id=project_domain_id,
                project_domain_name=project_domain_name)
        elif use_v2:
            auth = v2_auth.Password(
                v2_auth_url,
                username,
                password,
                tenant_id=project_id,
                tenant_name=project_name)
        else:
            # if we get here it means domain information is provided
            # (caller meant to use Keystone V3) but the auth url is
            # actually Keystone V2. Obviously we can't authenticate a V3
            # user using V2.
            exc.CommandError("Credential and auth_url mismatch. The given "
                             "auth_url is using Keystone V2 endpoint, which "
                             "may not able to handle Keystone V3 credentials. "
                             "Please provide a correct Keystone V3 auth_url.")

        return auth

    def _get_kwargs_to_create_auth_plugin(self, args):
        if not args.os_username:

# Path: glanceclient/_i18n.py

# 
# Path: glanceclient/common/utils.py
# SENSITIVE_HEADERS = ('X-Auth-Token', )
# REQUIRED_FIELDS_ON_DATA = ('disk_format', 'container_format')
# def arg(*args, **kwargs):
#     def _decorator(func):
# def on_data_require_fields(data_fields, required=REQUIRED_FIELDS_ON_DATA):
#     def args_decorator(func):
#         def prepare_fields(fields):
#         def func_wrapper(gc, args):
# def schema_args(schema_getter, omit=None):
#     def _decorator(func):
# def pretty_choice_list(l):
# def has_version(client, version):
# def print_cached_images(cached_images):
# def print_dict_list(objects, fields):
# def print_list(objs, fields, formatters=None, field_settings=None):
# def _encode(src):
# def unicode_key_value_to_string(src):
# def print_dict(d, max_column_width=80):
# def find_resource(manager, name_or_id):
# def env(*vars, **kwargs):
# def exit(msg='', exit_code=1):
# def print_err(msg):
# def save_image(data, path):
# def make_size_human_readable(size):
# def get_file_size(file_obj):
# def get_data_file(args):
# def strip_version(endpoint):
# def print_image(image_obj, human_readable=False, max_col_width=None):
# def integrity_iter(iter, checksum):
# def serious_integrity_iter(iter, hasher, hash_value):
# def memoized_property(fn):
#     def _memoized_property(self):
# def safe_header(name, value):
# def endpoint_version_from_url(endpoint, default_version=None):
# def debug_enabled(argv):
#     def __init__(self, iterable, length):
#     def __iter__(self):
#     def next(self):
#     def __len__(self):
#     def __init__(self, wrapped):
#     def request_ids(self):
#     def wrapped(self):
#     def next(self):
#     def __init__(self, wrapped):
#     def _set_request_ids(self, resp):
#     def _next(self):
#     def next(self):
#     def __next__(self):
#     def __iter__(self):
#     def request_ids(self):
#     def wrapped(self):
# def add_req_id_to_object():
#     def inner(wrapped, instance, args, kwargs):
# def add_req_id_to_generator():
#     def inner(wrapped, instance, args, kwargs):
# def _extract_request_id(resp):
# class IterableWithLength(object):
# class RequestIdProxy(wrapt.ObjectProxy):
# class GeneratorProxy(wrapt.ObjectProxy):
# 
# Path: glanceclient/exc.py
# class BaseException(Exception):
# class CommandError(BaseException):
# class InvalidEndpoint(BaseException):
# class CommunicationError(BaseException):
# class ClientException(Exception):
# class HTTPException(ClientException):
# class HTTPMultipleChoices(HTTPException):
# class BadRequest(HTTPException):
# class HTTPBadRequest(BadRequest):
# class Unauthorized(HTTPException):
# class HTTPUnauthorized(Unauthorized):
# class Forbidden(HTTPException):
# class HTTPForbidden(Forbidden):
# class NotFound(HTTPException):
# class HTTPNotFound(NotFound):
# class HTTPMethodNotAllowed(HTTPException):
# class Conflict(HTTPException):
# class HTTPConflict(Conflict):
# class OverLimit(HTTPException):
# class HTTPOverLimit(OverLimit):
# class HTTPInternalServerError(HTTPException):
# class HTTPNotImplemented(HTTPException):
# class HTTPBadGateway(HTTPException):
# class ServiceUnavailable(HTTPException):
# class HTTPServiceUnavailable(ServiceUnavailable):
# class NoTokenLookupException(Exception):
# class EndpointNotFound(Exception):
# class SSLConfigurationError(BaseException):
# class SSLCertificateError(BaseException):
#     def __init__(self, message=None):
#     def __str__(self):
#     def __init__(self, details=None):
#     def __str__(self):
#     def __str__(self):
# def from_response(response, body=None):


# Path: glanceclient/shell.py
import argparse
import copy
import getpass
import hashlib
import json
import logging
import os
import sys
import traceback
import urllib.parse
import glanceclient
from oslo_utils import encodeutils
from oslo_utils import importutils
from glanceclient._i18n import _
from glanceclient.common import utils
from glanceclient import exc
from keystoneauth1 import discover
from keystoneauth1 import exceptions as ks_exc
from keystoneauth1.identity import v2 as v2_auth
from keystoneauth1.identity import v3 as v3_auth
from keystoneauth1 import loading

                user_id=user_id,
                username=username,
                password=password,
                user_domain_id=user_domain_id,
                user_domain_name=user_domain_name,
                project_id=project_id,
                project_name=project_name,
                project_domain_id=project_domain_id,
                project_domain_name=project_domain_name)
        elif use_v2:
            auth = v2_auth.Password(
                v2_auth_url,
                username,
                password,
                tenant_id=project_id,
                tenant_name=project_name)
        else:
            # if we get here it means domain information is provided
            # (caller meant to use Keystone V3) but the auth url is
            # actually Keystone V2. Obviously we can't authenticate a V3
            # user using V2.
            exc.CommandError("Credential and auth_url mismatch. The given "
                             "auth_url is using Keystone V2 endpoint, which "
                             "may not able to handle Keystone V3 credentials. "
                             "Please provide a correct Keystone V3 auth_url.")

        return auth

    def _get_kwargs_to_create_auth_plugin(self, args):
        if not args.os_username:

            raise exc.CommandError(