使用 Terraform 启动 CloudFormationTemplate
Firing up CloudFormationTemplate using Terraform
如何从 Terraform 启动 CloudFormationTemplate。 Terraform 已创建 VPC 和 SecurityGroups。如何将 vpcID 和 SecurityGroupID 传入 CFT。我已经搜索过但找不到任何相同的链接。 RTFM 在这里没有任何帮助。
为此,您应该将参数传递给 aws_cloudformation_stack
资源。
resource "template_file" "redshift_cloudformation" {
template = "${file("redshift.cloudformation")}"
vars {
redshift_public_subnet_id = "${element(split(",", terraform_remote_state.shared.output.public_subnet_ids), 0)}"
redshift_security_group_id = "${aws_security_group.redshift.id}"
}
}
resource "aws_cloudformation_stack" "heavy_redshift" {
name = "heavy-redshift"
template_body = "${template_file.redshift_cloudformation.rendered}"
parameters {
MasterUsername = "master"
MasterUserPassword = "MasterPassword123"
}
}
查看完整代码以获取更多示例 - https://github.com/antonbabenko/terraform-aws-devops/blob/master/extra/heavy_cf_redshift.tf#L40-L48
如何从 Terraform 启动 CloudFormationTemplate。 Terraform 已创建 VPC 和 SecurityGroups。如何将 vpcID 和 SecurityGroupID 传入 CFT。我已经搜索过但找不到任何相同的链接。 RTFM 在这里没有任何帮助。
为此,您应该将参数传递给 aws_cloudformation_stack
资源。
resource "template_file" "redshift_cloudformation" {
template = "${file("redshift.cloudformation")}"
vars {
redshift_public_subnet_id = "${element(split(",", terraform_remote_state.shared.output.public_subnet_ids), 0)}"
redshift_security_group_id = "${aws_security_group.redshift.id}"
}
}
resource "aws_cloudformation_stack" "heavy_redshift" {
name = "heavy-redshift"
template_body = "${template_file.redshift_cloudformation.rendered}"
parameters {
MasterUsername = "master"
MasterUserPassword = "MasterPassword123"
}
}
查看完整代码以获取更多示例 - https://github.com/antonbabenko/terraform-aws-devops/blob/master/extra/heavy_cf_redshift.tf#L40-L48