Initial description
Modues are currently dependent on pre-deployed dependencies to work (e.g. VNETs, MSIs, etc.).
It would be better if we'd have a universal logic that allows modules to deploy their own dependencies instead. Ideally even in their own resource group (for Rg-Level resources) so that we can just remove the resource group instead of individual resources from it.
Update # 1:
It was decided to have a single dependency file per module and deploy it before the parameter file deployments - and remove the dependency resources afterwards again.
Current pipeline
The current pipeline looks like

There are different variants we could implement, as documented in the following:
Variant 1
There is one simply approach (which we discarded):

The following two pipeline variants will be implemented as part of a PoC:
Variant 2

Variant 3

Other options:
Update # 2:
Variant 4

Variant 5

Analysis Services Example

It was further decided to use plain resources (not our own modules) in the dependency file(s).
Note: Regardless of the implemented approach we should add features such as the Parameter-Matrix & Stage-template for Azure DevOps.
Initial description
Modues are currently dependent on pre-deployed dependencies to work (e.g. VNETs, MSIs, etc.).
It would be better if we'd have a universal logic that allows modules to deploy their own dependencies instead. Ideally even in their own resource group (for Rg-Level resources) so that we can just remove the resource group instead of individual resources from it.
Update # 1:
It was decided to have a single dependency file per module and deploy it before the parameter file deployments - and remove the dependency resources afterwards again.
Current pipeline
The current pipeline looks like
There are different variants we could implement, as documented in the following:
Variant 1
There is one simply approach (which we discarded):

The following two pipeline variants will be implemented as part of a PoC:
Variant 2
Variant 3
Other options:
Update # 2:
Variant 4
Variant 5
Analysis Services Example

It was further decided to use plain resources (not our own modules) in the dependency file(s).