验证子网在 ARM 模板中的 vnet 内

Validate that subnet is within vnet in ARM template

我正在研究用于在 Azure 中部署资源的 ARM 模板,并且 我想在用户可以指定的参数中添加一些验证。

在我的部署中,用户可以指定他要将资源部署在某个虚拟网络和某个子网中.

现在,可以指定一个不存在的子网,资源部署将启动,但之后会失败。

是否有任何方法可以验证子网确实在该虚拟网络中,以便立即进行验证,而不是首先开始部署


在 AWS 中,这可以通过 Constraints 规则来实现: https://docs.aws.amazon.com/servicecatalog/latest/adminguide/reference-template_constraint_rules.html

是否有 ARM 模板的等效项? 我在 docs for ARM.

中没有找到任何内容

不,在 ARM 模板语法中没有类似的东西,您需要创建一个脚本并 运行 它在调用模板之前检查它。或者,您可以创建一个可能值列表,并使用参数的 allowedvalues 属性 定义该人可以部署其内容的所有子网。

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