ebcli/core/hooks.py (41 lines of code) (raw):
# Copyright 2015 Amazon.com, Inc. or its affiliates. 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. A copy of
# the License is located at
#
# http://aws.amazon.com/apache2.0/
#
# or in the "license" file accompanying this file. This file 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.
import sys
from cement.ext.ext_logging import LoggingLogHandler
from cement.utils.misc import minimal_logger
from ebcli import __version__
from ebcli.core import fileoperations
from ebcli.lib import aws
from ebcli.operations import commonops
LOG = minimal_logger(__name__)
def pre_run_hook(app):
if app.pargs.verbose:
LoggingLogHandler.set_level(app.log, 'INFO')
LOG.debug('-- EBCLI Version: {}'.format(__version__))
LOG.debug('-- Python Version: {}'.format(sys.version))
set_profile(app.pargs.profile)
set_region(app.pargs.region)
set_endpoint(app.pargs.endpoint_url)
set_ssl(app.pargs.no_verify_ssl)
set_debugboto(app.pargs.debugboto)
def set_profile(profile):
if profile:
aws.set_profile_override(profile)
else:
profile = commonops.get_default_profile()
if profile:
aws.set_profile(profile)
def set_ssl(noverify):
if not noverify:
noverify = fileoperations.get_config_setting(
'global', 'no-verify-ssl', default=False)
if noverify:
aws.no_verify_ssl()
def set_region(region_name):
if not region_name:
region_name = commonops.get_default_region()
aws.set_region(region_name)
def set_endpoint(endpoint_url):
if endpoint_url:
aws.set_endpoint_url(endpoint_url)
def set_debugboto(debugboto):
if debugboto:
aws.set_debug()