Шаблон Политики Azure: оператор value
Оператор value выражает параметры, поддерживаемые функции шаблонов или литералы в указанном значении для заданного условия.
Предупреждение
Если результатом функции шаблона является ошибка, оценка политики завершится сбоем. Завершившаяся сбоем оценка — это неявный запрет. Дополнительные сведения см. в разделе Аvoiding template failures (Предотвращение сбоев шаблонов).
Пример определения политики
Это определение политики добавляет или заменяет тег, указанный в параметре tagName (строка) для ресурсов, и наследует значение tagName из группы ресурсов, в которой находится ресурс. Эта оценка происходит при создании или обновлении ресурса. Как и в действии modify, в существующих ресурсах исправление можно запустить с помощью задачи исправления.
{
"properties": {
"displayName": "Inherit a tag from the resource group",
"policyType": "BuiltIn",
"mode": "Indexed",
"description": "Adds or replaces the specified tag and value from the parent resource group when any resource is created or updated. Existing resources can be remediated by triggering a remediation task.",
"metadata": {
"category": "Tags"
},
"parameters": {
"tagName": {
"type": "String",
"metadata": {
"displayName": "Tag Name",
"description": "Name of the tag, such as 'environment'"
}
}
},
"policyRule": {
"if": {
"allOf": [{
"field": "[concat('tags[', parameters('tagName'), ']')]",
"notEquals": "[resourceGroup().tags[parameters('tagName')]]"
},
{
"value": "[resourceGroup().tags[parameters('tagName')]]",
"notEquals": ""
}
]
},
"then": {
"effect": "modify",
"details": {
"roleDefinitionIds": [
"/providers/microsoft.authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c"
],
"operations": [{
"operation": "addOrReplace",
"field": "[concat('tags[', parameters('tagName'), ']')]",
"value": "[resourceGroup().tags[parameters('tagName')]]"
}]
}
}
}
}
}
Описание
"if": {
"allOf": [{
"field": "[concat('tags[', parameters('tagName'), ']')]",
"notEquals": "[resourceGroup().tags[parameters('tagName')]]"
},
{
"value": "[resourceGroup().tags[parameters('tagName')]]",
"notEquals": ""
}
]
},
Оператор value используется в блоке policyRule.if в свойствах. В данном примере логический оператор allOf используется для указания, что для выполнения действия modify оба условных оператора должны иметь значение true.
value преобразовывает результат функции шаблона resourceGroup() в условие notEquals пустого значения. Если имя тега, указанное в tagName в родительской группе ресурсов, существует, то условие вычисляется как true.
Следующие шаги
- Ознакомьтесь с другими шаблонами и встроенными определениями.
- Изучите статью о структуре определения Политики Azure.
- Изучите сведения о действии политик.