#!/Users/dbechbe/Desktop/tmp/venv/bin/python3 from amazon_lex_bot_deploy import amazon_lex_bot_deploy import argparse import sys import logging logging.basicConfig(stream=sys.stdout) logger = logging.getLogger(__name__) parser = argparse.ArgumentParser() parser.add_argument('--alias', required=False, help='lex alias to deploy to, e.g. test or dev or qa', default='$LATEST') parser.add_argument('--region', required=False, help='AWS region to deploy to') parser.add_argument('--lambda-endpoint', required=False, help='function ARN in the format: ' 'arn:aws:lambda:::function::') logging_group = parser.add_mutually_exclusive_group(required=False) logging_group.add_argument('--verbose', required=False, help='verbose logging (>=DEBUG)', action='store_true') logging_group.add_argument('--quiet', required=False, help='quiet (>=WARNING)', action='store_true') group = parser.add_mutually_exclusive_group(required=True) group.add_argument('-s', '--schema-file', help='schema file path') group.add_argument('--example', help='use one of the test examples', choices=["BookTrip", "OrderFlowers", "ScheduleAppointment"]) args = parser.parse_args() schema_file = args.schema_file region = args.region lambda_endpoint = args.lambda_endpoint lex_alias = args.alias log_level = 'INFO' if args.verbose: log_level = 'DEBUG' elif args.quiet: log_level = 'WARNING' try: amazon_lex_bot_deploy.lex_deploy(lex_schema_file=schema_file, lex_alias=lex_alias, lambda_endpoint=lambda_endpoint, region=region, log_level=log_level, example=args.example) except Exception as e: logger.error(e) sys.exit(1)