def deploy(ctx, project_dir, autogen_policy, profile, debug, stage): user_provided_params = {} default_params = {} if project_dir is None: project_dir = os.getcwd() default_params['project_dir'] = project_dir else: user_provided_params['project_dir'] = project_dir os.chdir(project_dir) try: config_from_disk = load_project_config(project_dir) except (OSError, IOError): click.echo("Unable to load the project config file. " "Are you sure this is a chalice project?") raise click.Abort() if stage is not None: config_from_disk['stage'] = stage default_params['stage'] = stage app_obj = load_chalice_app(project_dir) user_provided_params['chalice_app'] = app_obj user_provided_params['autogen_policy'] = autogen_policy if profile: user_provided_params['profile'] = profile config = Config(user_provided_params, config_from_disk, default_params) session = create_botocore_session(profile=config.profile, debug=debug) d = deployer.create_default_deployer(session=session, prompter=click) try: d.deploy(config) except botocore.exceptions.NoRegionError: e = click.ClickException("No region configured. " "Either export the AWS_DEFAULT_REGION " "environment variable or set the " "region value in our ~/.aws/config file.") e.exit_code = 2 raise e
def deploy(ctx, autogen_policy, profile, stage): config = create_config_obj( ctx, stage_name=stage, autogen_policy=autogen_policy, profile=profile) session = create_botocore_session(profile=config.profile, debug=ctx.obj['debug']) d = deployer.create_default_deployer(session=session, prompter=click) try: d.deploy(config) except botocore.exceptions.NoRegionError: e = click.ClickException("No region configured. " "Either export the AWS_DEFAULT_REGION " "environment variable or set the " "region value in our ~/.aws/config file.") e.exit_code = 2 raise e
def deploy(ctx, autogen_policy, profile, stage): # type: (click.Context, bool, str, str) -> None config = create_config_obj( ctx, stage_name=stage, autogen_policy=autogen_policy, profile=profile) session = create_botocore_session(profile=config.profile, debug=ctx.obj['debug']) d = deployer.create_default_deployer(session=session, prompter=click) try: d.deploy(config) except botocore.exceptions.NoRegionError: e = click.ClickException("No region configured. " "Either export the AWS_DEFAULT_REGION " "environment variable or set the " "region value in our ~/.aws/config file.") e.exit_code = 2 raise e
def _deploy_app(): if not os.path.isdir(CHALICE_DIR): os.makedirs(CHALICE_DIR) session = botocore.session.get_session() config = Config.create( project_dir=PROJECT_DIR, app_name='smoketestapp', stage_name='dev', autogen_policy=True, chalice_app=load_chalice_app(PROJECT_DIR), ) d = deployer.create_default_deployer(session=session) rest_api_id, region_name, stage = d.deploy(config) url = ( "https://{api_id}.execute-api.{region}.amazonaws.com/{stage}/".format( api_id=rest_api_id, region=region_name, stage=stage)) application = SmokeTestApplication(url, rest_api_id, region_name, 'smoketestapp') return application
def deploy(ctx, project_dir, autogen_policy, profile, stage): user_provided_params = {} default_params = {} if project_dir is None: project_dir = os.getcwd() default_params['project_dir'] = project_dir else: user_provided_params['project_dir'] = project_dir os.chdir(project_dir) try: config_from_disk = load_project_config(project_dir) except (OSError, IOError): click.echo("Unable to load the project config file. " "Are you sure this is a chalice project?") raise click.Abort() if stage is not None: config_from_disk['stage'] = stage default_params['stage'] = stage app_obj = load_chalice_app(project_dir) user_provided_params['chalice_app'] = app_obj user_provided_params['autogen_policy'] = autogen_policy if profile: user_provided_params['profile'] = profile config = Config(user_provided_params, config_from_disk, default_params) session = botocore.session.Session(profile=config.profile) d = deployer.create_default_deployer(session=session, prompter=click) try: d.deploy(config) except botocore.exceptions.NoRegionError: e = click.ClickException("No region configured. " "Either export the AWS_DEFAULT_REGION " "environment variable or set the " "region value in our ~/.aws/config file.") e.exit_code = 2 raise e except Exception as e: e = click.ClickException("Error when deploying: %s" % e) e.exit_code = 1 raise e
def test_can_create_deployer_from_factory_function(): session = botocore.session.get_session() d = deployer.create_default_deployer(session) assert isinstance(d, deployer.Deployer)