コード例 #1
0
def main():
    parser = setup_parser()
    options = parser.parse_args()

    module_dir = os.path.dirname(os.path.abspath(__file__))
    default_templates = [
        os.path.abspath(os.path.join(module_dir, 'msg-templates')),
        os.path.abspath(os.path.join(module_dir, '..', 'msg-templates')),
        os.path.abspath('.')
    ]
    templates = options.templates
    if templates:
        default_templates.append(
            os.path.abspath(os.path.expanduser(os.path.expandvars(templates)))
        )

    log_format = '%(asctime)s - %(name)s - %(levelname)s - %(message)s'
    logging.basicConfig(level=logging.DEBUG, format=log_format)
    logging.getLogger('botocore').setLevel(logging.WARNING)

    with open(options.config) as fh:
        config = yaml.load(fh.read(), Loader=yaml.SafeLoader)

    jsonschema.validate(config, CONFIG_SCHEMA)
    setup_defaults(config)
    config['templates_folders'] = default_templates

    tester = MailerTester(
        options.MESSAGE_FILE, config, msg_plain=options.plain,
        json_dump_file=options.json_dump_file
    )
    tester.run(options.dry_run, options.print_only)
コード例 #2
0
ファイル: replay.py プロジェクト: jpoley/cloud-custodian
def main():
    parser = setup_parser()
    options = parser.parse_args()

    module_dir = os.path.dirname(os.path.abspath(__file__))
    default_templates = [
        os.path.abspath(os.path.join(module_dir, 'msg-templates')),
        os.path.abspath(os.path.join(module_dir, '..', 'msg-templates')),
        os.path.abspath('.')
    ]
    templates = options.templates
    if templates:
        default_templates.append(
            os.path.abspath(os.path.expanduser(os.path.expandvars(templates)))
        )

    log_format = '%(asctime)s - %(name)s - %(levelname)s - %(message)s'
    logging.basicConfig(level=logging.DEBUG, format=log_format)
    logging.getLogger('botocore').setLevel(logging.WARNING)

    with open(options.config) as fh:
        config = yaml.load(fh.read(), Loader=yaml.SafeLoader)

    jsonschema.validate(config, CONFIG_SCHEMA)
    setup_defaults(config)
    config['templates_folders'] = default_templates

    tester = MailerTester(
        options.MESSAGE_FILE, config, msg_plain=options.plain,
        json_dump_file=options.json_dump_file
    )
    tester.run(options.dry_run, options.print_only)
コード例 #3
0
 def test_config_defaults(self):
     config = MAILER_CONFIG
     utils.setup_defaults(config)
     self.assertEqual([
         config.get('region'),
         config.get('ses_region'),
         config.get('memory'),
         config.get('runtime'),
         config.get('timeout'),
         config.get('subnets'),
         config.get('security_groups'),
         config.get('contact_tags'),
         config.get('ldap_uri'),
         config.get('ldap_bind_dn'),
         config.get('ldap_bind_user'),
         config.get('ldap_bind_password'),
         config.get('datadog_api_key'),
         config.get('slack_token'),
         config.get('slack_webhook'),
         config.get('queue_url')
     ], [
         'us-east-1',
         config.get('region'), 1024, 'python3.7', 300, None, None,
         MAILER_CONFIG['contact_tags'], MAILER_CONFIG['ldap_uri'], None,
         None, None, None, None, None, MAILER_CONFIG['queue_url']
     ])
コード例 #4
0
def test_config_defaults():
    config = {}
    utils.setup_defaults(config)
    for k, v in list(config.items()):
        if v is None:
            config.pop(k)
    assert config == dict(region='us-east-1',
                          ses_region='us-east-1',
                          memory=1024,
                          timeout=300,
                          runtime='python3.7',
                          contact_tags=[])
コード例 #5
0
ファイル: replay.py プロジェクト: somnathkol/cloud-custodian
def main():
    parser = setup_parser()
    options = parser.parse_args()

    log_format = '%(asctime)s - %(name)s - %(levelname)s - %(message)s'
    logging.basicConfig(level=logging.DEBUG, format=log_format)
    logging.getLogger('botocore').setLevel(logging.WARNING)

    with open(options.config) as fh:
        config = yaml.load(fh.read(), Loader=yaml.SafeLoader)

    jsonschema.validate(config, CONFIG_SCHEMA)
    setup_defaults(config)

    tester = MailerTester(options.MESSAGE_FILE, config, msg_plain=options.plain)
    tester.run(options.dry_run, options.print_only)
コード例 #6
0
def main():
    parser = setup_parser()
    options = parser.parse_args()

    log_format = '%(asctime)s - %(name)s - %(levelname)s - %(message)s'
    logging.basicConfig(level=logging.DEBUG, format=log_format)
    logging.getLogger('botocore').setLevel(logging.WARNING)

    with open(options.config) as fh:
        config = yaml.load(fh.read(), Loader=yaml.SafeLoader)

    jsonschema.validate(config, CONFIG_SCHEMA)
    setup_defaults(config)

    tester = MailerTester(
        options.MESSAGE_FILE, config, msg_plain=options.plain,
        json_dump_file=options.json_dump_file
    )
    tester.run(options.dry_run, options.print_only)
コード例 #7
0
ファイル: cli.py プロジェクト: youngdev/cloud-custodian
def main():
    parser = setup_parser()
    options = parser.parse_args()

    import logging
    logging.basicConfig(level=logging.DEBUG)
    logging.getLogger('botocore').setLevel(logging.WARNING)

    with open(options.config) as fh:
        config = yaml.load(fh.read(), Loader=yaml.SafeLoader)

    jsonschema.validate(config, CONFIG_SCHEMA)
    utils.setup_defaults(config)

    try:
        deploy.provision(config, functools.partial(session_factory, config))
    except Exception:
        import traceback, pdb, sys
        traceback.print_exc()
        pdb.post_mortem(sys.exc_info()[-1])
コード例 #8
0
def get_and_validate_mailer_config(args):
    with open(args.config) as fh:
        config = yaml.load(fh.read(), Loader=yaml.SafeLoader)
    jsonschema.validate(config, CONFIG_SCHEMA)
    utils.setup_defaults(config)
    return config
コード例 #9
0
ファイル: cli.py プロジェクト: joshuaroot/cloud-custodian
def get_and_validate_mailer_config(args):
    with open(args.config) as fh:
        config = yaml.load(fh.read(), Loader=yaml.SafeLoader)
    jsonschema.validate(config, CONFIG_SCHEMA)
    utils.setup_defaults(config)
    return config