6

I want to deploy an Azure Front Door with custom RuleEngine associated to one of the RoutingRules.

The whole problem is that RulesEngine has to be associated with RoutingRule, RoutingRule can be created only when creating Front Door, but RulesEngine also needs Front Door in order to be created.

https://learn.microsoft.com/en-us/azure/templates/microsoft.network/2020-05-01/frontdoors

I've tried to create a standalone resource of type Microsoft.Network/frontDoors/routingRules afterwards but I've got an error that resource type is invalid.

Am I missing something or this is impossible to achieve in single ARM deployment?

kamilz
  • 168
  • 1
  • 12
  • 1
    There is [an issue on github](https://github.com/MicrosoftDocs/azure-docs/issues/61497) discussing this situation. – Simon Opelt Jan 29 '21 at 08:19

2 Answers2

1

Another solution would be to run imperative script after deployment to associate routingRule with RulesEngine.

As of today it would be:

az extension add -n front-door

az network front-door routing-rule update --front-door-name <fd-name> --name <routing-rule-nam> -g <resource-group-name> --rules-engine <rules-engine-name>

0

This is less than optimal but I've got a solution.

Basically what I needed to do was to create the Front Door, then RulesEngine (dependsOn Front Door) and then use nested deployment template (dependsOn RulesEngine) which has to recreate whole Front Door configuration but now it can reference RulesEngine resource.

kamilz
  • 168
  • 1
  • 12
  • This is not possible. We cannot define the same frontdoor object multiple times inside the same ARm template – sabaedge Aug 23 '21 at 07:59
  • Correct, you cannot define the same object multiple times inside the same ARM template. But you can create a nested template object inside main template and it will work (or at least it was working). But anyway, this is a very hacky solution because I think when you redeploy such template there will be a short period of time when Rules Engine will get disconnected from Front Door and then connected again. – kamilz Aug 23 '21 at 12:09