Убедитесь, что подсеть находится внутри vnet в шаблоне ARM

Я работаю над шаблоном ARM для развертывания ресурсов в Azure, и я хотел бы добавить некоторую проверку в параметры, которые может указать пользователь.

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

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

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


В AWS этого можно достичь с помощью правила ограничений: https://docs.aws.amazon.com/servicecatalog/latest/adminguide/reference-template_constraint_rules.html

Есть ли аналог для шаблонов ARM? Я ничего не нашел в документы для ARM.


person Paolo    schedule 09.09.2019    source источник


Ответы (1)


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

https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-authoring-templates#parameters

person 4c74356b41    schedule 09.09.2019
comment
Спасибо, я надеялся, что что-то пропустил, но не похоже. Кажется очень ограничивающим ... Как будет выглядеть сценарий? Есть ли какой-то препроцессор, который можно определить в шаблоне ARM? Если да, не могли бы вы привести пример в своем ответе? Спасибо еще раз. - person Paolo; 09.09.2019
comment
нет, вы не можете определить препроцессор в шаблоне, но у вас может быть сценарий, который проверяет эти значения и, если они проходят, развертывает шаблон. - person 4c74356b41; 09.09.2019
comment
Однако шаблоны развертываются непосредственно в Azure с портала. Так что, похоже, решения нет? - person Paolo; 09.09.2019
comment
с портала - ну, непростое решение, вы можете сделать что-то вроде взлома, но это будет некрасиво, на самом деле проще заставить людей использовать собственные способы их развертывания - person 4c74356b41; 09.09.2019