Skip to content

Commit

Permalink
Adding Support for Parallel Deployments with Multiple Parameter Files (
Browse files Browse the repository at this point in the history
…#842)

* UpdateLogicBase

* Update

* Update

* Update

* Update

* Update

* Update

* Update

* Update

* Update

* Update ScopeCorrection

* Update

* Update

* Update

* Update

* Update Test Trigger

* Update

* Update

* Update

* Update
  • Loading branch information
Jefajers authored Jan 8, 2024
1 parent e7bb4ef commit 5ffd9f3
Show file tree
Hide file tree
Showing 42 changed files with 351 additions and 73 deletions.
1 change: 1 addition & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ on:
branches: [main]
paths:
- "src/**"
- "!src/AzOps.psd1"

permissions:
id-token: write
Expand Down
21 changes: 21 additions & 0 deletions docs/wiki/Frequently-Asked-Questions.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ This article answers frequently asked questions relating to AzOps.
- [**I want to discover and manage several Azure Firewall Policy's and rule collections spread out across several resource groups and subscriptions**](#i-want-to-discover-and-manage-several-azure-firewall-policys-and-rule-collections-spread-out-across-several-resource-groups-and-subscriptions)
- [Push scenarios and settings](#push-scenarios-and-settings)
- [**I want to have multiple different deployments at scope using the same template file but different parameter files**](#i-want-to-have-multiple-different-deployments-at-scope-using-the-same-template-file-but-different-parameter-files)
- [**I have AllowMultipleTemplateParameterFiles set to true and want deployments performed in parallel**](#i-have-allowmultipletemplateparameterfiles-set-to-true-and-want-deployments-performed-in-parallel)
- [**I have AllowMultipleTemplateParameterFiles set to true and when changes are made to a template no deployment is performed**](#i-have-allowmultipletemplateparameterfiles-set-to-true-and-when-changes-are-made-to-a-template-no-deployment-is-performed)
- [**I am getting: Missing defaultValue and no parameter file found, skip deployment**](#i-am-getting-missing-defaultvalue-and-no-parameter-file-found-skip-deployment)

Expand Down Expand Up @@ -185,6 +186,26 @@ scope/
```
> Note: To avoid having AzOps deploy the base `template.bicep` unintentionally, ensure you have at least one parameter without default value in `template.bicep` and no lingering 1:1 matching parameter file.
### **I have AllowMultipleTemplateParameterFiles set to true and want deployments performed in parallel**

Can AzOps perform parallel deployments of the below 3 separate parameter files?
```bash
scope/
├── template.x1.bicepparam
├── template.x2.bicepparam
├── template.x3.parameters.json
└── template.bicep
```
Yes, ensure the following setting combinations are applied

```bash
"Core.AllowMultipleTemplateParameterFiles": true

"Core.ParallelDeployMultipleTemplateParameterFiles": true
```

> Note: By default, AzOps performs serial deployments.
### **I have AllowMultipleTemplateParameterFiles set to true and when changes are made to a template no deployment is performed**

When using a custom deployment templates with multiple corresponding parameter files, can I ensure that changes made to the template triggers AzOps to create separate deployments for each corresponding parameter file?
Expand Down
11 changes: 6 additions & 5 deletions docs/wiki/Settings.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,11 +35,12 @@ The following configuration values can be modified within the `settings.json` fi
| 23 | State | Folder to store AzOpsState artefact, defaults to `root` | `"Core.State: "/root"` |
| 24 | SubscriptionsToIncludeResourceGroups | Filter which Subscription IDs should include Resource Groups in pull [Logic Updated in v2.0.0](https://github.com/Azure/AzOps/releases/tag/2.0.0) | `"Core.SubscriptionsToIncludeResourceGroups": ["*"]` |
| 25 | TemplateParameterFileSuffix | Default template file suffix. *Not recommended to change* | `"Core.TemplateParameterFileSuffix": ".json"` |
| 26 | AllowMultipleTemplateParameterFiles | Control multiple parameter file behaviour. *Not recommended to change* | `"Core.AllowMultipleTemplateParameterFiles": false` |
| 27 | DeployAllMultipleTemplateParameterFiles | Control base template deployment behaviour with changes and un-changed multiple corresponding parameter files. | `"Core.DeployAllMultipleTemplateParameterFiles": false` |
| 28 | MultipleTemplateParameterFileSuffix | Multiple parameter file suffix identifier. *Example mytemplate.x1.bicepparam* | `"Core.MultipleTemplateParameterFileSuffix": ".x"` |
| 29 | ThrottleLimit | Value declaring number of parallel threads. [Read more](https://github.com/azure/azops/wiki/performance-considerations) | `"Core.ThrottleLimit": 5` |
| 30 | WhatifExcludedChangeTypes | Exclude specific change types from WhatIf operations | `"Core.WhatifExcludedChangeTypes": ["NoChange","Ignore"]` |
| 26 | AllowMultipleTemplateParameterFiles | Control multiple parameter file behaviour. *Not recommended to change* | `"Core.AllowMultipleTemplateParameterFiles": false` |
| 27 | DeployAllMultipleTemplateParameterFiles | Control base template deployment behaviour with changes and un-changed multiple corresponding parameter files. | `"Core.DeployAllMultipleTemplateParameterFiles": false` |
| 28 | MultipleTemplateParameterFileSuffix | Multiple parameter file suffix identifier. *Example mytemplate.x1.bicepparam* | `"Core.MultipleTemplateParameterFileSuffix": ".x"` |
| 29 | ParallelDeployMultipleTemplateParameterFiles | Control parallel deployment of MultipleTemplateParameterFiles behaviour | `"Core.ParallelDeployMultipleTemplateParameterFiles": false` |
| 30 | ThrottleLimit | Value declaring number of parallel threads. [Read more](https://github.com/azure/azops/wiki/performance-considerations) | `"Core.ThrottleLimit": 5` |
| 31 | WhatifExcludedChangeTypes | Exclude specific change types from WhatIf operations | `"Core.WhatifExcludedChangeTypes": ["NoChange","Ignore"]` |

## Workflow / Pipeline Settings

Expand Down
Loading

0 comments on commit 5ffd9f3

Please sign in to comment.