sle*_*pyj 2 terraform terraform-provider-azure
我有一个我构建的Terraform模块,它将模块的两个实例部署到一个单独的区域.在这个模块中有一个密钥库.我只希望密钥库存在于两个区域之一.
这是我的模块:
resource "azurerm_resource_group" "test" {
name = "test"
location = "${var.location}"
}
resource "azurerm_key_vault" "keyvault" {
name = "keyvault"
}
Run Code Online (Sandbox Code Playgroud)
这是我的main.tf
module "test_uswest2" {
source = "modules/test"
location = "westus2"
environment = "${var.environment}"
}
module "test_westcentralus" {
source = "modules/test"
location = "centralus"
environment = "${var.environment}"
}
Run Code Online (Sandbox Code Playgroud)
我想在第二个区域/位置排除密钥保险库.
Terraform似乎不支持if/else所以我不确定我的选择是什么.
您可以通过将countmeta参数设置为0并使用条件三元运算符来有条件地创建资源.
所以你会有这样的事情:
variable "create_key_vault" {
default = true
}
resource "azurerm_key_vault" "keyvault" {
count = "${var.create_key_vault ? 0 : 1}"
name = "keyvault"
}
Run Code Online (Sandbox Code Playgroud)
然后调用模块create_key_vault设置false为不创建它:
module "test_westcentralus" {
source = "modules/test"
location = "centralus"
environment = "${var.environment}"
create_key_vault = false
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
584 次 |
| 最近记录: |