def deploy(requirements, local_package, config_file, profile, preserve_vpc): aws_lambda.deploy( CURRENT_DIR, requirements=requirements, local_package=local_package, config_file=config_file, profile_name=profile, preserve_vpc=preserve_vpc, )
def deploy_lambda_package(ctx, name, suffix=None, usergroup=None): # create the temporary local dev lambda directories if usergroup: if suffix: suffix = usergroup + suffix else: suffix = usergroup if suffix: new_name = name + '_' + suffix new_src = '../' + new_name cmd_mkdir = "rm -fr %s; mkdir -p %s" % (new_src, new_src) cmd_copy = "cp -r * %s" % new_src cmd_cd = "cd %s" % new_src cmd_modify_cfg = "sed 's/%s/%s/g' config.yaml > config.yaml#" % ( name, new_name) cmd_replace_cfg = "mv config.yaml# config.yaml" cmd = ';'.join( [cmd_mkdir, cmd_copy, cmd_cd, cmd_modify_cfg, cmd_replace_cfg]) print(cmd) run(cmd) else: new_name = name new_src = '../' + new_name with chdir(new_src): aws_lambda.deploy(os.getcwd(), local_package='../..', requirements='../../requirements.txt') # add environment variables lambda_update_config = {'FunctionName': new_name} envs = env_list(name) if envs: lambda_update_config['Environment'] = {'Variables': envs} if name == 'run_task_awsem': if usergroup: lambda_update_config['Environment']['Variables']['AWS_S3_ROLE_NAME'] \ = get_bucket_role_name('tibanna_' + usergroup) else: lambda_update_config['Environment']['Variables'][ 'AWS_S3_ROLE_NAME'] = 'S3_access' # 4dn-dcic default(temp) # add role print('name=%s' % name) if name in ['run_task_awsem', 'check_task_awsem']: role_arn_prefix = 'arn:aws:iam::' + AWS_ACCOUNT_NUMBER + ':role/' if usergroup: role_arn = role_arn_prefix + get_lambda_role_name( 'tibanna_' + usergroup, name) else: role_arn = role_arn_prefix + 'lambda_full_s3' # 4dn-dcic default(temp) print(role_arn) lambda_update_config['Role'] = role_arn client = boto3.client('lambda') resp = client.update_function_configuration(**lambda_update_config) print(resp) # delete the temporary local dev lambda directories if suffix: old_src = '../' + name run('cd %s; rm -rf %s' % (old_src, new_src))
def deploy_lambda_package(ctx, name): # third part tools, should all be tar ''' tools_dir = os.path.join(ROOT_DIR, "third_party") bin_dir = os.path.join(ROOT_DIR, "bin") for filename in os.listdir(tools_dir): if filename.endswith('.tar'): fullpath = os.path.join(tools_dir, filename) run("tar -xvf %s -C %s" % (fullpath, bin_dir)) ''' aws_lambda.deploy(os.getcwd(), requirements='../../requirements.txt')
def deploy_lambda_package(ctx, name): aws_lambda.deploy(os.getcwd(), local_package='../..', requirements='../../requirements.txt')