Azure 二头肌 - 有条件地创建一个秘密

时间:2021-05-04 09:38:46

标签: if-statement conditional-statements infrastructure-as-code azure-bicep

我正在使用 Bicep 创建一个 KeyVault,并且我想在 Vault 中创建一个秘密,但前提是还没有给定名称的秘密。

检查 KeyVault 是否存在不起作用,所以我现在正在检查是否存在某个标签。 创建 Vault 时,我在资源组中写了一个标签。之后我在脚本中更改了机密的密码并再次运行脚本,期望旧密码不会被覆盖。不幸的是,这个秘密正在用新密码重新创建。

知道如何根据某些资源的存在在 Bicep 中创建条件吗?

resource keyvault 'Microsoft.KeyVault/vaults@2019-09-01' = {
    name: name
    ...
}

var rgWithDefaultTag = {
  tags: {
    keyVaultSecretName: ''
  }
}

// Only create a new secret when a new KeyVault is created.
resource secret 'Microsoft.KeyVault/vaults/secrets@2021-04-01-preview' = if (empty(union(rgWithDefaultTag, resourceGroup()).tags['keyVaultSecretName'])) {
  name: '${keyvault.name}/MySecret'
  properties: {
    value: 'value'
  }
}

resource tag 'Microsoft.Resources/tags@2021-01-01' = {
  name: 'default'
  properties: {
    tags: {
      keyVaultSecretName: secret.name
    }
  }
}

0 个答案:

没有答案