Terraform aws_cloudformation_stack:on_failure与disable_rollback

时间:2018-07-05 07:02:47

标签: amazon-web-services aws-lambda amazon-cloudformation terraform amazon-sqs

为了能够通过Terraform触发来自sqs事件的lambda,我们在terraform部署文件中定义了cloudformation堆栈

`resource "aws_cloudformation_stack" "sqstolambda" {
  name = "some_name"
  on_failure = "DELETE"

  parameters {
     SQSArn = "${var.queue_arn}"
     functionName = "${module.sqsevent_lambda.function_name}"
  }

  template_body = <<STACK
{
  "Parameters" : {
    "SQSArn" : {
      "Type" : "String",
      "Description" : "Arn of SQS"
    },
    "functionName" : {
      "Type" : "String",
      "Description" : "ARN or name of lambda"
    }
  },
  "Resources" : {
    "sqsLamdaEventMapping": {
      "Type" : "AWS::Lambda::EventSourceMapping",
      "Properties" : {
        "BatchSize": 10,
        "EventSourceArn" : { "Ref" : "SQSArn" },
        "FunctionName" : { "Ref" : "functionName" }
      }
    }
  }
}
STACK
}

堆栈工作正常,但是,在开发过程中有时创建失败,并且堆栈最终以ROLLBACK_COMPLETE状态结束,地形不会改变。

这就是为什么我们在地形资源中添加了on_failure =“ DELETE”的原因。 documentation还提供了“ disasble_rollback”选项。我想知道两者之间的区别是什么?在这件事上我找不到合适的文档。

0 个答案:

没有答案