Как да наложа модел на именуване като *-*-asp с помощта на правилата на Azure?

Опитвам се да наложа шаблон за именуване на ресурси на Azure за среди на prod/dev/uat, предложеният модел е [service name]-[environment]-[resource short name]. Има ли начин да се наложи това с помощта на правилата на Azure? Изглежда, че политиката на Azure (функции за харесване/съвпадение) не поддържа регулярен израз. Моля, предложете заобиколно решение.

Забележка: [service name], [environment], [resource short name] са с променлива дължина.

Благодаря.


person user527614    schedule 05.02.2020    source източник


Отговори (1)


Кодовият блок по-долу трябва да отговаря на изискването за шаблон *-*-asp. Не съм подложил това на достатъчно тестове, но за всеки, който търси налагане на конвенции за именуване чрез политики, се надявам, че това ще бъде от полза. Освен това би било интересно да се знае дали има по-добро решение от предоставеното тук.

Azure Policy Like/Match не поддържа регулярен израз, сложността на решението по-долу само подчертава необходимостта от такава система. Има потребителски глас, моля за вашия глас, ако видите уместност на функцията за регулярен израз в политиката на Azure - връзка тук.

{
    "if": {
        "allOf": [
            {
                "field": "type",
                "in": "[parameters('listOfResourceTypes')]"
            },
            {
                "not": {
                    "allOf": [
                        {
                            "value": "[equals(length(split(parameters('namePattern'), '-')), length(split(field('name'), '-')))]",
                            "equals": true
                        },
                        {
                            "value": "[equals(toLower(last(split(parameters('namePattern'), '-'))), toLower(last(split(field('name'), '-'))))]",
                            "equals": true
                        }
                    ]
                }
            }
        ]
    },
    "then": {
        "effect": "[parameters('policyEffect')]"
    }
}
person user527614    schedule 13.02.2020