parser.write(out) if __name__ == '__main__': parser = argparse.ArgumentParser(description='Script for updating lambda function code. ' + 'To supply arguments from a file, provide the filename prepended with an `@`.', fromfile_prefix_chars = '@') parser.add_argument('--aws-credentials', '-a', metavar = '<file>', default = os.environ.get('AWS_CREDENTIALS'), type = argparse.FileType('r'), help = 'File with credentials for connecting to AWS (default: AWS_CREDENTIALS)') parser.add_argument('domain', help = 'Domain that lambda functions live in, such as integration.boss.') parser.add_argument('--refresh-only', '-r', action = 'store_true', help = 'Tell AWS to just reload the lambdas from S3') args = parser.parse_args() if args.aws_credentials is None: parser.print_usage() print("Error: AWS credentials not provided and AWS_CREDENTIALS is not defined") sys.exit(1) session = aws.create_session(args.aws_credentials) bucket = aws.get_lambda_s3_bucket(session) if not args.refresh_only: load_lambdas_on_s3(session, args.domain, bucket) update_lambda_code(session, args.domain, bucket)
parser = argparse.ArgumentParser( description= "This script does some initial configuration of a new AWS Account " + "to function as theboss. It should only be run once on an AWS Account.", formatter_class=argparse.RawDescriptionHelpFormatter, epilog='one time setup for new AWS Account') parser.add_argument( "--aws-credentials", "-a", metavar="<file>", default=os.environ.get("AWS_CREDENTIALS"), type=argparse.FileType('r'), help= "File with credentials to use when connecting to AWS (default: AWS_CREDENTIALS)" ) args = parser.parse_args() if args.aws_credentials is None: parser.print_usage() print( "Error: AWS credentials not provided and AWS_CREDENTIALS is not defined" ) sys.exit(1) session = aws.create_session(args.aws_credentials) create_initial_sns_accounts(session) create_billing_alarms(session) import_iam_details_from_files(session)
metavar = "domain", help = "Domain to target") args = parser.parse_args() if args.aws_credentials is None: parser.print_usage() print("Error: AWS credentials not provided and AWS_CREDENTIALS is not defined") sys.exit(1) if args.ssh_key is None: parser.print_usage() print("Error: SSH key not provided and SSH_KEY is not defined") sys.exit(1) session = aws.create_session(args.aws_credentials) bastion = aws.machine_lookup(session, 'bastion.' + args.domain) iam = session.resource('iam') client = session.client('iam') domain = args.domain.replace('.', '-') print("Opening ssh tunnel") with vault_tunnel(args.ssh_key, bastion): print("\tcomplete") v = Vault('vault.' + args.domain) #while True: # try: # v.revoke_secret_prefix('aws/creds/ingest-loadtest')