gpt4 book ai didi

terraform - 如何在terraform中定义没有触发选项的执行顺序

转载 作者:行者123 更新时间:2023-12-01 09:13:59 27 4
gpt4 key购买 nike

理解它按照 terraform 的 main.tf 中定义的顺序运行是否有意义?

我知道有必要描述触发器选项以定义 terraform 的顺序。

但是如果不能使用像这个数据“外部”这样的触发选项,我该如何定义执行顺序?

例如,我想按如下顺序运行。

get_my_public_ip -> ec2 -> db -> test_http_status

main.tf 如下
data "external" "get_my_public_ip" {
program = ["sh", "scripts/get_my_public_ip.sh"]
}

module "ec2" {
...
}

module "db" {
...
}


data "external" "test_http_status" {
program = ["sh", "scripts/test_http_status.sh"]
}

最佳答案

我只能提供有关您提供的代码的反馈,但确保 test_status 命令在数据库准备就绪后运行的一种方法是在 null_resource 中使用 depends_on

resource "null_resource" "test_status" {
depends_on = ["module.db.id"] #or any output variable
provisioner "local-exec" {
command = "scripts/test_http_status.sh"
}
}

但是正如@JimB 已经提到的那样,terraform 不是程序性的,因此无法确保顺序。

关于terraform - 如何在terraform中定义没有触发选项的执行顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49641484/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com