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

If statement Azure二头肌-有条件地创建一个秘密,if-statement,conditional-statements,infrastructure-as-code,azure-bicep,If Statement,Conditional Statements,Infrastructure As Code,Azure Bicep,我正在用二头肌创建一个密钥库,我想在该库中创建一个秘密,但只有在给定名称还没有秘密的情况下 检查KeyVault是否存在不起作用,因此我现在正在检查某个标记是否存在。 创建Vault时,我在资源组中写入一个标记。之后,我在脚本中更改了密码,并再次运行脚本,希望旧密码不会被覆盖。不幸的是,正在使用新密码重新创建该密码 基于某些资源的存在,你知道如何做二头肌的状态吗 resource keyvault 'Microsoft.KeyVault/vaults@2019-09-01' = { na

我正在用二头肌创建一个密钥库,我想在该库中创建一个秘密,但只有在给定名称还没有秘密的情况下

检查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
    }
  }
}

你能输出整个if子句和union部分的结果吗?对不起,不能重现这个问题-对我来说它是有效的。设置标记时,不会覆盖机密。删除标记将在机密中放入一个新值。