【发布时间】:2021-05-02 21:32:20
【问题描述】:
我正在寻找一种方法来管理我的 Terragrunt 工作流程中的现有资源,而无需重新创建它们。 Basic Terraform 能够导入远程状态here,但我在 Terragrunt 中看不到这样做的方法。我知道可以使用数据源,但我很确定这意味着它会检查每次运行的远程状态,而不是将其引入进行管理。
最后我希望能够导入现有的网络主机项目及其网络和子网,然后使用它来创建服务项目。
【问题讨论】:
标签: terragrunt
我正在寻找一种方法来管理我的 Terragrunt 工作流程中的现有资源,而无需重新创建它们。 Basic Terraform 能够导入远程状态here,但我在 Terragrunt 中看不到这样做的方法。我知道可以使用数据源,但我很确定这意味着它会检查每次运行的远程状态,而不是将其引入进行管理。
最后我希望能够导入现有的网络主机项目及其网络和子网,然后使用它来创建服务项目。
【问题讨论】:
标签: terragrunt
因此,您似乎可以在 terragrunt 中使用与 terraform 相同的 import cli 选项。没什么大不了的。
【讨论】:
terraform state pull > mystate.tf(在现有的 TF 项目中)和terragrunt state push mystate.tf(在 Terragrunt 中)
根据文档,Terragrunt 是 Terraform 的薄包装,因此 Terraform 中可用的每个 cli-option/flag 也应该在 Terragrunt 中可用。
导入单个资源:
terragrunt import module.iam.aws_iam_user.user bill
导入 for_each 生成的资源:
terragrunt import module.iam.aws_iam_user.user[\"bill\"] bill
terragrunt import module.iam.aws_iam_user.user[\"jane\"] jane
【讨论】: