当前位置: 首页>>代码示例>>Python>>正文


Python TerraformRunner.apply方法代码示例

本文整理汇总了Python中webhook2lambda2sqs.terraform_runner.TerraformRunner.apply方法的典型用法代码示例。如果您正苦于以下问题:Python TerraformRunner.apply方法的具体用法?Python TerraformRunner.apply怎么用?Python TerraformRunner.apply使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在webhook2lambda2sqs.terraform_runner.TerraformRunner的用法示例。


在下文中一共展示了TerraformRunner.apply方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: main

# 需要导入模块: from webhook2lambda2sqs.terraform_runner import TerraformRunner [as 别名]
# 或者: from webhook2lambda2sqs.terraform_runner.TerraformRunner import apply [as 别名]
def main(args=None):
    """
    Main entry point
    """
    # parse args
    if args is None:
        args = parse_args(sys.argv[1:])

    # dump example config if that action
    if args.action == 'example-config':
        conf, doc = Config.example_config()
        print(conf)
        sys.stderr.write(doc + "\n")
        return

    # set logging level
    if args.verbose > 1:
        set_log_debug()
    elif args.verbose == 1:
        set_log_info()

    # get our config
    config = Config(args.config)

    if args.action == 'logs':
        aws = AWSInfo(config)
        aws.show_cloudwatch_logs(count=args.log_count)
        return

    if args.action == 'queuepeek':
        aws = AWSInfo(config)
        aws.show_queue(name=args.queue_name, delete=args.queue_delete,
                       count=args.msg_count)
        return

    if args.action == 'test':
        run_test(config, args)
        return

    # if generate or genapply, generate the configs
    if args.action == 'generate' or args.action == 'genapply':
        func_gen = LambdaFuncGenerator(config)
        func_src = func_gen.generate()
        # @TODO: also write func_source to disk
        tf_gen = TerraformGenerator(config)
        tf_gen.generate(func_src)

    # if only generate, exit now
    if args.action == 'generate':
        return

    # else setup a Terraform action
    runner = TerraformRunner(config, args.tf_path)
    # run the terraform action
    if args.action == 'apply' or args.action == 'genapply':
        runner.apply(args.stream_tf)
    elif args.action == 'plan':
        runner.plan(args.stream_tf)
    else:  # destroy
        runner.destroy(args.stream_tf)
开发者ID:waffle-iron,项目名称:webhook2lambda2sqs,代码行数:62,代码来源:runner.py

示例2: test_apply_stream

# 需要导入模块: from webhook2lambda2sqs.terraform_runner import TerraformRunner [as 别名]
# 或者: from webhook2lambda2sqs.terraform_runner.TerraformRunner import apply [as 别名]
    def test_apply_stream(self):

        def se_exc(*args, **kwargs):
            raise Exception('foo')

        with patch('%s._validate' % pb):
            cls = TerraformRunner(self.mock_config(), 'terraform-bin')
        with patch('%s.logger' % pbm, autospec=True) as mock_logger:
            with patch('%s._set_remote' % pb, autospec=True) as mock_set:
                with patch('%s._run_tf' % pb, autospec=True) as mock_run:
                    with patch('%s._taint_deployment' % pb,
                               autospec=True) as mock_taint:
                        mock_run.return_value = 'output'
                        mock_taint.side_effect = se_exc
                        with patch('%s._show_outputs' % pb,
                                   autospec=True) as mock_show:
                            cls.apply(stream=True)
        assert mock_set.mock_calls == [call(cls, stream=True)]
        assert mock_run.mock_calls == [
            call(cls, 'apply', cmd_args=['-input=false', '-refresh=true', '.'],
                 stream=True)
        ]
        assert mock_logger.mock_calls == [
            call.warning('Running terraform apply: %s',
                         '-input=false -refresh=true .'),
            call.warning("Terraform apply finished successfully.")
        ]
        assert mock_show.mock_calls == [call(cls)]
        assert mock_taint.mock_calls == [call(cls, stream=True)]
开发者ID:AndrewFarley,项目名称:webhook2lambda2sqs,代码行数:31,代码来源:test_terraform_runner.py

示例3: test_apply

# 需要导入模块: from webhook2lambda2sqs.terraform_runner import TerraformRunner [as 别名]
# 或者: from webhook2lambda2sqs.terraform_runner.TerraformRunner import apply [as 别名]
 def test_apply(self):
     with patch('%s._validate' % pb):
         cls = TerraformRunner(self.mock_config(), 'terraform-bin')
     with patch('%s.logger' % pbm, autospec=True) as mock_logger:
         with patch('%s._set_remote' % pb, autospec=True) as mock_set:
             with patch('%s._setup_tf' % pb, autospec=True) as mock_setup:
                 with patch('%s._run_tf' % pb, autospec=True) as mock_run:
                     with patch('%s._taint_deployment' % pb,
                                autospec=True) as mock_taint:
                         mock_run.return_value = 'output'
                         with patch('%s._show_outputs' % pb,
                                    autospec=True) as mock_show:
                             cls.apply()
     assert mock_setup.mock_calls == [call(cls, stream=False)]
     assert mock_set.mock_calls == []
     assert mock_run.mock_calls == [
         call(cls, 'apply', cmd_args=['-input=false', '-refresh=true', '.'],
              stream=False)
     ]
     assert mock_logger.mock_calls == [
         call.warning('Running terraform apply: %s',
                      '-input=false -refresh=true .'),
         call.warning("Terraform apply finished successfully:\n%s", 'output')
     ]
     assert mock_show.mock_calls == [call(cls)]
     assert mock_taint.mock_calls == [call(cls, stream=False)]
开发者ID:jantman,项目名称:webhook2lambda2sqs,代码行数:28,代码来源:test_terraform_runner.py

示例4: main

# 需要导入模块: from webhook2lambda2sqs.terraform_runner import TerraformRunner [as 别名]
# 或者: from webhook2lambda2sqs.terraform_runner.TerraformRunner import apply [as 别名]
def main(args=None):
    """
    Main entry point
    """
    # parse args
    if args is None:
        args = parse_args(sys.argv[1:])

    # dump example config if that action
    if args.action == 'example-config':
        conf, doc = Config.example_config()
        print(conf)
        sys.stderr.write(doc + "\n")
        return

    # set logging level
    if args.verbose > 1:
        set_log_debug()
    elif args.verbose == 1:
        set_log_info()

    # get our config
    config = Config(args.config)

    if args.action == 'logs':
        aws = AWSInfo(config)
        aws.show_cloudwatch_logs(count=args.log_count)
        return

    if args.action == 'apilogs':
        api_id = get_api_id(config, args)
        aws = AWSInfo(config)
        aws.show_cloudwatch_logs(
            count=args.log_count,
            grp_name='API-Gateway-Execution-Logs_%s/%s' % (
                api_id, config.stage_name
            )
        )
        return

    if args.action == 'queuepeek':
        aws = AWSInfo(config)
        aws.show_queue(name=args.queue_name, delete=args.queue_delete,
                       count=args.msg_count)
        return

    if args.action == 'test':
        run_test(config, args)
        return

    if args.action in ['apply', 'genapply', 'plan', 'destroy']:
        runner = TerraformRunner(config, args.tf_path)
        tf_ver = runner.tf_version
    else:
        tf_ver = tuple(
            [int(x) for x in args.tf_ver.split('.')]
        )

    # if generate or genapply, generate the configs
    if args.action == 'generate' or args.action == 'genapply':
        func_gen = LambdaFuncGenerator(config)
        func_src = func_gen.generate()
        # @TODO: also write func_source to disk
        tf_gen = TerraformGenerator(config, tf_ver=tf_ver)
        tf_gen.generate(func_src)

    # if only generate, exit now
    if args.action == 'generate':
        return

    # run the terraform action
    if args.action == 'apply' or args.action == 'genapply':
        runner.apply(args.stream_tf)
        # conditionally set API Gateway Method settings
        if config.get('api_gateway_method_settings') is not None:
            aws = AWSInfo(config)
            aws.set_method_settings()
    elif args.action == 'plan':
        runner.plan(args.stream_tf)
    else:  # destroy
        runner.destroy(args.stream_tf)
开发者ID:jantman,项目名称:webhook2lambda2sqs,代码行数:83,代码来源:runner.py


注:本文中的webhook2lambda2sqs.terraform_runner.TerraformRunner.apply方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。