2015-12-12 45 views
1

如何从Terraform启动CloudFormationTemplate。 Terraform已经创建了VPC和SecurityGroups。如何将vpcID和SecurityGroupID传入CFT。我已经搜索,但无法找到任何相同的链接。 RTFM在这里没有任何帮助。使用Terraform启动CloudFormationTemplate

回答

1

为此,您应该将参数传递给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

+0

你可以尝试采取一些相关的信息进行链接,并在直接回答有吗?这样,如果你的代码改变了,那么这个答案可能对其他人有用。 – ydaetskcoR

+0

@ydaetskcoR完成。 –