0

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

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

知道如何根据某些资源的存在在二头肌中做一个条件吗?

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
    }
  }
}
4

1 回答 1

0

改用这个。它检查给定标签是否存在于资源组中。

resource secret 'Microsoft.KeyVault/vaults/secrets@2019-09-01' = if (!contains(resourceGroup()).tags, 'keyVaultSecretName')) {
...
于 2022-01-11T19:51:17.893 回答