terraform - 如何使用带有传入变量的 terraform 导入?
问题描述
我正在学习 terraform,并想使用该工具设置 AWS 基础设施。
我们有 3 个 AWS 环境、沙盒、暂存和生产环境,并且拥有支持这些环境的现有基础设施。例如,我们为每个环境有 3 个独立的 VPC。
我想terraform import
根据我尝试设置的环境来导入这些资源的状态。所以我本质上想这样做,虽然我知道这在语法上是不正确的,但你明白了。
$ terraform import aws_vpc.my_vpc -var 'environment=sandbox'
因此,我有这样的模块设置
vpc/main.tf
-----------
provider "aws" {
region = "us-east-1"
}
resource "aws_vpc" "my_vpc" {
cidr_block = ""
}
vpc/variables.tf
----------------
variable "environment" {
type map = map(string)
default {
sandbox = "vpc-1234"
staging = "vpc-2345"
production = "vpc-3456"
}
}
所以这意味着我基本上想做
$ terraform import aws_vpc.my_vpc vpc-1234
我怎样才能做到这一点?
解决方案
我有同样的问题,并发现订单很重要。此命令有效:
$ terraform import -var 'environment=sandbox' aws_vpc.my_vpc vpc-1234
推荐阅读
- c - 如何将 textureImage 中的字节转换为浮点数?
- ruby-on-rails - Rails 5.0 -> 5.1 问题:has_many 通过自定义 lambda 通过包含两次范围块生成无效查询
- ms-access-2016 - Update several Tbl Fields based on Start/End Dates
- c# - OxyPlot:SkiaSharp vs SharpDX
- service - Apache Ambari 自定义服务的重启要求
- kubernetes-helm - 使用 Helm 设置 Prometheus Ingress
- heroku - 当我回滚潜在客户数据库时,追随者数据库会发生什么
- azure - PowerShell:绑定资源组中的现有证书
- javascript - javascript中的问号后跟句号是什么意思?
- javascript - 如何使用基于两个集合文档的云函数触发器