Шаблон с несколькими именами и определение параметров - PullRequest
0 голосов
/ 08 января 2020

У меня есть политика, которую я применяю для мониторинга соглашения об именах ресурсов. У нас есть конкретное руководство c, которое предоставляет некоторые вариации, и я думаю, что я точно его уловил.

Используя это в качестве образца

https://docs.microsoft.com/en-us/azure/governance/policy/samples/allow-multiple-name-patterns

Я придумала следующее, я думаю, будет работать. Проблема в том, что когда я go развернул его, Azure Policy API говорит, что у меня определены параметры, но они не используются, и, очевидно, они есть. Нужна помощь в создании шаблона с несколькими именами с использованием параметров, и если это возможно.

    "properties": {
        "displayName": "Match multiple name patterns.",
        "description": "Allows one of multiple naming patterns for resources.",
        "mode": "Indexed",
        "parameters": {
            "buName": {
               "type": "String",
               "metadata": {
                  "description": "Abbreviated Business Unit / i.e. USNR, SHSD, MAXD"
               }
            },
            "regionShortCode": {
               "type": "String",
               "metadata": {
                  "description": "Shortcode for the region / i.e. CUS, NCU, EUS"
               }
            },
            "environmentShortCode": {
                "type": "String",
                "metadata": {
                   "description": "Environment code / i.e. D (dev), U (uat), P (prod)"
                }
             }
         },
        "policyRule": {
            "if": {
                "allOf": [
                    {
                        "not": {
                            "field": "name",
                            "match": "[parameters('buName')]-[parameters('regionShortCode')]-[parameters('environmentShortCode')]-???-###"
                        }
                    },
                    {
                        "not": {
                            "field": "name",
                            "match": "[parameters('buName')]-[parameters('regionShortCode')]-[parameters('environmentShortCode')]-???"
                        }
                    },
                    {
                        "not": {
                            "field": "name",
                            "match": "[parameters('regionShortCode')]???[parameters('environmentShortCode')]##"
                        }
                    },
                    {
                        "not": {
                            "field": "name",
                            "match": "[parameters('regionShortCode')]???[parameters('environmentShortCode')]###"
                        }
                    }
                ]
            },
            "then": {
                "effect": "audit"
            }
        }
    }
} ```

Ответы [ 2 ]

1 голос
/ 16 января 2020

Вы должны иметь квадратные скобки только один раз и объединить все вместе. Попробуйте использовать этот метод: [concat (параметры ('buName'), '-', параметры ('regionShortCode'), '-', параметры ('environmentShortCode'), '- ??? - ###')]

0 голосов
/ 09 января 2020

Ошибка, которую вы получаете, это во время назначения?

Кроме того, для параметров, которые вы используете? Есть ли определенный список, который пользователи должны использовать? Если это просто шаблон, как для шины, это четырехбуквенное имя, тогда вы должны использовать подстановочный знак.

Помните, что во время назначения вы должны указать каждый параметр.

...