diff --git a/docs/wiki/Contribution guide - Generate module readme.md b/docs/wiki/Contribution guide - Generate module readme.md index 0a03ffc600..346dea5fc5 100644 --- a/docs/wiki/Contribution guide - Generate module readme.md +++ b/docs/wiki/Contribution guide - Generate module readme.md @@ -1,6 +1,13 @@ As per the module design structure, every module in the CARML library requires a ReadMe markdown file documenting the set of deployable resource types, input and output parameters and a set of relevant template references from the official Azure Resource Reference documentation. -The ReadMe generator utility aims to simplify contributing to the CARML library, as it supports creating the module ReadMe markdown file from scratch or updating it. +The `Set-Module` utility aims to simplify contributing to the AVM library, as it supports +- idempotently generating the AVM folder structure for a module (including any child resource) +- generating the module's ReadMe file from scratch or updating it +- compiling/building the module template + +To ease maintenance, you can run the utility with a `Recurse` flag from the root of your folder to update all files automatically. + +> **Note:** If you want to add any non-generated content to the Readme you can do so by adding it to a `## Notes` section at the bottom of the corresponding readme. --- @@ -13,14 +20,18 @@ The ReadMe generator utility aims to simplify contributing to the CARML library, --- # Location -You can find the script under [`/utilities/tools/Set-ModuleReadMe.ps1`](https://github.com/Azure/ResourceModules/blob/main/utilities/tools/Set-ModuleReadMe.ps1) +You can find the script under [`/utilities/tools/Set-Module.ps1`](https://github.com/Azure/ResourceModules/blob/main/utilities/tools/Set-Module.ps1) # How it works -1. Using the provided template path, the script first converts it to ARM/JSON if necessary (i.e., if a path to a Bicep file was provided) -1. If the intended readMe file does not yet exist in the expected path, it is generated with a skeleton (with e.g., a generated header name) -1. The script then goes through all sections defined as `SectionsToRefresh` (by default all) and refreshes the sections' content (for example, for the `Parameters`) based on the values in the ARM/JSON Template. It detects sections by their header and always regenerates the full section. -1. Once all are refreshed, the current ReadMe file is overwritten. **Note:** The script can be invoked combining the `WhatIf` and `Verbose` switches to just receive an console-output of the updated content. +Using the provided template path, the script +1. validates the module's folder structure + - To do so, it searches for any required folder path / file missing and adds them. For several files, it will also provide some default content to get you started. The sources files for this action can be found [here](https://github.com/Azure/ResourceModules/tree/main/utilities/tools/helper/src) +1. compiles its bicep template +1. updates the readme (recursively, specified) + 1. If the intended ReadMe file does not yet exist in the expected path, it is generated with a skeleton (with e.g., a generated header name) + 1. The script then goes through all sections defined as `SectionsToRefresh` (by default all) and refreshes the sections' content (for example, for the `Parameters`) based on the values in the ARM/JSON Template. It detects sections by their header and always regenerates the full section. + 1. Once all sections are refreshed, the current ReadMe file is overwritten. **Note:** The script can be invoked combining the `WhatIf` and `Verbose` switches to just receive an console-output of the updated content. # How to use it diff --git a/docs/wiki/Interoperability - Bicep to ARM conversion.md b/docs/wiki/Interoperability - Bicep to ARM conversion.md index e19fd5116b..6c8690b8ee 100644 --- a/docs/wiki/Interoperability - Bicep to ARM conversion.md +++ b/docs/wiki/Interoperability - Bicep to ARM conversion.md @@ -5,7 +5,7 @@ However, for users who still prefer using ARM templates over Bicep, the CARML li This page documents the conversion utility and how to use it. -> **NOTE:** As Bicep & ARM template files work slightly different (e.g., references as specified differently), the ReadMe we generate out of them using the [`/utilities/tools/Set-ModuleReadMe.ps1`](https://github.com/Azure/ResourceModules/blob/main/utilities/tools/Set-ModuleReadMe.ps1) utility may look differently. To this end, make sure to regenerate all ReadMEs after you converted the repository from Bicep to ARM. If you don't, the Pester tests in the pipeline may fail when reviewing the ReadMEs. +> **NOTE:** As Bicep & ARM template files work slightly different (e.g., references as specified differently), the ReadMe we generate out of them using the [`/utilities/tools/Set-Module.ps1`](https://github.com/Azure/ResourceModules/blob/main/utilities/tools/Set-Module.ps1) utility may look differently. To this end, make sure to regenerate all ReadMEs after you converted the repository from Bicep to ARM. If you don't, the Pester tests in the pipeline may fail when reviewing the ReadMEs. --- diff --git a/docs/wiki/The CI environment - Static validation.md b/docs/wiki/The CI environment - Static validation.md index 6a89edeb5d..483660f8c2 100644 --- a/docs/wiki/The CI environment - Static validation.md +++ b/docs/wiki/The CI environment - Static validation.md @@ -35,15 +35,6 @@ The following activities are performed by the [`utilities/pipelines/staticValida - **Module tests** - **Readme content tests** 1. `README.md` file should not be empty. - 1. `README.md` file should contain these sections in order: Navigation, Resource Types, Parameters, Outputs, Cross-referenced modules, Deployment examples. - 1. Resources section should contain all resources from the template file. - 1. Resources section should not contain more resources than the template file. - 1. Parameters section should contain a table for each existing parameter category in the following order: Required, Conditional, Optional, Generated. - 1. Parameter tables should provide columns in the following order: Parameter Name, Type, Default Value, Allowed Values, Description. Each column should be present unless empty for all the rows. - 1. Parameters section should contain all parameters from the template file. - 1. Outputs section should contain a table with these column names in order: Output Name, Type. - 1. Output section should contain all outputs defined in the template file. - 1. Dependencies section should contain all cross-references defined in the template file. 1. `Set-ModuleReadMe` script should not apply any updates. - **Compiled ARM template tests** 1. Compiled ARM template should be latest. diff --git a/docs/wiki/The library - Module design.md b/docs/wiki/The library - Module design.md index 9cbb357cc0..09691d5115 100644 --- a/docs/wiki/The library - Module design.md +++ b/docs/wiki/The library - Module design.md @@ -88,7 +88,7 @@ Microsoft.Sql └─ databases [child-module/resource] ``` -In this folder, we recommend to place the child resource-template alongside a ReadMe (that can be generated via the [Set-ModuleReadMe](./Contribution%20guide%20-%20Generate%20module%20Readme) script) and optionally further nest additional folders for it's child resources. +In this folder, we recommend to place the child resource-template alongside a ReadMe (that can be generated via the [Set-Module](./Contribution%20guide%20-%20Generate%20module%20Readme) script) and optionally further nest additional folders for it's child resources. The parent template should reference all it's direct child-templates to allow for an end-to-end deployment experience while allowing any user to also reference 'just' the child resource itself. In case of the SQL server example, the server template would reference the database module and encapsulate it in a loop to allow for the deployment of multiple databases. For example diff --git a/modules/aad/domain-service/.test/common/main.test.bicep b/modules/aad/domain-service/.test/common/main.test.bicep index 45310e5723..6df70643ed 100644 --- a/modules/aad/domain-service/.test/common/main.test.bicep +++ b/modules/aad/domain-service/.test/common/main.test.bicep @@ -1,5 +1,8 @@ targetScope = 'subscription' +metadata name = 'Using large parameter set' +metadata description = 'This instance deploys the module with most of its features enabled.' + // ========== // // Parameters // // ========== // diff --git a/modules/aad/domain-service/README.md b/modules/aad/domain-service/README.md index fca50dcd19..89ea3e1a49 100644 --- a/modules/aad/domain-service/README.md +++ b/modules/aad/domain-service/README.md @@ -4,14 +4,14 @@ This module deploys an Azure Active Directory Domain Services (AADDS). ## Navigation -- [Resource types](#Resource-types) +- [Resource Types](#Resource-Types) +- [Usage examples](#Usage-examples) - [Parameters](#Parameters) - [Outputs](#Outputs) - [Cross-referenced modules](#Cross-referenced-modules) -- [Deployment examples](#Deployment-examples) - [Notes](#Notes) -## Resource types +## Resource Types | Resource Type | API Version | | :-- | :-- | @@ -20,81 +20,27 @@ This module deploys an Azure Active Directory Domain Services (AADDS). | `Microsoft.Authorization/roleAssignments` | [2022-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2022-04-01/roleAssignments) | | `Microsoft.Insights/diagnosticSettings` | [2021-05-01-preview](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Insights/2021-05-01-preview/diagnosticSettings) | -## Parameters - -**Required parameters** +## Usage examples -| Parameter Name | Type | Description | -| :-- | :-- | :-- | -| `domainName` | string | The domain name specific to the Azure ADDS service. | - -**Conditional parameters** +The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository. -| Parameter Name | Type | Default Value | Description | -| :-- | :-- | :-- | :-- | -| `pfxCertificate` | securestring | `''` | The certificate required to configure Secure LDAP. Should be a base64encoded representation of the certificate PFX file. Required if secure LDAP is enabled and must be valid more than 30 days. | -| `pfxCertificatePassword` | securestring | `''` | The password to decrypt the provided Secure LDAP certificate PFX file. Required if secure LDAP is enabled. | +>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order. -**Optional parameters** - -| Parameter Name | Type | Default Value | Allowed Values | Description | -| :-- | :-- | :-- | :-- | :-- | -| `additionalRecipients` | array | `[]` | | The email recipient value to receive alerts. | -| `diagnosticEventHubAuthorizationRuleId` | string | `''` | | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. | -| `diagnosticEventHubName` | string | `''` | | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. | -| `diagnosticLogCategoriesToEnable` | array | `[allLogs]` | `['', AccountLogon, AccountManagement, allLogs, DetailTracking, DirectoryServiceAccess, LogonLogoff, ObjectAccess, PolicyChange, PrivilegeUse, SystemSecurity]` | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. | -| `diagnosticStorageAccountId` | string | `''` | | Resource ID of the diagnostic storage account. | -| `diagnosticWorkspaceId` | string | `''` | | Resource ID of the diagnostic log analytics workspace. | -| `domainConfigurationType` | string | `'FullySynced'` | `[FullySynced, ResourceTrusting]` | The value is to provide domain configuration type. | -| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). | -| `externalAccess` | string | `'Enabled'` | `[Disabled, Enabled]` | The value is to enable the Secure LDAP for external services of Azure ADDS Services. | -| `filteredSync` | string | `'Enabled'` | | The value is to synchronize scoped users and groups. | -| `kerberosArmoring` | string | `'Enabled'` | `[Disabled, Enabled]` | The value is to enable to provide a protected channel between the Kerberos client and the KDC. | -| `kerberosRc4Encryption` | string | `'Enabled'` | `[Disabled, Enabled]` | The value is to enable Kerberos requests that use RC4 encryption. | -| `ldaps` | string | `'Enabled'` | `[Disabled, Enabled]` | A flag to determine whether or not Secure LDAP is enabled or disabled. | -| `location` | string | `[resourceGroup().location]` | | The location to deploy the Azure ADDS Services. | -| `lock` | string | `''` | `['', CanNotDelete, ReadOnly]` | Specify the type of lock. | -| `name` | string | `[parameters('domainName')]` | | The name of the AADDS resource. Defaults to the domain name specific to the Azure ADDS service. | -| `notifyDcAdmins` | string | `'Enabled'` | `[Disabled, Enabled]` | The value is to notify the DC Admins. | -| `notifyGlobalAdmins` | string | `'Enabled'` | `[Disabled, Enabled]` | The value is to notify the Global Admins. | -| `ntlmV1` | string | `'Enabled'` | `[Disabled, Enabled]` | The value is to enable clients making request using NTLM v1. | -| `replicaSets` | array | `[]` | | Additional replica set for the managed domain. | -| `roleAssignments` | array | `[]` | | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. | -| `sku` | string | `'Standard'` | `[Enterprise, Premium, Standard]` | The name of the SKU specific to Azure ADDS Services. | -| `syncNtlmPasswords` | string | `'Enabled'` | `[Disabled, Enabled]` | The value is to enable synchronized users to use NTLM authentication. | -| `syncOnPremPasswords` | string | `'Enabled'` | `[Disabled, Enabled]` | The value is to enable on-premises users to authenticate against managed domain. | -| `tags` | object | `{object}` | | Tags of the resource. | -| `tlsV1` | string | `'Enabled'` | `[Disabled, Enabled]` | The value is to enable clients making request using TLSv1. | - - -## Outputs - -| Output Name | Type | Description | -| :-- | :-- | :-- | -| `location` | string | The location the resource was deployed into. | -| `name` | string | The domain name of the Azure Active Directory Domain Services(Azure ADDS). | -| `resourceGroupName` | string | The name of the resource group the Azure Active Directory Domain Services(Azure ADDS) was created in. | -| `resourceId` | string | The resource ID of the Azure Active Directory Domain Services(Azure ADDS). | - -## Cross-referenced modules - -_None_ +>**Note**: To reference the module, please use the following syntax `br:bicep/modules/aad.domain-service:1.0.0`. -## Deployment examples +- [Using large parameter set](#example-1-using-large-parameter-set) -The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder. - >**Note**: The name of each example is based on the name of the file from which it is taken. +### Example 1: _Using large parameter set_ - >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order. +This instance deploys the module with most of its features enabled. -
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`domainName`](#parameter-domainname) | string | The domain name specific to the Azure ADDS service. |
+
+**Conditional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`pfxCertificate`](#parameter-pfxcertificate) | securestring | The certificate required to configure Secure LDAP. Should be a base64encoded representation of the certificate PFX file. Required if secure LDAP is enabled and must be valid more than 30 days. |
+| [`pfxCertificatePassword`](#parameter-pfxcertificatepassword) | securestring | The password to decrypt the provided Secure LDAP certificate PFX file. Required if secure LDAP is enabled. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`additionalRecipients`](#parameter-additionalrecipients) | array | The email recipient value to receive alerts. |
+| [`diagnosticEventHubAuthorizationRuleId`](#parameter-diagnosticeventhubauthorizationruleid) | string | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
+| [`diagnosticEventHubName`](#parameter-diagnosticeventhubname) | string | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
+| [`diagnosticLogCategoriesToEnable`](#parameter-diagnosticlogcategoriestoenable) | array | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
+| [`diagnosticStorageAccountId`](#parameter-diagnosticstorageaccountid) | string | Resource ID of the diagnostic storage account. |
+| [`diagnosticWorkspaceId`](#parameter-diagnosticworkspaceid) | string | Resource ID of the diagnostic log analytics workspace. |
+| [`domainConfigurationType`](#parameter-domainconfigurationtype) | string | The value is to provide domain configuration type. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`externalAccess`](#parameter-externalaccess) | string | The value is to enable the Secure LDAP for external services of Azure ADDS Services. |
+| [`filteredSync`](#parameter-filteredsync) | string | The value is to synchronize scoped users and groups. |
+| [`kerberosArmoring`](#parameter-kerberosarmoring) | string | The value is to enable to provide a protected channel between the Kerberos client and the KDC. |
+| [`kerberosRc4Encryption`](#parameter-kerberosrc4encryption) | string | The value is to enable Kerberos requests that use RC4 encryption. |
+| [`ldaps`](#parameter-ldaps) | string | A flag to determine whether or not Secure LDAP is enabled or disabled. |
+| [`location`](#parameter-location) | string | The location to deploy the Azure ADDS Services. |
+| [`lock`](#parameter-lock) | string | Specify the type of lock. |
+| [`name`](#parameter-name) | string | The name of the AADDS resource. Defaults to the domain name specific to the Azure ADDS service. |
+| [`notifyDcAdmins`](#parameter-notifydcadmins) | string | The value is to notify the DC Admins. |
+| [`notifyGlobalAdmins`](#parameter-notifyglobaladmins) | string | The value is to notify the Global Admins. |
+| [`ntlmV1`](#parameter-ntlmv1) | string | The value is to enable clients making request using NTLM v1. |
+| [`replicaSets`](#parameter-replicasets) | array | Additional replica set for the managed domain. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`sku`](#parameter-sku) | string | The name of the SKU specific to Azure ADDS Services. |
+| [`syncNtlmPasswords`](#parameter-syncntlmpasswords) | string | The value is to enable synchronized users to use NTLM authentication. |
+| [`syncOnPremPasswords`](#parameter-synconprempasswords) | string | The value is to enable on-premises users to authenticate against managed domain. |
+| [`tags`](#parameter-tags) | object | Tags of the resource. |
+| [`tlsV1`](#parameter-tlsv1) | string | The value is to enable clients making request using TLSv1. |
+
+### Parameter: `additionalRecipients`
+
+The email recipient value to receive alerts.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `diagnosticEventHubAuthorizationRuleId`
+
+Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `diagnosticEventHubName`
+
+Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `diagnosticLogCategoriesToEnable`
+
+The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection.
+- Required: No
+- Type: array
+- Default: `[allLogs]`
+- Allowed: `['', AccountLogon, AccountManagement, allLogs, DetailTracking, DirectoryServiceAccess, LogonLogoff, ObjectAccess, PolicyChange, PrivilegeUse, SystemSecurity]`
+
+### Parameter: `diagnosticStorageAccountId`
+
+Resource ID of the diagnostic storage account.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `diagnosticWorkspaceId`
+
+Resource ID of the diagnostic log analytics workspace.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `domainConfigurationType`
+
+The value is to provide domain configuration type.
+- Required: No
+- Type: string
+- Default: `'FullySynced'`
+- Allowed: `[FullySynced, ResourceTrusting]`
+
+### Parameter: `domainName`
+
+The domain name specific to the Azure ADDS service.
+- Required: Yes
+- Type: string
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `externalAccess`
+
+The value is to enable the Secure LDAP for external services of Azure ADDS Services.
+- Required: No
+- Type: string
+- Default: `'Enabled'`
+- Allowed: `[Disabled, Enabled]`
+
+### Parameter: `filteredSync`
+
+The value is to synchronize scoped users and groups.
+- Required: No
+- Type: string
+- Default: `'Enabled'`
+
+### Parameter: `kerberosArmoring`
+
+The value is to enable to provide a protected channel between the Kerberos client and the KDC.
+- Required: No
+- Type: string
+- Default: `'Enabled'`
+- Allowed: `[Disabled, Enabled]`
+
+### Parameter: `kerberosRc4Encryption`
+
+The value is to enable Kerberos requests that use RC4 encryption.
+- Required: No
+- Type: string
+- Default: `'Enabled'`
+- Allowed: `[Disabled, Enabled]`
+
+### Parameter: `ldaps`
+
+A flag to determine whether or not Secure LDAP is enabled or disabled.
+- Required: No
+- Type: string
+- Default: `'Enabled'`
+- Allowed: `[Disabled, Enabled]`
+
+### Parameter: `location`
+
+The location to deploy the Azure ADDS Services.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `lock`
+
+Specify the type of lock.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', CanNotDelete, ReadOnly]`
+
+### Parameter: `name`
+
+The name of the AADDS resource. Defaults to the domain name specific to the Azure ADDS service.
+- Required: No
+- Type: string
+- Default: `[parameters('domainName')]`
+
+### Parameter: `notifyDcAdmins`
+
+The value is to notify the DC Admins.
+- Required: No
+- Type: string
+- Default: `'Enabled'`
+- Allowed: `[Disabled, Enabled]`
+
+### Parameter: `notifyGlobalAdmins`
+
+The value is to notify the Global Admins.
+- Required: No
+- Type: string
+- Default: `'Enabled'`
+- Allowed: `[Disabled, Enabled]`
+
+### Parameter: `ntlmV1`
+
+The value is to enable clients making request using NTLM v1.
+- Required: No
+- Type: string
+- Default: `'Enabled'`
+- Allowed: `[Disabled, Enabled]`
+
+### Parameter: `pfxCertificate`
+
+The certificate required to configure Secure LDAP. Should be a base64encoded representation of the certificate PFX file. Required if secure LDAP is enabled and must be valid more than 30 days.
+- Required: No
+- Type: securestring
+- Default: `''`
+
+### Parameter: `pfxCertificatePassword`
+
+The password to decrypt the provided Secure LDAP certificate PFX file. Required if secure LDAP is enabled.
+- Required: No
+- Type: securestring
+- Default: `''`
+
+### Parameter: `replicaSets`
+
+Additional replica set for the managed domain.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `sku`
+
+The name of the SKU specific to Azure ADDS Services.
+- Required: No
+- Type: string
+- Default: `'Standard'`
+- Allowed: `[Enterprise, Premium, Standard]`
+
+### Parameter: `syncNtlmPasswords`
+
+The value is to enable synchronized users to use NTLM authentication.
+- Required: No
+- Type: string
+- Default: `'Enabled'`
+- Allowed: `[Disabled, Enabled]`
+
+### Parameter: `syncOnPremPasswords`
+
+The value is to enable on-premises users to authenticate against managed domain.
+- Required: No
+- Type: string
+- Default: `'Enabled'`
+- Allowed: `[Disabled, Enabled]`
+
+### Parameter: `tags`
+
+Tags of the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `tlsV1`
+
+The value is to enable clients making request using TLSv1.
+- Required: No
+- Type: string
+- Default: `'Enabled'`
+- Allowed: `[Disabled, Enabled]`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The domain name of the Azure Active Directory Domain Services(Azure ADDS). |
+| `resourceGroupName` | string | The name of the resource group the Azure Active Directory Domain Services(Azure ADDS) was created in. |
+| `resourceId` | string | The resource ID of the Azure Active Directory Domain Services(Azure ADDS). |
+
+## Cross-referenced modules
+
+_None_
+
## Notes
### Network Security Group (NSG) requirements for AADDS
diff --git a/modules/aad/domain-service/main.json b/modules/aad/domain-service/main.json
index 3070f9df0a..0f206dd1ce 100644
--- a/modules/aad/domain-service/main.json
+++ b/modules/aad/domain-service/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "5043907679276521852"
+ "version": "0.22.6.54827",
+ "templateHash": "10694057578652449276"
},
"name": "Azure Active Directory Domain Services",
"description": "This module deploys an Azure Active Directory Domain Services (AADDS).",
@@ -410,8 +410,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "4015790044658504688"
+ "version": "0.22.6.54827",
+ "templateHash": "4984019978971427023"
}
},
"parameters": {
diff --git a/modules/analysis-services/server/.test/common/main.test.bicep b/modules/analysis-services/server/.test/common/main.test.bicep
index 0dcc74191b..527c3c1c71 100644
--- a/modules/analysis-services/server/.test/common/main.test.bicep
+++ b/modules/analysis-services/server/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/analysis-services/server/.test/min/main.test.bicep b/modules/analysis-services/server/.test/min/main.test.bicep
index 3c210ec288..e89ac48c07 100644
--- a/modules/analysis-services/server/.test/min/main.test.bicep
+++ b/modules/analysis-services/server/.test/min/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using only defaults'
+metadata description = 'This instance deploys the module with the minimum set of required parameters.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/analysis-services/server/README.md b/modules/analysis-services/server/README.md
index 02f71b089c..bd06d1cc84 100644
--- a/modules/analysis-services/server/README.md
+++ b/modules/analysis-services/server/README.md
@@ -5,10 +5,10 @@ This module deploys an Analysis Services Server.
## Navigation
- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
## Resource Types
@@ -19,63 +19,29 @@ This module deploys an Analysis Services Server.
| `Microsoft.Authorization/roleAssignments` | [2022-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2022-04-01/roleAssignments) |
| `Microsoft.Insights/diagnosticSettings` | [2021-05-01-preview](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Insights/2021-05-01-preview/diagnosticSettings) |
-## Parameters
+## Usage examples
-**Required parameters**
+The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository.
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | The name of the Azure Analysis Services server to create. |
+>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-**Optional parameters**
+>**Note**: To reference the module, please use the following syntax `br:bicep/modules/analysis-services.server:1.0.0`.
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `diagnosticEventHubAuthorizationRuleId` | string | `''` | | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
-| `diagnosticEventHubName` | string | `''` | | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
-| `diagnosticLogCategoriesToEnable` | array | `[allLogs]` | `['', allLogs, Engine, Service]` | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
-| `diagnosticMetricsToEnable` | array | `[AllMetrics]` | `[AllMetrics]` | The name of metrics that will be streamed. |
-| `diagnosticSettingsName` | string | `''` | | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | The name of the Azure Analysis Services server to create. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`diagnosticEventHubAuthorizationRuleId`](#parameter-diagnosticeventhubauthorizationruleid) | string | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
+| [`diagnosticEventHubName`](#parameter-diagnosticeventhubname) | string | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
+| [`diagnosticLogCategoriesToEnable`](#parameter-diagnosticlogcategoriestoenable) | array | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
+| [`diagnosticMetricsToEnable`](#parameter-diagnosticmetricstoenable) | array | The name of metrics that will be streamed. |
+| [`diagnosticSettingsName`](#parameter-diagnosticsettingsname) | string | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
-
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | The name of the API Management service. |
+| [`publisherEmail`](#parameter-publisheremail) | string | The email address of the owner of the service. |
+| [`publisherName`](#parameter-publishername) | string | The name of the owner of the service. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`additionalLocations`](#parameter-additionallocations) | array | Additional datacenter locations of the API Management service. |
+| [`apis`](#parameter-apis) | array | APIs. |
+| [`apiVersionSets`](#parameter-apiversionsets) | array | API Version Sets. |
+| [`authorizationServers`](#parameter-authorizationservers) | secureObject | Authorization servers. |
+| [`backends`](#parameter-backends) | array | Backends. |
+| [`caches`](#parameter-caches) | array | Caches. |
+| [`certificates`](#parameter-certificates) | array | List of Certificates that need to be installed in the API Management service. Max supported certificates that can be installed is 10. |
+| [`customProperties`](#parameter-customproperties) | object | Custom properties of the API Management service. |
+| [`diagnosticEventHubAuthorizationRuleId`](#parameter-diagnosticeventhubauthorizationruleid) | string | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
+| [`diagnosticEventHubName`](#parameter-diagnosticeventhubname) | string | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
+| [`diagnosticLogCategoriesToEnable`](#parameter-diagnosticlogcategoriestoenable) | array | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
+| [`diagnosticMetricsToEnable`](#parameter-diagnosticmetricstoenable) | array | The name of metrics that will be streamed. |
+| [`diagnosticSettingsName`](#parameter-diagnosticsettingsname) | string | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | Name of the Azure App Configuration. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`createMode`](#parameter-createmode) | string | Indicates whether the configuration store need to be recovered. |
+| [`diagnosticEventHubAuthorizationRuleId`](#parameter-diagnosticeventhubauthorizationruleid) | string | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
+| [`diagnosticEventHubName`](#parameter-diagnosticeventhubname) | string | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
+| [`diagnosticLogCategoriesToEnable`](#parameter-diagnosticlogcategoriestoenable) | array | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
+| [`diagnosticMetricsToEnable`](#parameter-diagnosticmetricstoenable) | array | The name of metrics that will be streamed. |
+| [`diagnosticSettingsName`](#parameter-diagnosticsettingsname) | string | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`containers`](#parameter-containers) | array | List of container definitions for the Container App. |
+| [`environmentId`](#parameter-environmentid) | string | Resource ID of environment. |
+| [`name`](#parameter-name) | string | Name of the Container App. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`activeRevisionsMode`](#parameter-activerevisionsmode) | string | ActiveRevisionsMode controls how active revisions are handled for the Container app. |
+| [`customDomains`](#parameter-customdomains) | array | Custom domain bindings for Container App hostnames. |
+| [`dapr`](#parameter-dapr) | object | Dapr configuration for the Container App. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`exposedPort`](#parameter-exposedport) | int | Exposed Port in containers for TCP traffic from ingress. |
+| [`ingressAllowInsecure`](#parameter-ingressallowinsecure) | bool | Bool indicating if HTTP connections to is allowed. If set to false HTTP connections are automatically redirected to HTTPS connections. |
+| [`ingressExternal`](#parameter-ingressexternal) | bool | Bool indicating if app exposes an external http endpoint. |
+| [`ingressTargetPort`](#parameter-ingresstargetport) | int | Target Port in containers for traffic from ingress. |
+| [`ingressTransport`](#parameter-ingresstransport) | string | Ingress transport protocol. |
+| [`initContainersTemplate`](#parameter-initcontainerstemplate) | array | List of specialized containers that run before app containers. |
+| [`ipSecurityRestrictions`](#parameter-ipsecurityrestrictions) | array | Rules to restrict incoming IP address. |
+| [`location`](#parameter-location) | string | Location for all Resources. |
+| [`lock`](#parameter-lock) | string | Specify the type of lock. |
+| [`maxInactiveRevisions`](#parameter-maxinactiverevisions) | int | Max inactive revisions a Container App can have. |
+| [`registries`](#parameter-registries) | array | Collection of private container registry credentials for containers used by the Container app. |
+| [`revisionSuffix`](#parameter-revisionsuffix) | string | User friendly suffix that is appended to the revision name. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute. |
+| [`scaleMaxReplicas`](#parameter-scalemaxreplicas) | int | Maximum number of container replicas. Defaults to 10 if not set. |
+| [`scaleMinReplicas`](#parameter-scaleminreplicas) | int | Minimum number of container replicas. |
+| [`scaleRules`](#parameter-scalerules) | array | Scaling rules. |
+| [`secrets`](#parameter-secrets) | secureObject | The secrets of the Container App. |
+| [`systemAssignedIdentity`](#parameter-systemassignedidentity) | bool | Enables system assigned managed identity on the resource. |
+| [`tags`](#parameter-tags) | object | Tags of the resource. |
+| [`trafficLabel`](#parameter-trafficlabel) | string | Associates a traffic label with a revision. Label name should be consist of lower case alphanumeric characters or dashes. |
+| [`trafficLatestRevision`](#parameter-trafficlatestrevision) | bool | Indicates that the traffic weight belongs to a latest stable revision. |
+| [`trafficRevisionName`](#parameter-trafficrevisionname) | string | Name of a revision. |
+| [`trafficWeight`](#parameter-trafficweight) | int | Traffic weight assigned to a revision. |
+| [`userAssignedIdentities`](#parameter-userassignedidentities) | object | The set of user assigned identities associated with the resource, the userAssignedIdentities dictionary keys will be ARM resource IDs and The dictionary values can be empty objects ({}) in requests. |
+| [`volumes`](#parameter-volumes) | array | List of volume definitions for the Container App. |
+| [`workloadProfileType`](#parameter-workloadprofiletype) | string | Workload profile type to pin for container app execution. |
+
+### Parameter: `activeRevisionsMode`
+
+ActiveRevisionsMode controls how active revisions are handled for the Container app.
+- Required: No
+- Type: string
+- Default: `'Single'`
+- Allowed: `[Multiple, Single]`
+
+### Parameter: `containers`
+
+List of container definitions for the Container App.
+- Required: Yes
+- Type: array
+
+### Parameter: `customDomains`
+
+Custom domain bindings for Container App hostnames.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `dapr`
+
+Dapr configuration for the Container App.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `environmentId`
+
+Resource ID of environment.
+- Required: Yes
+- Type: string
+
+### Parameter: `exposedPort`
+
+Exposed Port in containers for TCP traffic from ingress.
+- Required: No
+- Type: int
+- Default: `0`
+
+### Parameter: `ingressAllowInsecure`
+
+Bool indicating if HTTP connections to is allowed. If set to false HTTP connections are automatically redirected to HTTPS connections.
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `ingressExternal`
+
+Bool indicating if app exposes an external http endpoint.
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `ingressTargetPort`
+
+Target Port in containers for traffic from ingress.
+- Required: No
+- Type: int
+- Default: `80`
+
+### Parameter: `ingressTransport`
+
+Ingress transport protocol.
+- Required: No
+- Type: string
+- Default: `'auto'`
+- Allowed: `[auto, http, http2, tcp]`
+
+### Parameter: `initContainersTemplate`
+
+List of specialized containers that run before app containers.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `ipSecurityRestrictions`
+
+Rules to restrict incoming IP address.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `location`
+
+Location for all Resources.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `lock`
+
+Specify the type of lock.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', CanNotDelete, ReadOnly]`
+
+### Parameter: `maxInactiveRevisions`
+
+Max inactive revisions a Container App can have.
+- Required: No
+- Type: int
+- Default: `0`
+
+### Parameter: `name`
+
+Name of the Container App.
+- Required: Yes
+- Type: string
+
+### Parameter: `registries`
+
+Collection of private container registry credentials for containers used by the Container app.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `revisionSuffix`
+
+User friendly suffix that is appended to the revision name.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `scaleMaxReplicas`
+
+Maximum number of container replicas. Defaults to 10 if not set.
+- Required: No
+- Type: int
+- Default: `1`
+
+### Parameter: `scaleMinReplicas`
+
+Minimum number of container replicas.
+- Required: No
+- Type: int
+- Default: `0`
+
+### Parameter: `scaleRules`
+
+Scaling rules.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `secrets`
+
+The secrets of the Container App.
+- Required: No
+- Type: secureObject
+- Default: `{object}`
+
+### Parameter: `systemAssignedIdentity`
+
+Enables system assigned managed identity on the resource.
+- Required: No
+- Type: bool
+- Default: `False`
+
+### Parameter: `tags`
+
+Tags of the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `trafficLabel`
+
+Associates a traffic label with a revision. Label name should be consist of lower case alphanumeric characters or dashes.
+- Required: No
+- Type: string
+- Default: `'label-1'`
+
+### Parameter: `trafficLatestRevision`
+
+Indicates that the traffic weight belongs to a latest stable revision.
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `trafficRevisionName`
+
+Name of a revision.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `trafficWeight`
+
+Traffic weight assigned to a revision.
+- Required: No
+- Type: int
+- Default: `100`
+
+### Parameter: `userAssignedIdentities`
+
+The set of user assigned identities associated with the resource, the userAssignedIdentities dictionary keys will be ARM resource IDs and The dictionary values can be empty objects ({}) in requests.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `volumes`
+
+List of volume definitions for the Container App.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `workloadProfileType`
+
+Workload profile type to pin for container app execution.
+- Required: No
+- Type: string
+- Default: `''`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The name of the Container App. |
+| `resourceGroupName` | string | The name of the resource group the Container App was deployed into. |
+| `resourceId` | string | The resource ID of the Container App. |
+
+## Cross-referenced modules
+
+_None_
diff --git a/modules/app/container-app/main.json b/modules/app/container-app/main.json
index e2de42de12..1d501046a4 100644
--- a/modules/app/container-app/main.json
+++ b/modules/app/container-app/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "16754480041180669063"
+ "version": "0.22.6.54827",
+ "templateHash": "2221038631504030167"
},
"name": "Container Apps",
"description": "This module deploys a Container App.",
@@ -371,8 +371,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "9188415638960634445"
+ "version": "0.22.6.54827",
+ "templateHash": "6133741258710054291"
}
},
"parameters": {
diff --git a/modules/app/managed-environment/.test/common/main.test.bicep b/modules/app/managed-environment/.test/common/main.test.bicep
index 076aa920a4..6a3a769e96 100644
--- a/modules/app/managed-environment/.test/common/main.test.bicep
+++ b/modules/app/managed-environment/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/app/managed-environment/.test/min/main.test.bicep b/modules/app/managed-environment/.test/min/main.test.bicep
index 6692258b4d..ceab992425 100644
--- a/modules/app/managed-environment/.test/min/main.test.bicep
+++ b/modules/app/managed-environment/.test/min/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using only defaults'
+metadata description = 'This instance deploys the module with the minimum set of required parameters.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/app/managed-environment/README.md b/modules/app/managed-environment/README.md
index e432404e3a..19638dbf5b 100644
--- a/modules/app/managed-environment/README.md
+++ b/modules/app/managed-environment/README.md
@@ -5,10 +5,10 @@ This module deploys an App Managed Environment (also known as a Container App En
## Navigation
- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
## Resource Types
@@ -18,73 +18,28 @@ This module deploys an App Managed Environment (also known as a Container App En
| `Microsoft.Authorization/locks` | [2020-05-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2020-05-01/locks) |
| `Microsoft.Authorization/roleAssignments` | [2022-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2022-04-01/roleAssignments) |
-## Parameters
-
-**Required parameters**
-
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `logAnalyticsWorkspaceResourceId` | string | Existing Log Analytics Workspace resource ID. Note: This value is not required as per the resource type. However, not providing it currently causes an issue that is tracked [here](https://github.com/Azure/bicep/issues/9990). |
-| `name` | string | Name of the Container Apps Managed Environment. |
-
-**Conditional parameters**
-
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `infrastructureSubnetId` | string | `''` | Resource ID of a subnet for infrastructure components. This is used to deploy the environment into a virtual network. Must not overlap with any other provided IP ranges. Required if "internal" is set to true. |
-
-**Optional parameters**
-
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `certificatePassword` | securestring | `''` | | Password of the certificate used by the custom domain. |
-| `certificateValue` | securestring | `''` | | Certificate to use for the custom domain. PFX or PEM. |
-| `daprAIConnectionString` | securestring | `''` | | Application Insights connection string used by Dapr to export Service to Service communication telemetry. |
-| `daprAIInstrumentationKey` | securestring | `''` | | Azure Monitor instrumentation key used by Dapr to export Service to Service communication telemetry. |
-| `dnsSuffix` | string | `''` | | DNS suffix for the environment domain. |
-| `dockerBridgeCidr` | string | `''` | | CIDR notation IP range assigned to the Docker bridge, network. It must not overlap with any other provided IP ranges and can only be used when the environment is deployed into a virtual network. If not provided, it will be set with a default value by the platform. |
-| `enableDefaultTelemetry` | bool | | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `internal` | bool | `False` | | Boolean indicating the environment only has an internal load balancer. These environments do not have a public static IP resource. If set to true, then "infrastructureSubnetId" must be provided. |
-| `location` | string | `[resourceGroup().location]` | | Location for all Resources. |
-| `lock` | string | `''` | `['', CanNotDelete, ReadOnly]` | Specify the type of lock. |
-| `logsDestination` | string | `'log-analytics'` | | Logs destination. |
-| `platformReservedCidr` | string | `''` | | IP range in CIDR notation that can be reserved for environment infrastructure IP addresses. It must not overlap with any other provided IP ranges and can only be used when the environment is deployed into a virtual network. If not provided, it will be set with a default value by the platform. |
-| `platformReservedDnsIP` | string | `''` | | An IP address from the IP range defined by "platformReservedCidr" that will be reserved for the internal DNS server. It must not be the first address in the range and can only be used when the environment is deployed into a virtual network. If not provided, it will be set with a default value by the platform. |
-| `roleAssignments` | array | `[]` | | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
-| `skuName` | string | `'Consumption'` | `[Consumption, Premium]` | Managed environment SKU. |
-| `tags` | object | `{object}` | | Tags of the resource. |
-| `workloadProfiles` | array | `[]` | | Workload profiles configured for the Managed Environment. |
-| `zoneRedundant` | bool | `False` | | Whether or not this Managed Environment is zone-redundant. |
-
+## Usage examples
-## Outputs
-
-| Output Name | Type | Description |
-| :-- | :-- | :-- |
-| `location` | string | The location the resource was deployed into. |
-| `name` | string | The name of the Managed Environment. |
-| `resourceGroupName` | string | The name of the resource group the Managed Environment was deployed into. |
-| `resourceId` | string | The resource ID of the Managed Environment. |
+The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository.
-## Cross-referenced modules
+>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-_None_
+>**Note**: To reference the module, please use the following syntax `br:bicep/modules/app.managed-environment:1.0.0`.
-## Deployment examples
+- [Using large parameter set](#example-1-using-large-parameter-set)
+- [Using only defaults](#example-2-using-only-defaults)
-The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder.
- >**Note**: The name of each example is based on the name of the file from which it is taken.
+### Example 1: _Using large parameter set_
- >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
+This instance deploys the module with most of its features enabled.
-
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`logAnalyticsWorkspaceResourceId`](#parameter-loganalyticsworkspaceresourceid) | string | Existing Log Analytics Workspace resource ID. Note: This value is not required as per the resource type. However, not providing it currently causes an issue that is tracked [here](https://github.com/Azure/bicep/issues/9990). |
+| [`name`](#parameter-name) | string | Name of the Container Apps Managed Environment. |
+
+**Conditional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`infrastructureSubnetId`](#parameter-infrastructuresubnetid) | string | Resource ID of a subnet for infrastructure components. This is used to deploy the environment into a virtual network. Must not overlap with any other provided IP ranges. Required if "internal" is set to true. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`certificatePassword`](#parameter-certificatepassword) | securestring | Password of the certificate used by the custom domain. |
+| [`certificateValue`](#parameter-certificatevalue) | securestring | Certificate to use for the custom domain. PFX or PEM. |
+| [`daprAIConnectionString`](#parameter-dapraiconnectionstring) | securestring | Application Insights connection string used by Dapr to export Service to Service communication telemetry. |
+| [`daprAIInstrumentationKey`](#parameter-dapraiinstrumentationkey) | securestring | Azure Monitor instrumentation key used by Dapr to export Service to Service communication telemetry. |
+| [`dnsSuffix`](#parameter-dnssuffix) | string | DNS suffix for the environment domain. |
+| [`dockerBridgeCidr`](#parameter-dockerbridgecidr) | string | CIDR notation IP range assigned to the Docker bridge, network. It must not overlap with any other provided IP ranges and can only be used when the environment is deployed into a virtual network. If not provided, it will be set with a default value by the platform. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`internal`](#parameter-internal) | bool | Boolean indicating the environment only has an internal load balancer. These environments do not have a public static IP resource. If set to true, then "infrastructureSubnetId" must be provided. |
+| [`location`](#parameter-location) | string | Location for all Resources. |
+| [`lock`](#parameter-lock) | string | Specify the type of lock. |
+| [`logsDestination`](#parameter-logsdestination) | string | Logs destination. |
+| [`platformReservedCidr`](#parameter-platformreservedcidr) | string | IP range in CIDR notation that can be reserved for environment infrastructure IP addresses. It must not overlap with any other provided IP ranges and can only be used when the environment is deployed into a virtual network. If not provided, it will be set with a default value by the platform. |
+| [`platformReservedDnsIP`](#parameter-platformreserveddnsip) | string | An IP address from the IP range defined by "platformReservedCidr" that will be reserved for the internal DNS server. It must not be the first address in the range and can only be used when the environment is deployed into a virtual network. If not provided, it will be set with a default value by the platform. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`skuName`](#parameter-skuname) | string | Managed environment SKU. |
+| [`tags`](#parameter-tags) | object | Tags of the resource. |
+| [`workloadProfiles`](#parameter-workloadprofiles) | array | Workload profiles configured for the Managed Environment. |
+| [`zoneRedundant`](#parameter-zoneredundant) | bool | Whether or not this Managed Environment is zone-redundant. |
+
+### Parameter: `certificatePassword`
+
+Password of the certificate used by the custom domain.
+- Required: No
+- Type: securestring
+- Default: `''`
+
+### Parameter: `certificateValue`
+
+Certificate to use for the custom domain. PFX or PEM.
+- Required: No
+- Type: securestring
+- Default: `''`
+
+### Parameter: `daprAIConnectionString`
+
+Application Insights connection string used by Dapr to export Service to Service communication telemetry.
+- Required: No
+- Type: securestring
+- Default: `''`
+
+### Parameter: `daprAIInstrumentationKey`
+
+Azure Monitor instrumentation key used by Dapr to export Service to Service communication telemetry.
+- Required: No
+- Type: securestring
+- Default: `''`
+
+### Parameter: `dnsSuffix`
+
+DNS suffix for the environment domain.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `dockerBridgeCidr`
+
+CIDR notation IP range assigned to the Docker bridge, network. It must not overlap with any other provided IP ranges and can only be used when the environment is deployed into a virtual network. If not provided, it will be set with a default value by the platform.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: Yes
+- Type: bool
+
+### Parameter: `infrastructureSubnetId`
+
+Resource ID of a subnet for infrastructure components. This is used to deploy the environment into a virtual network. Must not overlap with any other provided IP ranges. Required if "internal" is set to true.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `internal`
+
+Boolean indicating the environment only has an internal load balancer. These environments do not have a public static IP resource. If set to true, then "infrastructureSubnetId" must be provided.
+- Required: No
+- Type: bool
+- Default: `False`
+
+### Parameter: `location`
+
+Location for all Resources.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `lock`
+
+Specify the type of lock.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', CanNotDelete, ReadOnly]`
+
+### Parameter: `logAnalyticsWorkspaceResourceId`
+
+Existing Log Analytics Workspace resource ID. Note: This value is not required as per the resource type. However, not providing it currently causes an issue that is tracked [here](https://github.com/Azure/bicep/issues/9990).
+- Required: Yes
+- Type: string
+
+### Parameter: `logsDestination`
+
+Logs destination.
+- Required: No
+- Type: string
+- Default: `'log-analytics'`
+
+### Parameter: `name`
+
+Name of the Container Apps Managed Environment.
+- Required: Yes
+- Type: string
+
+### Parameter: `platformReservedCidr`
+
+IP range in CIDR notation that can be reserved for environment infrastructure IP addresses. It must not overlap with any other provided IP ranges and can only be used when the environment is deployed into a virtual network. If not provided, it will be set with a default value by the platform.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `platformReservedDnsIP`
+
+An IP address from the IP range defined by "platformReservedCidr" that will be reserved for the internal DNS server. It must not be the first address in the range and can only be used when the environment is deployed into a virtual network. If not provided, it will be set with a default value by the platform.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `skuName`
+
+Managed environment SKU.
+- Required: No
+- Type: string
+- Default: `'Consumption'`
+- Allowed: `[Consumption, Premium]`
+
+### Parameter: `tags`
+
+Tags of the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `workloadProfiles`
+
+Workload profiles configured for the Managed Environment.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `zoneRedundant`
+
+Whether or not this Managed Environment is zone-redundant.
+- Required: No
+- Type: bool
+- Default: `False`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The name of the Managed Environment. |
+| `resourceGroupName` | string | The name of the resource group the Managed Environment was deployed into. |
+| `resourceId` | string | The resource ID of the Managed Environment. |
+
+## Cross-referenced modules
+
+_None_
diff --git a/modules/app/managed-environment/main.json b/modules/app/managed-environment/main.json
index a958ca3a6e..71407f0d6d 100644
--- a/modules/app/managed-environment/main.json
+++ b/modules/app/managed-environment/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "14963884189492658840"
+ "version": "0.22.6.54827",
+ "templateHash": "3480452524372003572"
},
"name": "App ManagedEnvironments",
"description": "This module deploys an App Managed Environment (also known as a Container App Environment).",
@@ -264,8 +264,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "10028072894056989627"
+ "version": "0.22.6.54827",
+ "templateHash": "18101859194273235473"
}
},
"parameters": {
diff --git a/modules/authorization/lock/.test/common/main.test.bicep b/modules/authorization/lock/.test/common/main.test.bicep
index 197c3e06aa..aa9099f4a9 100644
--- a/modules/authorization/lock/.test/common/main.test.bicep
+++ b/modules/authorization/lock/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/authorization/lock/README.md b/modules/authorization/lock/README.md
index 1555dae44e..6a17288433 100644
--- a/modules/authorization/lock/README.md
+++ b/modules/authorization/lock/README.md
@@ -5,10 +5,10 @@ This module deploys an Authorization Lock at a Subscription or Resource Group sc
## Navigation
- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
## Resource Types
@@ -16,52 +16,27 @@ This module deploys an Authorization Lock at a Subscription or Resource Group sc
| :-- | :-- |
| `Microsoft.Authorization/locks` | [2020-05-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2020-05-01/locks) |
-## Parameters
-
-**Required parameters**
-
-| Parameter Name | Type | Allowed Values | Description |
-| :-- | :-- | :-- | :-- |
-| `level` | string | `[CanNotDelete, ReadOnly]` | Set lock level. |
-
-**Optional parameters**
-
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `location` | string | `[deployment().location]` | Location for all resources. |
-| `notes` | string | `[if(equals(parameters('level'), 'CanNotDelete'), 'Cannot delete resource or child resources.', 'Cannot modify the resource or child resources.')]` | The decription attached to the lock. |
-| `resourceGroupName` | string | `''` | Name of the Resource Group to assign the lock to. If Resource Group name is provided, and Subscription ID is provided, the module deploys at resource group level, therefore assigns the provided lock to the resource group. |
-| `subscriptionId` | string | `[subscription().id]` | Subscription ID of the subscription to assign the lock to. If not provided, will use the current scope for deployment. If no resource group name is provided, the module deploys at subscription level, therefore assigns the provided locks to the subscription. |
+## Usage examples
+The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository.
-## Outputs
-
-| Output Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | The name of the lock. |
-| `resourceId` | string | The resource ID of the lock. |
-| `scope` | string | The scope this lock applies to. |
-
-## Cross-referenced modules
+>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-_None_
+>**Note**: To reference the module, please use the following syntax `br:bicep/modules/authorization.lock:1.0.0`.
-## Deployment examples
+- [Using large parameter set](#example-1-using-large-parameter-set)
-The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder.
- >**Note**: The name of each example is based on the name of the file from which it is taken.
+### Example 1: _Using large parameter set_
- >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
+This instance deploys the module with most of its features enabled.
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`level`](#parameter-level) | string | Set lock level. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`location`](#parameter-location) | string | Location for all resources. |
+| [`notes`](#parameter-notes) | string | The decription attached to the lock. |
+| [`resourceGroupName`](#parameter-resourcegroupname) | string | Name of the Resource Group to assign the lock to. If Resource Group name is provided, and Subscription ID is provided, the module deploys at resource group level, therefore assigns the provided lock to the resource group. |
+| [`subscriptionId`](#parameter-subscriptionid) | string | Subscription ID of the subscription to assign the lock to. If not provided, will use the current scope for deployment. If no resource group name is provided, the module deploys at subscription level, therefore assigns the provided locks to the subscription. |
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `level`
+
+Set lock level.
+- Required: Yes
+- Type: string
+- Allowed: `[CanNotDelete, ReadOnly]`
+
+### Parameter: `location`
+
+Location for all resources.
+- Required: No
+- Type: string
+- Default: `[deployment().location]`
+
+### Parameter: `notes`
+
+The decription attached to the lock.
+- Required: No
+- Type: string
+- Default: `[if(equals(parameters('level'), 'CanNotDelete'), 'Cannot delete resource or child resources.', 'Cannot modify the resource or child resources.')]`
+
+### Parameter: `resourceGroupName`
+
+Name of the Resource Group to assign the lock to. If Resource Group name is provided, and Subscription ID is provided, the module deploys at resource group level, therefore assigns the provided lock to the resource group.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `subscriptionId`
+
+Subscription ID of the subscription to assign the lock to. If not provided, will use the current scope for deployment. If no resource group name is provided, the module deploys at subscription level, therefore assigns the provided locks to the subscription.
+- Required: No
+- Type: string
+- Default: `[subscription().id]`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `name` | string | The name of the lock. |
+| `resourceId` | string | The resource ID of the lock. |
+| `scope` | string | The scope this lock applies to. |
+
+## Cross-referenced modules
+
+_None_
diff --git a/modules/authorization/lock/main.json b/modules/authorization/lock/main.json
index a6018e68bc..927dc1ae2c 100644
--- a/modules/authorization/lock/main.json
+++ b/modules/authorization/lock/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "15010949072500473441"
+ "version": "0.22.6.54827",
+ "templateHash": "15385346851879884120"
},
"name": "Authorization Locks (All scopes)",
"description": "This module deploys an Authorization Lock at a Subscription or Resource Group scope.",
@@ -109,8 +109,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "15362884032350876286"
+ "version": "0.22.6.54827",
+ "templateHash": "876321567657394219"
},
"name": "Authorization Locks (Subscription scope)",
"description": "This module deploys an Authorization Lock at a Subscription scope.",
@@ -239,8 +239,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "10420976827552614779"
+ "version": "0.22.6.54827",
+ "templateHash": "8961143332409950444"
},
"name": "Authorization Locks (Resource Group scope)",
"description": "This module deploys an Authorization Lock at a Resource Group scope.",
diff --git a/modules/authorization/lock/resource-group/README.md b/modules/authorization/lock/resource-group/README.md
index 146e48ed25..9fff1df214 100644
--- a/modules/authorization/lock/resource-group/README.md
+++ b/modules/authorization/lock/resource-group/README.md
@@ -19,22 +19,50 @@ This module deploys an Authorization Lock at a Resource Group scope.
**Required parameters**
-| Parameter Name | Type | Allowed Values | Description |
-| :-- | :-- | :-- | :-- |
-| `level` | string | `[CanNotDelete, ReadOnly]` | Set lock level. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`level`](#parameter-level) | string | Set lock level. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `name` | string | `[format('{0}-lock', parameters('level'))]` | The name of the lock. |
-| `notes` | string | `[if(equals(parameters('level'), 'CanNotDelete'), 'Cannot delete resource or child resources.', 'Cannot modify the resource or child resources.')]` | The decription attached to the lock. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`name`](#parameter-name) | string | The name of the lock. |
+| [`notes`](#parameter-notes) | string | The decription attached to the lock. |
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `level`
+
+Set lock level.
+- Required: Yes
+- Type: string
+- Allowed: `[CanNotDelete, ReadOnly]`
+
+### Parameter: `name`
+
+The name of the lock.
+- Required: No
+- Type: string
+- Default: `[format('{0}-lock', parameters('level'))]`
+
+### Parameter: `notes`
+
+The decription attached to the lock.
+- Required: No
+- Type: string
+- Default: `[if(equals(parameters('level'), 'CanNotDelete'), 'Cannot delete resource or child resources.', 'Cannot modify the resource or child resources.')]`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The name of the lock. |
| `resourceGroupName` | string | The name of the resource group name the lock was applied to. |
diff --git a/modules/authorization/lock/resource-group/main.json b/modules/authorization/lock/resource-group/main.json
index 25b2ec1b99..903530da93 100644
--- a/modules/authorization/lock/resource-group/main.json
+++ b/modules/authorization/lock/resource-group/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "7885747985110001606"
+ "version": "0.22.6.54827",
+ "templateHash": "8961143332409950444"
},
"name": "Authorization Locks (Resource Group scope)",
"description": "This module deploys an Authorization Lock at a Resource Group scope.",
diff --git a/modules/authorization/lock/subscription/README.md b/modules/authorization/lock/subscription/README.md
index 35fe0fd8ca..56454213bb 100644
--- a/modules/authorization/lock/subscription/README.md
+++ b/modules/authorization/lock/subscription/README.md
@@ -19,22 +19,50 @@ This module deploys an Authorization Lock at a Subscription scope.
**Required parameters**
-| Parameter Name | Type | Allowed Values | Description |
-| :-- | :-- | :-- | :-- |
-| `level` | string | `[CanNotDelete, ReadOnly]` | Set lock level. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`level`](#parameter-level) | string | Set lock level. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `name` | string | `[format('{0}-lock', parameters('level'))]` | The name of the lock. |
-| `notes` | string | `[if(equals(parameters('level'), 'CanNotDelete'), 'Cannot delete resource or child resources.', 'Cannot modify the resource or child resources.')]` | The decription attached to the lock. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`name`](#parameter-name) | string | The name of the lock. |
+| [`notes`](#parameter-notes) | string | The decription attached to the lock. |
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `level`
+
+Set lock level.
+- Required: Yes
+- Type: string
+- Allowed: `[CanNotDelete, ReadOnly]`
+
+### Parameter: `name`
+
+The name of the lock.
+- Required: No
+- Type: string
+- Default: `[format('{0}-lock', parameters('level'))]`
+
+### Parameter: `notes`
+
+The decription attached to the lock.
+- Required: No
+- Type: string
+- Default: `[if(equals(parameters('level'), 'CanNotDelete'), 'Cannot delete resource or child resources.', 'Cannot modify the resource or child resources.')]`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The name of the lock. |
| `resourceId` | string | The resource ID of the lock. |
diff --git a/modules/authorization/lock/subscription/main.json b/modules/authorization/lock/subscription/main.json
index 5664616784..19ec31903c 100644
--- a/modules/authorization/lock/subscription/main.json
+++ b/modules/authorization/lock/subscription/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "10927394621764774821"
+ "version": "0.22.6.54827",
+ "templateHash": "876321567657394219"
},
"name": "Authorization Locks (Subscription scope)",
"description": "This module deploys an Authorization Lock at a Subscription scope.",
diff --git a/modules/authorization/policy-assignment/README.md b/modules/authorization/policy-assignment/README.md
index ff0ddb908a..d2906fcd0a 100644
--- a/modules/authorization/policy-assignment/README.md
+++ b/modules/authorization/policy-assignment/README.md
@@ -4,80 +4,43 @@ This module deploys a Policy Assignment at a Management Group, Subscription or R
## Navigation
-- [Resource types](#Resource-types)
+- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
- [Notes](#Notes)
-## Resource types
+## Resource Types
| Resource Type | API Version |
| :-- | :-- |
| `Microsoft.Authorization/policyAssignments` | [2022-06-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2022-06-01/policyAssignments) |
| `Microsoft.Authorization/roleAssignments` | [2022-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2022-04-01/roleAssignments) |
-## Parameters
-
-**Required parameters**
+## Usage examples
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | Specifies the name of the policy assignment. Maximum length is 24 characters for management group scope, 64 characters for subscription and resource group scopes. |
-| `policyDefinitionId` | string | Specifies the ID of the policy definition or policy set definition being assigned. |
+The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository.
-**Optional parameters**
+>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `description` | string | `''` | | This message will be part of response in case of policy violation. |
-| `displayName` | string | `''` | | The display name of the policy assignment. Maximum length is 128 characters. |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `enforcementMode` | string | `'Default'` | `[Default, DoNotEnforce]` | The policy assignment enforcement mode. Possible values are Default and DoNotEnforce. - Default or DoNotEnforce. |
-| `identity` | string | `'SystemAssigned'` | `[None, SystemAssigned, UserAssigned]` | The managed identity associated with the policy assignment. Policy assignments must include a resource identity when assigning 'Modify' policy definitions. |
-| `location` | string | `[deployment().location]` | | Location for all resources. |
-| `managementGroupId` | string | `[managementGroup().name]` | | The Target Scope for the Policy. The name of the management group for the policy assignment. If not provided, will use the current scope for deployment. |
-| `metadata` | object | `{object}` | | The policy assignment metadata. Metadata is an open ended object and is typically a collection of key-value pairs. |
-| `nonComplianceMessages` | array | `[]` | | The messages that describe why a resource is non-compliant with the policy. |
-| `notScopes` | array | `[]` | | The policy excluded scopes. |
-| `overrides` | array | `[]` | | The policy property value override. Allows changing the effect of a policy definition without modifying the underlying policy definition or using a parameterized effect in the policy definition. |
-| `parameters` | object | `{object}` | | Parameters for the policy assignment if needed. |
-| `resourceGroupName` | string | `''` | | The Target Scope for the Policy. The name of the resource group for the policy assignment. |
-| `resourceSelectors` | array | `[]` | | The resource selector list to filter policies by resource properties. Facilitates safe deployment practices (SDP) by enabling gradual roll out policy assignments based on factors like resource location, resource type, or whether a resource has a location. |
-| `roleDefinitionIds` | array | `[]` | | The IDs Of the Azure Role Definition list that is used to assign permissions to the identity. You need to provide either the fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.. See https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles for the list IDs for built-in Roles. They must match on what is on the policy definition. |
-| `subscriptionId` | string | `''` | | The Target Scope for the Policy. The subscription ID of the subscription for the policy assignment. |
-| `userAssignedIdentityId` | string | `''` | | The Resource ID for the user assigned identity to assign to the policy assignment. |
+>**Note**: To reference the module, please use the following syntax `br:bicep/modules/authorization.policy-assignment:1.0.0`.
+- [Mg.Common](#example-1-mgcommon)
+- [Mg.Min](#example-2-mgmin)
+- [Rg.Common](#example-3-rgcommon)
+- [Rg.Min](#example-4-rgmin)
+- [Sub.Common](#example-5-subcommon)
+- [Sub.Min](#example-6-submin)
-## Outputs
-
-| Output Name | Type | Description |
-| :-- | :-- | :-- |
-| `location` | string | The location the resource was deployed into. |
-| `name` | string | Policy Assignment Name. |
-| `principalId` | string | Policy Assignment principal ID. |
-| `resourceId` | string | Policy Assignment resource ID. |
-
-## Cross-referenced modules
-
-_None_
-
-## Deployment examples
-
-The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder.
- >**Note**: The name of each example is based on the name of the file from which it is taken.
-
- >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-
-
-
-
-
-
-
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | Specifies the name of the policy assignment. Maximum length is 24 characters for management group scope, 64 characters for subscription and resource group scopes. |
+| [`policyDefinitionId`](#parameter-policydefinitionid) | string | Specifies the ID of the policy definition or policy set definition being assigned. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`description`](#parameter-description) | string | This message will be part of response in case of policy violation. |
+| [`displayName`](#parameter-displayname) | string | The display name of the policy assignment. Maximum length is 128 characters. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`enforcementMode`](#parameter-enforcementmode) | string | The policy assignment enforcement mode. Possible values are Default and DoNotEnforce. - Default or DoNotEnforce. |
+| [`identity`](#parameter-identity) | string | The managed identity associated with the policy assignment. Policy assignments must include a resource identity when assigning 'Modify' policy definitions. |
+| [`location`](#parameter-location) | string | Location for all resources. |
+| [`managementGroupId`](#parameter-managementgroupid) | string | The Target Scope for the Policy. The name of the management group for the policy assignment. If not provided, will use the current scope for deployment. |
+| [`metadata`](#parameter-metadata) | object | The policy assignment metadata. Metadata is an open ended object and is typically a collection of key-value pairs. |
+| [`nonComplianceMessages`](#parameter-noncompliancemessages) | array | The messages that describe why a resource is non-compliant with the policy. |
+| [`notScopes`](#parameter-notscopes) | array | The policy excluded scopes. |
+| [`overrides`](#parameter-overrides) | array | The policy property value override. Allows changing the effect of a policy definition without modifying the underlying policy definition or using a parameterized effect in the policy definition. |
+| [`parameters`](#parameter-parameters) | object | Parameters for the policy assignment if needed. |
+| [`resourceGroupName`](#parameter-resourcegroupname) | string | The Target Scope for the Policy. The name of the resource group for the policy assignment. |
+| [`resourceSelectors`](#parameter-resourceselectors) | array | The resource selector list to filter policies by resource properties. Facilitates safe deployment practices (SDP) by enabling gradual roll out policy assignments based on factors like resource location, resource type, or whether a resource has a location. |
+| [`roleDefinitionIds`](#parameter-roledefinitionids) | array | The IDs Of the Azure Role Definition list that is used to assign permissions to the identity. You need to provide either the fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.. See https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles for the list IDs for built-in Roles. They must match on what is on the policy definition. |
+| [`subscriptionId`](#parameter-subscriptionid) | string | The Target Scope for the Policy. The subscription ID of the subscription for the policy assignment. |
+| [`userAssignedIdentityId`](#parameter-userassignedidentityid) | string | The Resource ID for the user assigned identity to assign to the policy assignment. |
+
+### Parameter: `description`
+
+This message will be part of response in case of policy violation.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `displayName`
+
+The display name of the policy assignment. Maximum length is 128 characters.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `enforcementMode`
+
+The policy assignment enforcement mode. Possible values are Default and DoNotEnforce. - Default or DoNotEnforce.
+- Required: No
+- Type: string
+- Default: `'Default'`
+- Allowed: `[Default, DoNotEnforce]`
+
+### Parameter: `identity`
+
+The managed identity associated with the policy assignment. Policy assignments must include a resource identity when assigning 'Modify' policy definitions.
+- Required: No
+- Type: string
+- Default: `'SystemAssigned'`
+- Allowed: `[None, SystemAssigned, UserAssigned]`
+
+### Parameter: `location`
+
+Location for all resources.
+- Required: No
+- Type: string
+- Default: `[deployment().location]`
+
+### Parameter: `managementGroupId`
+
+The Target Scope for the Policy. The name of the management group for the policy assignment. If not provided, will use the current scope for deployment.
+- Required: No
+- Type: string
+- Default: `[managementGroup().name]`
+
+### Parameter: `metadata`
+
+The policy assignment metadata. Metadata is an open ended object and is typically a collection of key-value pairs.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `name`
+
+Specifies the name of the policy assignment. Maximum length is 24 characters for management group scope, 64 characters for subscription and resource group scopes.
+- Required: Yes
+- Type: string
+
+### Parameter: `nonComplianceMessages`
+
+The messages that describe why a resource is non-compliant with the policy.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `notScopes`
+
+The policy excluded scopes.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `overrides`
+
+The policy property value override. Allows changing the effect of a policy definition without modifying the underlying policy definition or using a parameterized effect in the policy definition.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `parameters`
+
+Parameters for the policy assignment if needed.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `policyDefinitionId`
+
+Specifies the ID of the policy definition or policy set definition being assigned.
+- Required: Yes
+- Type: string
+
+### Parameter: `resourceGroupName`
+
+The Target Scope for the Policy. The name of the resource group for the policy assignment.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `resourceSelectors`
+
+The resource selector list to filter policies by resource properties. Facilitates safe deployment practices (SDP) by enabling gradual roll out policy assignments based on factors like resource location, resource type, or whether a resource has a location.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `roleDefinitionIds`
+
+The IDs Of the Azure Role Definition list that is used to assign permissions to the identity. You need to provide either the fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.. See https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles for the list IDs for built-in Roles. They must match on what is on the policy definition.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `subscriptionId`
+
+The Target Scope for the Policy. The subscription ID of the subscription for the policy assignment.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `userAssignedIdentityId`
+
+The Resource ID for the user assigned identity to assign to the policy assignment.
+- Required: No
+- Type: string
+- Default: `''`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | Policy Assignment Name. |
+| `principalId` | string | Policy Assignment principal ID. |
+| `resourceId` | string | Policy Assignment resource ID. |
+
+## Cross-referenced modules
+
+_None_
+
## Notes
### Module Usage Guidance
diff --git a/modules/authorization/policy-assignment/main.json b/modules/authorization/policy-assignment/main.json
index 66bced0521..4b15a7c3ee 100644
--- a/modules/authorization/policy-assignment/main.json
+++ b/modules/authorization/policy-assignment/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "13477192333915886863"
+ "version": "0.22.6.54827",
+ "templateHash": "10579624444479342334"
},
"name": "Policy Assignments (All scopes)",
"description": "This module deploys a Policy Assignment at a Management Group, Subscription or Resource Group scope.",
@@ -226,8 +226,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "15108071880274736880"
+ "version": "0.22.6.54827",
+ "templateHash": "14811948404877688716"
},
"name": "Policy Assignments (Management Group scope)",
"description": "This module deploys a Policy Assignment at a Management Group scope.",
@@ -506,8 +506,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "15303635224407962753"
+ "version": "0.22.6.54827",
+ "templateHash": "1296030047986147440"
},
"name": "Policy Assignments (Subscription scope)",
"description": "This module deploys a Policy Assignment at a Subscription scope.",
@@ -786,8 +786,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "17736185251366823136"
+ "version": "0.22.6.54827",
+ "templateHash": "15032410491892224041"
},
"name": "Policy Assignments (Resource Group scope)",
"description": "This module deploys a Policy Assignment at a Resource Group scope.",
diff --git a/modules/authorization/policy-assignment/management-group/README.md b/modules/authorization/policy-assignment/management-group/README.md
index 086b1d38ea..5bdeb7fe3c 100644
--- a/modules/authorization/policy-assignment/management-group/README.md
+++ b/modules/authorization/policy-assignment/management-group/README.md
@@ -20,35 +20,154 @@ This module deploys a Policy Assignment at a Management Group scope.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `name` | string | Specifies the name of the policy assignment. Maximum length is 24 characters for management group scope. |
-| `policyDefinitionId` | string | Specifies the ID of the policy definition or policy set definition being assigned. |
+| [`name`](#parameter-name) | string | Specifies the name of the policy assignment. Maximum length is 24 characters for management group scope. |
+| [`policyDefinitionId`](#parameter-policydefinitionid) | string | Specifies the ID of the policy definition or policy set definition being assigned. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `description` | string | `''` | | This message will be part of response in case of policy violation. |
-| `displayName` | string | `''` | | The display name of the policy assignment. Maximum length is 128 characters. |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `enforcementMode` | string | `'Default'` | `[Default, DoNotEnforce]` | The policy assignment enforcement mode. Possible values are Default and DoNotEnforce. - Default or DoNotEnforce. |
-| `identity` | string | `'SystemAssigned'` | `[None, SystemAssigned, UserAssigned]` | The managed identity associated with the policy assignment. Policy assignments must include a resource identity when assigning 'Modify' policy definitions. |
-| `location` | string | `[deployment().location]` | | Location for all resources. |
-| `managementGroupId` | string | `[managementGroup().name]` | | The Target Scope for the Policy. The name of the management group for the policy assignment. If not provided, will use the current scope for deployment. |
-| `metadata` | object | `{object}` | | The policy assignment metadata. Metadata is an open ended object and is typically a collection of key-value pairs. |
-| `nonComplianceMessages` | array | `[]` | | The messages that describe why a resource is non-compliant with the policy. |
-| `notScopes` | array | `[]` | | The policy excluded scopes. |
-| `overrides` | array | `[]` | | The policy property value override. Allows changing the effect of a policy definition without modifying the underlying policy definition or using a parameterized effect in the policy definition. |
-| `parameters` | object | `{object}` | | Parameters for the policy assignment if needed. |
-| `resourceSelectors` | array | `[]` | | The resource selector list to filter policies by resource properties. Facilitates safe deployment practices (SDP) by enabling gradual roll out policy assignments based on factors like resource location, resource type, or whether a resource has a location. |
-| `roleDefinitionIds` | array | `[]` | | The IDs Of the Azure Role Definition list that is used to assign permissions to the identity. You need to provide either the fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.. See https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles for the list IDs for built-in Roles. They must match on what is on the policy definition. |
-| `userAssignedIdentityId` | string | `''` | | The Resource ID for the user assigned identity to assign to the policy assignment. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`description`](#parameter-description) | string | This message will be part of response in case of policy violation. |
+| [`displayName`](#parameter-displayname) | string | The display name of the policy assignment. Maximum length is 128 characters. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`enforcementMode`](#parameter-enforcementmode) | string | The policy assignment enforcement mode. Possible values are Default and DoNotEnforce. - Default or DoNotEnforce. |
+| [`identity`](#parameter-identity) | string | The managed identity associated with the policy assignment. Policy assignments must include a resource identity when assigning 'Modify' policy definitions. |
+| [`location`](#parameter-location) | string | Location for all resources. |
+| [`managementGroupId`](#parameter-managementgroupid) | string | The Target Scope for the Policy. The name of the management group for the policy assignment. If not provided, will use the current scope for deployment. |
+| [`metadata`](#parameter-metadata) | object | The policy assignment metadata. Metadata is an open ended object and is typically a collection of key-value pairs. |
+| [`nonComplianceMessages`](#parameter-noncompliancemessages) | array | The messages that describe why a resource is non-compliant with the policy. |
+| [`notScopes`](#parameter-notscopes) | array | The policy excluded scopes. |
+| [`overrides`](#parameter-overrides) | array | The policy property value override. Allows changing the effect of a policy definition without modifying the underlying policy definition or using a parameterized effect in the policy definition. |
+| [`parameters`](#parameter-parameters) | object | Parameters for the policy assignment if needed. |
+| [`resourceSelectors`](#parameter-resourceselectors) | array | The resource selector list to filter policies by resource properties. Facilitates safe deployment practices (SDP) by enabling gradual roll out policy assignments based on factors like resource location, resource type, or whether a resource has a location. |
+| [`roleDefinitionIds`](#parameter-roledefinitionids) | array | The IDs Of the Azure Role Definition list that is used to assign permissions to the identity. You need to provide either the fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.. See https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles for the list IDs for built-in Roles. They must match on what is on the policy definition. |
+| [`userAssignedIdentityId`](#parameter-userassignedidentityid) | string | The Resource ID for the user assigned identity to assign to the policy assignment. |
+
+### Parameter: `description`
+
+This message will be part of response in case of policy violation.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `displayName`
+
+The display name of the policy assignment. Maximum length is 128 characters.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `enforcementMode`
+
+The policy assignment enforcement mode. Possible values are Default and DoNotEnforce. - Default or DoNotEnforce.
+- Required: No
+- Type: string
+- Default: `'Default'`
+- Allowed: `[Default, DoNotEnforce]`
+
+### Parameter: `identity`
+
+The managed identity associated with the policy assignment. Policy assignments must include a resource identity when assigning 'Modify' policy definitions.
+- Required: No
+- Type: string
+- Default: `'SystemAssigned'`
+- Allowed: `[None, SystemAssigned, UserAssigned]`
+
+### Parameter: `location`
+
+Location for all resources.
+- Required: No
+- Type: string
+- Default: `[deployment().location]`
+
+### Parameter: `managementGroupId`
+
+The Target Scope for the Policy. The name of the management group for the policy assignment. If not provided, will use the current scope for deployment.
+- Required: No
+- Type: string
+- Default: `[managementGroup().name]`
+
+### Parameter: `metadata`
+
+The policy assignment metadata. Metadata is an open ended object and is typically a collection of key-value pairs.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `name`
+
+Specifies the name of the policy assignment. Maximum length is 24 characters for management group scope.
+- Required: Yes
+- Type: string
+
+### Parameter: `nonComplianceMessages`
+
+The messages that describe why a resource is non-compliant with the policy.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `notScopes`
+
+The policy excluded scopes.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `overrides`
+
+The policy property value override. Allows changing the effect of a policy definition without modifying the underlying policy definition or using a parameterized effect in the policy definition.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `parameters`
+
+Parameters for the policy assignment if needed.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `policyDefinitionId`
+
+Specifies the ID of the policy definition or policy set definition being assigned.
+- Required: Yes
+- Type: string
+
+### Parameter: `resourceSelectors`
+
+The resource selector list to filter policies by resource properties. Facilitates safe deployment practices (SDP) by enabling gradual roll out policy assignments based on factors like resource location, resource type, or whether a resource has a location.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `roleDefinitionIds`
+
+The IDs Of the Azure Role Definition list that is used to assign permissions to the identity. You need to provide either the fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.. See https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles for the list IDs for built-in Roles. They must match on what is on the policy definition.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `userAssignedIdentityId`
+
+The Resource ID for the user assigned identity to assign to the policy assignment.
+- Required: No
+- Type: string
+- Default: `''`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `location` | string | The location the resource was deployed into. |
| `name` | string | Policy Assignment Name. |
diff --git a/modules/authorization/policy-assignment/management-group/main.json b/modules/authorization/policy-assignment/management-group/main.json
index 1f346ad116..5041a99c35 100644
--- a/modules/authorization/policy-assignment/management-group/main.json
+++ b/modules/authorization/policy-assignment/management-group/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "8902545451587564927"
+ "version": "0.22.6.54827",
+ "templateHash": "14811948404877688716"
},
"name": "Policy Assignments (Management Group scope)",
"description": "This module deploys a Policy Assignment at a Management Group scope.",
diff --git a/modules/authorization/policy-assignment/resource-group/README.md b/modules/authorization/policy-assignment/resource-group/README.md
index 6ed90b07ac..fa03fd32ea 100644
--- a/modules/authorization/policy-assignment/resource-group/README.md
+++ b/modules/authorization/policy-assignment/resource-group/README.md
@@ -20,36 +20,162 @@ This module deploys a Policy Assignment at a Resource Group scope.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `name` | string | Specifies the name of the policy assignment. Maximum length is 64 characters for resource group scope. |
-| `policyDefinitionId` | string | Specifies the ID of the policy definition or policy set definition being assigned. |
+| [`name`](#parameter-name) | string | Specifies the name of the policy assignment. Maximum length is 64 characters for resource group scope. |
+| [`policyDefinitionId`](#parameter-policydefinitionid) | string | Specifies the ID of the policy definition or policy set definition being assigned. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `description` | string | `''` | | This message will be part of response in case of policy violation. |
-| `displayName` | string | `''` | | The display name of the policy assignment. Maximum length is 128 characters. |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `enforcementMode` | string | `'Default'` | `[Default, DoNotEnforce]` | The policy assignment enforcement mode. Possible values are Default and DoNotEnforce. - Default or DoNotEnforce. |
-| `identity` | string | `'SystemAssigned'` | `[None, SystemAssigned, UserAssigned]` | The managed identity associated with the policy assignment. Policy assignments must include a resource identity when assigning 'Modify' policy definitions. |
-| `location` | string | `[resourceGroup().location]` | | Location for all resources. |
-| `metadata` | object | `{object}` | | The policy assignment metadata. Metadata is an open ended object and is typically a collection of key-value pairs. |
-| `nonComplianceMessages` | array | `[]` | | The messages that describe why a resource is non-compliant with the policy. |
-| `notScopes` | array | `[]` | | The policy excluded scopes. |
-| `overrides` | array | `[]` | | The policy property value override. Allows changing the effect of a policy definition without modifying the underlying policy definition or using a parameterized effect in the policy definition. |
-| `parameters` | object | `{object}` | | Parameters for the policy assignment if needed. |
-| `resourceGroupName` | string | `[resourceGroup().name]` | | The Target Scope for the Policy. The name of the resource group for the policy assignment. If not provided, will use the current scope for deployment. |
-| `resourceSelectors` | array | `[]` | | The resource selector list to filter policies by resource properties. Facilitates safe deployment practices (SDP) by enabling gradual roll out policy assignments based on factors like resource location, resource type, or whether a resource has a location. |
-| `roleDefinitionIds` | array | `[]` | | The IDs Of the Azure Role Definition list that is used to assign permissions to the identity. You need to provide either the fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.. See https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles for the list IDs for built-in Roles. They must match on what is on the policy definition. |
-| `subscriptionId` | string | `[subscription().subscriptionId]` | | The Target Scope for the Policy. The subscription ID of the subscription for the policy assignment. If not provided, will use the current scope for deployment. |
-| `userAssignedIdentityId` | string | `''` | | The Resource ID for the user assigned identity to assign to the policy assignment. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`description`](#parameter-description) | string | This message will be part of response in case of policy violation. |
+| [`displayName`](#parameter-displayname) | string | The display name of the policy assignment. Maximum length is 128 characters. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`enforcementMode`](#parameter-enforcementmode) | string | The policy assignment enforcement mode. Possible values are Default and DoNotEnforce. - Default or DoNotEnforce. |
+| [`identity`](#parameter-identity) | string | The managed identity associated with the policy assignment. Policy assignments must include a resource identity when assigning 'Modify' policy definitions. |
+| [`location`](#parameter-location) | string | Location for all resources. |
+| [`metadata`](#parameter-metadata) | object | The policy assignment metadata. Metadata is an open ended object and is typically a collection of key-value pairs. |
+| [`nonComplianceMessages`](#parameter-noncompliancemessages) | array | The messages that describe why a resource is non-compliant with the policy. |
+| [`notScopes`](#parameter-notscopes) | array | The policy excluded scopes. |
+| [`overrides`](#parameter-overrides) | array | The policy property value override. Allows changing the effect of a policy definition without modifying the underlying policy definition or using a parameterized effect in the policy definition. |
+| [`parameters`](#parameter-parameters) | object | Parameters for the policy assignment if needed. |
+| [`resourceGroupName`](#parameter-resourcegroupname) | string | The Target Scope for the Policy. The name of the resource group for the policy assignment. If not provided, will use the current scope for deployment. |
+| [`resourceSelectors`](#parameter-resourceselectors) | array | The resource selector list to filter policies by resource properties. Facilitates safe deployment practices (SDP) by enabling gradual roll out policy assignments based on factors like resource location, resource type, or whether a resource has a location. |
+| [`roleDefinitionIds`](#parameter-roledefinitionids) | array | The IDs Of the Azure Role Definition list that is used to assign permissions to the identity. You need to provide either the fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.. See https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles for the list IDs for built-in Roles. They must match on what is on the policy definition. |
+| [`subscriptionId`](#parameter-subscriptionid) | string | The Target Scope for the Policy. The subscription ID of the subscription for the policy assignment. If not provided, will use the current scope for deployment. |
+| [`userAssignedIdentityId`](#parameter-userassignedidentityid) | string | The Resource ID for the user assigned identity to assign to the policy assignment. |
+
+### Parameter: `description`
+
+This message will be part of response in case of policy violation.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `displayName`
+
+The display name of the policy assignment. Maximum length is 128 characters.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `enforcementMode`
+
+The policy assignment enforcement mode. Possible values are Default and DoNotEnforce. - Default or DoNotEnforce.
+- Required: No
+- Type: string
+- Default: `'Default'`
+- Allowed: `[Default, DoNotEnforce]`
+
+### Parameter: `identity`
+
+The managed identity associated with the policy assignment. Policy assignments must include a resource identity when assigning 'Modify' policy definitions.
+- Required: No
+- Type: string
+- Default: `'SystemAssigned'`
+- Allowed: `[None, SystemAssigned, UserAssigned]`
+
+### Parameter: `location`
+
+Location for all resources.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `metadata`
+
+The policy assignment metadata. Metadata is an open ended object and is typically a collection of key-value pairs.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `name`
+
+Specifies the name of the policy assignment. Maximum length is 64 characters for resource group scope.
+- Required: Yes
+- Type: string
+
+### Parameter: `nonComplianceMessages`
+
+The messages that describe why a resource is non-compliant with the policy.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `notScopes`
+
+The policy excluded scopes.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `overrides`
+
+The policy property value override. Allows changing the effect of a policy definition without modifying the underlying policy definition or using a parameterized effect in the policy definition.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `parameters`
+
+Parameters for the policy assignment if needed.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `policyDefinitionId`
+
+Specifies the ID of the policy definition or policy set definition being assigned.
+- Required: Yes
+- Type: string
+
+### Parameter: `resourceGroupName`
+
+The Target Scope for the Policy. The name of the resource group for the policy assignment. If not provided, will use the current scope for deployment.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().name]`
+
+### Parameter: `resourceSelectors`
+
+The resource selector list to filter policies by resource properties. Facilitates safe deployment practices (SDP) by enabling gradual roll out policy assignments based on factors like resource location, resource type, or whether a resource has a location.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `roleDefinitionIds`
+
+The IDs Of the Azure Role Definition list that is used to assign permissions to the identity. You need to provide either the fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.. See https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles for the list IDs for built-in Roles. They must match on what is on the policy definition.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `subscriptionId`
+
+The Target Scope for the Policy. The subscription ID of the subscription for the policy assignment. If not provided, will use the current scope for deployment.
+- Required: No
+- Type: string
+- Default: `[subscription().subscriptionId]`
+
+### Parameter: `userAssignedIdentityId`
+
+The Resource ID for the user assigned identity to assign to the policy assignment.
+- Required: No
+- Type: string
+- Default: `''`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `location` | string | The location the resource was deployed into. |
| `name` | string | Policy Assignment Name. |
diff --git a/modules/authorization/policy-assignment/resource-group/main.json b/modules/authorization/policy-assignment/resource-group/main.json
index 91b95356eb..65912a4b91 100644
--- a/modules/authorization/policy-assignment/resource-group/main.json
+++ b/modules/authorization/policy-assignment/resource-group/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "18205418867751406787"
+ "version": "0.22.6.54827",
+ "templateHash": "15032410491892224041"
},
"name": "Policy Assignments (Resource Group scope)",
"description": "This module deploys a Policy Assignment at a Resource Group scope.",
diff --git a/modules/authorization/policy-assignment/subscription/README.md b/modules/authorization/policy-assignment/subscription/README.md
index 26810db431..c861c6e6c7 100644
--- a/modules/authorization/policy-assignment/subscription/README.md
+++ b/modules/authorization/policy-assignment/subscription/README.md
@@ -20,35 +20,154 @@ This module deploys a Policy Assignment at a Subscription scope.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `name` | string | Specifies the name of the policy assignment. Maximum length is 64 characters for subscription scope. |
-| `policyDefinitionId` | string | Specifies the ID of the policy definition or policy set definition being assigned. |
+| [`name`](#parameter-name) | string | Specifies the name of the policy assignment. Maximum length is 64 characters for subscription scope. |
+| [`policyDefinitionId`](#parameter-policydefinitionid) | string | Specifies the ID of the policy definition or policy set definition being assigned. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `description` | string | `''` | | This message will be part of response in case of policy violation. |
-| `displayName` | string | `''` | | The display name of the policy assignment. Maximum length is 128 characters. |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `enforcementMode` | string | `'Default'` | `[Default, DoNotEnforce]` | The policy assignment enforcement mode. Possible values are Default and DoNotEnforce. - Default or DoNotEnforce. |
-| `identity` | string | `'SystemAssigned'` | `[None, SystemAssigned, UserAssigned]` | The managed identity associated with the policy assignment. Policy assignments must include a resource identity when assigning 'Modify' policy definitions. |
-| `location` | string | `[deployment().location]` | | Location for all resources. |
-| `metadata` | object | `{object}` | | The policy assignment metadata. Metadata is an open ended object and is typically a collection of key-value pairs. |
-| `nonComplianceMessages` | array | `[]` | | The messages that describe why a resource is non-compliant with the policy. |
-| `notScopes` | array | `[]` | | The policy excluded scopes. |
-| `overrides` | array | `[]` | | The policy property value override. Allows changing the effect of a policy definition without modifying the underlying policy definition or using a parameterized effect in the policy definition. |
-| `parameters` | object | `{object}` | | Parameters for the policy assignment if needed. |
-| `resourceSelectors` | array | `[]` | | The resource selector list to filter policies by resource properties. Facilitates safe deployment practices (SDP) by enabling gradual roll out policy assignments based on factors like resource location, resource type, or whether a resource has a location. |
-| `roleDefinitionIds` | array | `[]` | | The IDs Of the Azure Role Definition list that is used to assign permissions to the identity. You need to provide either the fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.. See https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles for the list IDs for built-in Roles. They must match on what is on the policy definition. |
-| `subscriptionId` | string | `[subscription().subscriptionId]` | | The Target Scope for the Policy. The subscription ID of the subscription for the policy assignment. If not provided, will use the current scope for deployment. |
-| `userAssignedIdentityId` | string | `''` | | The Resource ID for the user assigned identity to assign to the policy assignment. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`description`](#parameter-description) | string | This message will be part of response in case of policy violation. |
+| [`displayName`](#parameter-displayname) | string | The display name of the policy assignment. Maximum length is 128 characters. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`enforcementMode`](#parameter-enforcementmode) | string | The policy assignment enforcement mode. Possible values are Default and DoNotEnforce. - Default or DoNotEnforce. |
+| [`identity`](#parameter-identity) | string | The managed identity associated with the policy assignment. Policy assignments must include a resource identity when assigning 'Modify' policy definitions. |
+| [`location`](#parameter-location) | string | Location for all resources. |
+| [`metadata`](#parameter-metadata) | object | The policy assignment metadata. Metadata is an open ended object and is typically a collection of key-value pairs. |
+| [`nonComplianceMessages`](#parameter-noncompliancemessages) | array | The messages that describe why a resource is non-compliant with the policy. |
+| [`notScopes`](#parameter-notscopes) | array | The policy excluded scopes. |
+| [`overrides`](#parameter-overrides) | array | The policy property value override. Allows changing the effect of a policy definition without modifying the underlying policy definition or using a parameterized effect in the policy definition. |
+| [`parameters`](#parameter-parameters) | object | Parameters for the policy assignment if needed. |
+| [`resourceSelectors`](#parameter-resourceselectors) | array | The resource selector list to filter policies by resource properties. Facilitates safe deployment practices (SDP) by enabling gradual roll out policy assignments based on factors like resource location, resource type, or whether a resource has a location. |
+| [`roleDefinitionIds`](#parameter-roledefinitionids) | array | The IDs Of the Azure Role Definition list that is used to assign permissions to the identity. You need to provide either the fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.. See https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles for the list IDs for built-in Roles. They must match on what is on the policy definition. |
+| [`subscriptionId`](#parameter-subscriptionid) | string | The Target Scope for the Policy. The subscription ID of the subscription for the policy assignment. If not provided, will use the current scope for deployment. |
+| [`userAssignedIdentityId`](#parameter-userassignedidentityid) | string | The Resource ID for the user assigned identity to assign to the policy assignment. |
+
+### Parameter: `description`
+
+This message will be part of response in case of policy violation.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `displayName`
+
+The display name of the policy assignment. Maximum length is 128 characters.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `enforcementMode`
+
+The policy assignment enforcement mode. Possible values are Default and DoNotEnforce. - Default or DoNotEnforce.
+- Required: No
+- Type: string
+- Default: `'Default'`
+- Allowed: `[Default, DoNotEnforce]`
+
+### Parameter: `identity`
+
+The managed identity associated with the policy assignment. Policy assignments must include a resource identity when assigning 'Modify' policy definitions.
+- Required: No
+- Type: string
+- Default: `'SystemAssigned'`
+- Allowed: `[None, SystemAssigned, UserAssigned]`
+
+### Parameter: `location`
+
+Location for all resources.
+- Required: No
+- Type: string
+- Default: `[deployment().location]`
+
+### Parameter: `metadata`
+
+The policy assignment metadata. Metadata is an open ended object and is typically a collection of key-value pairs.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `name`
+
+Specifies the name of the policy assignment. Maximum length is 64 characters for subscription scope.
+- Required: Yes
+- Type: string
+
+### Parameter: `nonComplianceMessages`
+
+The messages that describe why a resource is non-compliant with the policy.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `notScopes`
+
+The policy excluded scopes.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `overrides`
+
+The policy property value override. Allows changing the effect of a policy definition without modifying the underlying policy definition or using a parameterized effect in the policy definition.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `parameters`
+
+Parameters for the policy assignment if needed.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `policyDefinitionId`
+
+Specifies the ID of the policy definition or policy set definition being assigned.
+- Required: Yes
+- Type: string
+
+### Parameter: `resourceSelectors`
+
+The resource selector list to filter policies by resource properties. Facilitates safe deployment practices (SDP) by enabling gradual roll out policy assignments based on factors like resource location, resource type, or whether a resource has a location.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `roleDefinitionIds`
+
+The IDs Of the Azure Role Definition list that is used to assign permissions to the identity. You need to provide either the fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.. See https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles for the list IDs for built-in Roles. They must match on what is on the policy definition.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `subscriptionId`
+
+The Target Scope for the Policy. The subscription ID of the subscription for the policy assignment. If not provided, will use the current scope for deployment.
+- Required: No
+- Type: string
+- Default: `[subscription().subscriptionId]`
+
+### Parameter: `userAssignedIdentityId`
+
+The Resource ID for the user assigned identity to assign to the policy assignment.
+- Required: No
+- Type: string
+- Default: `''`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `location` | string | The location the resource was deployed into. |
| `name` | string | Policy Assignment Name. |
diff --git a/modules/authorization/policy-assignment/subscription/main.json b/modules/authorization/policy-assignment/subscription/main.json
index 24a4662eca..5d6deb533a 100644
--- a/modules/authorization/policy-assignment/subscription/main.json
+++ b/modules/authorization/policy-assignment/subscription/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "13568773713405945676"
+ "version": "0.22.6.54827",
+ "templateHash": "1296030047986147440"
},
"name": "Policy Assignments (Subscription scope)",
"description": "This module deploys a Policy Assignment at a Subscription scope.",
diff --git a/modules/authorization/policy-definition/README.md b/modules/authorization/policy-definition/README.md
index eea97f4ec3..97138d3db8 100644
--- a/modules/authorization/policy-definition/README.md
+++ b/modules/authorization/policy-definition/README.md
@@ -4,70 +4,40 @@ This module deploys a Policy Definition at a Management Group or Subscription sc
## Navigation
-- [Resource types](#Resource-types)
+- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
- [Notes](#Notes)
-## Resource types
+## Resource Types
| Resource Type | API Version |
| :-- | :-- |
| `Microsoft.Authorization/policyDefinitions` | [2021-06-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2021-06-01/policyDefinitions) |
-## Parameters
-
-**Required parameters**
-
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | Specifies the name of the policy definition. Maximum length is 64 characters for management group scope and subscription scope. |
-| `policyRule` | object | The Policy Rule details for the Policy Definition. |
-
-**Optional parameters**
-
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `description` | string | `''` | | The policy definition description. |
-| `displayName` | string | `''` | | The display name of the policy definition. Maximum length is 128 characters. |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `location` | string | `[deployment().location]` | | Location deployment metadata. |
-| `managementGroupId` | string | `[managementGroup().name]` | | The group ID of the Management Group (Scope). If not provided, will use the current scope for deployment. |
-| `metadata` | object | `{object}` | | The policy Definition metadata. Metadata is an open ended object and is typically a collection of key-value pairs. |
-| `mode` | string | `'All'` | `[All, Indexed, Microsoft.ContainerService.Data, Microsoft.KeyVault.Data, Microsoft.Kubernetes.Data, Microsoft.Network.Data]` | The policy definition mode. Default is All, Some examples are All, Indexed, Microsoft.KeyVault.Data. |
-| `parameters` | object | `{object}` | | The policy definition parameters that can be used in policy definition references. |
-| `subscriptionId` | string | `''` | | The subscription ID of the subscription (Scope). Cannot be used with managementGroupId. |
-
-
-## Outputs
-
-| Output Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | Policy Definition Name. |
-| `resourceId` | string | Policy Definition resource ID. |
-| `roleDefinitionIds` | array | Policy Definition Role Definition IDs. |
+## Usage examples
-## Cross-referenced modules
-
-_None_
+The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository.
-## Deployment examples
+>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder.
- >**Note**: The name of each example is based on the name of the file from which it is taken.
+>**Note**: To reference the module, please use the following syntax `br:bicep/modules/authorization.policy-definition:1.0.0`.
- >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
+- [Mg.Common](#example-1-mgcommon)
+- [Mg.Min](#example-2-mgmin)
+- [Sub.Common](#example-3-subcommon)
+- [Sub.Min](#example-4-submin)
-
-
-
-
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | Specifies the name of the policy definition. Maximum length is 64 characters for management group scope and subscription scope. |
+| [`policyRule`](#parameter-policyrule) | object | The Policy Rule details for the Policy Definition. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`description`](#parameter-description) | string | The policy definition description. |
+| [`displayName`](#parameter-displayname) | string | The display name of the policy definition. Maximum length is 128 characters. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`location`](#parameter-location) | string | Location deployment metadata. |
+| [`managementGroupId`](#parameter-managementgroupid) | string | The group ID of the Management Group (Scope). If not provided, will use the current scope for deployment. |
+| [`metadata`](#parameter-metadata) | object | The policy Definition metadata. Metadata is an open ended object and is typically a collection of key-value pairs. |
+| [`mode`](#parameter-mode) | string | The policy definition mode. Default is All, Some examples are All, Indexed, Microsoft.KeyVault.Data. |
+| [`parameters`](#parameter-parameters) | object | The policy definition parameters that can be used in policy definition references. |
+| [`subscriptionId`](#parameter-subscriptionid) | string | The subscription ID of the subscription (Scope). Cannot be used with managementGroupId. |
+
+### Parameter: `description`
+
+The policy definition description.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `displayName`
+
+The display name of the policy definition. Maximum length is 128 characters.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `location`
+
+Location deployment metadata.
+- Required: No
+- Type: string
+- Default: `[deployment().location]`
+
+### Parameter: `managementGroupId`
+
+The group ID of the Management Group (Scope). If not provided, will use the current scope for deployment.
+- Required: No
+- Type: string
+- Default: `[managementGroup().name]`
+
+### Parameter: `metadata`
+
+The policy Definition metadata. Metadata is an open ended object and is typically a collection of key-value pairs.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `mode`
+
+The policy definition mode. Default is All, Some examples are All, Indexed, Microsoft.KeyVault.Data.
+- Required: No
+- Type: string
+- Default: `'All'`
+- Allowed: `[All, Indexed, Microsoft.ContainerService.Data, Microsoft.KeyVault.Data, Microsoft.Kubernetes.Data, Microsoft.Network.Data]`
+
+### Parameter: `name`
+
+Specifies the name of the policy definition. Maximum length is 64 characters for management group scope and subscription scope.
+- Required: Yes
+- Type: string
+
+### Parameter: `parameters`
+
+The policy definition parameters that can be used in policy definition references.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `policyRule`
+
+The Policy Rule details for the Policy Definition.
+- Required: Yes
+- Type: object
+
+### Parameter: `subscriptionId`
+
+The subscription ID of the subscription (Scope). Cannot be used with managementGroupId.
+- Required: No
+- Type: string
+- Default: `''`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `name` | string | Policy Definition Name. |
+| `resourceId` | string | Policy Definition resource ID. |
+| `roleDefinitionIds` | array | Policy Definition Role Definition IDs. |
+
+## Cross-referenced modules
+
+_None_
+
## Notes
### Module Usage Guidance
diff --git a/modules/authorization/policy-definition/main.json b/modules/authorization/policy-definition/main.json
index 2d366af87f..0667382c4a 100644
--- a/modules/authorization/policy-definition/main.json
+++ b/modules/authorization/policy-definition/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "15749498802750084340"
+ "version": "0.22.6.54827",
+ "templateHash": "12398926446776214850"
},
"name": "Policy Definitions (All scopes)",
"description": "This module deploys a Policy Definition at a Management Group or Subscription scope.",
@@ -156,8 +156,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "17859945353406314149"
+ "version": "0.22.6.54827",
+ "templateHash": "3632302304949681871"
},
"name": "Policy Definitions (Management Group scope)",
"description": "This module deploys a Policy Definition at a Management Group scope.",
@@ -332,8 +332,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "7453988849629465072"
+ "version": "0.22.6.54827",
+ "templateHash": "15610043692526006499"
},
"name": "Policy Definitions (Subscription scope)",
"description": "This module deploys a Policy Definition at a Subscription scope.",
diff --git a/modules/authorization/policy-definition/management-group/README.md b/modules/authorization/policy-definition/management-group/README.md
index 01780427c6..d09b6aad3e 100644
--- a/modules/authorization/policy-definition/management-group/README.md
+++ b/modules/authorization/policy-definition/management-group/README.md
@@ -19,27 +19,89 @@ This module deploys a Policy Definition at a Management Group scope.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `name` | string | Specifies the name of the policy definition. Maximum length is 64 characters. |
-| `policyRule` | object | The Policy Rule details for the Policy Definition. |
+| [`name`](#parameter-name) | string | Specifies the name of the policy definition. Maximum length is 64 characters. |
+| [`policyRule`](#parameter-policyrule) | object | The Policy Rule details for the Policy Definition. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `description` | string | `''` | | The policy definition description. |
-| `displayName` | string | `''` | | The display name of the policy definition. Maximum length is 128 characters. |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `location` | string | `[deployment().location]` | | Location deployment metadata. |
-| `metadata` | object | `{object}` | | The policy Definition metadata. Metadata is an open ended object and is typically a collection of key-value pairs. |
-| `mode` | string | `'All'` | `[All, Indexed, Microsoft.ContainerService.Data, Microsoft.KeyVault.Data, Microsoft.Kubernetes.Data, Microsoft.Network.Data]` | The policy definition mode. Default is All, Some examples are All, Indexed, Microsoft.KeyVault.Data. |
-| `parameters` | object | `{object}` | | The policy definition parameters that can be used in policy definition references. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`description`](#parameter-description) | string | The policy definition description. |
+| [`displayName`](#parameter-displayname) | string | The display name of the policy definition. Maximum length is 128 characters. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`location`](#parameter-location) | string | Location deployment metadata. |
+| [`metadata`](#parameter-metadata) | object | The policy Definition metadata. Metadata is an open ended object and is typically a collection of key-value pairs. |
+| [`mode`](#parameter-mode) | string | The policy definition mode. Default is All, Some examples are All, Indexed, Microsoft.KeyVault.Data. |
+| [`parameters`](#parameter-parameters) | object | The policy definition parameters that can be used in policy definition references. |
+
+### Parameter: `description`
+
+The policy definition description.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `displayName`
+
+The display name of the policy definition. Maximum length is 128 characters.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `location`
+
+Location deployment metadata.
+- Required: No
+- Type: string
+- Default: `[deployment().location]`
+
+### Parameter: `metadata`
+
+The policy Definition metadata. Metadata is an open ended object and is typically a collection of key-value pairs.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `mode`
+
+The policy definition mode. Default is All, Some examples are All, Indexed, Microsoft.KeyVault.Data.
+- Required: No
+- Type: string
+- Default: `'All'`
+- Allowed: `[All, Indexed, Microsoft.ContainerService.Data, Microsoft.KeyVault.Data, Microsoft.Kubernetes.Data, Microsoft.Network.Data]`
+
+### Parameter: `name`
+
+Specifies the name of the policy definition. Maximum length is 64 characters.
+- Required: Yes
+- Type: string
+
+### Parameter: `parameters`
+
+The policy definition parameters that can be used in policy definition references.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `policyRule`
+
+The Policy Rule details for the Policy Definition.
+- Required: Yes
+- Type: object
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | Policy Definition Name. |
| `resourceId` | string | Policy Definition resource ID. |
diff --git a/modules/authorization/policy-definition/management-group/main.json b/modules/authorization/policy-definition/management-group/main.json
index c1d82a9803..0c99261e72 100644
--- a/modules/authorization/policy-definition/management-group/main.json
+++ b/modules/authorization/policy-definition/management-group/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "14890815799488372081"
+ "version": "0.22.6.54827",
+ "templateHash": "3632302304949681871"
},
"name": "Policy Definitions (Management Group scope)",
"description": "This module deploys a Policy Definition at a Management Group scope.",
diff --git a/modules/authorization/policy-definition/subscription/README.md b/modules/authorization/policy-definition/subscription/README.md
index 2557236387..acb2ee448d 100644
--- a/modules/authorization/policy-definition/subscription/README.md
+++ b/modules/authorization/policy-definition/subscription/README.md
@@ -19,27 +19,89 @@ This module deploys a Policy Definition at a Subscription scope.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `name` | string | Specifies the name of the policy definition. Maximum length is 64 characters. |
-| `policyRule` | object | The Policy Rule details for the Policy Definition. |
+| [`name`](#parameter-name) | string | Specifies the name of the policy definition. Maximum length is 64 characters. |
+| [`policyRule`](#parameter-policyrule) | object | The Policy Rule details for the Policy Definition. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `description` | string | `''` | | The policy definition description. |
-| `displayName` | string | `''` | | The display name of the policy definition. Maximum length is 128 characters. |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `location` | string | `[deployment().location]` | | Location deployment metadata. |
-| `metadata` | object | `{object}` | | The policy Definition metadata. Metadata is an open ended object and is typically a collection of key-value pairs. |
-| `mode` | string | `'All'` | `[All, Indexed, Microsoft.ContainerService.Data, Microsoft.KeyVault.Data, Microsoft.Kubernetes.Data, Microsoft.Network.Data]` | The policy definition mode. Default is All, Some examples are All, Indexed, Microsoft.KeyVault.Data. |
-| `parameters` | object | `{object}` | | The policy definition parameters that can be used in policy definition references. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`description`](#parameter-description) | string | The policy definition description. |
+| [`displayName`](#parameter-displayname) | string | The display name of the policy definition. Maximum length is 128 characters. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`location`](#parameter-location) | string | Location deployment metadata. |
+| [`metadata`](#parameter-metadata) | object | The policy Definition metadata. Metadata is an open ended object and is typically a collection of key-value pairs. |
+| [`mode`](#parameter-mode) | string | The policy definition mode. Default is All, Some examples are All, Indexed, Microsoft.KeyVault.Data. |
+| [`parameters`](#parameter-parameters) | object | The policy definition parameters that can be used in policy definition references. |
+
+### Parameter: `description`
+
+The policy definition description.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `displayName`
+
+The display name of the policy definition. Maximum length is 128 characters.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `location`
+
+Location deployment metadata.
+- Required: No
+- Type: string
+- Default: `[deployment().location]`
+
+### Parameter: `metadata`
+
+The policy Definition metadata. Metadata is an open ended object and is typically a collection of key-value pairs.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `mode`
+
+The policy definition mode. Default is All, Some examples are All, Indexed, Microsoft.KeyVault.Data.
+- Required: No
+- Type: string
+- Default: `'All'`
+- Allowed: `[All, Indexed, Microsoft.ContainerService.Data, Microsoft.KeyVault.Data, Microsoft.Kubernetes.Data, Microsoft.Network.Data]`
+
+### Parameter: `name`
+
+Specifies the name of the policy definition. Maximum length is 64 characters.
+- Required: Yes
+- Type: string
+
+### Parameter: `parameters`
+
+The policy definition parameters that can be used in policy definition references.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `policyRule`
+
+The Policy Rule details for the Policy Definition.
+- Required: Yes
+- Type: object
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | Policy Definition Name. |
| `resourceId` | string | Policy Definition resource ID. |
diff --git a/modules/authorization/policy-definition/subscription/main.json b/modules/authorization/policy-definition/subscription/main.json
index 9d45f6df13..d765d1b498 100644
--- a/modules/authorization/policy-definition/subscription/main.json
+++ b/modules/authorization/policy-definition/subscription/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "14434059777291440353"
+ "version": "0.22.6.54827",
+ "templateHash": "15610043692526006499"
},
"name": "Policy Definitions (Subscription scope)",
"description": "This module deploys a Policy Definition at a Subscription scope.",
diff --git a/modules/authorization/policy-exemption/README.md b/modules/authorization/policy-exemption/README.md
index 50aeb359a3..c7ed13229a 100644
--- a/modules/authorization/policy-exemption/README.md
+++ b/modules/authorization/policy-exemption/README.md
@@ -4,74 +4,42 @@ This module deploys a Policy Exemption at a Management Group, Subscription or Re
## Navigation
-- [Resource types](#Resource-types)
+- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
- [Notes](#Notes)
-## Resource types
+## Resource Types
| Resource Type | API Version |
| :-- | :-- |
| `Microsoft.Authorization/policyExemptions` | [2022-07-01-preview](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2022-07-01-preview/policyExemptions) |
-## Parameters
-
-**Required parameters**
-
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | Specifies the name of the policy exemption. Maximum length is 64 characters for management group, subscription and resource group scopes. |
-| `policyAssignmentId` | string | The resource ID of the policy assignment that is being exempted. |
-
-**Optional parameters**
-
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `assignmentScopeValidation` | string | `''` | `['', Default, DoNotValidate]` | The option whether validate the exemption is at or under the assignment scope. |
-| `description` | string | `''` | | The description of the policy exemption. |
-| `displayName` | string | `''` | | The display name of the policy exemption. Maximum length is 128 characters. |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `exemptionCategory` | string | `'Mitigated'` | `[Mitigated, Waiver]` | The policy exemption category. Possible values are Waiver and Mitigated. Default is Mitigated. |
-| `expiresOn` | string | `''` | | The expiration date and time (in UTC ISO 8601 format yyyy-MM-ddTHH:mm:ssZ) of the policy exemption. e.g. 2021-10-02T03:57:00.000Z. |
-| `location` | string | `[deployment().location]` | | Location deployment metadata. |
-| `managementGroupId` | string | `[managementGroup().name]` | | The group ID of the management group to be exempted from the policy assignment. If not provided, will use the current scope for deployment. |
-| `metadata` | object | `{object}` | | The policy exemption metadata. Metadata is an open ended object and is typically a collection of key-value pairs. |
-| `policyDefinitionReferenceIds` | array | `[]` | | The policy definition reference ID list when the associated policy assignment is an assignment of a policy set definition. |
-| `resourceGroupName` | string | `''` | | The name of the resource group to be exempted from the policy assignment. Must also use the subscription ID parameter. |
-| `resourceSelectors` | array | `[]` | | The resource selector list to filter policies by resource properties. |
-| `subscriptionId` | string | `''` | | The subscription ID of the subscription to be exempted from the policy assignment. Cannot use with management group ID parameter. |
-
-
-## Outputs
-
-| Output Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | Policy Exemption Name. |
-| `resourceId` | string | Policy Exemption resource ID. |
-| `scope` | string | Policy Exemption Scope. |
-
-## Cross-referenced modules
+## Usage examples
-_None_
+The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository.
-## Deployment examples
+>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder.
- >**Note**: The name of each example is based on the name of the file from which it is taken.
+>**Note**: To reference the module, please use the following syntax `br:bicep/modules/authorization.policy-exemption:1.0.0`.
- >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
+- [Mg.Common](#example-1-mgcommon)
+- [Mg.Min](#example-2-mgmin)
+- [Rg.Common](#example-3-rgcommon)
+- [Rg.Min](#example-4-rgmin)
+- [Sub.Common](#example-5-subcommon)
+- [Sub.Min](#example-6-submin)
-
-
-
-
-
-
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | Specifies the name of the policy exemption. Maximum length is 64 characters for management group, subscription and resource group scopes. |
+| [`policyAssignmentId`](#parameter-policyassignmentid) | string | The resource ID of the policy assignment that is being exempted. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`assignmentScopeValidation`](#parameter-assignmentscopevalidation) | string | The option whether validate the exemption is at or under the assignment scope. |
+| [`description`](#parameter-description) | string | The description of the policy exemption. |
+| [`displayName`](#parameter-displayname) | string | The display name of the policy exemption. Maximum length is 128 characters. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`exemptionCategory`](#parameter-exemptioncategory) | string | The policy exemption category. Possible values are Waiver and Mitigated. Default is Mitigated. |
+| [`expiresOn`](#parameter-expireson) | string | The expiration date and time (in UTC ISO 8601 format yyyy-MM-ddTHH:mm:ssZ) of the policy exemption. e.g. 2021-10-02T03:57:00.000Z. |
+| [`location`](#parameter-location) | string | Location deployment metadata. |
+| [`managementGroupId`](#parameter-managementgroupid) | string | The group ID of the management group to be exempted from the policy assignment. If not provided, will use the current scope for deployment. |
+| [`metadata`](#parameter-metadata) | object | The policy exemption metadata. Metadata is an open ended object and is typically a collection of key-value pairs. |
+| [`policyDefinitionReferenceIds`](#parameter-policydefinitionreferenceids) | array | The policy definition reference ID list when the associated policy assignment is an assignment of a policy set definition. |
+| [`resourceGroupName`](#parameter-resourcegroupname) | string | The name of the resource group to be exempted from the policy assignment. Must also use the subscription ID parameter. |
+| [`resourceSelectors`](#parameter-resourceselectors) | array | The resource selector list to filter policies by resource properties. |
+| [`subscriptionId`](#parameter-subscriptionid) | string | The subscription ID of the subscription to be exempted from the policy assignment. Cannot use with management group ID parameter. |
+
+### Parameter: `assignmentScopeValidation`
+
+The option whether validate the exemption is at or under the assignment scope.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', Default, DoNotValidate]`
+
+### Parameter: `description`
+
+The description of the policy exemption.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `displayName`
+
+The display name of the policy exemption. Maximum length is 128 characters.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `exemptionCategory`
+
+The policy exemption category. Possible values are Waiver and Mitigated. Default is Mitigated.
+- Required: No
+- Type: string
+- Default: `'Mitigated'`
+- Allowed: `[Mitigated, Waiver]`
+
+### Parameter: `expiresOn`
+
+The expiration date and time (in UTC ISO 8601 format yyyy-MM-ddTHH:mm:ssZ) of the policy exemption. e.g. 2021-10-02T03:57:00.000Z.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `location`
+
+Location deployment metadata.
+- Required: No
+- Type: string
+- Default: `[deployment().location]`
+
+### Parameter: `managementGroupId`
+
+The group ID of the management group to be exempted from the policy assignment. If not provided, will use the current scope for deployment.
+- Required: No
+- Type: string
+- Default: `[managementGroup().name]`
+
+### Parameter: `metadata`
+
+The policy exemption metadata. Metadata is an open ended object and is typically a collection of key-value pairs.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `name`
+
+Specifies the name of the policy exemption. Maximum length is 64 characters for management group, subscription and resource group scopes.
+- Required: Yes
+- Type: string
+
+### Parameter: `policyAssignmentId`
+
+The resource ID of the policy assignment that is being exempted.
+- Required: Yes
+- Type: string
+
+### Parameter: `policyDefinitionReferenceIds`
+
+The policy definition reference ID list when the associated policy assignment is an assignment of a policy set definition.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `resourceGroupName`
+
+The name of the resource group to be exempted from the policy assignment. Must also use the subscription ID parameter.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `resourceSelectors`
+
+The resource selector list to filter policies by resource properties.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `subscriptionId`
+
+The subscription ID of the subscription to be exempted from the policy assignment. Cannot use with management group ID parameter.
+- Required: No
+- Type: string
+- Default: `''`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `name` | string | Policy Exemption Name. |
+| `resourceId` | string | Policy Exemption resource ID. |
+| `scope` | string | Policy Exemption Scope. |
+
+## Cross-referenced modules
+
+_None_
+
## Notes
### Module Usage Guidance
diff --git a/modules/authorization/policy-exemption/main.json b/modules/authorization/policy-exemption/main.json
index a870d46d9b..37bb291bf4 100644
--- a/modules/authorization/policy-exemption/main.json
+++ b/modules/authorization/policy-exemption/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "7537469788100455482"
+ "version": "0.22.6.54827",
+ "templateHash": "5596643679633132129"
},
"name": "Policy Exemptions (All scopes)",
"description": "This module deploys a Policy Exemption at a Management Group, Subscription or Resource Group scope.",
@@ -202,8 +202,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "5811278633353778987"
+ "version": "0.22.6.54827",
+ "templateHash": "5606667569084267633"
},
"name": "Policy Exemptions (Management Group scope)",
"description": "This module deploys a Policy Exemption at a Management Group scope.",
@@ -413,8 +413,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "16790622898117117515"
+ "version": "0.22.6.54827",
+ "templateHash": "10613705515536903891"
},
"name": "Policy Exemptions (Subscription scope)",
"description": "This module deploys a Policy Exemption at a Subscription scope.",
@@ -621,8 +621,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "15066914920145194393"
+ "version": "0.22.6.54827",
+ "templateHash": "17689607806582642174"
},
"name": "Policy Exemptions (Resource Group scope)",
"description": "This module deploys a Policy Exemption at a Resource Group scope.",
diff --git a/modules/authorization/policy-exemption/management-group/README.md b/modules/authorization/policy-exemption/management-group/README.md
index 1bfb787eab..7cca1936a3 100644
--- a/modules/authorization/policy-exemption/management-group/README.md
+++ b/modules/authorization/policy-exemption/management-group/README.md
@@ -19,30 +19,114 @@ This module deploys a Policy Exemption at a Management Group scope.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `name` | string | Specifies the name of the policy exemption. Maximum length is 64 characters for management group scope. |
-| `policyAssignmentId` | string | The resource ID of the policy assignment that is being exempted. |
+| [`name`](#parameter-name) | string | Specifies the name of the policy exemption. Maximum length is 64 characters for management group scope. |
+| [`policyAssignmentId`](#parameter-policyassignmentid) | string | The resource ID of the policy assignment that is being exempted. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `assignmentScopeValidation` | string | `''` | `['', Default, DoNotValidate]` | The option whether validate the exemption is at or under the assignment scope. |
-| `description` | string | `''` | | The description of the policy exemption. |
-| `displayName` | string | `''` | | The display name of the policy assignment. Maximum length is 128 characters. |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `exemptionCategory` | string | `'Mitigated'` | `[Mitigated, Waiver]` | The policy exemption category. Possible values are Waiver and Mitigated. Default is Mitigated. |
-| `expiresOn` | string | `''` | | The expiration date and time (in UTC ISO 8601 format yyyy-MM-ddTHH:mm:ssZ) of the policy exemption. e.g. 2021-10-02T03:57:00.000Z. |
-| `location` | string | `[deployment().location]` | | Location deployment metadata. |
-| `metadata` | object | `{object}` | | The policy exemption metadata. Metadata is an open ended object and is typically a collection of key-value pairs. |
-| `policyDefinitionReferenceIds` | array | `[]` | | The policy definition reference ID list when the associated policy assignment is an assignment of a policy set definition. |
-| `resourceSelectors` | array | `[]` | | The resource selector list to filter policies by resource properties. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`assignmentScopeValidation`](#parameter-assignmentscopevalidation) | string | The option whether validate the exemption is at or under the assignment scope. |
+| [`description`](#parameter-description) | string | The description of the policy exemption. |
+| [`displayName`](#parameter-displayname) | string | The display name of the policy assignment. Maximum length is 128 characters. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`exemptionCategory`](#parameter-exemptioncategory) | string | The policy exemption category. Possible values are Waiver and Mitigated. Default is Mitigated. |
+| [`expiresOn`](#parameter-expireson) | string | The expiration date and time (in UTC ISO 8601 format yyyy-MM-ddTHH:mm:ssZ) of the policy exemption. e.g. 2021-10-02T03:57:00.000Z. |
+| [`location`](#parameter-location) | string | Location deployment metadata. |
+| [`metadata`](#parameter-metadata) | object | The policy exemption metadata. Metadata is an open ended object and is typically a collection of key-value pairs. |
+| [`policyDefinitionReferenceIds`](#parameter-policydefinitionreferenceids) | array | The policy definition reference ID list when the associated policy assignment is an assignment of a policy set definition. |
+| [`resourceSelectors`](#parameter-resourceselectors) | array | The resource selector list to filter policies by resource properties. |
+
+### Parameter: `assignmentScopeValidation`
+
+The option whether validate the exemption is at or under the assignment scope.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', Default, DoNotValidate]`
+
+### Parameter: `description`
+
+The description of the policy exemption.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `displayName`
+
+The display name of the policy assignment. Maximum length is 128 characters.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `exemptionCategory`
+
+The policy exemption category. Possible values are Waiver and Mitigated. Default is Mitigated.
+- Required: No
+- Type: string
+- Default: `'Mitigated'`
+- Allowed: `[Mitigated, Waiver]`
+
+### Parameter: `expiresOn`
+
+The expiration date and time (in UTC ISO 8601 format yyyy-MM-ddTHH:mm:ssZ) of the policy exemption. e.g. 2021-10-02T03:57:00.000Z.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `location`
+
+Location deployment metadata.
+- Required: No
+- Type: string
+- Default: `[deployment().location]`
+
+### Parameter: `metadata`
+
+The policy exemption metadata. Metadata is an open ended object and is typically a collection of key-value pairs.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `name`
+
+Specifies the name of the policy exemption. Maximum length is 64 characters for management group scope.
+- Required: Yes
+- Type: string
+
+### Parameter: `policyAssignmentId`
+
+The resource ID of the policy assignment that is being exempted.
+- Required: Yes
+- Type: string
+
+### Parameter: `policyDefinitionReferenceIds`
+
+The policy definition reference ID list when the associated policy assignment is an assignment of a policy set definition.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `resourceSelectors`
+
+The resource selector list to filter policies by resource properties.
+- Required: No
+- Type: array
+- Default: `[]`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | Policy Exemption Name. |
| `resourceId` | string | Policy Exemption resource ID. |
diff --git a/modules/authorization/policy-exemption/management-group/main.json b/modules/authorization/policy-exemption/management-group/main.json
index 9d9e463ba8..8271a1ee56 100644
--- a/modules/authorization/policy-exemption/management-group/main.json
+++ b/modules/authorization/policy-exemption/management-group/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "17592627855612646241"
+ "version": "0.22.6.54827",
+ "templateHash": "5606667569084267633"
},
"name": "Policy Exemptions (Management Group scope)",
"description": "This module deploys a Policy Exemption at a Management Group scope.",
diff --git a/modules/authorization/policy-exemption/resource-group/README.md b/modules/authorization/policy-exemption/resource-group/README.md
index 7fd6faa68a..cc3f54c9b9 100644
--- a/modules/authorization/policy-exemption/resource-group/README.md
+++ b/modules/authorization/policy-exemption/resource-group/README.md
@@ -19,29 +19,106 @@ This module deploys a Policy Exemption at a Resource Group scope.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `name` | string | Specifies the name of the policy exemption. Maximum length is 64 characters for resource group scope. |
-| `policyAssignmentId` | string | The resource ID of the policy assignment that is being exempted. |
+| [`name`](#parameter-name) | string | Specifies the name of the policy exemption. Maximum length is 64 characters for resource group scope. |
+| [`policyAssignmentId`](#parameter-policyassignmentid) | string | The resource ID of the policy assignment that is being exempted. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `assignmentScopeValidation` | string | `''` | `['', Default, DoNotValidate]` | The option whether validate the exemption is at or under the assignment scope. |
-| `description` | string | `''` | | The description of the policy exemption. |
-| `displayName` | string | `''` | | The display name of the policy exemption. Maximum length is 128 characters. |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `exemptionCategory` | string | `'Mitigated'` | `[Mitigated, Waiver]` | The policy exemption category. Possible values are Waiver and Mitigated. Default is Mitigated. |
-| `expiresOn` | string | `''` | | The expiration date and time (in UTC ISO 8601 format yyyy-MM-ddTHH:mm:ssZ) of the policy exemption. e.g. 2021-10-02T03:57:00.000Z. |
-| `metadata` | object | `{object}` | | The policy exemption metadata. Metadata is an open ended object and is typically a collection of key-value pairs. |
-| `policyDefinitionReferenceIds` | array | `[]` | | The policy definition reference ID list when the associated policy assignment is an assignment of a policy set definition. |
-| `resourceSelectors` | array | `[]` | | The resource selector list to filter policies by resource properties. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`assignmentScopeValidation`](#parameter-assignmentscopevalidation) | string | The option whether validate the exemption is at or under the assignment scope. |
+| [`description`](#parameter-description) | string | The description of the policy exemption. |
+| [`displayName`](#parameter-displayname) | string | The display name of the policy exemption. Maximum length is 128 characters. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`exemptionCategory`](#parameter-exemptioncategory) | string | The policy exemption category. Possible values are Waiver and Mitigated. Default is Mitigated. |
+| [`expiresOn`](#parameter-expireson) | string | The expiration date and time (in UTC ISO 8601 format yyyy-MM-ddTHH:mm:ssZ) of the policy exemption. e.g. 2021-10-02T03:57:00.000Z. |
+| [`metadata`](#parameter-metadata) | object | The policy exemption metadata. Metadata is an open ended object and is typically a collection of key-value pairs. |
+| [`policyDefinitionReferenceIds`](#parameter-policydefinitionreferenceids) | array | The policy definition reference ID list when the associated policy assignment is an assignment of a policy set definition. |
+| [`resourceSelectors`](#parameter-resourceselectors) | array | The resource selector list to filter policies by resource properties. |
+
+### Parameter: `assignmentScopeValidation`
+
+The option whether validate the exemption is at or under the assignment scope.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', Default, DoNotValidate]`
+
+### Parameter: `description`
+
+The description of the policy exemption.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `displayName`
+
+The display name of the policy exemption. Maximum length is 128 characters.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `exemptionCategory`
+
+The policy exemption category. Possible values are Waiver and Mitigated. Default is Mitigated.
+- Required: No
+- Type: string
+- Default: `'Mitigated'`
+- Allowed: `[Mitigated, Waiver]`
+
+### Parameter: `expiresOn`
+
+The expiration date and time (in UTC ISO 8601 format yyyy-MM-ddTHH:mm:ssZ) of the policy exemption. e.g. 2021-10-02T03:57:00.000Z.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `metadata`
+
+The policy exemption metadata. Metadata is an open ended object and is typically a collection of key-value pairs.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `name`
+
+Specifies the name of the policy exemption. Maximum length is 64 characters for resource group scope.
+- Required: Yes
+- Type: string
+
+### Parameter: `policyAssignmentId`
+
+The resource ID of the policy assignment that is being exempted.
+- Required: Yes
+- Type: string
+
+### Parameter: `policyDefinitionReferenceIds`
+
+The policy definition reference ID list when the associated policy assignment is an assignment of a policy set definition.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `resourceSelectors`
+
+The resource selector list to filter policies by resource properties.
+- Required: No
+- Type: array
+- Default: `[]`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | Policy Exemption Name. |
| `resourceGroupName` | string | The name of the resource group the policy exemption was applied at. |
diff --git a/modules/authorization/policy-exemption/resource-group/main.json b/modules/authorization/policy-exemption/resource-group/main.json
index f9d5590f54..8672a1ff5d 100644
--- a/modules/authorization/policy-exemption/resource-group/main.json
+++ b/modules/authorization/policy-exemption/resource-group/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "13048294777047698866"
+ "version": "0.22.6.54827",
+ "templateHash": "17689607806582642174"
},
"name": "Policy Exemptions (Resource Group scope)",
"description": "This module deploys a Policy Exemption at a Resource Group scope.",
diff --git a/modules/authorization/policy-exemption/subscription/README.md b/modules/authorization/policy-exemption/subscription/README.md
index 82e45d2349..8094b8371f 100644
--- a/modules/authorization/policy-exemption/subscription/README.md
+++ b/modules/authorization/policy-exemption/subscription/README.md
@@ -19,30 +19,114 @@ This module deploys a Policy Exemption at a Subscription scope.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `name` | string | Specifies the name of the policy exemption. Maximum length is 64 characters for subscription scope. |
-| `policyAssignmentId` | string | The resource ID of the policy assignment that is being exempted. |
+| [`name`](#parameter-name) | string | Specifies the name of the policy exemption. Maximum length is 64 characters for subscription scope. |
+| [`policyAssignmentId`](#parameter-policyassignmentid) | string | The resource ID of the policy assignment that is being exempted. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `assignmentScopeValidation` | string | `''` | `['', Default, DoNotValidate]` | The option whether validate the exemption is at or under the assignment scope. |
-| `description` | string | `''` | | The description of the policy exemption. |
-| `displayName` | string | `''` | | The display name of the policy exemption. Maximum length is 128 characters. |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `exemptionCategory` | string | `'Mitigated'` | `[Mitigated, Waiver]` | The policy exemption category. Possible values are Waiver and Mitigated. Default is Mitigated. |
-| `expiresOn` | string | `''` | | The expiration date and time (in UTC ISO 8601 format yyyy-MM-ddTHH:mm:ssZ) of the policy exemption. e.g. 2021-10-02T03:57:00.000Z. |
-| `location` | string | `[deployment().location]` | | Location deployment metadata. |
-| `metadata` | object | `{object}` | | The policy exemption metadata. Metadata is an open ended object and is typically a collection of key-value pairs. |
-| `policyDefinitionReferenceIds` | array | `[]` | | The policy definition reference ID list when the associated policy assignment is an assignment of a policy set definition. |
-| `resourceSelectors` | array | `[]` | | The resource selector list to filter policies by resource properties. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`assignmentScopeValidation`](#parameter-assignmentscopevalidation) | string | The option whether validate the exemption is at or under the assignment scope. |
+| [`description`](#parameter-description) | string | The description of the policy exemption. |
+| [`displayName`](#parameter-displayname) | string | The display name of the policy exemption. Maximum length is 128 characters. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`exemptionCategory`](#parameter-exemptioncategory) | string | The policy exemption category. Possible values are Waiver and Mitigated. Default is Mitigated. |
+| [`expiresOn`](#parameter-expireson) | string | The expiration date and time (in UTC ISO 8601 format yyyy-MM-ddTHH:mm:ssZ) of the policy exemption. e.g. 2021-10-02T03:57:00.000Z. |
+| [`location`](#parameter-location) | string | Location deployment metadata. |
+| [`metadata`](#parameter-metadata) | object | The policy exemption metadata. Metadata is an open ended object and is typically a collection of key-value pairs. |
+| [`policyDefinitionReferenceIds`](#parameter-policydefinitionreferenceids) | array | The policy definition reference ID list when the associated policy assignment is an assignment of a policy set definition. |
+| [`resourceSelectors`](#parameter-resourceselectors) | array | The resource selector list to filter policies by resource properties. |
+
+### Parameter: `assignmentScopeValidation`
+
+The option whether validate the exemption is at or under the assignment scope.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', Default, DoNotValidate]`
+
+### Parameter: `description`
+
+The description of the policy exemption.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `displayName`
+
+The display name of the policy exemption. Maximum length is 128 characters.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `exemptionCategory`
+
+The policy exemption category. Possible values are Waiver and Mitigated. Default is Mitigated.
+- Required: No
+- Type: string
+- Default: `'Mitigated'`
+- Allowed: `[Mitigated, Waiver]`
+
+### Parameter: `expiresOn`
+
+The expiration date and time (in UTC ISO 8601 format yyyy-MM-ddTHH:mm:ssZ) of the policy exemption. e.g. 2021-10-02T03:57:00.000Z.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `location`
+
+Location deployment metadata.
+- Required: No
+- Type: string
+- Default: `[deployment().location]`
+
+### Parameter: `metadata`
+
+The policy exemption metadata. Metadata is an open ended object and is typically a collection of key-value pairs.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `name`
+
+Specifies the name of the policy exemption. Maximum length is 64 characters for subscription scope.
+- Required: Yes
+- Type: string
+
+### Parameter: `policyAssignmentId`
+
+The resource ID of the policy assignment that is being exempted.
+- Required: Yes
+- Type: string
+
+### Parameter: `policyDefinitionReferenceIds`
+
+The policy definition reference ID list when the associated policy assignment is an assignment of a policy set definition.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `resourceSelectors`
+
+The resource selector list to filter policies by resource properties.
+- Required: No
+- Type: array
+- Default: `[]`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | Policy Exemption Name. |
| `resourceId` | string | Policy Exemption resource ID. |
diff --git a/modules/authorization/policy-exemption/subscription/main.json b/modules/authorization/policy-exemption/subscription/main.json
index 2418e1af36..b9bce72b18 100644
--- a/modules/authorization/policy-exemption/subscription/main.json
+++ b/modules/authorization/policy-exemption/subscription/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "5067037150154630010"
+ "version": "0.22.6.54827",
+ "templateHash": "10613705515536903891"
},
"name": "Policy Exemptions (Subscription scope)",
"description": "This module deploys a Policy Exemption at a Subscription scope.",
diff --git a/modules/authorization/policy-set-definition/README.md b/modules/authorization/policy-set-definition/README.md
index aba3a1620c..89f2a0fba8 100644
--- a/modules/authorization/policy-set-definition/README.md
+++ b/modules/authorization/policy-set-definition/README.md
@@ -4,69 +4,40 @@ This module deploys a Policy Set Definition (Initiative) at a Management Group o
## Navigation
-- [Resource types](#Resource-types)
+- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
- [Notes](#Notes)
-## Resource types
+## Resource Types
| Resource Type | API Version |
| :-- | :-- |
| `Microsoft.Authorization/policySetDefinitions` | [2021-06-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2021-06-01/policySetDefinitions) |
-## Parameters
-
-**Required parameters**
-
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | Specifies the name of the policy Set Definition (Initiative). |
-| `policyDefinitions` | array | The array of Policy definitions object to include for this policy set. Each object must include the Policy definition ID, and optionally other properties like parameters. |
-
-**Optional parameters**
-
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `description` | string | `''` | The description name of the Set Definition (Initiative). |
-| `displayName` | string | `''` | The display name of the Set Definition (Initiative). Maximum length is 128 characters. |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `location` | string | `[deployment().location]` | Location deployment metadata. |
-| `managementGroupId` | string | `[managementGroup().name]` | The group ID of the Management Group (Scope). If not provided, will use the current scope for deployment. |
-| `metadata` | object | `{object}` | The Set Definition (Initiative) metadata. Metadata is an open ended object and is typically a collection of key-value pairs. |
-| `parameters` | object | `{object}` | The Set Definition (Initiative) parameters that can be used in policy definition references. |
-| `policyDefinitionGroups` | array | `[]` | The metadata describing groups of policy definition references within the Policy Set Definition (Initiative). |
-| `subscriptionId` | string | `''` | The subscription ID of the subscription (Scope). Cannot be used with managementGroupId. |
+## Usage examples
+The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository.
-## Outputs
-
-| Output Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | Policy Set Definition Name. |
-| `resourceId` | string | Policy Set Definition resource ID. |
-
-## Cross-referenced modules
+>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-_None_
+>**Note**: To reference the module, please use the following syntax `br:bicep/modules/authorization.policy-set-definition:1.0.0`.
-## Deployment examples
+- [Mg.Common](#example-1-mgcommon)
+- [Mg.Min](#example-2-mgmin)
+- [Sub.Common](#example-3-subcommon)
+- [Sub.Min](#example-4-submin)
-The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder.
- >**Note**: The name of each example is based on the name of the file from which it is taken.
-
- >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-
-
-
-
-
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | Specifies the name of the policy Set Definition (Initiative). |
+| [`policyDefinitions`](#parameter-policydefinitions) | array | The array of Policy definitions object to include for this policy set. Each object must include the Policy definition ID, and optionally other properties like parameters. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`description`](#parameter-description) | string | The description name of the Set Definition (Initiative). |
+| [`displayName`](#parameter-displayname) | string | The display name of the Set Definition (Initiative). Maximum length is 128 characters. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`location`](#parameter-location) | string | Location deployment metadata. |
+| [`managementGroupId`](#parameter-managementgroupid) | string | The group ID of the Management Group (Scope). If not provided, will use the current scope for deployment. |
+| [`metadata`](#parameter-metadata) | object | The Set Definition (Initiative) metadata. Metadata is an open ended object and is typically a collection of key-value pairs. |
+| [`parameters`](#parameter-parameters) | object | The Set Definition (Initiative) parameters that can be used in policy definition references. |
+| [`policyDefinitionGroups`](#parameter-policydefinitiongroups) | array | The metadata describing groups of policy definition references within the Policy Set Definition (Initiative). |
+| [`subscriptionId`](#parameter-subscriptionid) | string | The subscription ID of the subscription (Scope). Cannot be used with managementGroupId. |
+
+### Parameter: `description`
+
+The description name of the Set Definition (Initiative).
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `displayName`
+
+The display name of the Set Definition (Initiative). Maximum length is 128 characters.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `location`
+
+Location deployment metadata.
+- Required: No
+- Type: string
+- Default: `[deployment().location]`
+
+### Parameter: `managementGroupId`
+
+The group ID of the Management Group (Scope). If not provided, will use the current scope for deployment.
+- Required: No
+- Type: string
+- Default: `[managementGroup().name]`
+
+### Parameter: `metadata`
+
+The Set Definition (Initiative) metadata. Metadata is an open ended object and is typically a collection of key-value pairs.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `name`
+
+Specifies the name of the policy Set Definition (Initiative).
+- Required: Yes
+- Type: string
+
+### Parameter: `parameters`
+
+The Set Definition (Initiative) parameters that can be used in policy definition references.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `policyDefinitionGroups`
+
+The metadata describing groups of policy definition references within the Policy Set Definition (Initiative).
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `policyDefinitions`
+
+The array of Policy definitions object to include for this policy set. Each object must include the Policy definition ID, and optionally other properties like parameters.
+- Required: Yes
+- Type: array
+
+### Parameter: `subscriptionId`
+
+The subscription ID of the subscription (Scope). Cannot be used with managementGroupId.
+- Required: No
+- Type: string
+- Default: `''`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `name` | string | Policy Set Definition Name. |
+| `resourceId` | string | Policy Set Definition resource ID. |
+
+## Cross-referenced modules
+
+_None_
+
## Notes
### Module Usage Guidance
diff --git a/modules/authorization/policy-set-definition/main.json b/modules/authorization/policy-set-definition/main.json
index 4416cb72bf..d0051bf41a 100644
--- a/modules/authorization/policy-set-definition/main.json
+++ b/modules/authorization/policy-set-definition/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "1831706179623308969"
+ "version": "0.22.6.54827",
+ "templateHash": "9153336425223705834"
},
"name": "Policy Set Definitions (Initiatives) (All scopes)",
"description": "This module deploys a Policy Set Definition (Initiative) at a Management Group or Subscription scope.",
@@ -146,8 +146,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "9278231745561513332"
+ "version": "0.22.6.54827",
+ "templateHash": "13574874097410910980"
},
"name": "Policy Set Definitions (Initiatives) (Management Group scope)",
"description": "This module deploys a Policy Set Definition (Initiative) at a Management Group scope.",
@@ -305,8 +305,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "3357776167220688626"
+ "version": "0.22.6.54827",
+ "templateHash": "566743094418434146"
},
"name": "Policy Set Definitions (Initiatives) (Subscription scope)",
"description": "This module deploys a Policy Set Definition (Initiative) at a Subscription scope.",
diff --git a/modules/authorization/policy-set-definition/management-group/README.md b/modules/authorization/policy-set-definition/management-group/README.md
index 40de7bcd60..6e0a971597 100644
--- a/modules/authorization/policy-set-definition/management-group/README.md
+++ b/modules/authorization/policy-set-definition/management-group/README.md
@@ -19,27 +19,88 @@ This module deploys a Policy Set Definition (Initiative) at a Management Group s
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `name` | string | Specifies the name of the policy Set Definition (Initiative). |
-| `policyDefinitions` | array | The array of Policy definitions object to include for this policy set. Each object must include the Policy definition ID, and optionally other properties like parameters. |
+| [`name`](#parameter-name) | string | Specifies the name of the policy Set Definition (Initiative). |
+| [`policyDefinitions`](#parameter-policydefinitions) | array | The array of Policy definitions object to include for this policy set. Each object must include the Policy definition ID, and optionally other properties like parameters. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `description` | string | `''` | The description name of the Set Definition (Initiative). |
-| `displayName` | string | `''` | The display name of the Set Definition (Initiative). Maximum length is 128 characters. |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `location` | string | `[deployment().location]` | Location deployment metadata. |
-| `metadata` | object | `{object}` | The Set Definition (Initiative) metadata. Metadata is an open ended object and is typically a collection of key-value pairs. |
-| `parameters` | object | `{object}` | The Set Definition (Initiative) parameters that can be used in policy definition references. |
-| `policyDefinitionGroups` | array | `[]` | The metadata describing groups of policy definition references within the Policy Set Definition (Initiative). |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`description`](#parameter-description) | string | The description name of the Set Definition (Initiative). |
+| [`displayName`](#parameter-displayname) | string | The display name of the Set Definition (Initiative). Maximum length is 128 characters. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`location`](#parameter-location) | string | Location deployment metadata. |
+| [`metadata`](#parameter-metadata) | object | The Set Definition (Initiative) metadata. Metadata is an open ended object and is typically a collection of key-value pairs. |
+| [`parameters`](#parameter-parameters) | object | The Set Definition (Initiative) parameters that can be used in policy definition references. |
+| [`policyDefinitionGroups`](#parameter-policydefinitiongroups) | array | The metadata describing groups of policy definition references within the Policy Set Definition (Initiative). |
+
+### Parameter: `description`
+
+The description name of the Set Definition (Initiative).
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `displayName`
+
+The display name of the Set Definition (Initiative). Maximum length is 128 characters.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `location`
+
+Location deployment metadata.
+- Required: No
+- Type: string
+- Default: `[deployment().location]`
+
+### Parameter: `metadata`
+
+The Set Definition (Initiative) metadata. Metadata is an open ended object and is typically a collection of key-value pairs.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `name`
+
+Specifies the name of the policy Set Definition (Initiative).
+- Required: Yes
+- Type: string
+
+### Parameter: `parameters`
+
+The Set Definition (Initiative) parameters that can be used in policy definition references.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `policyDefinitionGroups`
+
+The metadata describing groups of policy definition references within the Policy Set Definition (Initiative).
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `policyDefinitions`
+
+The array of Policy definitions object to include for this policy set. Each object must include the Policy definition ID, and optionally other properties like parameters.
+- Required: Yes
+- Type: array
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | Policy Set Definition Name. |
| `resourceId` | string | Policy Set Definition resource ID. |
diff --git a/modules/authorization/policy-set-definition/management-group/main.json b/modules/authorization/policy-set-definition/management-group/main.json
index baa439be6e..9b627357b6 100644
--- a/modules/authorization/policy-set-definition/management-group/main.json
+++ b/modules/authorization/policy-set-definition/management-group/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "1638152228410583836"
+ "version": "0.22.6.54827",
+ "templateHash": "13574874097410910980"
},
"name": "Policy Set Definitions (Initiatives) (Management Group scope)",
"description": "This module deploys a Policy Set Definition (Initiative) at a Management Group scope.",
diff --git a/modules/authorization/policy-set-definition/subscription/README.md b/modules/authorization/policy-set-definition/subscription/README.md
index 64b2597fe0..8b0f87ad46 100644
--- a/modules/authorization/policy-set-definition/subscription/README.md
+++ b/modules/authorization/policy-set-definition/subscription/README.md
@@ -19,27 +19,88 @@ This module deploys a Policy Set Definition (Initiative) at a Subscription scope
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `name` | string | Specifies the name of the policy Set Definition (Initiative). Maximum length is 64 characters for subscription scope. |
-| `policyDefinitions` | array | The array of Policy definitions object to include for this policy set. Each object must include the Policy definition ID, and optionally other properties like parameters. |
+| [`name`](#parameter-name) | string | Specifies the name of the policy Set Definition (Initiative). Maximum length is 64 characters for subscription scope. |
+| [`policyDefinitions`](#parameter-policydefinitions) | array | The array of Policy definitions object to include for this policy set. Each object must include the Policy definition ID, and optionally other properties like parameters. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `description` | string | `''` | The description name of the Set Definition (Initiative). |
-| `displayName` | string | `''` | The display name of the Set Definition (Initiative). Maximum length is 128 characters. |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `location` | string | `[deployment().location]` | Location deployment metadata. |
-| `metadata` | object | `{object}` | The Set Definition (Initiative) metadata. Metadata is an open ended object and is typically a collection of key-value pairs. |
-| `parameters` | object | `{object}` | The Set Definition (Initiative) parameters that can be used in policy definition references. |
-| `policyDefinitionGroups` | array | `[]` | The metadata describing groups of policy definition references within the Policy Set Definition (Initiative). |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`description`](#parameter-description) | string | The description name of the Set Definition (Initiative). |
+| [`displayName`](#parameter-displayname) | string | The display name of the Set Definition (Initiative). Maximum length is 128 characters. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`location`](#parameter-location) | string | Location deployment metadata. |
+| [`metadata`](#parameter-metadata) | object | The Set Definition (Initiative) metadata. Metadata is an open ended object and is typically a collection of key-value pairs. |
+| [`parameters`](#parameter-parameters) | object | The Set Definition (Initiative) parameters that can be used in policy definition references. |
+| [`policyDefinitionGroups`](#parameter-policydefinitiongroups) | array | The metadata describing groups of policy definition references within the Policy Set Definition (Initiative). |
+
+### Parameter: `description`
+
+The description name of the Set Definition (Initiative).
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `displayName`
+
+The display name of the Set Definition (Initiative). Maximum length is 128 characters.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `location`
+
+Location deployment metadata.
+- Required: No
+- Type: string
+- Default: `[deployment().location]`
+
+### Parameter: `metadata`
+
+The Set Definition (Initiative) metadata. Metadata is an open ended object and is typically a collection of key-value pairs.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `name`
+
+Specifies the name of the policy Set Definition (Initiative). Maximum length is 64 characters for subscription scope.
+- Required: Yes
+- Type: string
+
+### Parameter: `parameters`
+
+The Set Definition (Initiative) parameters that can be used in policy definition references.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `policyDefinitionGroups`
+
+The metadata describing groups of policy definition references within the Policy Set Definition (Initiative).
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `policyDefinitions`
+
+The array of Policy definitions object to include for this policy set. Each object must include the Policy definition ID, and optionally other properties like parameters.
+- Required: Yes
+- Type: array
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | Policy Set Definition Name. |
| `resourceId` | string | Policy Set Definition resource ID. |
diff --git a/modules/authorization/policy-set-definition/subscription/main.json b/modules/authorization/policy-set-definition/subscription/main.json
index 430128e583..4f8ea43907 100644
--- a/modules/authorization/policy-set-definition/subscription/main.json
+++ b/modules/authorization/policy-set-definition/subscription/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "8864751360907211482"
+ "version": "0.22.6.54827",
+ "templateHash": "566743094418434146"
},
"name": "Policy Set Definitions (Initiatives) (Subscription scope)",
"description": "This module deploys a Policy Set Definition (Initiative) at a Subscription scope.",
diff --git a/modules/authorization/role-assignment/README.md b/modules/authorization/role-assignment/README.md
index 005701544c..6f4fc01610 100644
--- a/modules/authorization/role-assignment/README.md
+++ b/modules/authorization/role-assignment/README.md
@@ -4,71 +4,42 @@ This module deploys a Role Assignment at a Management Group, Subscription or Res
## Navigation
-- [Resource types](#Resource-types)
+- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
- [Notes](#Notes)
-## Resource types
+## Resource Types
| Resource Type | API Version |
| :-- | :-- |
| `Microsoft.Authorization/roleAssignments` | [2022-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2022-04-01/roleAssignments) |
-## Parameters
+## Usage examples
-**Required parameters**
+The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository.
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `principalId` | string | The Principal or Object ID of the Security Principal (User, Group, Service Principal, Managed Identity). |
-| `roleDefinitionIdOrName` | string | You can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
-
-**Optional parameters**
-
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `condition` | string | `''` | | The conditions on the role assignment. This limits the resources it can be assigned to. |
-| `conditionVersion` | string | `'2.0'` | `[2.0]` | Version of the condition. Currently accepted value is "2.0". |
-| `delegatedManagedIdentityResourceId` | string | `''` | | ID of the delegated managed identity resource. |
-| `description` | string | `''` | | The description of the role assignment. |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `location` | string | `[deployment().location]` | | Location deployment metadata. |
-| `managementGroupId` | string | `[managementGroup().name]` | | Group ID of the Management Group to assign the RBAC role to. If not provided, will use the current scope for deployment. |
-| `principalType` | string | `''` | `['', Device, ForeignGroup, Group, ServicePrincipal, User]` | The principal type of the assigned principal ID. |
-| `resourceGroupName` | string | `''` | | Name of the Resource Group to assign the RBAC role to. If Resource Group name is provided, and Subscription ID is provided, the module deploys at resource group level, therefore assigns the provided RBAC role to the resource group. |
-| `subscriptionId` | string | `''` | | Subscription ID of the subscription to assign the RBAC role to. If no Resource Group name is provided, the module deploys at subscription level, therefore assigns the provided RBAC role to the subscription. |
-
-
-## Outputs
+>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-| Output Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | The GUID of the Role Assignment. |
-| `resourceId` | string | The resource ID of the Role Assignment. |
-| `scope` | string | The scope this Role Assignment applies to. |
-
-## Cross-referenced modules
-
-_None_
+>**Note**: To reference the module, please use the following syntax `br:bicep/modules/authorization.role-assignment:1.0.0`.
-## Deployment examples
+- [Mg.Common](#example-1-mgcommon)
+- [Mg.Min](#example-2-mgmin)
+- [Rg.Common](#example-3-rgcommon)
+- [Rg.Min](#example-4-rgmin)
+- [Sub.Common](#example-5-subcommon)
+- [Sub.Min](#example-6-submin)
-The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder.
- >**Note**: The name of each example is based on the name of the file from which it is taken.
-
- >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-
-
-
-
-
-
-
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`principalId`](#parameter-principalid) | string | The Principal or Object ID of the Security Principal (User, Group, Service Principal, Managed Identity). |
+| [`roleDefinitionIdOrName`](#parameter-roledefinitionidorname) | string | You can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`condition`](#parameter-condition) | string | The conditions on the role assignment. This limits the resources it can be assigned to. |
+| [`conditionVersion`](#parameter-conditionversion) | string | Version of the condition. Currently accepted value is "2.0". |
+| [`delegatedManagedIdentityResourceId`](#parameter-delegatedmanagedidentityresourceid) | string | ID of the delegated managed identity resource. |
+| [`description`](#parameter-description) | string | The description of the role assignment. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`location`](#parameter-location) | string | Location deployment metadata. |
+| [`managementGroupId`](#parameter-managementgroupid) | string | Group ID of the Management Group to assign the RBAC role to. If not provided, will use the current scope for deployment. |
+| [`principalType`](#parameter-principaltype) | string | The principal type of the assigned principal ID. |
+| [`resourceGroupName`](#parameter-resourcegroupname) | string | Name of the Resource Group to assign the RBAC role to. If Resource Group name is provided, and Subscription ID is provided, the module deploys at resource group level, therefore assigns the provided RBAC role to the resource group. |
+| [`subscriptionId`](#parameter-subscriptionid) | string | Subscription ID of the subscription to assign the RBAC role to. If no Resource Group name is provided, the module deploys at subscription level, therefore assigns the provided RBAC role to the subscription. |
+
+### Parameter: `condition`
+
+The conditions on the role assignment. This limits the resources it can be assigned to.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `conditionVersion`
+
+Version of the condition. Currently accepted value is "2.0".
+- Required: No
+- Type: string
+- Default: `'2.0'`
+- Allowed: `[2.0]`
+
+### Parameter: `delegatedManagedIdentityResourceId`
+
+ID of the delegated managed identity resource.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `description`
+
+The description of the role assignment.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `location`
+
+Location deployment metadata.
+- Required: No
+- Type: string
+- Default: `[deployment().location]`
+
+### Parameter: `managementGroupId`
+
+Group ID of the Management Group to assign the RBAC role to. If not provided, will use the current scope for deployment.
+- Required: No
+- Type: string
+- Default: `[managementGroup().name]`
+
+### Parameter: `principalId`
+
+The Principal or Object ID of the Security Principal (User, Group, Service Principal, Managed Identity).
+- Required: Yes
+- Type: string
+
+### Parameter: `principalType`
+
+The principal type of the assigned principal ID.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', Device, ForeignGroup, Group, ServicePrincipal, User]`
+
+### Parameter: `resourceGroupName`
+
+Name of the Resource Group to assign the RBAC role to. If Resource Group name is provided, and Subscription ID is provided, the module deploys at resource group level, therefore assigns the provided RBAC role to the resource group.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `roleDefinitionIdOrName`
+
+You can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: Yes
+- Type: string
+
+### Parameter: `subscriptionId`
+
+Subscription ID of the subscription to assign the RBAC role to. If no Resource Group name is provided, the module deploys at subscription level, therefore assigns the provided RBAC role to the subscription.
+- Required: No
+- Type: string
+- Default: `''`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `name` | string | The GUID of the Role Assignment. |
+| `resourceId` | string | The resource ID of the Role Assignment. |
+| `scope` | string | The scope this Role Assignment applies to. |
+
+## Cross-referenced modules
+
+_None_
+
## Notes
### Module Usage Guidance
diff --git a/modules/authorization/role-assignment/main.json b/modules/authorization/role-assignment/main.json
index 23f3d4897d..0cf8880ab7 100644
--- a/modules/authorization/role-assignment/main.json
+++ b/modules/authorization/role-assignment/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "14335081108343042206"
+ "version": "0.22.6.54827",
+ "templateHash": "807341397297135440"
},
"name": "Role Assignments (All scopes)",
"description": "This module deploys a Role Assignment at a Management Group, Subscription or Resource Group scope.",
@@ -167,8 +167,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "6412111068130570787"
+ "version": "0.22.6.54827",
+ "templateHash": "3058280694250439865"
},
"name": "Role Assignments (Management Group scope)",
"description": "This module deploys a Role Assignment at a Management Group scope.",
@@ -756,8 +756,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "15330444935750176887"
+ "version": "0.22.6.54827",
+ "templateHash": "1741591761510469286"
},
"name": "Role Assignments (Subscription scope)",
"description": "This module deploys a Role Assignment at a Subscription scope.",
@@ -1345,8 +1345,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "11095586144343595797"
+ "version": "0.22.6.54827",
+ "templateHash": "13714993030578518060"
},
"name": "Role Assignments (Resource Group scope)",
"description": "This module deploys a Role Assignment at a Resource Group scope.",
diff --git a/modules/authorization/role-assignment/management-group/README.md b/modules/authorization/role-assignment/management-group/README.md
index 911ac2c8e6..2166992af8 100644
--- a/modules/authorization/role-assignment/management-group/README.md
+++ b/modules/authorization/role-assignment/management-group/README.md
@@ -19,28 +19,98 @@ This module deploys a Role Assignment at a Management Group scope.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `principalId` | string | The Principal or Object ID of the Security Principal (User, Group, Service Principal, Managed Identity). |
-| `roleDefinitionIdOrName` | string | You can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`principalId`](#parameter-principalid) | string | The Principal or Object ID of the Security Principal (User, Group, Service Principal, Managed Identity). |
+| [`roleDefinitionIdOrName`](#parameter-roledefinitionidorname) | string | You can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `condition` | string | `''` | | The conditions on the role assignment. This limits the resources it can be assigned to. |
-| `conditionVersion` | string | `'2.0'` | `[2.0]` | Version of the condition. Currently accepted value is "2.0". |
-| `delegatedManagedIdentityResourceId` | string | `''` | | ID of the delegated managed identity resource. |
-| `description` | string | `''` | | The description of the role assignment. |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `location` | string | `[deployment().location]` | | Location deployment metadata. |
-| `managementGroupId` | string | `[managementGroup().name]` | | Group ID of the Management Group to assign the RBAC role to. If not provided, will use the current scope for deployment. |
-| `principalType` | string | `''` | `['', Device, ForeignGroup, Group, ServicePrincipal, User]` | The principal type of the assigned principal ID. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`condition`](#parameter-condition) | string | The conditions on the role assignment. This limits the resources it can be assigned to. |
+| [`conditionVersion`](#parameter-conditionversion) | string | Version of the condition. Currently accepted value is "2.0". |
+| [`delegatedManagedIdentityResourceId`](#parameter-delegatedmanagedidentityresourceid) | string | ID of the delegated managed identity resource. |
+| [`description`](#parameter-description) | string | The description of the role assignment. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`location`](#parameter-location) | string | Location deployment metadata. |
+| [`managementGroupId`](#parameter-managementgroupid) | string | Group ID of the Management Group to assign the RBAC role to. If not provided, will use the current scope for deployment. |
+| [`principalType`](#parameter-principaltype) | string | The principal type of the assigned principal ID. |
+
+### Parameter: `condition`
+
+The conditions on the role assignment. This limits the resources it can be assigned to.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `conditionVersion`
+
+Version of the condition. Currently accepted value is "2.0".
+- Required: No
+- Type: string
+- Default: `'2.0'`
+- Allowed: `[2.0]`
+
+### Parameter: `delegatedManagedIdentityResourceId`
+
+ID of the delegated managed identity resource.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `description`
+
+The description of the role assignment.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `location`
+
+Location deployment metadata.
+- Required: No
+- Type: string
+- Default: `[deployment().location]`
+
+### Parameter: `managementGroupId`
+
+Group ID of the Management Group to assign the RBAC role to. If not provided, will use the current scope for deployment.
+- Required: No
+- Type: string
+- Default: `[managementGroup().name]`
+
+### Parameter: `principalId`
+
+The Principal or Object ID of the Security Principal (User, Group, Service Principal, Managed Identity).
+- Required: Yes
+- Type: string
+
+### Parameter: `principalType`
+
+The principal type of the assigned principal ID.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', Device, ForeignGroup, Group, ServicePrincipal, User]`
+
+### Parameter: `roleDefinitionIdOrName`
+
+You can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: Yes
+- Type: string
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The GUID of the Role Assignment. |
| `resourceId` | string | The resource ID of the Role Assignment. |
diff --git a/modules/authorization/role-assignment/management-group/main.json b/modules/authorization/role-assignment/management-group/main.json
index 5356f24b6f..c7695ece43 100644
--- a/modules/authorization/role-assignment/management-group/main.json
+++ b/modules/authorization/role-assignment/management-group/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "5116103670131987468"
+ "version": "0.22.6.54827",
+ "templateHash": "3058280694250439865"
},
"name": "Role Assignments (Management Group scope)",
"description": "This module deploys a Role Assignment at a Management Group scope.",
diff --git a/modules/authorization/role-assignment/resource-group/README.md b/modules/authorization/role-assignment/resource-group/README.md
index a2cd0959a5..3699890e4a 100644
--- a/modules/authorization/role-assignment/resource-group/README.md
+++ b/modules/authorization/role-assignment/resource-group/README.md
@@ -19,28 +19,98 @@ This module deploys a Role Assignment at a Resource Group scope.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `principalId` | string | The Principal or Object ID of the Security Principal (User, Group, Service Principal, Managed Identity). |
-| `roleDefinitionIdOrName` | string | You can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`principalId`](#parameter-principalid) | string | The Principal or Object ID of the Security Principal (User, Group, Service Principal, Managed Identity). |
+| [`roleDefinitionIdOrName`](#parameter-roledefinitionidorname) | string | You can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `condition` | string | `''` | | The conditions on the role assignment. This limits the resources it can be assigned to. |
-| `conditionVersion` | string | `'2.0'` | `[2.0]` | Version of the condition. Currently accepted value is "2.0". |
-| `delegatedManagedIdentityResourceId` | string | `''` | | ID of the delegated managed identity resource. |
-| `description` | string | `''` | | The description of the role assignment. |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `principalType` | string | `''` | `['', Device, ForeignGroup, Group, ServicePrincipal, User]` | The principal type of the assigned principal ID. |
-| `resourceGroupName` | string | `[resourceGroup().name]` | | Name of the Resource Group to assign the RBAC role to. If not provided, will use the current scope for deployment. |
-| `subscriptionId` | string | `[subscription().subscriptionId]` | | Subscription ID of the subscription to assign the RBAC role to. If not provided, will use the current scope for deployment. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`condition`](#parameter-condition) | string | The conditions on the role assignment. This limits the resources it can be assigned to. |
+| [`conditionVersion`](#parameter-conditionversion) | string | Version of the condition. Currently accepted value is "2.0". |
+| [`delegatedManagedIdentityResourceId`](#parameter-delegatedmanagedidentityresourceid) | string | ID of the delegated managed identity resource. |
+| [`description`](#parameter-description) | string | The description of the role assignment. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`principalType`](#parameter-principaltype) | string | The principal type of the assigned principal ID. |
+| [`resourceGroupName`](#parameter-resourcegroupname) | string | Name of the Resource Group to assign the RBAC role to. If not provided, will use the current scope for deployment. |
+| [`subscriptionId`](#parameter-subscriptionid) | string | Subscription ID of the subscription to assign the RBAC role to. If not provided, will use the current scope for deployment. |
+
+### Parameter: `condition`
+
+The conditions on the role assignment. This limits the resources it can be assigned to.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `conditionVersion`
+
+Version of the condition. Currently accepted value is "2.0".
+- Required: No
+- Type: string
+- Default: `'2.0'`
+- Allowed: `[2.0]`
+
+### Parameter: `delegatedManagedIdentityResourceId`
+
+ID of the delegated managed identity resource.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `description`
+
+The description of the role assignment.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `principalId`
+
+The Principal or Object ID of the Security Principal (User, Group, Service Principal, Managed Identity).
+- Required: Yes
+- Type: string
+
+### Parameter: `principalType`
+
+The principal type of the assigned principal ID.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', Device, ForeignGroup, Group, ServicePrincipal, User]`
+
+### Parameter: `resourceGroupName`
+
+Name of the Resource Group to assign the RBAC role to. If not provided, will use the current scope for deployment.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().name]`
+
+### Parameter: `roleDefinitionIdOrName`
+
+You can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: Yes
+- Type: string
+
+### Parameter: `subscriptionId`
+
+Subscription ID of the subscription to assign the RBAC role to. If not provided, will use the current scope for deployment.
+- Required: No
+- Type: string
+- Default: `[subscription().subscriptionId]`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The GUID of the Role Assignment. |
| `resourceGroupName` | string | The name of the resource group the role assignment was applied at. |
diff --git a/modules/authorization/role-assignment/resource-group/main.json b/modules/authorization/role-assignment/resource-group/main.json
index 056f28f034..3ce0469854 100644
--- a/modules/authorization/role-assignment/resource-group/main.json
+++ b/modules/authorization/role-assignment/resource-group/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "1439450089488966223"
+ "version": "0.22.6.54827",
+ "templateHash": "13714993030578518060"
},
"name": "Role Assignments (Resource Group scope)",
"description": "This module deploys a Role Assignment at a Resource Group scope.",
diff --git a/modules/authorization/role-assignment/subscription/README.md b/modules/authorization/role-assignment/subscription/README.md
index 58b5d059a4..cf374e9f4d 100644
--- a/modules/authorization/role-assignment/subscription/README.md
+++ b/modules/authorization/role-assignment/subscription/README.md
@@ -19,28 +19,98 @@ This module deploys a Role Assignment at a Subscription scope.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `principalId` | string | The Principal or Object ID of the Security Principal (User, Group, Service Principal, Managed Identity). |
-| `roleDefinitionIdOrName` | string | You can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`principalId`](#parameter-principalid) | string | The Principal or Object ID of the Security Principal (User, Group, Service Principal, Managed Identity). |
+| [`roleDefinitionIdOrName`](#parameter-roledefinitionidorname) | string | You can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `condition` | string | `''` | | The conditions on the role assignment. This limits the resources it can be assigned to. |
-| `conditionVersion` | string | `'2.0'` | `[2.0]` | Version of the condition. Currently accepted value is "2.0". |
-| `delegatedManagedIdentityResourceId` | string | `''` | | ID of the delegated managed identity resource. |
-| `description` | string | `''` | | The description of the role assignment. |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `location` | string | `[deployment().location]` | | Location deployment metadata. |
-| `principalType` | string | `''` | `['', Device, ForeignGroup, Group, ServicePrincipal, User]` | The principal type of the assigned principal ID. |
-| `subscriptionId` | string | `[subscription().subscriptionId]` | | Subscription ID of the subscription to assign the RBAC role to. If not provided, will use the current scope for deployment. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`condition`](#parameter-condition) | string | The conditions on the role assignment. This limits the resources it can be assigned to. |
+| [`conditionVersion`](#parameter-conditionversion) | string | Version of the condition. Currently accepted value is "2.0". |
+| [`delegatedManagedIdentityResourceId`](#parameter-delegatedmanagedidentityresourceid) | string | ID of the delegated managed identity resource. |
+| [`description`](#parameter-description) | string | The description of the role assignment. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`location`](#parameter-location) | string | Location deployment metadata. |
+| [`principalType`](#parameter-principaltype) | string | The principal type of the assigned principal ID. |
+| [`subscriptionId`](#parameter-subscriptionid) | string | Subscription ID of the subscription to assign the RBAC role to. If not provided, will use the current scope for deployment. |
+
+### Parameter: `condition`
+
+The conditions on the role assignment. This limits the resources it can be assigned to.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `conditionVersion`
+
+Version of the condition. Currently accepted value is "2.0".
+- Required: No
+- Type: string
+- Default: `'2.0'`
+- Allowed: `[2.0]`
+
+### Parameter: `delegatedManagedIdentityResourceId`
+
+ID of the delegated managed identity resource.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `description`
+
+The description of the role assignment.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `location`
+
+Location deployment metadata.
+- Required: No
+- Type: string
+- Default: `[deployment().location]`
+
+### Parameter: `principalId`
+
+The Principal or Object ID of the Security Principal (User, Group, Service Principal, Managed Identity).
+- Required: Yes
+- Type: string
+
+### Parameter: `principalType`
+
+The principal type of the assigned principal ID.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', Device, ForeignGroup, Group, ServicePrincipal, User]`
+
+### Parameter: `roleDefinitionIdOrName`
+
+You can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: Yes
+- Type: string
+
+### Parameter: `subscriptionId`
+
+Subscription ID of the subscription to assign the RBAC role to. If not provided, will use the current scope for deployment.
+- Required: No
+- Type: string
+- Default: `[subscription().subscriptionId]`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The GUID of the Role Assignment. |
| `resourceId` | string | The resource ID of the Role Assignment. |
diff --git a/modules/authorization/role-assignment/subscription/main.json b/modules/authorization/role-assignment/subscription/main.json
index 751db130ed..12889ef5e5 100644
--- a/modules/authorization/role-assignment/subscription/main.json
+++ b/modules/authorization/role-assignment/subscription/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "318736480892502738"
+ "version": "0.22.6.54827",
+ "templateHash": "1741591761510469286"
},
"name": "Role Assignments (Subscription scope)",
"description": "This module deploys a Role Assignment at a Subscription scope.",
diff --git a/modules/authorization/role-definition/README.md b/modules/authorization/role-definition/README.md
index 35163be1ba..0008ff66c4 100644
--- a/modules/authorization/role-definition/README.md
+++ b/modules/authorization/role-definition/README.md
@@ -4,71 +4,42 @@ This module deploys a Role Definition at a Management Group, Subscription or Res
## Navigation
-- [Resource types](#Resource-types)
+- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
- [Notes](#Notes)
-## Resource types
+## Resource Types
| Resource Type | API Version |
| :-- | :-- |
| `Microsoft.Authorization/roleDefinitions` | [2022-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2022-04-01/roleDefinitions) |
-## Parameters
+## Usage examples
-**Required parameters**
+The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository.
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `roleName` | string | Name of the custom RBAC role to be created. |
-
-**Optional parameters**
-
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `actions` | array | `[]` | List of allowed actions. |
-| `assignableScopes` | array | `[]` | Role definition assignable scopes. If not provided, will use the current scope provided. |
-| `dataActions` | array | `[]` | List of allowed data actions. This is not supported if the assignableScopes contains Management Group Scopes. |
-| `description` | string | `''` | Description of the custom RBAC role to be created. |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `location` | string | `[deployment().location]` | Location deployment metadata. |
-| `managementGroupId` | string | `[managementGroup().name]` | The group ID of the Management Group where the Role Definition and Target Scope will be applied to. If not provided, will use the current scope for deployment. |
-| `notActions` | array | `[]` | List of denied actions. |
-| `notDataActions` | array | `[]` | List of denied data actions. This is not supported if the assignableScopes contains Management Group Scopes. |
-| `resourceGroupName` | string | `''` | The name of the Resource Group where the Role Definition and Target Scope will be applied to. |
-| `subscriptionId` | string | `''` | The subscription ID where the Role Definition and Target Scope will be applied to. Use for both Subscription level and Resource Group Level. |
-
-
-## Outputs
+>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-| Output Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | The GUID of the Role Definition. |
-| `resourceId` | string | The resource ID of the Role Definition. |
-| `scope` | string | The scope this Role Definition applies to. |
-
-## Cross-referenced modules
-
-_None_
+>**Note**: To reference the module, please use the following syntax `br:bicep/modules/authorization.role-definition:1.0.0`.
-## Deployment examples
+- [Mg.Common](#example-1-mgcommon)
+- [Mg.Min](#example-2-mgmin)
+- [Rg.Common](#example-3-rgcommon)
+- [Rg.Min](#example-4-rgmin)
+- [Sub.Common](#example-5-subcommon)
+- [Sub.Min](#example-6-submin)
-The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder.
- >**Note**: The name of each example is based on the name of the file from which it is taken.
-
- >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-
-
-
-
-
-
-
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`roleName`](#parameter-rolename) | string | Name of the custom RBAC role to be created. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`actions`](#parameter-actions) | array | List of allowed actions. |
+| [`assignableScopes`](#parameter-assignablescopes) | array | Role definition assignable scopes. If not provided, will use the current scope provided. |
+| [`dataActions`](#parameter-dataactions) | array | List of allowed data actions. This is not supported if the assignableScopes contains Management Group Scopes. |
+| [`description`](#parameter-description) | string | Description of the custom RBAC role to be created. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`location`](#parameter-location) | string | Location deployment metadata. |
+| [`managementGroupId`](#parameter-managementgroupid) | string | The group ID of the Management Group where the Role Definition and Target Scope will be applied to. If not provided, will use the current scope for deployment. |
+| [`notActions`](#parameter-notactions) | array | List of denied actions. |
+| [`notDataActions`](#parameter-notdataactions) | array | List of denied data actions. This is not supported if the assignableScopes contains Management Group Scopes. |
+| [`resourceGroupName`](#parameter-resourcegroupname) | string | The name of the Resource Group where the Role Definition and Target Scope will be applied to. |
+| [`subscriptionId`](#parameter-subscriptionid) | string | The subscription ID where the Role Definition and Target Scope will be applied to. Use for both Subscription level and Resource Group Level. |
+
+### Parameter: `actions`
+
+List of allowed actions.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `assignableScopes`
+
+Role definition assignable scopes. If not provided, will use the current scope provided.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `dataActions`
+
+List of allowed data actions. This is not supported if the assignableScopes contains Management Group Scopes.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `description`
+
+Description of the custom RBAC role to be created.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `location`
+
+Location deployment metadata.
+- Required: No
+- Type: string
+- Default: `[deployment().location]`
+
+### Parameter: `managementGroupId`
+
+The group ID of the Management Group where the Role Definition and Target Scope will be applied to. If not provided, will use the current scope for deployment.
+- Required: No
+- Type: string
+- Default: `[managementGroup().name]`
+
+### Parameter: `notActions`
+
+List of denied actions.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `notDataActions`
+
+List of denied data actions. This is not supported if the assignableScopes contains Management Group Scopes.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `resourceGroupName`
+
+The name of the Resource Group where the Role Definition and Target Scope will be applied to.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `roleName`
+
+Name of the custom RBAC role to be created.
+- Required: Yes
+- Type: string
+
+### Parameter: `subscriptionId`
+
+The subscription ID where the Role Definition and Target Scope will be applied to. Use for both Subscription level and Resource Group Level.
+- Required: No
+- Type: string
+- Default: `''`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `name` | string | The GUID of the Role Definition. |
+| `resourceId` | string | The resource ID of the Role Definition. |
+| `scope` | string | The scope this Role Definition applies to. |
+
+## Cross-referenced modules
+
+_None_
+
## Notes
### Module Usage Guidance
diff --git a/modules/authorization/role-definition/main.json b/modules/authorization/role-definition/main.json
index cf31e78348..51ac23254d 100644
--- a/modules/authorization/role-definition/main.json
+++ b/modules/authorization/role-definition/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "18292113724809460809"
+ "version": "0.22.6.54827",
+ "templateHash": "16702773762135222765"
},
"name": "Role Definitions (All scopes)",
"description": "This module deploys a Role Definition at a Management Group, Subscription or Resource Group scope.",
@@ -151,8 +151,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "1388091612585738122"
+ "version": "0.22.6.54827",
+ "templateHash": "5277764931156995532"
},
"name": "Role Definitions (Management Group scope)",
"description": "This module deploys a Role Definition at a Management Group scope.",
@@ -313,8 +313,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "11994641933581262080"
+ "version": "0.22.6.54827",
+ "templateHash": "5911596219403447648"
},
"name": "Role Definitions (Subscription scope)",
"description": "This module deploys a Role Definition at a Subscription scope.",
@@ -491,8 +491,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "51591651981484766"
+ "version": "0.22.6.54827",
+ "templateHash": "15123790149450958610"
},
"name": "Role Definitions (Resource Group scope)",
"description": "This module deploys a Role Definition at a Resource Group scope.",
diff --git a/modules/authorization/role-definition/management-group/README.md b/modules/authorization/role-definition/management-group/README.md
index 02a11b45bc..e892466ced 100644
--- a/modules/authorization/role-definition/management-group/README.md
+++ b/modules/authorization/role-definition/management-group/README.md
@@ -19,26 +19,81 @@ This module deploys a Role Definition at a Management Group scope.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `roleName` | string | Name of the custom RBAC role to be created. |
+| [`roleName`](#parameter-rolename) | string | Name of the custom RBAC role to be created. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `actions` | array | `[]` | List of allowed actions. |
-| `assignableScopes` | array | `[]` | Role definition assignable scopes. If not provided, will use the current scope provided. |
-| `description` | string | `''` | Description of the custom RBAC role to be created. |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `location` | string | `[deployment().location]` | Location deployment metadata. |
-| `managementGroupId` | string | `[managementGroup().name]` | The group ID of the Management Group where the Role Definition and Target Scope will be applied to. If not provided, will use the current scope for deployment. |
-| `notActions` | array | `[]` | List of denied actions. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`actions`](#parameter-actions) | array | List of allowed actions. |
+| [`assignableScopes`](#parameter-assignablescopes) | array | Role definition assignable scopes. If not provided, will use the current scope provided. |
+| [`description`](#parameter-description) | string | Description of the custom RBAC role to be created. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`location`](#parameter-location) | string | Location deployment metadata. |
+| [`managementGroupId`](#parameter-managementgroupid) | string | The group ID of the Management Group where the Role Definition and Target Scope will be applied to. If not provided, will use the current scope for deployment. |
+| [`notActions`](#parameter-notactions) | array | List of denied actions. |
+
+### Parameter: `actions`
+
+List of allowed actions.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `assignableScopes`
+
+Role definition assignable scopes. If not provided, will use the current scope provided.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `description`
+
+Description of the custom RBAC role to be created.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `location`
+
+Location deployment metadata.
+- Required: No
+- Type: string
+- Default: `[deployment().location]`
+
+### Parameter: `managementGroupId`
+
+The group ID of the Management Group where the Role Definition and Target Scope will be applied to. If not provided, will use the current scope for deployment.
+- Required: No
+- Type: string
+- Default: `[managementGroup().name]`
+
+### Parameter: `notActions`
+
+List of denied actions.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `roleName`
+
+Name of the custom RBAC role to be created.
+- Required: Yes
+- Type: string
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The GUID of the Role Definition. |
| `resourceId` | string | The resource ID of the Role Definition. |
diff --git a/modules/authorization/role-definition/management-group/main.json b/modules/authorization/role-definition/management-group/main.json
index cc28a185f9..00d197b4e8 100644
--- a/modules/authorization/role-definition/management-group/main.json
+++ b/modules/authorization/role-definition/management-group/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "15321014984642305644"
+ "version": "0.22.6.54827",
+ "templateHash": "5277764931156995532"
},
"name": "Role Definitions (Management Group scope)",
"description": "This module deploys a Role Definition at a Management Group scope.",
diff --git a/modules/authorization/role-definition/resource-group/README.md b/modules/authorization/role-definition/resource-group/README.md
index 924c4eb112..1e5da9a0d7 100644
--- a/modules/authorization/role-definition/resource-group/README.md
+++ b/modules/authorization/role-definition/resource-group/README.md
@@ -19,28 +19,97 @@ This module deploys a Role Definition at a Resource Group scope.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `roleName` | string | Name of the custom RBAC role to be created. |
+| [`roleName`](#parameter-rolename) | string | Name of the custom RBAC role to be created. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `actions` | array | `[]` | List of allowed actions. |
-| `assignableScopes` | array | `[]` | Role definition assignable scopes. If not provided, will use the current scope provided. |
-| `dataActions` | array | `[]` | List of allowed data actions. This is not supported if the assignableScopes contains Management Group Scopes. |
-| `description` | string | `''` | Description of the custom RBAC role to be created. |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `notActions` | array | `[]` | List of denied actions. |
-| `notDataActions` | array | `[]` | List of denied data actions. This is not supported if the assignableScopes contains Management Group Scopes. |
-| `resourceGroupName` | string | `[resourceGroup().name]` | The name of the Resource Group where the Role Definition and Target Scope will be applied to. If not provided, will use the current scope for deployment. |
-| `subscriptionId` | string | `[subscription().subscriptionId]` | The subscription ID where the Role Definition and Target Scope will be applied to. If not provided, will use the current scope for deployment. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`actions`](#parameter-actions) | array | List of allowed actions. |
+| [`assignableScopes`](#parameter-assignablescopes) | array | Role definition assignable scopes. If not provided, will use the current scope provided. |
+| [`dataActions`](#parameter-dataactions) | array | List of allowed data actions. This is not supported if the assignableScopes contains Management Group Scopes. |
+| [`description`](#parameter-description) | string | Description of the custom RBAC role to be created. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`notActions`](#parameter-notactions) | array | List of denied actions. |
+| [`notDataActions`](#parameter-notdataactions) | array | List of denied data actions. This is not supported if the assignableScopes contains Management Group Scopes. |
+| [`resourceGroupName`](#parameter-resourcegroupname) | string | The name of the Resource Group where the Role Definition and Target Scope will be applied to. If not provided, will use the current scope for deployment. |
+| [`subscriptionId`](#parameter-subscriptionid) | string | The subscription ID where the Role Definition and Target Scope will be applied to. If not provided, will use the current scope for deployment. |
+
+### Parameter: `actions`
+
+List of allowed actions.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `assignableScopes`
+
+Role definition assignable scopes. If not provided, will use the current scope provided.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `dataActions`
+
+List of allowed data actions. This is not supported if the assignableScopes contains Management Group Scopes.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `description`
+
+Description of the custom RBAC role to be created.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `notActions`
+
+List of denied actions.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `notDataActions`
+
+List of denied data actions. This is not supported if the assignableScopes contains Management Group Scopes.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `resourceGroupName`
+
+The name of the Resource Group where the Role Definition and Target Scope will be applied to. If not provided, will use the current scope for deployment.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().name]`
+
+### Parameter: `roleName`
+
+Name of the custom RBAC role to be created.
+- Required: Yes
+- Type: string
+
+### Parameter: `subscriptionId`
+
+The subscription ID where the Role Definition and Target Scope will be applied to. If not provided, will use the current scope for deployment.
+- Required: No
+- Type: string
+- Default: `[subscription().subscriptionId]`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The GUID of the Role Definition. |
| `resourceGroupName` | string | The name of the resource group the role definition was created at. |
diff --git a/modules/authorization/role-definition/resource-group/main.json b/modules/authorization/role-definition/resource-group/main.json
index 734ae5e18c..c10d685cc7 100644
--- a/modules/authorization/role-definition/resource-group/main.json
+++ b/modules/authorization/role-definition/resource-group/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "13735806028928031798"
+ "version": "0.22.6.54827",
+ "templateHash": "15123790149450958610"
},
"name": "Role Definitions (Resource Group scope)",
"description": "This module deploys a Role Definition at a Resource Group scope.",
diff --git a/modules/authorization/role-definition/subscription/README.md b/modules/authorization/role-definition/subscription/README.md
index 3bbd9894b0..e0f96a3894 100644
--- a/modules/authorization/role-definition/subscription/README.md
+++ b/modules/authorization/role-definition/subscription/README.md
@@ -19,28 +19,97 @@ This module deploys a Role Definition at a Subscription scope.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `roleName` | string | Name of the custom RBAC role to be created. |
+| [`roleName`](#parameter-rolename) | string | Name of the custom RBAC role to be created. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `actions` | array | `[]` | List of allowed actions. |
-| `assignableScopes` | array | `[]` | Role definition assignable scopes. If not provided, will use the current scope provided. |
-| `dataActions` | array | `[]` | List of allowed data actions. This is not supported if the assignableScopes contains Management Group Scopes. |
-| `description` | string | `''` | Description of the custom RBAC role to be created. |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `location` | string | `[deployment().location]` | Location deployment metadata. |
-| `notActions` | array | `[]` | List of denied actions. |
-| `notDataActions` | array | `[]` | List of denied data actions. This is not supported if the assignableScopes contains Management Group Scopes. |
-| `subscriptionId` | string | `[subscription().subscriptionId]` | The subscription ID where the Role Definition and Target Scope will be applied to. If not provided, will use the current scope for deployment. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`actions`](#parameter-actions) | array | List of allowed actions. |
+| [`assignableScopes`](#parameter-assignablescopes) | array | Role definition assignable scopes. If not provided, will use the current scope provided. |
+| [`dataActions`](#parameter-dataactions) | array | List of allowed data actions. This is not supported if the assignableScopes contains Management Group Scopes. |
+| [`description`](#parameter-description) | string | Description of the custom RBAC role to be created. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`location`](#parameter-location) | string | Location deployment metadata. |
+| [`notActions`](#parameter-notactions) | array | List of denied actions. |
+| [`notDataActions`](#parameter-notdataactions) | array | List of denied data actions. This is not supported if the assignableScopes contains Management Group Scopes. |
+| [`subscriptionId`](#parameter-subscriptionid) | string | The subscription ID where the Role Definition and Target Scope will be applied to. If not provided, will use the current scope for deployment. |
+
+### Parameter: `actions`
+
+List of allowed actions.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `assignableScopes`
+
+Role definition assignable scopes. If not provided, will use the current scope provided.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `dataActions`
+
+List of allowed data actions. This is not supported if the assignableScopes contains Management Group Scopes.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `description`
+
+Description of the custom RBAC role to be created.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `location`
+
+Location deployment metadata.
+- Required: No
+- Type: string
+- Default: `[deployment().location]`
+
+### Parameter: `notActions`
+
+List of denied actions.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `notDataActions`
+
+List of denied data actions. This is not supported if the assignableScopes contains Management Group Scopes.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `roleName`
+
+Name of the custom RBAC role to be created.
+- Required: Yes
+- Type: string
+
+### Parameter: `subscriptionId`
+
+The subscription ID where the Role Definition and Target Scope will be applied to. If not provided, will use the current scope for deployment.
+- Required: No
+- Type: string
+- Default: `[subscription().subscriptionId]`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The GUID of the Role Definition. |
| `resourceId` | string | The resource ID of the Role Definition. |
diff --git a/modules/authorization/role-definition/subscription/main.json b/modules/authorization/role-definition/subscription/main.json
index 13af925166..ab79f1d69a 100644
--- a/modules/authorization/role-definition/subscription/main.json
+++ b/modules/authorization/role-definition/subscription/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "9532889033437004469"
+ "version": "0.22.6.54827",
+ "templateHash": "5911596219403447648"
},
"name": "Role Definitions (Subscription scope)",
"description": "This module deploys a Role Definition at a Subscription scope.",
diff --git a/modules/automation/automation-account/.test/common/main.test.bicep b/modules/automation/automation-account/.test/common/main.test.bicep
index 2efb5d1f6e..7bfe9ab16b 100644
--- a/modules/automation/automation-account/.test/common/main.test.bicep
+++ b/modules/automation/automation-account/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/automation/automation-account/.test/min/main.test.bicep b/modules/automation/automation-account/.test/min/main.test.bicep
index 85372aede7..3156e8971b 100644
--- a/modules/automation/automation-account/.test/min/main.test.bicep
+++ b/modules/automation/automation-account/.test/min/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using only defaults'
+metadata description = 'This instance deploys the module with the minimum set of required parameters.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/automation/automation-account/README.md b/modules/automation/automation-account/README.md
index 92619970e8..52e1318985 100644
--- a/modules/automation/automation-account/README.md
+++ b/modules/automation/automation-account/README.md
@@ -5,10 +5,10 @@ This module deploys an Azure Automation Account.
## Navigation
- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
## Resource Types
@@ -29,90 +29,29 @@ This module deploys an Azure Automation Account.
| `Microsoft.OperationalInsights/workspaces/linkedServices` | [2020-08-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.OperationalInsights/2020-08-01/workspaces/linkedServices) |
| `Microsoft.OperationsManagement/solutions` | [2015-11-01-preview](https://learn.microsoft.com/en-us/azure/templates/Microsoft.OperationsManagement/2015-11-01-preview/solutions) |
-## Parameters
+## Usage examples
-**Required parameters**
+The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository.
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | Name of the Automation Account. |
+>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-**Conditional parameters**
-
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `cMKKeyVaultResourceId` | string | `''` | The resource ID of a key vault to reference a customer managed key for encryption from. Required if 'cMKKeyName' is not empty. |
-| `cMKUserAssignedIdentityResourceId` | string | `''` | User assigned identity to use when fetching the customer managed key. Required if 'cMKKeyName' is not empty. |
-
-**Optional parameters**
-
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `cMKKeyName` | string | `''` | | The name of the customer managed key to use for encryption. |
-| `cMKKeyVersion` | string | `''` | | The version of the customer managed key to reference for encryption. If not provided, the latest key version is used. |
-| `diagnosticEventHubAuthorizationRuleId` | string | `''` | | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
-| `diagnosticEventHubName` | string | `''` | | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
-| `diagnosticLogCategoriesToEnable` | array | `[allLogs]` | `['', allLogs, DscNodeStatus, JobLogs, JobStreams]` | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
-| `diagnosticMetricsToEnable` | array | `[AllMetrics]` | `[AllMetrics]` | The name of metrics that will be streamed. |
-| `diagnosticSettingsName` | string | `''` | | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | Name of the Automation Account. |
+
+**Conditional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`cMKKeyVaultResourceId`](#parameter-cmkkeyvaultresourceid) | string | The resource ID of a key vault to reference a customer managed key for encryption from. Required if 'cMKKeyName' is not empty. |
+| [`cMKUserAssignedIdentityResourceId`](#parameter-cmkuserassignedidentityresourceid) | string | User assigned identity to use when fetching the customer managed key. Required if 'cMKKeyName' is not empty. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`cMKKeyName`](#parameter-cmkkeyname) | string | The name of the customer managed key to use for encryption. |
+| [`cMKKeyVersion`](#parameter-cmkkeyversion) | string | The version of the customer managed key to reference for encryption. If not provided, the latest key version is used. |
+| [`diagnosticEventHubAuthorizationRuleId`](#parameter-diagnosticeventhubauthorizationruleid) | string | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
+| [`diagnosticEventHubName`](#parameter-diagnosticeventhubname) | string | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
+| [`diagnosticLogCategoriesToEnable`](#parameter-diagnosticlogcategoriestoenable) | array | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
+| [`diagnosticMetricsToEnable`](#parameter-diagnosticmetricstoenable) | array | The name of metrics that will be streamed. |
+| [`diagnosticSettingsName`](#parameter-diagnosticsettingsname) | string | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | Name of the Azure Batch. |
+| [`storageAccountId`](#parameter-storageaccountid) | string | The resource ID of the storage account to be used for auto-storage account. |
+
+**Conditional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`cMKKeyVaultResourceId`](#parameter-cmkkeyvaultresourceid) | string | The resource ID of a key vault to reference a customer managed key for encryption from. Required if 'cMKKeyName' is not empty. |
+| [`keyVaultReferenceResourceId`](#parameter-keyvaultreferenceresourceid) | string | The key vault to associate with the Batch account. Required if the 'poolAllocationMode' is set to 'UserSubscription' and requires the service principal 'Microsoft Azure Batch' to be granted contributor permissions on this key vault. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`allowedAuthenticationModes`](#parameter-allowedauthenticationmodes) | array | List of allowed authentication modes for the Batch account that can be used to authenticate with the data plane. |
+| [`cMKKeyName`](#parameter-cmkkeyname) | string | The name of the customer managed key to use for encryption. |
+| [`cMKKeyVersion`](#parameter-cmkkeyversion) | string | The version of the customer managed key to reference for encryption. If not provided, the latest key version is used. |
+| [`diagnosticEventHubAuthorizationRuleId`](#parameter-diagnosticeventhubauthorizationruleid) | string | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
+| [`diagnosticEventHubName`](#parameter-diagnosticeventhubname) | string | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
+| [`diagnosticLogCategoriesToEnable`](#parameter-diagnosticlogcategoriestoenable) | array | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
+| [`diagnosticMetricsToEnable`](#parameter-diagnosticmetricstoenable) | array | The name of metrics that will be streamed. |
+| [`diagnosticSettingsName`](#parameter-diagnosticsettingsname) | string | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | The name of the Redis Cache Enterprise resource. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`capacity`](#parameter-capacity) | int | The size of the Redis Enterprise Cluster. Defaults to 2. Valid values are (2, 4, 6, ...) for Enterprise SKUs and (3, 9, 15, ...) for Flash SKUs. |
+| [`databases`](#parameter-databases) | array | The databases to create in the Redis Cache Enterprise Cluster. |
+| [`diagnosticEventHubAuthorizationRuleId`](#parameter-diagnosticeventhubauthorizationruleid) | string | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
+| [`diagnosticEventHubName`](#parameter-diagnosticeventhubname) | string | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. For security reasons, it is recommended to set diagnostic settings to send data to either storage account, log analytics workspace or event hub. |
+| [`diagnosticLogCategoriesToEnable`](#parameter-diagnosticlogcategoriestoenable) | array | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource, but currently not supported for Redis Cache Enterprise. Set to '' to disable log collection. |
+| [`diagnosticMetricsToEnable`](#parameter-diagnosticmetricstoenable) | array | The name of metrics that will be streamed. |
+| [`diagnosticSettingsName`](#parameter-diagnosticsettingsname) | string | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | The name of the Redis cache resource. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`capacity`](#parameter-capacity) | int | The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) family (1, 2, 3, 4). |
+| [`diagnosticEventHubAuthorizationRuleId`](#parameter-diagnosticeventhubauthorizationruleid) | string | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
+| [`diagnosticEventHubName`](#parameter-diagnosticeventhubname) | string | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. For security reasons, it is recommended to set diagnostic settings to send data to either storage account, log analytics workspace or event hub. |
+| [`diagnosticLogCategoriesToEnable`](#parameter-diagnosticlogcategoriestoenable) | array | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
+| [`diagnosticMetricsToEnable`](#parameter-diagnosticmetricstoenable) | array | The name of metrics that will be streamed. |
+| [`diagnosticSettingsName`](#parameter-diagnosticsettingsname) | string | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | Name of the CDN profile. |
+| [`sku`](#parameter-sku) | string | The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile. |
+
+**Conditional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`origionGroups`](#parameter-origiongroups) | array | Array of origin group objects. Required if the afdEndpoints is specified. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`afdEndpoints`](#parameter-afdendpoints) | array | Array of AFD endpoint objects. |
+| [`customDomains`](#parameter-customdomains) | array | Array of custom domain objects. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`endpointName`](#parameter-endpointname) | string | Name of the endpoint under the profile which is unique globally. |
+| [`endpointProperties`](#parameter-endpointproperties) | object | Endpoint properties (see https://learn.microsoft.com/en-us/azure/templates/microsoft.cdn/profiles/endpoints?pivots=deployment-language-bicep#endpointproperties for details). |
+| [`location`](#parameter-location) | string | Location for all Resources. |
+| [`lock`](#parameter-lock) | string | Specify the type of lock. |
+| [`originResponseTimeoutSeconds`](#parameter-originresponsetimeoutseconds) | int | Send and receive timeout on forwarding request to the origin. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`ruleSets`](#parameter-rulesets) | array | Array of rule set objects. |
+| [`secrets`](#parameter-secrets) | array | Array of secret objects. |
+| [`tags`](#parameter-tags) | object | Endpoint tags. |
+
+### Parameter: `afdEndpoints`
+
+Array of AFD endpoint objects.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `customDomains`
+
+Array of custom domain objects.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `endpointName`
+
+Name of the endpoint under the profile which is unique globally.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `endpointProperties`
+
+Endpoint properties (see https://learn.microsoft.com/en-us/azure/templates/microsoft.cdn/profiles/endpoints?pivots=deployment-language-bicep#endpointproperties for details).
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `location`
+
+Location for all Resources.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `lock`
+
+Specify the type of lock.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', CanNotDelete, ReadOnly]`
+
+### Parameter: `name`
+
+Name of the CDN profile.
+- Required: Yes
+- Type: string
+
+### Parameter: `originResponseTimeoutSeconds`
+
+Send and receive timeout on forwarding request to the origin.
+- Required: No
+- Type: int
+- Default: `60`
+
+### Parameter: `origionGroups`
+
+Array of origin group objects. Required if the afdEndpoints is specified.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `ruleSets`
+
+Array of rule set objects.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `secrets`
+
+Array of secret objects.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `sku`
+
+The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile.
+- Required: Yes
+- Type: string
+- Allowed: `[Custom_Verizon, Premium_AzureFrontDoor, Premium_Verizon, Standard_955BandWidth_ChinaCdn, Standard_Akamai, Standard_AvgBandWidth_ChinaCdn, Standard_AzureFrontDoor, Standard_ChinaCdn, Standard_Microsoft, Standard_Verizon, StandardPlus_955BandWidth_ChinaCdn, StandardPlus_AvgBandWidth_ChinaCdn, StandardPlus_ChinaCdn]`
+
+### Parameter: `tags`
+
+Endpoint tags.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The name of the CDN profile. |
+| `profileType` | string | The type of the CDN profile. |
+| `resourceGroupName` | string | The resource group where the CDN profile is deployed. |
+| `resourceId` | string | The resource ID of the CDN profile. |
+
+## Cross-referenced modules
+
+_None_
diff --git a/modules/cdn/profile/afdEndpoint/README.md b/modules/cdn/profile/afdEndpoint/README.md
index 92b71cb16f..6668c13e76 100644
--- a/modules/cdn/profile/afdEndpoint/README.md
+++ b/modules/cdn/profile/afdEndpoint/README.md
@@ -20,31 +20,87 @@ This module deploys a CDN Profile AFD Endpoint.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `name` | string | The name of the AFD Endpoint. |
+| [`name`](#parameter-name) | string | The name of the AFD Endpoint. |
**Conditional parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `profileName` | string | The name of the parent CDN profile. Required if the template is used in a standalone deployment. |
+| [`profileName`](#parameter-profilename) | string | The name of the parent CDN profile. Required if the template is used in a standalone deployment. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `autoGeneratedDomainNameLabelScope` | string | `'TenantReuse'` | `[NoReuse, ResourceGroupReuse, SubscriptionReuse, TenantReuse]` | Indicates the endpoint name reuse scope. The default value is TenantReuse. |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `enabledState` | string | `'Enabled'` | `[Disabled, Enabled]` | Indicates whether the AFD Endpoint is enabled. The default value is Enabled. |
-| `location` | string | `[resourceGroup().location]` | | The location of the AFD Endpoint. |
-| `routes` | array | `[]` | | The list of routes for this AFD Endpoint. |
-| `tags` | object | `{object}` | | The tags of the AFD Endpoint. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`autoGeneratedDomainNameLabelScope`](#parameter-autogenerateddomainnamelabelscope) | string | Indicates the endpoint name reuse scope. The default value is TenantReuse. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`enabledState`](#parameter-enabledstate) | string | Indicates whether the AFD Endpoint is enabled. The default value is Enabled. |
+| [`location`](#parameter-location) | string | The location of the AFD Endpoint. |
+| [`routes`](#parameter-routes) | array | The list of routes for this AFD Endpoint. |
+| [`tags`](#parameter-tags) | object | The tags of the AFD Endpoint. |
+
+### Parameter: `autoGeneratedDomainNameLabelScope`
+
+Indicates the endpoint name reuse scope. The default value is TenantReuse.
+- Required: No
+- Type: string
+- Default: `'TenantReuse'`
+- Allowed: `[NoReuse, ResourceGroupReuse, SubscriptionReuse, TenantReuse]`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `enabledState`
+
+Indicates whether the AFD Endpoint is enabled. The default value is Enabled.
+- Required: No
+- Type: string
+- Default: `'Enabled'`
+- Allowed: `[Disabled, Enabled]`
+
+### Parameter: `location`
+
+The location of the AFD Endpoint.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `name`
+
+The name of the AFD Endpoint.
+- Required: Yes
+- Type: string
+
+### Parameter: `profileName`
+
+The name of the parent CDN profile. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
+
+### Parameter: `routes`
+
+The list of routes for this AFD Endpoint.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `tags`
+
+The tags of the AFD Endpoint.
+- Required: No
+- Type: object
+- Default: `{object}`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `location` | string | The location the resource was deployed into. |
| `name` | string | The name of the AFD Endpoint. |
diff --git a/modules/cdn/profile/afdEndpoint/route/README.md b/modules/cdn/profile/afdEndpoint/route/README.md
index ee07973325..5b63f03281 100644
--- a/modules/cdn/profile/afdEndpoint/route/README.md
+++ b/modules/cdn/profile/afdEndpoint/route/README.md
@@ -19,33 +19,139 @@ This module deploys a CDN Profile AFD Endpoint route.
**Required parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `afdEndpointName` | string | | The name of the AFD endpoint. |
-| `name` | string | | The name of the route. |
-| `originGroupName` | string | `''` | The name of the origin group. The origin group must be defined in the profile originGroups. |
-| `profileName` | string | | The name of the parent CDN profile. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`afdEndpointName`](#parameter-afdendpointname) | string | The name of the AFD endpoint. |
+| [`name`](#parameter-name) | string | The name of the route. |
+| [`originGroupName`](#parameter-origingroupname) | string | The name of the origin group. The origin group must be defined in the profile originGroups. |
+| [`profileName`](#parameter-profilename) | string | The name of the parent CDN profile. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `cacheConfiguration` | object | `{object}` | | The caching configuration for this route. To disable caching, do not provide a cacheConfiguration object. |
-| `customDomainName` | string | | | The name of the custom domain. The custom domain must be defined in the profile customDomains. |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `enabledState` | string | `'Enabled'` | `[Disabled, Enabled]` | Whether this route is enabled. |
-| `forwardingProtocol` | string | `'MatchRequest'` | `[HttpOnly, HttpsOnly, MatchRequest]` | The protocol this rule will use when forwarding traffic to backends. |
-| `httpsRedirect` | string | `'Enabled'` | `[Disabled, Enabled]` | Whether to automatically redirect HTTP traffic to HTTPS traffic. |
-| `linkToDefaultDomain` | string | `'Enabled'` | `[Disabled, Enabled]` | Whether this route will be linked to the default endpoint domain. |
-| `originPath` | string | `''` | | A directory path on the origin that AzureFrontDoor can use to retrieve content from, e.g. contoso.cloudapp.net/originpath. |
-| `patternsToMatch` | array | `[]` | | The route patterns of the rule. |
-| `ruleSets` | array | `[]` | | The rule sets of the rule. The rule sets must be defined in the profile ruleSets. |
-| `supportedProtocols` | array | `[]` | `[Http, Https]` | The supported protocols of the rule. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`cacheConfiguration`](#parameter-cacheconfiguration) | object | The caching configuration for this route. To disable caching, do not provide a cacheConfiguration object. |
+| [`customDomainName`](#parameter-customdomainname) | string | The name of the custom domain. The custom domain must be defined in the profile customDomains. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`enabledState`](#parameter-enabledstate) | string | Whether this route is enabled. |
+| [`forwardingProtocol`](#parameter-forwardingprotocol) | string | The protocol this rule will use when forwarding traffic to backends. |
+| [`httpsRedirect`](#parameter-httpsredirect) | string | Whether to automatically redirect HTTP traffic to HTTPS traffic. |
+| [`linkToDefaultDomain`](#parameter-linktodefaultdomain) | string | Whether this route will be linked to the default endpoint domain. |
+| [`originPath`](#parameter-originpath) | string | A directory path on the origin that AzureFrontDoor can use to retrieve content from, e.g. contoso.cloudapp.net/originpath. |
+| [`patternsToMatch`](#parameter-patternstomatch) | array | The route patterns of the rule. |
+| [`ruleSets`](#parameter-rulesets) | array | The rule sets of the rule. The rule sets must be defined in the profile ruleSets. |
+| [`supportedProtocols`](#parameter-supportedprotocols) | array | The supported protocols of the rule. |
+
+### Parameter: `afdEndpointName`
+
+The name of the AFD endpoint.
+- Required: Yes
+- Type: string
+
+### Parameter: `cacheConfiguration`
+
+The caching configuration for this route. To disable caching, do not provide a cacheConfiguration object.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `customDomainName`
+
+The name of the custom domain. The custom domain must be defined in the profile customDomains.
+- Required: Yes
+- Type: string
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `enabledState`
+
+Whether this route is enabled.
+- Required: No
+- Type: string
+- Default: `'Enabled'`
+- Allowed: `[Disabled, Enabled]`
+
+### Parameter: `forwardingProtocol`
+
+The protocol this rule will use when forwarding traffic to backends.
+- Required: No
+- Type: string
+- Default: `'MatchRequest'`
+- Allowed: `[HttpOnly, HttpsOnly, MatchRequest]`
+
+### Parameter: `httpsRedirect`
+
+Whether to automatically redirect HTTP traffic to HTTPS traffic.
+- Required: No
+- Type: string
+- Default: `'Enabled'`
+- Allowed: `[Disabled, Enabled]`
+
+### Parameter: `linkToDefaultDomain`
+
+Whether this route will be linked to the default endpoint domain.
+- Required: No
+- Type: string
+- Default: `'Enabled'`
+- Allowed: `[Disabled, Enabled]`
+
+### Parameter: `name`
+
+The name of the route.
+- Required: Yes
+- Type: string
+
+### Parameter: `originGroupName`
+
+The name of the origin group. The origin group must be defined in the profile originGroups.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `originPath`
+
+A directory path on the origin that AzureFrontDoor can use to retrieve content from, e.g. contoso.cloudapp.net/originpath.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `patternsToMatch`
+
+The route patterns of the rule.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `profileName`
+
+The name of the parent CDN profile.
+- Required: Yes
+- Type: string
+
+### Parameter: `ruleSets`
+
+The rule sets of the rule. The rule sets must be defined in the profile ruleSets.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `supportedProtocols`
+
+The supported protocols of the rule.
+- Required: No
+- Type: array
+- Default: `[]`
+- Allowed: `[Http, Https]`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The name of the route. |
| `resourceGroupName` | string | The name of the resource group the route was created in. |
diff --git a/modules/cdn/profile/customdomain/README.md b/modules/cdn/profile/customdomain/README.md
index 87399b9693..57363db2c1 100644
--- a/modules/cdn/profile/customdomain/README.md
+++ b/modules/cdn/profile/customdomain/README.md
@@ -19,33 +19,101 @@ This module deploys a CDN Profile Custom Domains.
**Required parameters**
-| Parameter Name | Type | Allowed Values | Description |
-| :-- | :-- | :-- | :-- |
-| `certificateType` | string | `[CustomerCertificate, ManagedCertificate]` | The type of the certificate used for secure delivery. |
-| `hostName` | string | | The host name of the domain. Must be a domain name. |
-| `name` | string | | The name of the custom domain. |
-| `profileName` | string | | The name of the CDN profile. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`certificateType`](#parameter-certificatetype) | string | The type of the certificate used for secure delivery. |
+| [`hostName`](#parameter-hostname) | string | The host name of the domain. Must be a domain name. |
+| [`name`](#parameter-name) | string | The name of the custom domain. |
+| [`profileName`](#parameter-profilename) | string | The name of the CDN profile. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `extendedProperties` | object | `{object}` | | Key-Value pair representing migration properties for domains. |
-| `minimumTlsVersion` | string | `'TLS12'` | `[TLS10, TLS12]` | The minimum TLS version required for the custom domain. Default value: TLS12. |
-| `preValidatedCustomDomainResourceId` | string | `''` | | Resource reference to the Azure resource where custom domain ownership was prevalidated. |
-| `secretName` | string | `''` | | The name of the secret. ie. subs/rg/profile/secret. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`extendedProperties`](#parameter-extendedproperties) | object | Key-Value pair representing migration properties for domains. |
+| [`minimumTlsVersion`](#parameter-minimumtlsversion) | string | The minimum TLS version required for the custom domain. Default value: TLS12. |
+| [`preValidatedCustomDomainResourceId`](#parameter-prevalidatedcustomdomainresourceid) | string | Resource reference to the Azure resource where custom domain ownership was prevalidated. |
+| [`secretName`](#parameter-secretname) | string | The name of the secret. ie. subs/rg/profile/secret. |
**Optonal parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `azureDnsZoneResourceId` | string | `''` | Resource reference to the Azure DNS zone. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`azureDnsZoneResourceId`](#parameter-azurednszoneresourceid) | string | Resource reference to the Azure DNS zone. |
+
+### Parameter: `azureDnsZoneResourceId`
+
+Resource reference to the Azure DNS zone.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `certificateType`
+
+The type of the certificate used for secure delivery.
+- Required: Yes
+- Type: string
+- Allowed: `[CustomerCertificate, ManagedCertificate]`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `extendedProperties`
+
+Key-Value pair representing migration properties for domains.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `hostName`
+
+The host name of the domain. Must be a domain name.
+- Required: Yes
+- Type: string
+
+### Parameter: `minimumTlsVersion`
+
+The minimum TLS version required for the custom domain. Default value: TLS12.
+- Required: No
+- Type: string
+- Default: `'TLS12'`
+- Allowed: `[TLS10, TLS12]`
+
+### Parameter: `name`
+
+The name of the custom domain.
+- Required: Yes
+- Type: string
+
+### Parameter: `preValidatedCustomDomainResourceId`
+
+Resource reference to the Azure resource where custom domain ownership was prevalidated.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `profileName`
+
+The name of the CDN profile.
+- Required: Yes
+- Type: string
+
+### Parameter: `secretName`
+
+The name of the secret. ie. subs/rg/profile/secret.
+- Required: No
+- Type: string
+- Default: `''`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The name of the custom domain. |
| `resourceGroupName` | string | The name of the resource group the custom domain was created in. |
diff --git a/modules/cdn/profile/endpoint/README.md b/modules/cdn/profile/endpoint/README.md
index 688a86025a..7681a1e2f8 100644
--- a/modules/cdn/profile/endpoint/README.md
+++ b/modules/cdn/profile/endpoint/README.md
@@ -20,29 +20,68 @@ This module deploys a CDN Profile Endpoint.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `name` | string | Name of the endpoint under the profile which is unique globally. |
-| `properties` | object | Endpoint properties (see https://learn.microsoft.com/en-us/azure/templates/microsoft.cdn/profiles/endpoints?pivots=deployment-language-bicep#endpointproperties for details). |
+| [`name`](#parameter-name) | string | Name of the endpoint under the profile which is unique globally. |
+| [`properties`](#parameter-properties) | object | Endpoint properties (see https://learn.microsoft.com/en-us/azure/templates/microsoft.cdn/profiles/endpoints?pivots=deployment-language-bicep#endpointproperties for details). |
**Conditional parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `profileName` | string | The name of the parent CDN profile. Required if the template is used in a standalone deployment. |
+| [`profileName`](#parameter-profilename) | string | The name of the parent CDN profile. Required if the template is used in a standalone deployment. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `location` | string | `[resourceGroup().location]` | Resource location. |
-| `tags` | object | `{object}` | Endpoint tags. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`location`](#parameter-location) | string | Resource location. |
+| [`tags`](#parameter-tags) | object | Endpoint tags. |
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `location`
+
+Resource location.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `name`
+
+Name of the endpoint under the profile which is unique globally.
+- Required: Yes
+- Type: string
+
+### Parameter: `profileName`
+
+The name of the parent CDN profile. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
+
+### Parameter: `properties`
+
+Endpoint properties (see https://learn.microsoft.com/en-us/azure/templates/microsoft.cdn/profiles/endpoints?pivots=deployment-language-bicep#endpointproperties for details).
+- Required: Yes
+- Type: object
+
+### Parameter: `tags`
+
+Endpoint tags.
+- Required: No
+- Type: object
+- Default: `{object}`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `endpointProperties` | object | The properties of the endpoint. |
| `location` | string | The location the resource was deployed into. |
diff --git a/modules/cdn/profile/endpoint/origin/README.md b/modules/cdn/profile/endpoint/origin/README.md
index c4e00f6ddd..706d8a9c4a 100644
--- a/modules/cdn/profile/endpoint/origin/README.md
+++ b/modules/cdn/profile/endpoint/origin/README.md
@@ -19,37 +19,128 @@ This module deploys a CDN Profile Endpoint Origin.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `endpointName` | string | The name of the CDN Endpoint. |
-| `hostName` | string | The hostname of the origin. |
-| `name` | string | The name of the origin. |
+| [`endpointName`](#parameter-endpointname) | string | The name of the CDN Endpoint. |
+| [`hostName`](#parameter-hostname) | string | The hostname of the origin. |
+| [`name`](#parameter-name) | string | The name of the origin. |
**Conditional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `priority` | int | `-1` | The priority of origin in given origin group for load balancing. Required if `weight` is provided. |
-| `privateLinkAlias` | string | | The private link alias of the origin. Required if privateLinkLocation is provided. |
-| `privateLinkLocation` | string | | The private link location of the origin. Required if privateLinkAlias is provided. |
-| `weight` | int | `-1` | The weight of the origin used for load balancing. Required if `priority` is provided. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`priority`](#parameter-priority) | int | The priority of origin in given origin group for load balancing. Required if `weight` is provided. |
+| [`privateLinkAlias`](#parameter-privatelinkalias) | string | The private link alias of the origin. Required if privateLinkLocation is provided. |
+| [`privateLinkLocation`](#parameter-privatelinklocation) | string | The private link location of the origin. Required if privateLinkAlias is provided. |
+| [`weight`](#parameter-weight) | int | The weight of the origin used for load balancing. Required if `priority` is provided. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `enabled` | bool | `True` | Whether the origin is enabled for load balancing. |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `httpPort` | int | `80` | The HTTP port of the origin. |
-| `httpsPort` | int | `443` | The HTTPS port of the origin. |
-| `originHostHeader` | string | | The host header value sent to the origin. |
-| `privateLinkResourceId` | string | | The private link resource ID of the origin. |
-| `profileName` | string | `'default'` | The name of the CDN profile. Default to "default". |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enabled`](#parameter-enabled) | bool | Whether the origin is enabled for load balancing. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`httpPort`](#parameter-httpport) | int | The HTTP port of the origin. |
+| [`httpsPort`](#parameter-httpsport) | int | The HTTPS port of the origin. |
+| [`originHostHeader`](#parameter-originhostheader) | string | The host header value sent to the origin. |
+| [`privateLinkResourceId`](#parameter-privatelinkresourceid) | string | The private link resource ID of the origin. |
+| [`profileName`](#parameter-profilename) | string | The name of the CDN profile. Default to "default". |
+
+### Parameter: `enabled`
+
+Whether the origin is enabled for load balancing.
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `endpointName`
+
+The name of the CDN Endpoint.
+- Required: Yes
+- Type: string
+
+### Parameter: `hostName`
+
+The hostname of the origin.
+- Required: Yes
+- Type: string
+
+### Parameter: `httpPort`
+
+The HTTP port of the origin.
+- Required: No
+- Type: int
+- Default: `80`
+
+### Parameter: `httpsPort`
+
+The HTTPS port of the origin.
+- Required: No
+- Type: int
+- Default: `443`
+
+### Parameter: `name`
+
+The name of the origin.
+- Required: Yes
+- Type: string
+
+### Parameter: `originHostHeader`
+
+The host header value sent to the origin.
+- Required: Yes
+- Type: string
+
+### Parameter: `priority`
+
+The priority of origin in given origin group for load balancing. Required if `weight` is provided.
+- Required: No
+- Type: int
+- Default: `-1`
+
+### Parameter: `privateLinkAlias`
+
+The private link alias of the origin. Required if privateLinkLocation is provided.
+- Required: Yes
+- Type: string
+
+### Parameter: `privateLinkLocation`
+
+The private link location of the origin. Required if privateLinkAlias is provided.
+- Required: Yes
+- Type: string
+
+### Parameter: `privateLinkResourceId`
+
+The private link resource ID of the origin.
+- Required: Yes
+- Type: string
+
+### Parameter: `profileName`
+
+The name of the CDN profile. Default to "default".
+- Required: No
+- Type: string
+- Default: `'default'`
+
+### Parameter: `weight`
+
+The weight of the origin used for load balancing. Required if `priority` is provided.
+- Required: No
+- Type: int
+- Default: `-1`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `location` | string | The location the resource was deployed into. |
| `name` | string | The name of the endpoint. |
diff --git a/modules/cdn/profile/origingroup/README.md b/modules/cdn/profile/origingroup/README.md
index fd8396cd17..0ba329cf7b 100644
--- a/modules/cdn/profile/origingroup/README.md
+++ b/modules/cdn/profile/origingroup/README.md
@@ -20,26 +20,80 @@ This module deploys a CDN Profile Origin Group.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `loadBalancingSettings` | object | Load balancing settings for a backend pool. |
-| `name` | string | The name of the origin group. |
-| `origins` | array | The list of origins within the origin group. |
-| `profileName` | string | The name of the CDN profile. |
+| [`loadBalancingSettings`](#parameter-loadbalancingsettings) | object | Load balancing settings for a backend pool. |
+| [`name`](#parameter-name) | string | The name of the origin group. |
+| [`origins`](#parameter-origins) | array | The list of origins within the origin group. |
+| [`profileName`](#parameter-profilename) | string | The name of the CDN profile. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `healthProbeSettings` | object | `{object}` | | Health probe settings to the origin that is used to determine the health of the origin. |
-| `sessionAffinityState` | string | `'Disabled'` | `[Disabled, Enabled]` | Whether to allow session affinity on this host. |
-| `trafficRestorationTimeToHealedOrNewEndpointsInMinutes` | int | `10` | | Time in minutes to shift the traffic to the endpoint gradually when an unhealthy endpoint comes healthy or a new endpoint is added. Default is 10 mins. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`healthProbeSettings`](#parameter-healthprobesettings) | object | Health probe settings to the origin that is used to determine the health of the origin. |
+| [`sessionAffinityState`](#parameter-sessionaffinitystate) | string | Whether to allow session affinity on this host. |
+| [`trafficRestorationTimeToHealedOrNewEndpointsInMinutes`](#parameter-trafficrestorationtimetohealedornewendpointsinminutes) | int | Time in minutes to shift the traffic to the endpoint gradually when an unhealthy endpoint comes healthy or a new endpoint is added. Default is 10 mins. |
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `healthProbeSettings`
+
+Health probe settings to the origin that is used to determine the health of the origin.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `loadBalancingSettings`
+
+Load balancing settings for a backend pool.
+- Required: Yes
+- Type: object
+
+### Parameter: `name`
+
+The name of the origin group.
+- Required: Yes
+- Type: string
+
+### Parameter: `origins`
+
+The list of origins within the origin group.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `profileName`
+
+The name of the CDN profile.
+- Required: Yes
+- Type: string
+
+### Parameter: `sessionAffinityState`
+
+Whether to allow session affinity on this host.
+- Required: No
+- Type: string
+- Default: `'Disabled'`
+- Allowed: `[Disabled, Enabled]`
+
+### Parameter: `trafficRestorationTimeToHealedOrNewEndpointsInMinutes`
+
+Time in minutes to shift the traffic to the endpoint gradually when an unhealthy endpoint comes healthy or a new endpoint is added. Default is 10 mins.
+- Required: No
+- Type: int
+- Default: `10`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `location` | string | The location the resource was deployed into. |
| `name` | string | The name of the origin group. |
diff --git a/modules/cdn/profile/origingroup/origin/README.md b/modules/cdn/profile/origingroup/origin/README.md
index 260e7846fb..fd6cf7110b 100644
--- a/modules/cdn/profile/origingroup/origin/README.md
+++ b/modules/cdn/profile/origingroup/origin/README.md
@@ -19,31 +19,119 @@ This module deploys a CDN Profile Origin.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `hostName` | string | The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are supported.This should be unique across all origins in an endpoint. |
-| `name` | string | The name of the origion. |
-| `originGroupName` | string | The name of the group. |
-| `profileName` | string | The name of the CDN profile. |
+| [`hostName`](#parameter-hostname) | string | The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are supported.This should be unique across all origins in an endpoint. |
+| [`name`](#parameter-name) | string | The name of the origion. |
+| [`originGroupName`](#parameter-origingroupname) | string | The name of the group. |
+| [`profileName`](#parameter-profilename) | string | The name of the CDN profile. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `enabledState` | string | `'Enabled'` | `[Disabled, Enabled]` | Whether to enable health probes to be made against backends defined under backendPools. Health probes can only be disabled if there is a single enabled backend in single enabled backend pool. |
-| `enforceCertificateNameCheck` | bool | `True` | | Whether to enable certificate name check at origin level. |
-| `httpPort` | int | `80` | | The value of the HTTP port. Must be between 1 and 65535. |
-| `httpsPort` | int | `443` | | The value of the HTTPS port. Must be between 1 and 65535. |
-| `originHostHeader` | string | `''` | | The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure Front Door origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default. This overrides the host header defined at Endpoint. |
-| `priority` | int | `1` | | Priority of origin in given origin group for load balancing. Higher priorities will not be used for load balancing if any lower priority origin is healthy.Must be between 1 and 5. |
-| `sharedPrivateLinkResource` | object | `{object}` | | The properties of the private link resource for private origin. |
-| `weight` | int | `1000` | | Weight of the origin in given origin group for load balancing. Must be between 1 and 1000. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`enabledState`](#parameter-enabledstate) | string | Whether to enable health probes to be made against backends defined under backendPools. Health probes can only be disabled if there is a single enabled backend in single enabled backend pool. |
+| [`enforceCertificateNameCheck`](#parameter-enforcecertificatenamecheck) | bool | Whether to enable certificate name check at origin level. |
+| [`httpPort`](#parameter-httpport) | int | The value of the HTTP port. Must be between 1 and 65535. |
+| [`httpsPort`](#parameter-httpsport) | int | The value of the HTTPS port. Must be between 1 and 65535. |
+| [`originHostHeader`](#parameter-originhostheader) | string | The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure Front Door origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default. This overrides the host header defined at Endpoint. |
+| [`priority`](#parameter-priority) | int | Priority of origin in given origin group for load balancing. Higher priorities will not be used for load balancing if any lower priority origin is healthy.Must be between 1 and 5. |
+| [`sharedPrivateLinkResource`](#parameter-sharedprivatelinkresource) | object | The properties of the private link resource for private origin. |
+| [`weight`](#parameter-weight) | int | Weight of the origin in given origin group for load balancing. Must be between 1 and 1000. |
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `enabledState`
+
+Whether to enable health probes to be made against backends defined under backendPools. Health probes can only be disabled if there is a single enabled backend in single enabled backend pool.
+- Required: No
+- Type: string
+- Default: `'Enabled'`
+- Allowed: `[Disabled, Enabled]`
+
+### Parameter: `enforceCertificateNameCheck`
+
+Whether to enable certificate name check at origin level.
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `hostName`
+
+The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are supported.This should be unique across all origins in an endpoint.
+- Required: Yes
+- Type: string
+
+### Parameter: `httpPort`
+
+The value of the HTTP port. Must be between 1 and 65535.
+- Required: No
+- Type: int
+- Default: `80`
+
+### Parameter: `httpsPort`
+
+The value of the HTTPS port. Must be between 1 and 65535.
+- Required: No
+- Type: int
+- Default: `443`
+
+### Parameter: `name`
+
+The name of the origion.
+- Required: Yes
+- Type: string
+
+### Parameter: `originGroupName`
+
+The name of the group.
+- Required: Yes
+- Type: string
+
+### Parameter: `originHostHeader`
+
+The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure Front Door origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default. This overrides the host header defined at Endpoint.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `priority`
+
+Priority of origin in given origin group for load balancing. Higher priorities will not be used for load balancing if any lower priority origin is healthy.Must be between 1 and 5.
+- Required: No
+- Type: int
+- Default: `1`
+
+### Parameter: `profileName`
+
+The name of the CDN profile.
+- Required: Yes
+- Type: string
+
+### Parameter: `sharedPrivateLinkResource`
+
+The properties of the private link resource for private origin.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `weight`
+
+Weight of the origin in given origin group for load balancing. Must be between 1 and 1000.
+- Required: No
+- Type: int
+- Default: `1000`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The name of the origin. |
| `resourceGroupName` | string | The name of the resource group the origin was created in. |
diff --git a/modules/cdn/profile/ruleset/README.md b/modules/cdn/profile/ruleset/README.md
index de4783b188..e7dc4c15de 100644
--- a/modules/cdn/profile/ruleset/README.md
+++ b/modules/cdn/profile/ruleset/README.md
@@ -20,27 +20,53 @@ This module deploys a CDN Profile rule set.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `name` | string | The name of the rule set. |
-| `profileName` | string | The name of the CDN profile. |
+| [`name`](#parameter-name) | string | The name of the rule set. |
+| [`profileName`](#parameter-profilename) | string | The name of the CDN profile. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
**Optinal parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `rules` | array | The rules to apply to the rule set. |
+| [`rules`](#parameter-rules) | array | The rules to apply to the rule set. |
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `name`
+
+The name of the rule set.
+- Required: Yes
+- Type: string
+
+### Parameter: `profileName`
+
+The name of the CDN profile.
+- Required: Yes
+- Type: string
+
+### Parameter: `rules`
+
+The rules to apply to the rule set.
+- Required: No
+- Type: array
+- Default: `[]`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The name of the rule set. |
| `resourceGroupName` | string | The name of the resource group the custom domain was created in. |
diff --git a/modules/cdn/profile/ruleset/rule/README.md b/modules/cdn/profile/ruleset/rule/README.md
index 9fbaa502eb..53201f8cfb 100644
--- a/modules/cdn/profile/ruleset/rule/README.md
+++ b/modules/cdn/profile/ruleset/rule/README.md
@@ -19,26 +19,78 @@ This module deploys a CDN Profile rule.
**Required parameters**
-| Parameter Name | Type | Allowed Values | Description |
-| :-- | :-- | :-- | :-- |
-| `matchProcessingBehavior` | string | `[Continue, Stop]` | If this rule is a match should the rules engine continue running the remaining rules or stop. If not present, defaults to Continue. |
-| `name` | string | | The name of the rule. |
-| `order` | int | | The order in which this rule will be applied. Rules with a lower order are applied before rules with a higher order. |
-| `profileName` | string | | The name of the profile. |
-| `ruleSetName` | string | | The name of the rule set. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`matchProcessingBehavior`](#parameter-matchprocessingbehavior) | string | If this rule is a match should the rules engine continue running the remaining rules or stop. If not present, defaults to Continue. |
+| [`name`](#parameter-name) | string | The name of the rule. |
+| [`order`](#parameter-order) | int | The order in which this rule will be applied. Rules with a lower order are applied before rules with a higher order. |
+| [`profileName`](#parameter-profilename) | string | The name of the profile. |
+| [`ruleSetName`](#parameter-rulesetname) | string | The name of the rule set. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `actions` | array | `[]` | A list of actions that are executed when all the conditions of a rule are satisfied. |
-| `conditions` | array | `[]` | A list of conditions that must be matched for the actions to be executed. |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`actions`](#parameter-actions) | array | A list of actions that are executed when all the conditions of a rule are satisfied. |
+| [`conditions`](#parameter-conditions) | array | A list of conditions that must be matched for the actions to be executed. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+
+### Parameter: `actions`
+
+A list of actions that are executed when all the conditions of a rule are satisfied.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `conditions`
+
+A list of conditions that must be matched for the actions to be executed.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `matchProcessingBehavior`
+
+If this rule is a match should the rules engine continue running the remaining rules or stop. If not present, defaults to Continue.
+- Required: Yes
+- Type: string
+- Allowed: `[Continue, Stop]`
+
+### Parameter: `name`
+
+The name of the rule.
+- Required: Yes
+- Type: string
+
+### Parameter: `order`
+
+The order in which this rule will be applied. Rules with a lower order are applied before rules with a higher order.
+- Required: Yes
+- Type: int
+
+### Parameter: `profileName`
+
+The name of the profile.
+- Required: Yes
+- Type: string
+
+### Parameter: `ruleSetName`
+
+The name of the rule set.
+- Required: Yes
+- Type: string
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The name of the rule. |
| `resourceGroupName` | string | The name of the resource group the custom domain was created in. |
diff --git a/modules/cdn/profile/secret/README.md b/modules/cdn/profile/secret/README.md
index 4f1a1f6161..9156b542e5 100644
--- a/modules/cdn/profile/secret/README.md
+++ b/modules/cdn/profile/secret/README.md
@@ -19,31 +19,86 @@ This module deploys a CDN Profile Secret.
**Required parameters**
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `name` | string | | | The name of the secrect. |
-| `type` | string | `'AzureFirstPartyManagedCertificate'` | `[AzureFirstPartyManagedCertificate, CustomerCertificate, ManagedCertificate, UrlSigningKey]` | The type of the secrect. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | The name of the secrect. |
+| [`type`](#parameter-type) | string | The type of the secrect. |
**Conditional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `profileName` | string | | The name of the parent CDN profile. Required if the template is used in a standalone deployment. |
-| `secretSourceResourceId` | string | `''` | The resource ID of the secrect source. Required if the type is CustomerCertificate. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`profileName`](#parameter-profilename) | string | The name of the parent CDN profile. Required if the template is used in a standalone deployment. |
+| [`secretSourceResourceId`](#parameter-secretsourceresourceid) | string | The resource ID of the secrect source. Required if the type is CustomerCertificate. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `secretVersion` | string | `''` | The version of the secret. |
-| `subjectAlternativeNames` | array | `[]` | The subject alternative names of the secrect. |
-| `useLatestVersion` | bool | `False` | Indicates whether to use the latest version of the secrect. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`secretVersion`](#parameter-secretversion) | string | The version of the secret. |
+| [`subjectAlternativeNames`](#parameter-subjectalternativenames) | array | The subject alternative names of the secrect. |
+| [`useLatestVersion`](#parameter-uselatestversion) | bool | Indicates whether to use the latest version of the secrect. |
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `name`
+
+The name of the secrect.
+- Required: Yes
+- Type: string
+
+### Parameter: `profileName`
+
+The name of the parent CDN profile. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
+
+### Parameter: `secretSourceResourceId`
+
+The resource ID of the secrect source. Required if the type is CustomerCertificate.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `secretVersion`
+
+The version of the secret.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `subjectAlternativeNames`
+
+The subject alternative names of the secrect.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `type`
+
+The type of the secrect.
+- Required: No
+- Type: string
+- Default: `'AzureFirstPartyManagedCertificate'`
+- Allowed: `[AzureFirstPartyManagedCertificate, CustomerCertificate, ManagedCertificate, UrlSigningKey]`
+
+### Parameter: `useLatestVersion`
+
+Indicates whether to use the latest version of the secrect.
+- Required: No
+- Type: bool
+- Default: `False`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The name of the secrect. |
| `resourceGroupName` | string | The name of the resource group the secret was created in. |
diff --git a/modules/cognitive-services/account/.test/common/main.test.bicep b/modules/cognitive-services/account/.test/common/main.test.bicep
index 0802ae9df8..39d0bbbd26 100644
--- a/modules/cognitive-services/account/.test/common/main.test.bicep
+++ b/modules/cognitive-services/account/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/cognitive-services/account/.test/min/main.test.bicep b/modules/cognitive-services/account/.test/min/main.test.bicep
index 727b9a5a92..c24b67f868 100644
--- a/modules/cognitive-services/account/.test/min/main.test.bicep
+++ b/modules/cognitive-services/account/.test/min/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using only defaults'
+metadata description = 'This instance deploys the module with the minimum set of required parameters.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/cognitive-services/account/README.md b/modules/cognitive-services/account/README.md
index 93f229c9e9..1d92f15fb0 100644
--- a/modules/cognitive-services/account/README.md
+++ b/modules/cognitive-services/account/README.md
@@ -4,14 +4,14 @@ This module deploys a Cognitive Service.
## Navigation
-- [Resource types](#Resource-types)
+- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
- [Notes](#Notes)
-## Resource types
+## Resource Types
| Resource Type | API Version |
| :-- | :-- |
@@ -22,91 +22,30 @@ This module deploys a Cognitive Service.
| `Microsoft.Network/privateEndpoints` | [2023-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2023-04-01/privateEndpoints) |
| `Microsoft.Network/privateEndpoints/privateDnsZoneGroups` | [2023-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2023-04-01/privateEndpoints/privateDnsZoneGroups) |
-## Parameters
+## Usage examples
-**Required parameters**
+The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository.
-| Parameter Name | Type | Allowed Values | Description |
-| :-- | :-- | :-- | :-- |
-| `kind` | string | `[AnomalyDetector, Bing.Autosuggest.v7, Bing.CustomSearch, Bing.EntitySearch, Bing.Search.v7, Bing.SpellCheck.v7, CognitiveServices, ComputerVision, ContentModerator, CustomVision.Prediction, CustomVision.Training, Face, FormRecognizer, ImmersiveReader, Internal.AllInOne, LUIS, LUIS.Authoring, Personalizer, QnAMaker, SpeechServices, TextAnalytics, TextTranslation]` | Kind of the Cognitive Services. Use 'Get-AzCognitiveServicesAccountSku' to determine a valid combinations of 'kind' and 'SKU' for your Azure region. |
-| `name` | string | | The name of Cognitive Services account. |
+>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-**Conditional parameters**
+>**Note**: To reference the module, please use the following syntax `br:bicep/modules/cognitive-services.account:1.0.0`.
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `cMKKeyVaultResourceId` | string | `''` | The resource ID of a key vault to reference a customer managed key for encryption from. Required if 'cMKKeyName' is not empty. |
-| `cMKUserAssignedIdentityResourceId` | string | `''` | User assigned identity to use when fetching the customer managed key. Required if 'cMKKeyName' is not empty. |
-| `customSubDomainName` | string | `''` | Subdomain name used for token-based authentication. Required if 'networkAcls' or 'privateEndpoints' are set. |
-| `userAssignedIdentities` | object | `{object}` | The ID(s) to assign to the resource. Required if a user assigned identity is used for encryption. |
+- [Using large parameter set](#example-1-using-large-parameter-set)
+- [Encr](#example-2-encr)
+- [Using only defaults](#example-3-using-only-defaults)
+- [Speech](#example-4-speech)
-**Optional parameters**
+### Example 1: _Using large parameter set_
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `allowedFqdnList` | array | `[]` | | List of allowed FQDN. |
-| `apiProperties` | object | `{object}` | | The API properties for special APIs. |
-| `cMKKeyName` | string | `''` | | The name of the customer managed key to use for encryption. Cannot be deployed together with the parameter 'systemAssignedIdentity' enabled. |
-| `cMKKeyVersion` | string | `''` | | The version of the customer managed key to reference for encryption. If not provided, latest is used. |
-| `diagnosticEventHubAuthorizationRuleId` | string | `''` | | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
-| `diagnosticEventHubName` | string | `''` | | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
-| `diagnosticLogCategoriesToEnable` | array | `[allLogs]` | `['', allLogs, Audit, RequestResponse]` | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
-| `diagnosticMetricsToEnable` | array | `[AllMetrics]` | `[AllMetrics]` | The name of metrics that will be streamed. |
-| `diagnosticSettingsName` | string | `''` | | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
-
-
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`kind`](#parameter-kind) | string | Kind of the Cognitive Services. Use 'Get-AzCognitiveServicesAccountSku' to determine a valid combinations of 'kind' and 'SKU' for your Azure region. |
+| [`name`](#parameter-name) | string | The name of Cognitive Services account. |
+
+**Conditional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`cMKKeyVaultResourceId`](#parameter-cmkkeyvaultresourceid) | string | The resource ID of a key vault to reference a customer managed key for encryption from. Required if 'cMKKeyName' is not empty. |
+| [`cMKUserAssignedIdentityResourceId`](#parameter-cmkuserassignedidentityresourceid) | string | User assigned identity to use when fetching the customer managed key. Required if 'cMKKeyName' is not empty. |
+| [`customSubDomainName`](#parameter-customsubdomainname) | string | Subdomain name used for token-based authentication. Required if 'networkAcls' or 'privateEndpoints' are set. |
+| [`userAssignedIdentities`](#parameter-userassignedidentities) | object | The ID(s) to assign to the resource. Required if a user assigned identity is used for encryption. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`allowedFqdnList`](#parameter-allowedfqdnlist) | array | List of allowed FQDN. |
+| [`apiProperties`](#parameter-apiproperties) | object | The API properties for special APIs. |
+| [`cMKKeyName`](#parameter-cmkkeyname) | string | The name of the customer managed key to use for encryption. Cannot be deployed together with the parameter 'systemAssignedIdentity' enabled. |
+| [`cMKKeyVersion`](#parameter-cmkkeyversion) | string | The version of the customer managed key to reference for encryption. If not provided, latest is used. |
+| [`diagnosticEventHubAuthorizationRuleId`](#parameter-diagnosticeventhubauthorizationruleid) | string | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
+| [`diagnosticEventHubName`](#parameter-diagnosticeventhubname) | string | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
+| [`diagnosticLogCategoriesToEnable`](#parameter-diagnosticlogcategoriestoenable) | array | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
+| [`diagnosticMetricsToEnable`](#parameter-diagnosticmetricstoenable) | array | The name of metrics that will be streamed. |
+| [`diagnosticSettingsName`](#parameter-diagnosticsettingsname) | string | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | The name of the availability set that is being created. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`location`](#parameter-location) | string | Resource location. |
+| [`lock`](#parameter-lock) | string | Specify the type of lock. |
+| [`platformFaultDomainCount`](#parameter-platformfaultdomaincount) | int | The number of fault domains to use. |
+| [`platformUpdateDomainCount`](#parameter-platformupdatedomaincount) | int | The number of update domains to use. |
+| [`proximityPlacementGroupResourceId`](#parameter-proximityplacementgroupresourceid) | string | Resource ID of a proximity placement group. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`skuName`](#parameter-skuname) | string | SKU of the availability set.
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`keyName`](#parameter-keyname) | string | Key URL (with version) pointing to a key or secret in KeyVault. |
+| [`keyVaultResourceId`](#parameter-keyvaultresourceid) | string | Resource ID of the KeyVault containing the key or secret. |
+| [`name`](#parameter-name) | string | The name of the disk encryption set that is being created. |
+
+**Conditional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`systemAssignedIdentity`](#parameter-systemassignedidentity) | bool | Enables system assigned managed identity on the resource. Required if userAssignedIdentities is empty. |
+| [`userAssignedIdentities`](#parameter-userassignedidentities) | object | The ID(s) to assign to the resource. Required if systemAssignedIdentity is set to "false". |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`encryptionType`](#parameter-encryptiontype) | string | The type of key used to encrypt the data of the disk. For security reasons, it is recommended to set encryptionType to EncryptionAtRestWithPlatformAndCustomerKeys. |
+| [`federatedClientId`](#parameter-federatedclientid) | string | Multi-tenant application client ID to access key vault in a different tenant. Setting the value to "None" will clear the property. |
+| [`keyVersion`](#parameter-keyversion) | string | The version of the customer managed key to reference for encryption. If not provided, the latest key version is used. |
+| [`location`](#parameter-location) | string | Resource location. |
+| [`lock`](#parameter-lock) | string | Specify the type of lock. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`rotationToLatestKeyVersionEnabled`](#parameter-rotationtolatestkeyversionenabled) | bool | Set this flag to true to enable auto-updating of this disk encryption set to the latest key version. |
+| [`tags`](#parameter-tags) | object | Tags of the disk encryption resource. |
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `encryptionType`
+
+The type of key used to encrypt the data of the disk. For security reasons, it is recommended to set encryptionType to EncryptionAtRestWithPlatformAndCustomerKeys.
+- Required: No
+- Type: string
+- Default: `'EncryptionAtRestWithPlatformAndCustomerKeys'`
+- Allowed: `[EncryptionAtRestWithCustomerKey, EncryptionAtRestWithPlatformAndCustomerKeys]`
+
+### Parameter: `federatedClientId`
+
+Multi-tenant application client ID to access key vault in a different tenant. Setting the value to "None" will clear the property.
+- Required: No
+- Type: string
+- Default: `'None'`
+
+### Parameter: `keyName`
+
+Key URL (with version) pointing to a key or secret in KeyVault.
+- Required: Yes
+- Type: string
+
+### Parameter: `keyVaultResourceId`
+
+Resource ID of the KeyVault containing the key or secret.
+- Required: Yes
+- Type: string
+
+### Parameter: `keyVersion`
+
+The version of the customer managed key to reference for encryption. If not provided, the latest key version is used.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `location`
+
+Resource location.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `lock`
+
+Specify the type of lock.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', CanNotDelete, ReadOnly]`
+
+### Parameter: `name`
+
+The name of the disk encryption set that is being created.
+- Required: Yes
+- Type: string
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `rotationToLatestKeyVersionEnabled`
+
+Set this flag to true to enable auto-updating of this disk encryption set to the latest key version.
+- Required: No
+- Type: bool
+- Default: `False`
+
+### Parameter: `systemAssignedIdentity`
+
+Enables system assigned managed identity on the resource. Required if userAssignedIdentities is empty.
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `tags`
+
+Tags of the disk encryption resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `userAssignedIdentities`
+
+The ID(s) to assign to the resource. Required if systemAssignedIdentity is set to "false".
+- Required: No
+- Type: object
+- Default: `{object}`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `identities` | object | The idenities of the disk encryption set. |
+| `keyVaultName` | string | The name of the key vault with the disk encryption key. |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The name of the disk encryption set. |
+| `principalId` | string | The principal ID of the disk encryption set. |
+| `resourceGroupName` | string | The resource group the disk encryption set was deployed into. |
+| `resourceId` | string | The resource ID of the disk encryption set. |
+
+## Cross-referenced modules
+
+This section gives you an overview of all local-referenced module files (i.e., other CARML modules that are referenced in this module) and all remote-referenced files (i.e., Bicep modules that are referenced from a Bicep Registry or Template Specs).
+
+| Reference | Type |
+| :-- | :-- |
+| `modules/key-vault/vault/access-policy` | Local reference |
diff --git a/modules/compute/disk-encryption-set/main.json b/modules/compute/disk-encryption-set/main.json
index 64d9b15bb7..d695c7fa4b 100644
--- a/modules/compute/disk-encryption-set/main.json
+++ b/modules/compute/disk-encryption-set/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "18377917753202643188"
+ "version": "0.22.6.54827",
+ "templateHash": "2262193414925411787"
},
"name": "Disk Encryption Sets",
"description": "This module deploys a Disk Encryption Set.",
@@ -210,8 +210,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "1230112027833486150"
+ "version": "0.22.6.54827",
+ "templateHash": "17441180682016270247"
}
},
"parameters": {
@@ -286,8 +286,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "7222366309271203422"
+ "version": "0.22.6.54827",
+ "templateHash": "7398650593557443106"
}
},
"parameters": {
@@ -358,8 +358,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "10458348557666655329"
+ "version": "0.22.6.54827",
+ "templateHash": "2131300650084383528"
},
"name": "Key Vault Access Policies",
"description": "This module deploys a Key Vault Access Policy.",
@@ -492,8 +492,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "13165233376501361165"
+ "version": "0.22.6.54827",
+ "templateHash": "17225067072833999246"
}
},
"parameters": {
diff --git a/modules/compute/disk/.test/common/main.test.bicep b/modules/compute/disk/.test/common/main.test.bicep
index 7b06f5ded0..aa9864c7ed 100644
--- a/modules/compute/disk/.test/common/main.test.bicep
+++ b/modules/compute/disk/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/compute/disk/.test/min/main.test.bicep b/modules/compute/disk/.test/min/main.test.bicep
index 15661b44b4..6a69bbe644 100644
--- a/modules/compute/disk/.test/min/main.test.bicep
+++ b/modules/compute/disk/.test/min/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using only defaults'
+metadata description = 'This instance deploys the module with the minimum set of required parameters.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/compute/disk/README.md b/modules/compute/disk/README.md
index 1c03c30837..1443faa26e 100644
--- a/modules/compute/disk/README.md
+++ b/modules/compute/disk/README.md
@@ -5,10 +5,10 @@ This module deploys a Compute Disk
## Navigation
- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
## Resource Types
@@ -18,80 +18,30 @@ This module deploys a Compute Disk
| `Microsoft.Authorization/roleAssignments` | [2022-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2022-04-01/roleAssignments) |
| `Microsoft.Compute/disks` | [2022-07-02](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Compute/2022-07-02/disks) |
-## Parameters
-
-**Required parameters**
+## Usage examples
-| Parameter Name | Type | Allowed Values | Description |
-| :-- | :-- | :-- | :-- |
-| `name` | string | | The name of the disk that is being created. |
-| `sku` | string | `[Premium_LRS, Premium_ZRS, Premium_ZRS, PremiumV2_LRS, Standard_LRS, StandardSSD_LRS, UltraSSD_LRS]` | The disks sku name. Can be . |
+The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository.
-**Conditional parameters**
+>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `diskSizeGB` | int | `0` | The size of the disk to create. Required if create option is Empty. |
-| `storageAccountId` | string | `''` | The resource ID of the storage account containing the blob to import as a disk. Required if create option is Import. |
+>**Note**: To reference the module, please use the following syntax `br:bicep/modules/compute.disk:1.0.0`.
-**Optional parameters**
+- [Using large parameter set](#example-1-using-large-parameter-set)
+- [Image](#example-2-image)
+- [Import](#example-3-import)
+- [Using only defaults](#example-4-using-only-defaults)
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `acceleratedNetwork` | bool | `False` | | True if the image from which the OS disk is created supports accelerated networking. |
-| `architecture` | string | `''` | `['', Arm64, x64]` | CPU architecture supported by an OS disk. |
-| `burstingEnabled` | bool | `False` | | Set to true to enable bursting beyond the provisioned performance target of the disk. |
-| `completionPercent` | int | `100` | | Percentage complete for the background copy when a resource is created via the CopyStart operation. |
-| `createOption` | string | `'Empty'` | `[Attach, Copy, CopyStart, Empty, FromImage, Import, ImportSecure, Restore, Upload, UploadPreparedSecure]` | Sources of a disk creation. |
-| `diskIOPSReadWrite` | int | `0` | | The number of IOPS allowed for this disk; only settable for UltraSSD disks. |
-| `diskMBpsReadWrite` | int | `0` | | The bandwidth allowed for this disk; only settable for UltraSSD disks. |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `hyperVGeneration` | string | `'V2'` | `[V1, V2]` | The hypervisor generation of the Virtual Machine. Applicable to OS disks only. |
-| `imageReferenceId` | string | `''` | | A relative uri containing either a Platform Image Repository or user image reference. |
-| `location` | string | `[resourceGroup().location]` | | Resource location. |
-| `lock` | string | `''` | `['', CanNotDelete, ReadOnly]` | Specify the type of lock. |
-| `logicalSectorSize` | int | `4096` | | Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. |
-| `maxShares` | int | `1` | | The maximum number of VMs that can attach to the disk at the same time. Default value is 0. |
-| `networkAccessPolicy` | string | `'DenyAll'` | `[AllowAll, AllowPrivate, DenyAll]` | Policy for accessing the disk via network. |
-| `optimizedForFrequentAttach` | bool | `False` | | Setting this property to true improves reliability and performance of data disks that are frequently (more than 5 times a day) by detached from one virtual machine and attached to another. This property should not be set for disks that are not detached and attached frequently as it causes the disks to not align with the fault domain of the virtual machine. |
-| `osType` | string | `''` | `['', Linux, Windows]` | Sources of a disk creation. |
-| `publicNetworkAccess` | string | `'Disabled'` | `[Disabled, Enabled]` | Policy for controlling export on the disk. |
-| `roleAssignments` | array | `[]` | | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
-| `securityDataUri` | string | `''` | | If create option is ImportSecure, this is the URI of a blob to be imported into VM guest state. |
-| `sourceResourceId` | string | `''` | | If create option is Copy, this is the ARM ID of the source snapshot or disk. |
-| `sourceUri` | string | `''` | | If create option is Import, this is the URI of a blob to be imported into a managed disk. |
-| `tags` | object | `{object}` | | Tags of the availability set resource. |
-| `uploadSizeBytes` | int | `20972032` | | If create option is Upload, this is the size of the contents of the upload including the VHD footer. |
+### Example 1: _Using large parameter set_
+This instance deploys the module with most of its features enabled.
-## Outputs
-
-| Output Name | Type | Description |
-| :-- | :-- | :-- |
-| `location` | string | The location the resource was deployed into. |
-| `name` | string | The name of the disk. |
-| `resourceGroupName` | string | The resource group the disk was deployed into. |
-| `resourceId` | string | The resource ID of the disk. |
-
-## Cross-referenced modules
-
-_None_
-
-## Deployment examples
-
-The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder.
- >**Note**: The name of each example is based on the name of the file from which it is taken.
-
- >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-
-
-
-
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | The name of the disk that is being created. |
+| [`sku`](#parameter-sku) | string | The disks sku name. Can be . |
+
+**Conditional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`diskSizeGB`](#parameter-disksizegb) | int | The size of the disk to create. Required if create option is Empty. |
+| [`storageAccountId`](#parameter-storageaccountid) | string | The resource ID of the storage account containing the blob to import as a disk. Required if create option is Import. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`acceleratedNetwork`](#parameter-acceleratednetwork) | bool | True if the image from which the OS disk is created supports accelerated networking. |
+| [`architecture`](#parameter-architecture) | string | CPU architecture supported by an OS disk. |
+| [`burstingEnabled`](#parameter-burstingenabled) | bool | Set to true to enable bursting beyond the provisioned performance target of the disk. |
+| [`completionPercent`](#parameter-completionpercent) | int | Percentage complete for the background copy when a resource is created via the CopyStart operation. |
+| [`createOption`](#parameter-createoption) | string | Sources of a disk creation. |
+| [`diskIOPSReadWrite`](#parameter-diskiopsreadwrite) | int | The number of IOPS allowed for this disk; only settable for UltraSSD disks. |
+| [`diskMBpsReadWrite`](#parameter-diskmbpsreadwrite) | int | The bandwidth allowed for this disk; only settable for UltraSSD disks. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`hyperVGeneration`](#parameter-hypervgeneration) | string | The hypervisor generation of the Virtual Machine. Applicable to OS disks only. |
+| [`imageReferenceId`](#parameter-imagereferenceid) | string | A relative uri containing either a Platform Image Repository or user image reference. |
+| [`location`](#parameter-location) | string | Resource location. |
+| [`lock`](#parameter-lock) | string | Specify the type of lock. |
+| [`logicalSectorSize`](#parameter-logicalsectorsize) | int | Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. |
+| [`maxShares`](#parameter-maxshares) | int | The maximum number of VMs that can attach to the disk at the same time. Default value is 0. |
+| [`networkAccessPolicy`](#parameter-networkaccesspolicy) | string | Policy for accessing the disk via network. |
+| [`optimizedForFrequentAttach`](#parameter-optimizedforfrequentattach) | bool | Setting this property to true improves reliability and performance of data disks that are frequently (more than 5 times a day) by detached from one virtual machine and attached to another. This property should not be set for disks that are not detached and attached frequently as it causes the disks to not align with the fault domain of the virtual machine. |
+| [`osType`](#parameter-ostype) | string | Sources of a disk creation. |
+| [`publicNetworkAccess`](#parameter-publicnetworkaccess) | string | Policy for controlling export on the disk. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`securityDataUri`](#parameter-securitydatauri) | string | If create option is ImportSecure, this is the URI of a blob to be imported into VM guest state. |
+| [`sourceResourceId`](#parameter-sourceresourceid) | string | If create option is Copy, this is the ARM ID of the source snapshot or disk. |
+| [`sourceUri`](#parameter-sourceuri) | string | If create option is Import, this is the URI of a blob to be imported into a managed disk. |
+| [`tags`](#parameter-tags) | object | Tags of the availability set resource. |
+| [`uploadSizeBytes`](#parameter-uploadsizebytes) | int | If create option is Upload, this is the size of the contents of the upload including the VHD footer. |
+
+### Parameter: `acceleratedNetwork`
+
+True if the image from which the OS disk is created supports accelerated networking.
+- Required: No
+- Type: bool
+- Default: `False`
+
+### Parameter: `architecture`
+
+CPU architecture supported by an OS disk.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', Arm64, x64]`
+
+### Parameter: `burstingEnabled`
+
+Set to true to enable bursting beyond the provisioned performance target of the disk.
+- Required: No
+- Type: bool
+- Default: `False`
+
+### Parameter: `completionPercent`
+
+Percentage complete for the background copy when a resource is created via the CopyStart operation.
+- Required: No
+- Type: int
+- Default: `100`
+
+### Parameter: `createOption`
+
+Sources of a disk creation.
+- Required: No
+- Type: string
+- Default: `'Empty'`
+- Allowed: `[Attach, Copy, CopyStart, Empty, FromImage, Import, ImportSecure, Restore, Upload, UploadPreparedSecure]`
+
+### Parameter: `diskIOPSReadWrite`
+
+The number of IOPS allowed for this disk; only settable for UltraSSD disks.
+- Required: No
+- Type: int
+- Default: `0`
+
+### Parameter: `diskMBpsReadWrite`
+
+The bandwidth allowed for this disk; only settable for UltraSSD disks.
+- Required: No
+- Type: int
+- Default: `0`
+
+### Parameter: `diskSizeGB`
+
+The size of the disk to create. Required if create option is Empty.
+- Required: No
+- Type: int
+- Default: `0`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `hyperVGeneration`
+
+The hypervisor generation of the Virtual Machine. Applicable to OS disks only.
+- Required: No
+- Type: string
+- Default: `'V2'`
+- Allowed: `[V1, V2]`
+
+### Parameter: `imageReferenceId`
+
+A relative uri containing either a Platform Image Repository or user image reference.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `location`
+
+Resource location.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `lock`
+
+Specify the type of lock.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', CanNotDelete, ReadOnly]`
+
+### Parameter: `logicalSectorSize`
+
+Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096.
+- Required: No
+- Type: int
+- Default: `4096`
+
+### Parameter: `maxShares`
+
+The maximum number of VMs that can attach to the disk at the same time. Default value is 0.
+- Required: No
+- Type: int
+- Default: `1`
+
+### Parameter: `name`
+
+The name of the disk that is being created.
+- Required: Yes
+- Type: string
+
+### Parameter: `networkAccessPolicy`
+
+Policy for accessing the disk via network.
+- Required: No
+- Type: string
+- Default: `'DenyAll'`
+- Allowed: `[AllowAll, AllowPrivate, DenyAll]`
+
+### Parameter: `optimizedForFrequentAttach`
+
+Setting this property to true improves reliability and performance of data disks that are frequently (more than 5 times a day) by detached from one virtual machine and attached to another. This property should not be set for disks that are not detached and attached frequently as it causes the disks to not align with the fault domain of the virtual machine.
+- Required: No
+- Type: bool
+- Default: `False`
+
+### Parameter: `osType`
+
+Sources of a disk creation.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', Linux, Windows]`
+
+### Parameter: `publicNetworkAccess`
+
+Policy for controlling export on the disk.
+- Required: No
+- Type: string
+- Default: `'Disabled'`
+- Allowed: `[Disabled, Enabled]`
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `securityDataUri`
+
+If create option is ImportSecure, this is the URI of a blob to be imported into VM guest state.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `sku`
+
+The disks sku name. Can be .
+- Required: Yes
+- Type: string
+- Allowed: `[Premium_LRS, Premium_ZRS, Premium_ZRS, PremiumV2_LRS, Standard_LRS, StandardSSD_LRS, UltraSSD_LRS]`
+
+### Parameter: `sourceResourceId`
+
+If create option is Copy, this is the ARM ID of the source snapshot or disk.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `sourceUri`
+
+If create option is Import, this is the URI of a blob to be imported into a managed disk.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `storageAccountId`
+
+The resource ID of the storage account containing the blob to import as a disk. Required if create option is Import.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `tags`
+
+Tags of the availability set resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `uploadSizeBytes`
+
+If create option is Upload, this is the size of the contents of the upload including the VHD footer.
+- Required: No
+- Type: int
+- Default: `20972032`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The name of the disk. |
+| `resourceGroupName` | string | The resource group the disk was deployed into. |
+| `resourceId` | string | The resource ID of the disk. |
+
+## Cross-referenced modules
+
+_None_
diff --git a/modules/compute/disk/main.json b/modules/compute/disk/main.json
index 39c388e7bf..84ea41a567 100644
--- a/modules/compute/disk/main.json
+++ b/modules/compute/disk/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "5862388830070369227"
+ "version": "0.22.6.54827",
+ "templateHash": "12764361220335313353"
},
"name": "Compute Disks",
"description": "This module deploys a Compute Disk",
@@ -353,8 +353,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "15033488944608271524"
+ "version": "0.22.6.54827",
+ "templateHash": "9743538331774034121"
}
},
"parameters": {
diff --git a/modules/compute/gallery/.test/common/main.test.bicep b/modules/compute/gallery/.test/common/main.test.bicep
index 7d1d8b24e4..661d7c9463 100644
--- a/modules/compute/gallery/.test/common/main.test.bicep
+++ b/modules/compute/gallery/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/compute/gallery/.test/min/main.test.bicep b/modules/compute/gallery/.test/min/main.test.bicep
index df2b8e1bfb..363ba87906 100644
--- a/modules/compute/gallery/.test/min/main.test.bicep
+++ b/modules/compute/gallery/.test/min/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using only defaults'
+metadata description = 'This instance deploys the module with the minimum set of required parameters.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/compute/gallery/README.md b/modules/compute/gallery/README.md
index 361dfefa38..61b8789f43 100644
--- a/modules/compute/gallery/README.md
+++ b/modules/compute/gallery/README.md
@@ -5,10 +5,10 @@ This module deploys an Azure Compute Gallery (formerly known as Shared Image Gal
## Navigation
- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
## Resource Types
@@ -20,56 +20,28 @@ This module deploys an Azure Compute Gallery (formerly known as Shared Image Gal
| `Microsoft.Compute/galleries/applications` | [2022-03-03](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Compute/2022-03-03/galleries/applications) |
| `Microsoft.Compute/galleries/images` | [2022-03-03](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Compute/2022-03-03/galleries/images) |
-## Parameters
-
-**Required parameters**
-
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | Name of the Azure Compute Gallery. |
-
-**Optional parameters**
-
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `applications` | array | `[]` | | Applications to create. |
-| `description` | string | `''` | | Description of the Azure Shared Image Gallery. |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `images` | array | `[]` | | Images to create. |
-| `location` | string | `[resourceGroup().location]` | | Location for all resources. |
-| `lock` | string | `''` | `['', CanNotDelete, ReadOnly]` | Specify the type of lock. |
-| `roleAssignments` | array | `[]` | | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
-| `tags` | object | `{object}` | | Tags for all resources. |
+## Usage examples
+The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository.
-## Outputs
+>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-| Output Name | Type | Description |
-| :-- | :-- | :-- |
-| `location` | string | The location the resource was deployed into. |
-| `name` | string | The name of the deployed image gallery. |
-| `resourceGroupName` | string | The resource group of the deployed image gallery. |
-| `resourceId` | string | The resource ID of the deployed image gallery. |
+>**Note**: To reference the module, please use the following syntax `br:bicep/modules/compute.gallery:1.0.0`.
-## Cross-referenced modules
+- [Using large parameter set](#example-1-using-large-parameter-set)
+- [Using only defaults](#example-2-using-only-defaults)
-_None_
+### Example 1: _Using large parameter set_
-## Deployment examples
+This instance deploys the module with most of its features enabled.
-The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder.
- >**Note**: The name of each example is based on the name of the file from which it is taken.
-
- >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-
-
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | Name of the Azure Compute Gallery. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`applications`](#parameter-applications) | array | Applications to create. |
+| [`description`](#parameter-description) | string | Description of the Azure Shared Image Gallery. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`images`](#parameter-images) | array | Images to create. |
+| [`location`](#parameter-location) | string | Location for all resources. |
+| [`lock`](#parameter-lock) | string | Specify the type of lock. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`tags`](#parameter-tags) | object | Tags for all resources. |
+
+### Parameter: `applications`
+
+Applications to create.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `description`
+
+Description of the Azure Shared Image Gallery.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `images`
+
+Images to create.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `location`
+
+Location for all resources.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `lock`
+
+Specify the type of lock.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', CanNotDelete, ReadOnly]`
+
+### Parameter: `name`
+
+Name of the Azure Compute Gallery.
+- Required: Yes
+- Type: string
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `tags`
+
+Tags for all resources.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The name of the deployed image gallery. |
+| `resourceGroupName` | string | The resource group of the deployed image gallery. |
+| `resourceId` | string | The resource ID of the deployed image gallery. |
+
+## Cross-referenced modules
+
+_None_
diff --git a/modules/compute/gallery/application/README.md b/modules/compute/gallery/application/README.md
index ad83eb42dc..9f581840d4 100644
--- a/modules/compute/gallery/application/README.md
+++ b/modules/compute/gallery/application/README.md
@@ -4,13 +4,13 @@ This module deploys an Azure Compute Gallery Application.
## Navigation
-- [Resource types](#Resource-types)
+- [Resource Types](#Resource-Types)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
- [Notes](#Notes)
-## Resource types
+## Resource Types
| Resource Type | API Version |
| :-- | :-- |
@@ -21,36 +21,126 @@ This module deploys an Azure Compute Gallery Application.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `name` | string | Name of the application definition. |
+| [`name`](#parameter-name) | string | Name of the application definition. |
**Conditional parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `galleryName` | string | The name of the parent Azure Compute Gallery. Required if the template is used in a standalone deployment. |
+| [`galleryName`](#parameter-galleryname) | string | The name of the parent Azure Compute Gallery. Required if the template is used in a standalone deployment. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `customActions` | array | `[]` | | A list of custom actions that can be performed with all of the Gallery Application Versions within this Gallery Application. |
-| `description` | string | `''` | | The description of this gallery Application Definition resource. This property is updatable. |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `endOfLifeDate` | string | `''` | | The end of life date of the gallery Image Definition. This property can be used for decommissioning purposes. This property is updatable. Allowed format: 2020-01-10T23:00:00.000Z. |
-| `eula` | string | `''` | | The Eula agreement for the gallery Application Definition. Has to be a valid URL. |
-| `location` | string | `[resourceGroup().location]` | | Location for all resources. |
-| `privacyStatementUri` | string | `''` | | The privacy statement uri. Has to be a valid URL. |
-| `releaseNoteUri` | string | `''` | | The release note uri. Has to be a valid URL. |
-| `roleAssignments` | array | `[]` | | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
-| `supportedOSType` | string | `'Windows'` | `[Linux, Windows]` | This property allows you to specify the supported type of the OS that application is built for. |
-| `tags` | object | `{object}` | | Tags for all resources. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`customActions`](#parameter-customactions) | array | A list of custom actions that can be performed with all of the Gallery Application Versions within this Gallery Application. |
+| [`description`](#parameter-description) | string | The description of this gallery Application Definition resource. This property is updatable. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`endOfLifeDate`](#parameter-endoflifedate) | string | The end of life date of the gallery Image Definition. This property can be used for decommissioning purposes. This property is updatable. Allowed format: 2020-01-10T23:00:00.000Z. |
+| [`eula`](#parameter-eula) | string | The Eula agreement for the gallery Application Definition. Has to be a valid URL. |
+| [`location`](#parameter-location) | string | Location for all resources. |
+| [`privacyStatementUri`](#parameter-privacystatementuri) | string | The privacy statement uri. Has to be a valid URL. |
+| [`releaseNoteUri`](#parameter-releasenoteuri) | string | The release note uri. Has to be a valid URL. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`supportedOSType`](#parameter-supportedostype) | string | This property allows you to specify the supported type of the OS that application is built for. |
+| [`tags`](#parameter-tags) | object | Tags for all resources. |
+
+### Parameter: `customActions`
+
+A list of custom actions that can be performed with all of the Gallery Application Versions within this Gallery Application.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `description`
+
+The description of this gallery Application Definition resource. This property is updatable.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `endOfLifeDate`
+
+The end of life date of the gallery Image Definition. This property can be used for decommissioning purposes. This property is updatable. Allowed format: 2020-01-10T23:00:00.000Z.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `eula`
+
+The Eula agreement for the gallery Application Definition. Has to be a valid URL.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `galleryName`
+
+The name of the parent Azure Compute Gallery. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
+
+### Parameter: `location`
+
+Location for all resources.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `name`
+
+Name of the application definition.
+- Required: Yes
+- Type: string
+
+### Parameter: `privacyStatementUri`
+
+The privacy statement uri. Has to be a valid URL.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `releaseNoteUri`
+
+The release note uri. Has to be a valid URL.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `supportedOSType`
+
+This property allows you to specify the supported type of the OS that application is built for.
+- Required: No
+- Type: string
+- Default: `'Windows'`
+- Allowed: `[Linux, Windows]`
+
+### Parameter: `tags`
+
+Tags for all resources.
+- Required: No
+- Type: object
+- Default: `{object}`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `location` | string | The location the resource was deployed into. |
| `name` | string | The name of the image. |
diff --git a/modules/compute/gallery/application/main.json b/modules/compute/gallery/application/main.json
index 723172da86..c845191f4c 100644
--- a/modules/compute/gallery/application/main.json
+++ b/modules/compute/gallery/application/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "302763326863799273"
+ "version": "0.22.6.54827",
+ "templateHash": "16139720757397534180"
},
"name": "Compute Galleries Applications",
"description": "This module deploys an Azure Compute Gallery Application.",
@@ -172,8 +172,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "3891555929973685105"
+ "version": "0.22.6.54827",
+ "templateHash": "13281580182526787077"
}
},
"parameters": {
diff --git a/modules/compute/gallery/image/README.md b/modules/compute/gallery/image/README.md
index 51ccbb2e93..3ad27fb151 100644
--- a/modules/compute/gallery/image/README.md
+++ b/modules/compute/gallery/image/README.md
@@ -4,12 +4,12 @@ This module deploys an Azure Compute Gallery Image Definition.
## Navigation
-- [Resource types](#Resource-types)
+- [Resource Types](#Resource-Types)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-## Resource types
+## Resource Types
| Resource Type | API Version |
| :-- | :-- |
@@ -20,51 +20,251 @@ This module deploys an Azure Compute Gallery Image Definition.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `name` | string | Name of the image definition. |
+| [`name`](#parameter-name) | string | Name of the image definition. |
**Conditional parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `galleryName` | string | The name of the parent Azure Shared Image Gallery. Required if the template is used in a standalone deployment. |
+| [`galleryName`](#parameter-galleryname) | string | The name of the parent Azure Shared Image Gallery. Required if the template is used in a standalone deployment. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `description` | string | `''` | | The description of this gallery Image Definition resource. This property is updatable. |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `endOfLife` | string | `''` | | The end of life date of the gallery Image Definition. This property can be used for decommissioning purposes. This property is updatable. Allowed format: 2020-01-10T23:00:00.000Z. |
-| `eula` | string | `''` | | The Eula agreement for the gallery Image Definition. Has to be a valid URL. |
-| `excludedDiskTypes` | array | `[]` | | List of the excluded disk types. E.g. Standard_LRS. |
-| `hyperVGeneration` | string | `''` | `['', V1, V2]` | The hypervisor generation of the Virtual Machine.Example 1: Common
via Bicep module
```bicep
-module server './analysis-services/server/main.bicep' = {
+module server 'br:bicep/modules/analysis-services.server:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-asscom'
params: {
// Required parameters
@@ -169,14 +135,14 @@ module server './analysis-services/server/main.bicep' = {
Example 2: Max
+### Example 2: _Max_
via Bicep module
```bicep
-module server './analysis-services/server/main.bicep' = {
+module server 'br:bicep/modules/analysis-services.server:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-assmax'
params: {
// Required parameters
@@ -302,14 +268,17 @@ module server './analysis-services/server/main.bicep' = {
Example 3: Min
+### Example 3: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module server './analysis-services/server/main.bicep' = {
+module server 'br:bicep/modules/analysis-services.server:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-assmin'
params: {
// Required parameters
@@ -346,3 +315,160 @@ module server './analysis-services/server/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module service './api-management/service/main.bicep' = {
+module service 'br:bicep/modules/api-management.service:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-apiscom'
params: {
// Required parameters
@@ -252,14 +190,14 @@ module service './api-management/service/main.bicep' = {
Example 2: Max
+### Example 2: _Max_
via Bicep module
```bicep
-module service './api-management/service/main.bicep' = {
+module service 'br:bicep/modules/api-management.service:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-apismax'
params: {
// Required parameters
@@ -601,14 +539,17 @@ module service './api-management/service/main.bicep' = {
Example 3: Min
+### Example 3: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module service './api-management/service/main.bicep' = {
+module service 'br:bicep/modules/api-management.service:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-apismin'
params: {
// Required parameters
@@ -655,6 +596,380 @@ module service './api-management/service/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module configurationStore './app-configuration/configuration-store/main.bicep' = {
+module configurationStore 'br:bicep/modules/app-configuration.configuration-store:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-acccom'
params: {
// Required parameters
@@ -234,14 +188,17 @@ module configurationStore './app-configuration/configuration-store/main.bicep' =
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module configurationStore './app-configuration/configuration-store/main.bicep' = {
+module configurationStore 'br:bicep/modules/app-configuration.configuration-store:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-accmin'
params: {
// Required parameters
@@ -279,14 +236,14 @@ module configurationStore './app-configuration/configuration-store/main.bicep' =
Example 3: Pe
+### Example 3: _Pe_
via Bicep module
```bicep
-module configurationStore './app-configuration/configuration-store/main.bicep' = {
+module configurationStore 'br:bicep/modules/app-configuration.configuration-store:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-accpe'
params: {
// Required parameters
@@ -385,3 +342,224 @@ module configurationStore './app-configuration/configuration-store/main.bicep' =
Example 1: Common
via Bicep module
```bicep
-module containerApp './app/container-app/main.bicep' = {
+module containerApp 'br:bicep/modules/app.container-app:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-mcappcom'
params: {
// Required parameters
@@ -233,14 +181,17 @@ module containerApp './app/container-app/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module containerApp './app/container-app/main.bicep' = {
+module containerApp 'br:bicep/modules/app.container-app:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-mcappmin'
params: {
// Required parameters
@@ -317,3 +268,294 @@ module containerApp './app/container-app/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module managedEnvironment './app/managed-environment/main.bicep' = {
+module managedEnvironment 'br:bicep/modules/app.managed-environment:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-amecom'
params: {
// Required parameters
@@ -168,14 +123,17 @@ module managedEnvironment './app/managed-environment/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module managedEnvironment './app/managed-environment/main.bicep' = {
+module managedEnvironment 'br:bicep/modules/app.managed-environment:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-amemin'
params: {
// Required parameters
@@ -214,3 +172,202 @@ module managedEnvironment './app/managed-environment/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module lock './authorization/lock/main.bicep' = {
+module lock 'br:bicep/modules/authorization.lock:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-alcom'
params: {
// Required parameters
@@ -106,3 +81,77 @@ module lock './authorization/lock/main.bicep' = {
Example 1: Mg.Common
+### Example 1: _Mg.Common_
via Bicep module
```bicep
-module policyAssignment './authorization/policy-assignment/main.bicep' = {
+module policyAssignment 'br:bicep/modules/authorization.policy-assignment:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-apamgcom'
params: {
// Required parameters
@@ -273,14 +236,14 @@ module policyAssignment './authorization/policy-assignment/main.bicep' = {
Example 2: Mg.Min
+### Example 2: _Mg.Min_
via Bicep module
```bicep
-module policyAssignment './authorization/policy-assignment/main.bicep' = {
+module policyAssignment 'br:bicep/modules/authorization.policy-assignment:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-apamgmin'
params: {
// Required parameters
@@ -330,14 +293,14 @@ module policyAssignment './authorization/policy-assignment/main.bicep' = {
Example 3: Rg.Common
+### Example 3: _Rg.Common_
via Bicep module
```bicep
-module policyAssignment './authorization/policy-assignment/main.bicep' = {
+module policyAssignment 'br:bicep/modules/authorization.policy-assignment:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-apargcom'
params: {
// Required parameters
@@ -541,14 +504,14 @@ module policyAssignment './authorization/policy-assignment/main.bicep' = {
Example 4: Rg.Min
+### Example 4: _Rg.Min_
via Bicep module
```bicep
-module policyAssignment './authorization/policy-assignment/main.bicep' = {
+module policyAssignment 'br:bicep/modules/authorization.policy-assignment:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-apargmin'
params: {
// Required parameters
@@ -602,14 +565,14 @@ module policyAssignment './authorization/policy-assignment/main.bicep' = {
Example 5: Sub.Common
+### Example 5: _Sub.Common_
via Bicep module
```bicep
-module policyAssignment './authorization/policy-assignment/main.bicep' = {
+module policyAssignment 'br:bicep/modules/authorization.policy-assignment:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-apasubcom'
params: {
// Required parameters
@@ -809,14 +772,14 @@ module policyAssignment './authorization/policy-assignment/main.bicep' = {
Example 6: Sub.Min
+### Example 6: _Sub.Min_
via Bicep module
```bicep
-module policyAssignment './authorization/policy-assignment/main.bicep' = {
+module policyAssignment 'br:bicep/modules/authorization.policy-assignment:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-apasubmin'
params: {
// Required parameters
@@ -875,6 +838,184 @@ module policyAssignment './authorization/policy-assignment/main.bicep' = {
Example 1: Mg.Common
+### Example 1: _Mg.Common_
via Bicep module
```bicep
-module policyDefinition './authorization/policy-definition/main.bicep' = {
+module policyDefinition 'br:bicep/modules/authorization.policy-definition:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-apdmgcom'
params: {
// Required parameters
@@ -215,14 +185,14 @@ module policyDefinition './authorization/policy-definition/main.bicep' = {
Example 2: Mg.Min
+### Example 2: _Mg.Min_
via Bicep module
```bicep
-module policyDefinition './authorization/policy-definition/main.bicep' = {
+module policyDefinition 'br:bicep/modules/authorization.policy-definition:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-apdmgmin'
params: {
// Required parameters
@@ -308,14 +278,14 @@ module policyDefinition './authorization/policy-definition/main.bicep' = {
Example 3: Sub.Common
+### Example 3: _Sub.Common_
via Bicep module
```bicep
-module policyDefinition './authorization/policy-definition/main.bicep' = {
+module policyDefinition 'br:bicep/modules/authorization.policy-definition:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-apdsubcom'
params: {
// Required parameters
@@ -463,14 +433,14 @@ module policyDefinition './authorization/policy-definition/main.bicep' = {
Example 4: Sub.Min
+### Example 4: _Sub.Min_
via Bicep module
```bicep
-module policyDefinition './authorization/policy-definition/main.bicep' = {
+module policyDefinition 'br:bicep/modules/authorization.policy-definition:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-apdsubmin'
params: {
// Required parameters
@@ -557,6 +527,118 @@ module policyDefinition './authorization/policy-definition/main.bicep' = {
Example 1: Mg.Common
+### Example 1: _Mg.Common_
via Bicep module
```bicep
-module policyExemption './authorization/policy-exemption/main.bicep' = {
+module policyExemption 'br:bicep/modules/authorization.policy-exemption:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-apemgcom'
params: {
// Required parameters
@@ -177,14 +145,14 @@ module policyExemption './authorization/policy-exemption/main.bicep' = {
Example 2: Mg.Min
+### Example 2: _Mg.Min_
via Bicep module
```bicep
-module policyExemption './authorization/policy-exemption/main.bicep' = {
+module policyExemption 'br:bicep/modules/authorization.policy-exemption:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-apemgmin'
params: {
// Required parameters
@@ -226,14 +194,14 @@ module policyExemption './authorization/policy-exemption/main.bicep' = {
Example 3: Rg.Common
+### Example 3: _Rg.Common_
via Bicep module
```bicep
-module policyExemption './authorization/policy-exemption/main.bicep' = {
+module policyExemption 'br:bicep/modules/authorization.policy-exemption:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-apergcom'
params: {
// Required parameters
@@ -339,14 +307,14 @@ module policyExemption './authorization/policy-exemption/main.bicep' = {
Example 4: Rg.Min
+### Example 4: _Rg.Min_
via Bicep module
```bicep
-module policyExemption './authorization/policy-exemption/main.bicep' = {
+module policyExemption 'br:bicep/modules/authorization.policy-exemption:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-apergmin'
params: {
// Required parameters
@@ -388,14 +356,14 @@ module policyExemption './authorization/policy-exemption/main.bicep' = {
Example 5: Sub.Common
+### Example 5: _Sub.Common_
via Bicep module
```bicep
-module policyExemption './authorization/policy-exemption/main.bicep' = {
+module policyExemption 'br:bicep/modules/authorization.policy-exemption:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-apesubcom'
params: {
// Required parameters
@@ -501,14 +469,14 @@ module policyExemption './authorization/policy-exemption/main.bicep' = {
Example 6: Sub.Min
+### Example 6: _Sub.Min_
via Bicep module
```bicep
-module policyExemption './authorization/policy-exemption/main.bicep' = {
+module policyExemption 'br:bicep/modules/authorization.policy-exemption:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-apesubmin'
params: {
// Required parameters
@@ -551,6 +519,151 @@ module policyExemption './authorization/policy-exemption/main.bicep' = {
Example 1: Mg.Common
+### Example 1: _Mg.Common_
via Bicep module
```bicep
-module policySetDefinition './authorization/policy-set-definition/main.bicep' = {
+module policySetDefinition 'br:bicep/modules/authorization.policy-set-definition:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-apsdmgcom'
params: {
// Required parameters
@@ -202,14 +173,14 @@ module policySetDefinition './authorization/policy-set-definition/main.bicep' =
Example 2: Mg.Min
+### Example 2: _Mg.Min_
via Bicep module
```bicep
-module policySetDefinition './authorization/policy-set-definition/main.bicep' = {
+module policySetDefinition 'br:bicep/modules/authorization.policy-set-definition:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-apsdmgmin'
params: {
// Required parameters
@@ -273,14 +244,14 @@ module policySetDefinition './authorization/policy-set-definition/main.bicep' =
Example 3: Sub.Common
+### Example 3: _Sub.Common_
via Bicep module
```bicep
-module policySetDefinition './authorization/policy-set-definition/main.bicep' = {
+module policySetDefinition 'br:bicep/modules/authorization.policy-set-definition:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-apsdsubcom'
params: {
// Required parameters
@@ -416,14 +387,14 @@ module policySetDefinition './authorization/policy-set-definition/main.bicep' =
Example 4: Sub.Min
+### Example 4: _Sub.Min_
via Bicep module
```bicep
-module policySetDefinition './authorization/policy-set-definition/main.bicep' = {
+module policySetDefinition 'br:bicep/modules/authorization.policy-set-definition:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-apsdsubmin'
params: {
// Required parameters
@@ -488,6 +459,116 @@ module policySetDefinition './authorization/policy-set-definition/main.bicep' =
Example 1: Mg.Common
+### Example 1: _Mg.Common_
via Bicep module
```bicep
-module roleAssignment './authorization/role-assignment/main.bicep' = {
+module roleAssignment 'br:bicep/modules/authorization.role-assignment:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-aramgcom'
params: {
// Required parameters
@@ -122,14 +93,14 @@ module roleAssignment './authorization/role-assignment/main.bicep' = {
Example 2: Mg.Min
+### Example 2: _Mg.Min_
via Bicep module
```bicep
-module roleAssignment './authorization/role-assignment/main.bicep' = {
+module roleAssignment 'br:bicep/modules/authorization.role-assignment:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-aramgmin'
params: {
// Required parameters
@@ -175,14 +146,14 @@ module roleAssignment './authorization/role-assignment/main.bicep' = {
Example 3: Rg.Common
+### Example 3: _Rg.Common_
via Bicep module
```bicep
-module roleAssignment './authorization/role-assignment/main.bicep' = {
+module roleAssignment 'br:bicep/modules/authorization.role-assignment:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-arargcom'
params: {
// Required parameters
@@ -240,14 +211,14 @@ module roleAssignment './authorization/role-assignment/main.bicep' = {
Example 4: Rg.Min
+### Example 4: _Rg.Min_
via Bicep module
```bicep
-module roleAssignment './authorization/role-assignment/main.bicep' = {
+module roleAssignment 'br:bicep/modules/authorization.role-assignment:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-arargmin'
params: {
// Required parameters
@@ -301,14 +272,14 @@ module roleAssignment './authorization/role-assignment/main.bicep' = {
Example 5: Sub.Common
+### Example 5: _Sub.Common_
via Bicep module
```bicep
-module roleAssignment './authorization/role-assignment/main.bicep' = {
+module roleAssignment 'br:bicep/modules/authorization.role-assignment:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-arasubcom'
params: {
// Required parameters
@@ -362,14 +333,14 @@ module roleAssignment './authorization/role-assignment/main.bicep' = {
Example 6: Sub.Min
+### Example 6: _Sub.Min_
via Bicep module
```bicep
-module roleAssignment './authorization/role-assignment/main.bicep' = {
+module roleAssignment 'br:bicep/modules/authorization.role-assignment:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-arasubmin'
params: {
// Required parameters
@@ -420,6 +391,127 @@ module roleAssignment './authorization/role-assignment/main.bicep' = {
Example 1: Mg.Common
+### Example 1: _Mg.Common_
via Bicep module
```bicep
-module roleDefinition './authorization/role-definition/main.bicep' = {
+module roleDefinition 'br:bicep/modules/authorization.role-definition:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-ardmgcom'
params: {
// Required parameters
@@ -140,14 +111,14 @@ module roleDefinition './authorization/role-definition/main.bicep' = {
Example 2: Mg.Min
+### Example 2: _Mg.Min_
via Bicep module
```bicep
-module roleDefinition './authorization/role-definition/main.bicep' = {
+module roleDefinition 'br:bicep/modules/authorization.role-definition:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-ardmgmin'
params: {
// Required parameters
@@ -195,14 +166,14 @@ module roleDefinition './authorization/role-definition/main.bicep' = {
Example 3: Rg.Common
+### Example 3: _Rg.Common_
via Bicep module
```bicep
-module roleDefinition './authorization/role-definition/main.bicep' = {
+module roleDefinition 'br:bicep/modules/authorization.role-definition:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-ardrgcom'
params: {
// Required parameters
@@ -290,14 +261,14 @@ module roleDefinition './authorization/role-definition/main.bicep' = {
Example 4: Rg.Min
+### Example 4: _Rg.Min_
via Bicep module
```bicep
-module roleDefinition './authorization/role-definition/main.bicep' = {
+module roleDefinition 'br:bicep/modules/authorization.role-definition:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-ardrgmin'
params: {
// Required parameters
@@ -345,14 +316,14 @@ module roleDefinition './authorization/role-definition/main.bicep' = {
Example 5: Sub.Common
+### Example 5: _Sub.Common_
via Bicep module
```bicep
-module roleDefinition './authorization/role-definition/main.bicep' = {
+module roleDefinition 'br:bicep/modules/authorization.role-definition:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-ardsubcom'
params: {
// Required parameters
@@ -440,14 +411,14 @@ module roleDefinition './authorization/role-definition/main.bicep' = {
Example 6: Sub.Min
+### Example 6: _Sub.Min_
via Bicep module
```bicep
-module roleDefinition './authorization/role-definition/main.bicep' = {
+module roleDefinition 'br:bicep/modules/authorization.role-definition:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-ardsubmin'
params: {
// Required parameters
@@ -500,6 +471,126 @@ module roleDefinition './authorization/role-definition/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module automationAccount './automation/automation-account/main.bicep' = {
+module automationAccount 'br:bicep/modules/automation.automation-account:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-aacom'
params: {
// Required parameters
@@ -548,14 +487,14 @@ module automationAccount './automation/automation-account/main.bicep' = {
Example 2: Encr
+### Example 2: _Encr_
via Bicep module
```bicep
-module automationAccount './automation/automation-account/main.bicep' = {
+module automationAccount 'br:bicep/modules/automation.automation-account:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-aaencr'
params: {
// Required parameters
@@ -613,14 +552,17 @@ module automationAccount './automation/automation-account/main.bicep' = {
Example 3: Min
+### Example 3: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module automationAccount './automation/automation-account/main.bicep' = {
+module automationAccount 'br:bicep/modules/automation.automation-account:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-aamin'
params: {
// Required parameters
@@ -657,3 +599,294 @@ module automationAccount './automation/automation-account/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module batchAccount './batch/batch-account/main.bicep' = {
+module batchAccount 'br:bicep/modules/batch.batch-account:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-bbacom'
params: {
// Required parameters
@@ -239,14 +185,14 @@ module batchAccount './batch/batch-account/main.bicep' = {
Example 2: Encr
+### Example 2: _Encr_
via Bicep module
```bicep
-module batchAccount './batch/batch-account/main.bicep' = {
+module batchAccount 'br:bicep/modules/batch.batch-account:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-bbaencr'
params: {
// Required parameters
@@ -362,14 +308,17 @@ module batchAccount './batch/batch-account/main.bicep' = {
Example 3: Min
+### Example 3: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module batchAccount './batch/batch-account/main.bicep' = {
+module batchAccount 'br:bicep/modules/batch.batch-account:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-bbamin'
params: {
// Required parameters
@@ -410,3 +359,261 @@ module batchAccount './batch/batch-account/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module redisEnterprise './cache/redis-enterprise/main.bicep' = {
+module redisEnterprise 'br:bicep/modules/cache.redis-enterprise:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-crecom'
params: {
// Required parameters
@@ -264,14 +222,14 @@ module redisEnterprise './cache/redis-enterprise/main.bicep' = {
Example 2: Geo
+### Example 2: _Geo_
via Bicep module
```bicep
-module redisEnterprise './cache/redis-enterprise/main.bicep' = {
+module redisEnterprise 'br:bicep/modules/cache.redis-enterprise:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-cregeo'
params: {
// Required parameters
@@ -385,14 +343,17 @@ module redisEnterprise './cache/redis-enterprise/main.bicep' = {
Example 3: Min
+### Example 3: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module redisEnterprise './cache/redis-enterprise/main.bicep' = {
+module redisEnterprise 'br:bicep/modules/cache.redis-enterprise:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-cremin'
params: {
// Required parameters
@@ -429,3 +390,191 @@ module redisEnterprise './cache/redis-enterprise/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module redis './cache/redis/main.bicep' = {
+module redis 'br:bicep/modules/cache.redis:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-crcom'
params: {
// Required parameters
@@ -252,14 +195,17 @@ module redis './cache/redis/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module redis './cache/redis/main.bicep' = {
+module redis 'br:bicep/modules/cache.redis:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-crmin'
params: {
// Required parameters
@@ -298,6 +244,294 @@ module redis './cache/redis/main.bicep' = {
Example 1: Afd
+### Example 1: _Afd_
via Bicep module
```bicep
-module profile './cdn/profile/main.bicep' = {
+module profile 'br:bicep/modules/cdn.profile:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-cdnpafd'
params: {
// Required parameters
@@ -297,14 +254,17 @@ module profile './cdn/profile/main.bicep' = {
Example 2: Common
+### Example 2: _Using large parameter set_
+
+This instance deploys the module with most of its features enabled.
+
via Bicep module
```bicep
-module profile './cdn/profile/main.bicep' = {
+module profile 'br:bicep/modules/cdn.profile:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-cdnpcom'
params: {
// Required parameters
@@ -439,3 +399,156 @@ module profile './cdn/profile/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module account './cognitive-services/account/main.bicep' = {
+module account 'br:bicep/modules/cognitive-services.account:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-csacom'
params: {
// Required parameters
@@ -284,14 +223,14 @@ module account './cognitive-services/account/main.bicep' = {
Example 2: Encr
+### Example 2: _Encr_
via Bicep module
```bicep
-module account './cognitive-services/account/main.bicep' = {
+module account 'br:bicep/modules/cognitive-services.account:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-csaencr'
params: {
// Required parameters
@@ -365,14 +304,17 @@ module account './cognitive-services/account/main.bicep' = {
Example 3: Min
+### Example 3: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module account './cognitive-services/account/main.bicep' = {
+module account 'br:bicep/modules/cognitive-services.account:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-csamin'
params: {
// Required parameters
@@ -414,14 +356,14 @@ module account './cognitive-services/account/main.bicep' = {
Example 4: Speech
+### Example 4: _Speech_
via Bicep module
```bicep
-module account './cognitive-services/account/main.bicep' = {
+module account 'br:bicep/modules/cognitive-services.account:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-csaspeech'
params: {
// Required parameters
@@ -530,6 +472,311 @@ module account './cognitive-services/account/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module availabilitySet './compute/availability-set/main.bicep' = {
+module availabilitySet 'br:bicep/modules/compute.availability-set:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-cascom'
params: {
// Required parameters
@@ -146,14 +117,17 @@ module availabilitySet './compute/availability-set/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module availabilitySet './compute/availability-set/main.bicep' = {
+module availabilitySet 'br:bicep/modules/compute.availability-set:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-casmin'
params: {
// Required parameters
@@ -190,3 +164,110 @@ module availabilitySet './compute/availability-set/main.bicep' = {
Example 1: Accesspolicies
+### Example 1: _Accesspolicies_
via Bicep module
```bicep
-module diskEncryptionSet './compute/disk-encryption-set/main.bicep' = {
+module diskEncryptionSet 'br:bicep/modules/compute.disk-encryption-set:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-cdesap'
params: {
// Required parameters
@@ -176,14 +128,17 @@ module diskEncryptionSet './compute/disk-encryption-set/main.bicep' = {
Example 2: Common
+### Example 2: _Using large parameter set_
+
+This instance deploys the module with most of its features enabled.
+
via Bicep module
```bicep
-module diskEncryptionSet './compute/disk-encryption-set/main.bicep' = {
+module diskEncryptionSet 'br:bicep/modules/compute.disk-encryption-set:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-cdescom'
params: {
// Required parameters
@@ -276,3 +231,153 @@ module diskEncryptionSet './compute/disk-encryption-set/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module disk './compute/disk/main.bicep' = {
+module disk 'br:bicep/modules/compute.disk:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-cdcom'
params: {
// Required parameters
@@ -193,14 +143,14 @@ module disk './compute/disk/main.bicep' = {
Example 2: Image
+### Example 2: _Image_
via Bicep module
```bicep
-module disk './compute/disk/main.bicep' = {
+module disk 'br:bicep/modules/compute.disk:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-cdimg'
params: {
// Required parameters
@@ -282,14 +232,14 @@ module disk './compute/disk/main.bicep' = {
Example 3: Import
+### Example 3: _Import_
via Bicep module
```bicep
-module disk './compute/disk/main.bicep' = {
+module disk 'br:bicep/modules/compute.disk:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-cdimp'
params: {
// Required parameters
@@ -375,14 +325,17 @@ module disk './compute/disk/main.bicep' = {
Example 4: Min
+### Example 4: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module disk './compute/disk/main.bicep' = {
+module disk 'br:bicep/modules/compute.disk:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-cdmin'
params: {
// Required parameters
@@ -427,3 +380,265 @@ module disk './compute/disk/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module gallery './compute/gallery/main.bicep' = {
+module gallery 'br:bicep/modules/compute.gallery:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-cgcom'
params: {
// Required parameters
@@ -401,14 +373,17 @@ module gallery './compute/gallery/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module gallery './compute/gallery/main.bicep' = {
+module gallery 'br:bicep/modules/compute.gallery:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-cgmin'
params: {
// Required parameters
@@ -445,3 +420,102 @@ module gallery './compute/gallery/main.bicep' = {
+ + +## Parameters + +**Required parameters** + +| Parameter | Type | Description | +| :-- | :-- | :-- | +| [`name`](#parameter-name) | string | The name of the image. | +| [`osDiskBlobUri`](#parameter-osdiskbloburi) | string | The Virtual Hard Disk. | +| [`osType`](#parameter-ostype) | string | This property allows you to specify the type of the OS that is included in the disk if creating a VM from a custom image. - Windows or Linux. | + +**Optional parameters** + +| Parameter | Type | Description | +| :-- | :-- | :-- | +| [`dataDisks`](#parameter-datadisks) | array | Specifies the parameters that are used to add a data disk to a virtual machine. | +| [`diskEncryptionSetResourceId`](#parameter-diskencryptionsetresourceid) | string | Specifies the customer managed disk encryption set resource ID for the managed image disk. | +| [`diskSizeGB`](#parameter-disksizegb) | int | Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image. This value cannot be larger than 1023 GB. | +| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). | +| [`extendedLocation`](#parameter-extendedlocation) | object | The extended location of the Image. | +| [`hyperVGeneration`](#parameter-hypervgeneration) | string | Gets the HyperVGenerationType of the VirtualMachine created from the image. - V1 or V2. | +| [`location`](#parameter-location) | string | Location for all resources. | +| [`managedDiskResourceId`](#parameter-manageddiskresourceid) | string | The managedDisk. | +| [`osAccountType`](#parameter-osaccounttype) | string | Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk. - Standard_LRS, Premium_LRS, StandardSSD_LRS, UltraSSD_LRS. | +| [`osDiskCaching`](#parameter-osdiskcaching) | string | Specifies the caching requirements. Default: None for Standard storage. ReadOnly for Premium storage. - None, ReadOnly, ReadWrite. | +| [`osState`](#parameter-osstate) | string | The OS State. For managed images, use Generalized. | +| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. | +| [`snapshotResourceId`](#parameter-snapshotresourceid) | string | The snapshot resource ID. | +| [`sourceVirtualMachineResourceId`](#parameter-sourcevirtualmachineresourceid) | string | The source virtual machine from which Image is created. | +| [`tags`](#parameter-tags) | object | Tags of the resource. | +| [`zoneResilient`](#parameter-zoneresilient) | bool | Default is false. Specifies whether an image is zone resilient or not. Zone resilient images can be created only in regions that provide Zone Redundant Storage (ZRS). | + +### Parameter: `dataDisks` + +Specifies the parameters that are used to add a data disk to a virtual machine. +- Required: No +- Type: array +- Default: `[]` + +### Parameter: `diskEncryptionSetResourceId` + +Specifies the customer managed disk encryption set resource ID for the managed image disk. +- Required: No +- Type: string +- Default: `''` + +### Parameter: `diskSizeGB` + +Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image. This value cannot be larger than 1023 GB. +- Required: No +- Type: int +- Default: `128` + +### Parameter: `enableDefaultTelemetry` + +Enable telemetry via a Globally Unique Identifier (GUID). +- Required: No +- Type: bool +- Default: `True` + +### Parameter: `extendedLocation` + +The extended location of the Image. +- Required: No +- Type: object +- Default: `{object}` + +### Parameter: `hyperVGeneration` + +Gets the HyperVGenerationType of the VirtualMachine created from the image. - V1 or V2. +- Required: No +- Type: string +- Default: `'V1'` + +### Parameter: `location` + +Location for all resources. +- Required: No +- Type: string +- Default: `[resourceGroup().location]` + +### Parameter: `managedDiskResourceId` + +The managedDisk. +- Required: No +- Type: string +- Default: `''` + +### Parameter: `name` + +The name of the image. +- Required: Yes +- Type: string + +### Parameter: `osAccountType` + +Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk. - Standard_LRS, Premium_LRS, StandardSSD_LRS, UltraSSD_LRS. +- Required: Yes +- Type: string + +### Parameter: `osDiskBlobUri` + +The Virtual Hard Disk. +- Required: Yes +- Type: string + +### Parameter: `osDiskCaching` + +Specifies the caching requirements. Default: None for Standard storage. ReadOnly for Premium storage. - None, ReadOnly, ReadWrite. +- Required: Yes +- Type: string + +### Parameter: `osState` + +The OS State. For managed images, use Generalized. +- Required: No +- Type: string +- Default: `'Generalized'` +- Allowed: `[Generalized, Specialized]` + +### Parameter: `osType` + +This property allows you to specify the type of the OS that is included in the disk if creating a VM from a custom image. - Windows or Linux. +- Required: Yes +- Type: string + +### Parameter: `roleAssignments` + +Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. +- Required: No +- Type: array +- Default: `[]` + +### Parameter: `snapshotResourceId` + +The snapshot resource ID. +- Required: No +- Type: string +- Default: `''` + +### Parameter: `sourceVirtualMachineResourceId` + +The source virtual machine from which Image is created. +- Required: No +- Type: string +- Default: `''` + +### Parameter: `tags` + +Tags of the resource. +- Required: No +- Type: object +- Default: `{object}` + +### Parameter: `zoneResilient` + +Default is false. Specifies whether an image is zone resilient or not. Zone resilient images can be created only in regions that provide Zone Redundant Storage (ZRS). +- Required: No +- Type: bool +- Default: `False` + + +## Outputs + +| Output | Type | Description | +| :-- | :-- | :-- | +| `location` | string | The location the resource was deployed into. | +| `name` | string | The name of the image. | +| `resourceGroupName` | string | The resource group the image was deployed into. | +| `resourceId` | string | The resource ID of the image. | + +## Cross-referenced modules + +_None_ diff --git a/modules/compute/image/main.json b/modules/compute/image/main.json index ae3a9cc984..4d5551e4a8 100644 --- a/modules/compute/image/main.json +++ b/modules/compute/image/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.21.1.54444", - "templateHash": "2820072627955480116" + "version": "0.22.6.54827", + "templateHash": "10714756522840080401" }, "name": "Images", "description": "This module deploys a Compute Image.", @@ -221,8 +221,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.21.1.54444", - "templateHash": "18299600248178146819" + "version": "0.22.6.54827", + "templateHash": "17260715174516023943" } }, "parameters": { diff --git a/modules/compute/proximity-placement-group/.test/common/main.test.bicep b/modules/compute/proximity-placement-group/.test/common/main.test.bicep index 04e74c7088..38de4fd5d1 100644 --- a/modules/compute/proximity-placement-group/.test/common/main.test.bicep +++ b/modules/compute/proximity-placement-group/.test/common/main.test.bicep @@ -1,5 +1,8 @@ targetScope = 'subscription' +metadata name = 'Using large parameter set' +metadata description = 'This instance deploys the module with most of its features enabled.' + // ========== // // Parameters // // ========== // diff --git a/modules/compute/proximity-placement-group/.test/min/main.test.bicep b/modules/compute/proximity-placement-group/.test/min/main.test.bicep index 244fae144c..cb745a8bda 100644 --- a/modules/compute/proximity-placement-group/.test/min/main.test.bicep +++ b/modules/compute/proximity-placement-group/.test/min/main.test.bicep @@ -1,5 +1,8 @@ targetScope = 'subscription' +metadata name = 'Using only defaults' +metadata description = 'This instance deploys the module with the minimum set of required parameters.' + // ========== // // Parameters // // ========== // diff --git a/modules/compute/proximity-placement-group/README.md b/modules/compute/proximity-placement-group/README.md index 42bb92577b..69368d6058 100644 --- a/modules/compute/proximity-placement-group/README.md +++ b/modules/compute/proximity-placement-group/README.md @@ -4,13 +4,13 @@ This module deploys a Proximity Placement Group. ## Navigation -- [Resource types](#Resource-types) +- [Resource Types](#Resource-Types) +- [Usage examples](#Usage-examples) - [Parameters](#Parameters) - [Outputs](#Outputs) - [Cross-referenced modules](#Cross-referenced-modules) -- [Deployment examples](#Deployment-examples) -## Resource types +## Resource Types | Resource Type | API Version | | :-- | :-- | @@ -18,57 +18,28 @@ This module deploys a Proximity Placement Group. | `Microsoft.Authorization/roleAssignments` | [2022-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2022-04-01/roleAssignments) | | `Microsoft.Compute/proximityPlacementGroups` | [2022-08-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Compute/2022-08-01/proximityPlacementGroups) | -## Parameters - -**Required parameters** - -| Parameter Name | Type | Description | -| :-- | :-- | :-- | -| `name` | string | The name of the proximity placement group that is being created. | - -**Optional parameters** - -| Parameter Name | Type | Default Value | Allowed Values | Description | -| :-- | :-- | :-- | :-- | :-- | -| `colocationStatus` | object | `{object}` | | Describes colocation status of the Proximity Placement Group. | -| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). | -| `intent` | object | `{object}` | | Specifies the user intent of the proximity placement group. | -| `location` | string | `[resourceGroup().location]` | | Resource location. | -| `lock` | string | `''` | `['', CanNotDelete, ReadOnly]` | Specify the type of lock. | -| `roleAssignments` | array | `[]` | | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. | -| `tags` | object | `{object}` | | Tags of the proximity placement group resource. | -| `type` | string | `'Standard'` | `[Standard, Ultra]` | Specifies the type of the proximity placement group. | -| `zones` | array | `[]` | | Specifies the Availability Zone where virtual machine, virtual machine scale set or availability set associated with the proximity placement group can be created. | +## Usage examples +The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository. -## Outputs - -| Output Name | Type | Description | -| :-- | :-- | :-- | -| `location` | string | The location the resource was deployed into. | -| `name` | string | The name of the proximity placement group. | -| `resourceGroupName` | string | The resource group the proximity placement group was deployed into. | -| `resourceId` | string | The resourceId the proximity placement group. | - -## Cross-referenced modules +>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order. -_None_ +>**Note**: To reference the module, please use the following syntax `br:bicep/modules/compute.proximity-placement-group:1.0.0`. -## Deployment examples +- [Using large parameter set](#example-1-using-large-parameter-set) +- [Using only defaults](#example-2-using-only-defaults) -The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder. - >**Note**: The name of each example is based on the name of the file from which it is taken. +### Example 1: _Using large parameter set_ - >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order. +This instance deploys the module with most of its features enabled. -
-
+ + +## Parameters + +**Required parameters** + +| Parameter | Type | Description | +| :-- | :-- | :-- | +| [`name`](#parameter-name) | string | The name of the proximity placement group that is being created. | + +**Optional parameters** + +| Parameter | Type | Description | +| :-- | :-- | :-- | +| [`colocationStatus`](#parameter-colocationstatus) | object | Describes colocation status of the Proximity Placement Group. | +| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). | +| [`intent`](#parameter-intent) | object | Specifies the user intent of the proximity placement group. | +| [`location`](#parameter-location) | string | Resource location. | +| [`lock`](#parameter-lock) | string | Specify the type of lock. | +| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. | +| [`tags`](#parameter-tags) | object | Tags of the proximity placement group resource. | +| [`type`](#parameter-type) | string | Specifies the type of the proximity placement group. | +| [`zones`](#parameter-zones) | array | Specifies the Availability Zone where virtual machine, virtual machine scale set or availability set associated with the proximity placement group can be created. | + +### Parameter: `colocationStatus` + +Describes colocation status of the Proximity Placement Group. +- Required: No +- Type: object +- Default: `{object}` + +### Parameter: `enableDefaultTelemetry` + +Enable telemetry via a Globally Unique Identifier (GUID). +- Required: No +- Type: bool +- Default: `True` + +### Parameter: `intent` + +Specifies the user intent of the proximity placement group. +- Required: No +- Type: object +- Default: `{object}` + +### Parameter: `location` + +Resource location. +- Required: No +- Type: string +- Default: `[resourceGroup().location]` + +### Parameter: `lock` + +Specify the type of lock. +- Required: No +- Type: string +- Default: `''` +- Allowed: `['', CanNotDelete, ReadOnly]` + +### Parameter: `name` + +The name of the proximity placement group that is being created. +- Required: Yes +- Type: string + +### Parameter: `roleAssignments` + +Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. +- Required: No +- Type: array +- Default: `[]` + +### Parameter: `tags` + +Tags of the proximity placement group resource. +- Required: No +- Type: object +- Default: `{object}` + +### Parameter: `type` + +Specifies the type of the proximity placement group. +- Required: No +- Type: string +- Default: `'Standard'` +- Allowed: `[Standard, Ultra]` + +### Parameter: `zones` + +Specifies the Availability Zone where virtual machine, virtual machine scale set or availability set associated with the proximity placement group can be created. +- Required: No +- Type: array +- Default: `[]` + + +## Outputs + +| Output | Type | Description | +| :-- | :-- | :-- | +| `location` | string | The location the resource was deployed into. | +| `name` | string | The name of the proximity placement group. | +| `resourceGroupName` | string | The resource group the proximity placement group was deployed into. | +| `resourceId` | string | The resourceId the proximity placement group. | + +## Cross-referenced modules + +_None_ diff --git a/modules/compute/proximity-placement-group/main.json b/modules/compute/proximity-placement-group/main.json index c14b4643cf..515ff086af 100644 --- a/modules/compute/proximity-placement-group/main.json +++ b/modules/compute/proximity-placement-group/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.21.1.54444", - "templateHash": "12193143335374733252" + "version": "0.22.6.54827", + "templateHash": "6477295143375151288" }, "name": "Proximity Placement Groups", "description": "This module deploys a Proximity Placement Group.", @@ -167,8 +167,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.21.1.54444", - "templateHash": "9569185937867215918" + "version": "0.22.6.54827", + "templateHash": "843117559787773713" } }, "parameters": { diff --git a/modules/compute/ssh-public-key/.test/common/main.test.bicep b/modules/compute/ssh-public-key/.test/common/main.test.bicep index 0a61dd1d16..f20494fb87 100644 --- a/modules/compute/ssh-public-key/.test/common/main.test.bicep +++ b/modules/compute/ssh-public-key/.test/common/main.test.bicep @@ -1,5 +1,8 @@ targetScope = 'subscription' +metadata name = 'Using large parameter set' +metadata description = 'This instance deploys the module with most of its features enabled.' + // ========== // // Parameters // // ========== // diff --git a/modules/compute/ssh-public-key/.test/min/main.test.bicep b/modules/compute/ssh-public-key/.test/min/main.test.bicep index c115e84702..dfc7cdd0ec 100644 --- a/modules/compute/ssh-public-key/.test/min/main.test.bicep +++ b/modules/compute/ssh-public-key/.test/min/main.test.bicep @@ -1,5 +1,8 @@ targetScope = 'subscription' +metadata name = 'Using only defaults' +metadata description = 'This instance deploys the module with the minimum set of required parameters.' + // ========== // // Parameters // // ========== // diff --git a/modules/compute/ssh-public-key/README.md b/modules/compute/ssh-public-key/README.md index ae6fc16917..d55794c19a 100644 --- a/modules/compute/ssh-public-key/README.md +++ b/modules/compute/ssh-public-key/README.md @@ -7,10 +7,10 @@ This module deploys a Public SSH Key. ## Navigation - [Resource Types](#Resource-Types) +- [Usage examples](#Usage-examples) - [Parameters](#Parameters) - [Outputs](#Outputs) - [Cross-referenced modules](#Cross-referenced-modules) -- [Deployment examples](#Deployment-examples) ## Resource Types @@ -20,54 +20,28 @@ This module deploys a Public SSH Key. | `Microsoft.Authorization/roleAssignments` | [2022-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2022-04-01/roleAssignments) | | `Microsoft.Compute/sshPublicKeys` | [2022-08-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Compute/2022-08-01/sshPublicKeys) | -## Parameters - -**Required parameters** +## Usage examples -| Parameter Name | Type | Description | -| :-- | :-- | :-- | -| `name` | string | The name of the SSH public Key that is being created. | +The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository. -**Optional parameters** +>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order. -| Parameter Name | Type | Default Value | Allowed Values | Description | -| :-- | :-- | :-- | :-- | :-- | -| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). | -| `location` | string | `[resourceGroup().location]` | | Resource location. | -| `lock` | string | `''` | `['', CanNotDelete, ReadOnly]` | Specify the type of lock. | -| `publicKey` | string | `''` | | SSH public key used to authenticate to a virtual machine through SSH. If this property is not initially provided when the resource is created, the publicKey property will be populated when generateKeyPair is called. If the public key is provided upon resource creation, the provided public key needs to be at least 2048-bit and in ssh-rsa format. | -| `roleAssignments` | array | `[]` | | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. | -| `tags` | object | `{object}` | | Tags of the availability set resource. | +>**Note**: To reference the module, please use the following syntax `br:bicep/modules/compute.ssh-public-key:1.0.0`. +- [Using large parameter set](#example-1-using-large-parameter-set) +- [Using only defaults](#example-2-using-only-defaults) -## Outputs +### Example 1: _Using large parameter set_ -| Output Name | Type | Description | -| :-- | :-- | :-- | -| `location` | string | The location the resource was deployed into. | -| `name` | string | The name of the Public SSH Key. | -| `resourceGroupName` | string | The name of the Resource Group the Public SSH Key was created in. | -| `resourceId` | string | The resource ID of the Public SSH Key. | - -## Cross-referenced modules - -_None_ +This instance deploys the module with most of its features enabled. -## Deployment examples - -The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder. - >**Note**: The name of each example is based on the name of the file from which it is taken. - - >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order. - -
-
+ + +## Parameters + +**Required parameters** + +| Parameter | Type | Description | +| :-- | :-- | :-- | +| [`name`](#parameter-name) | string | The name of the SSH public Key that is being created. | + +**Optional parameters** + +| Parameter | Type | Description | +| :-- | :-- | :-- | +| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). | +| [`location`](#parameter-location) | string | Resource location. | +| [`lock`](#parameter-lock) | string | Specify the type of lock. | +| [`publicKey`](#parameter-publickey) | string | SSH public key used to authenticate to a virtual machine through SSH. If this property is not initially provided when the resource is created, the publicKey property will be populated when generateKeyPair is called. If the public key is provided upon resource creation, the provided public key needs to be at least 2048-bit and in ssh-rsa format. | +| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. | +| [`tags`](#parameter-tags) | object | Tags of the availability set resource. | + +### Parameter: `enableDefaultTelemetry` + +Enable telemetry via a Globally Unique Identifier (GUID). +- Required: No +- Type: bool +- Default: `True` + +### Parameter: `location` + +Resource location. +- Required: No +- Type: string +- Default: `[resourceGroup().location]` + +### Parameter: `lock` + +Specify the type of lock. +- Required: No +- Type: string +- Default: `''` +- Allowed: `['', CanNotDelete, ReadOnly]` + +### Parameter: `name` + +The name of the SSH public Key that is being created. +- Required: Yes +- Type: string + +### Parameter: `publicKey` + +SSH public key used to authenticate to a virtual machine through SSH. If this property is not initially provided when the resource is created, the publicKey property will be populated when generateKeyPair is called. If the public key is provided upon resource creation, the provided public key needs to be at least 2048-bit and in ssh-rsa format. +- Required: No +- Type: string +- Default: `''` + +### Parameter: `roleAssignments` + +Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. +- Required: No +- Type: array +- Default: `[]` + +### Parameter: `tags` + +Tags of the availability set resource. +- Required: No +- Type: object +- Default: `{object}` + + +## Outputs + +| Output | Type | Description | +| :-- | :-- | :-- | +| `location` | string | The location the resource was deployed into. | +| `name` | string | The name of the Public SSH Key. | +| `resourceGroupName` | string | The name of the Resource Group the Public SSH Key was created in. | +| `resourceId` | string | The resource ID of the Public SSH Key. | + +## Cross-referenced modules + +_None_ diff --git a/modules/compute/ssh-public-key/main.json b/modules/compute/ssh-public-key/main.json index 8249f12974..b0179a9ba4 100644 --- a/modules/compute/ssh-public-key/main.json +++ b/modules/compute/ssh-public-key/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.21.1.54444", - "templateHash": "15954994307790830722" + "version": "0.22.6.54827", + "templateHash": "10030504426335419860" }, "name": "Public SSH Keys", "description": "This module deploys a Public SSH Key.\r\n\r\n> Note: The resource does not auto-generate the key for you.", @@ -139,8 +139,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.21.1.54444", - "templateHash": "6373247458133694880" + "version": "0.22.6.54827", + "templateHash": "12934875075357551454" } }, "parameters": { diff --git a/modules/compute/virtual-machine-scale-set/README.md b/modules/compute/virtual-machine-scale-set/README.md index 9c7583c1c4..7bd3a39ad8 100644 --- a/modules/compute/virtual-machine-scale-set/README.md +++ b/modules/compute/virtual-machine-scale-set/README.md @@ -4,14 +4,14 @@ This module deploys a Virtual Machine Scale Set. ## Navigation -- [Resource types](#Resource-types) +- [Resource Types](#Resource-Types) +- [Usage examples](#Usage-examples) - [Parameters](#Parameters) - [Outputs](#Outputs) - [Cross-referenced modules](#Cross-referenced-modules) -- [Deployment examples](#Deployment-examples) - [Notes](#Notes) -## Resource types +## Resource Types | Resource Type | API Version | | :-- | :-- | @@ -21,134 +21,28 @@ This module deploys a Virtual Machine Scale Set. | `Microsoft.Compute/virtualMachineScaleSets/extensions` | [2022-11-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Compute/2022-11-01/virtualMachineScaleSets/extensions) | | `Microsoft.Insights/diagnosticSettings` | [2021-05-01-preview](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Insights/2021-05-01-preview/diagnosticSettings) | -### Resource dependency +## Usage examples -The following resources are required to be able to deploy this resource. +The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository. -- `Microsoft.Network/VirtualNetwork` +>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order. -## Parameters - -**Required parameters** - -| Parameter Name | Type | Allowed Values | Description | -| :-- | :-- | :-- | :-- | -| `adminUsername` | securestring | | Administrator username. | -| `imageReference` | object | | OS image reference. In case of marketplace images, it's the combination of the publisher, offer, sku, version attributes. In case of custom images it's the resource ID of the custom image. | -| `name` | string | | Name of the VMSS. | -| `nicConfigurations` | array | | Configures NICs and PIPs. | -| `osDisk` | object | | Specifies the OS disk. For security reasons, it is recommended to specify DiskEncryptionSet into the osDisk object. Restrictions: DiskEncryptionSet cannot be enabled if Azure Disk Encryption (guest-VM encryption using bitlocker/DM-Crypt) is enabled on your VM Scale sets. | -| `osType` | string | `[Linux, Windows]` | The chosen OS type. | -| `skuName` | string | | The SKU size of the VMs. | - -**Optional parameters** - -| Parameter Name | Type | Default Value | Allowed Values | Description | -| :-- | :-- | :-- | :-- | :-- | -| `additionalUnattendContent` | array | `[]` | | Specifies additional base-64 encoded XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. - AdditionalUnattendContent object. | -| `adminPassword` | securestring | `''` | | When specifying a Windows Virtual Machine, this value should be passed. | -| `automaticRepairsPolicyEnabled` | bool | `False` | | Specifies whether automatic repairs should be enabled on the virtual machine scale set. | -| `availabilityZones` | array | `[]` | | The virtual machine scale set zones. NOTE: Availability zones can only be set when you create the scale set. | -| `bootDiagnosticStorageAccountName` | string | `''` | | Storage account used to store boot diagnostic information. Boot diagnostics will be disabled if no value is provided. | -| `bootDiagnosticStorageAccountUri` | string | `[format('.blob.{0}/', environment().suffixes.storage)]` | | Storage account boot diagnostic base URI. | -| `customData` | string | `''` | | Custom data associated to the VM, this value will be automatically converted into base64 to account for the expected VM format. | -| `dataDisks` | array | `[]` | | Specifies the data disks. For security reasons, it is recommended to specify DiskEncryptionSet into the dataDisk object. Restrictions: DiskEncryptionSet cannot be enabled if Azure Disk Encryption (guest-VM encryption using bitlocker/DM-Crypt) is enabled on your VM Scale sets. | -| `diagnosticEventHubAuthorizationRuleId` | string | `''` | | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. | -| `diagnosticEventHubName` | string | `''` | | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. | -| `diagnosticMetricsToEnable` | array | `[AllMetrics]` | `[AllMetrics]` | The name of metrics that will be streamed. | -| `diagnosticStorageAccountId` | string | `''` | | Resource ID of the diagnostic storage account. | -| `diagnosticWorkspaceId` | string | `''` | | Resource ID of the diagnostic log analytics workspace. | -| `disableAutomaticRollback` | bool | `False` | | Whether OS image rollback feature should be disabled. | -| `disablePasswordAuthentication` | bool | `False` | | Specifies whether password authentication should be disabled. | -| `doNotRunExtensionsOnOverprovisionedVMs` | bool | `False` | | When Overprovision is enabled, extensions are launched only on the requested number of VMs which are finally kept. This property will hence ensure that the extensions do not run on the extra overprovisioned VMs. | -| `enableAutomaticOSUpgrade` | bool | `False` | | Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available. Default value is false. If this is set to true for Windows based scale sets, enableAutomaticUpdates is automatically set to false and cannot be set to true. | -| `enableAutomaticUpdates` | bool | `True` | | Indicates whether Automatic Updates is enabled for the Windows virtual machine. Default value is true. For virtual machine scale sets, this property can be updated and updates will take effect on OS reprovisioning. | -| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). | -| `enableEvictionPolicy` | bool | `False` | | Specifies the eviction policy for the low priority virtual machine. Will result in 'Deallocate' eviction policy. | -| `encryptionAtHost` | bool | `True` | | This property can be used by user in the request to enable or disable the Host Encryption for the virtual machine. This will enable the encryption for all the disks including Resource/Temp disk at host itself. For security reasons, it is recommended to set encryptionAtHost to True. Restrictions: Cannot be enabled if Azure Disk Encryption (guest-VM encryption using bitlocker/DM-Crypt) is enabled on your virtual machine scale sets. | -| `extensionAntiMalwareConfig` | object | `{object}` | | The configuration for the [Anti Malware] extension. Must at least contain the ["enabled": true] property to be executed. | -| `extensionAzureDiskEncryptionConfig` | object | `{object}` | | The configuration for the [Azure Disk Encryption] extension. Must at least contain the ["enabled": true] property to be executed. Restrictions: Cannot be enabled on disks that have encryption at host enabled. Managed disks encrypted using Azure Disk Encryption cannot be encrypted using customer-managed keys. | -| `extensionCustomScriptConfig` | object | `{object}` | | The configuration for the [Custom Script] extension. Must at least contain the ["enabled": true] property to be executed. | -| `extensionDependencyAgentConfig` | object | `{object}` | | The configuration for the [Dependency Agent] extension. Must at least contain the ["enabled": true] property to be executed. | -| `extensionDomainJoinConfig` | object | `{object}` | | The configuration for the [Domain Join] extension. Must at least contain the ["enabled": true] property to be executed. | -| `extensionDomainJoinPassword` | securestring | `''` | | Required if name is specified. Password of the user specified in user parameter. | -| `extensionDSCConfig` | object | `{object}` | | The configuration for the [Desired State Configuration] extension. Must at least contain the ["enabled": true] property to be executed. | -| `extensionMonitoringAgentConfig` | object | `{object}` | | The configuration for the [Monitoring Agent] extension. Must at least contain the ["enabled": true] property to be executed. | -| `extensionNetworkWatcherAgentConfig` | object | `{object}` | | The configuration for the [Network Watcher Agent] extension. Must at least contain the ["enabled": true] property to be executed. | -| `gracePeriod` | string | `'PT30M'` | | The amount of time for which automatic repairs are suspended due to a state change on VM. The grace time starts after the state change has completed. This helps avoid premature or accidental repairs. The time duration should be specified in ISO 8601 format. The minimum allowed grace period is 30 minutes (PT30M). The maximum allowed grace period is 90 minutes (PT90M). | -| `licenseType` | string | `''` | `['', Windows_Client, Windows_Server]` | Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system. | -| `location` | string | `[resourceGroup().location]` | | Location for all resources. | -| `lock` | string | `''` | `['', CanNotDelete, ReadOnly]` | Specify the type of lock. | -| `maxBatchInstancePercent` | int | `20` | | The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the percentage of instances in a batch to decrease to ensure higher reliability. | -| `maxPriceForLowPriorityVm` | string | `''` | | Specifies the maximum price you are willing to pay for a low priority VM/VMSS. This price is in US Dollars. | -| `maxUnhealthyInstancePercent` | int | `20` | | The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch. | -| `maxUnhealthyUpgradedInstancePercent` | int | `20` | | The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch. | -| `monitoringWorkspaceId` | string | `''` | | Resource ID of the monitoring log analytics workspace. | -| `overprovision` | bool | `False` | | Specifies whether the Virtual Machine Scale Set should be overprovisioned. | -| `pauseTimeBetweenBatches` | string | `'PT0S'` | | The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. | -| `plan` | object | `{object}` | | Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. | -| `provisionVMAgent` | bool | `True` | | Indicates whether virtual machine agent should be provisioned on the virtual machine. When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later. | -| `proximityPlacementGroupResourceId` | string | `''` | | Resource ID of a proximity placement group. | -| `publicIpDiagnosticSettingsName` | string | `[format('{0}-diagnosticSettings', parameters('name'))]` | | The name of the diagnostic setting, if deployed. | -| `publicKeys` | array | `[]` | | The list of SSH public keys used to authenticate with linux based VMs. | -| `roleAssignments` | array | `[]` | | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. | -| `sasTokenValidityLength` | string | `'PT8H'` | | SAS token validity length to use to download files from storage accounts. Usage: 'PT8H' - valid for 8 hours; 'P5D' - valid for 5 days; 'P1Y' - valid for 1 year. When not provided, the SAS token will be valid for 8 hours. | -| `scaleInPolicy` | object | `{object}` | | Specifies the scale-in policy that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled-in. | -| `scaleSetFaultDomain` | int | `2` | | Fault Domain count for each placement group. | -| `scheduledEventsProfile` | object | `{object}` | | Specifies Scheduled Event related configurations. | -| `secrets` | array | `[]` | | Specifies set of certificates that should be installed onto the virtual machines in the scale set. | -| `secureBootEnabled` | bool | `False` | | Specifies whether secure boot should be enabled on the virtual machine scale set. This parameter is part of the UefiSettings. SecurityType should be set to TrustedLaunch to enable UefiSettings. | -| `securityType` | string | `''` | | Specifies the SecurityType of the virtual machine scale set. It is set as TrustedLaunch to enable UefiSettings. | -| `singlePlacementGroup` | bool | `True` | | When true this limits the scale set to a single placement group, of max size 100 virtual machines. NOTE: If singlePlacementGroup is true, it may be modified to false. However, if singlePlacementGroup is false, it may not be modified to true. | -| `skuCapacity` | int | `1` | | The initial instance count of scale set VMs. | -| `systemAssignedIdentity` | bool | `False` | | Enables system assigned managed identity on the resource. | -| `tags` | object | `{object}` | | Tags of the resource. | -| `timeZone` | string | `''` | | Specifies the time zone of the virtual machine. e.g. 'Pacific Standard Time'. Possible values can be `TimeZoneInfo.id` value from time zones returned by `TimeZoneInfo.GetSystemTimeZones`. | -| `ultraSSDEnabled` | bool | `False` | | The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual machine or virtual machine scale set only if this property is enabled. | -| `upgradePolicyMode` | string | `'Manual'` | `[Automatic, Manual, Rolling]` | Specifies the mode of an upgrade to virtual machines in the scale set.' Manual - You control the application of updates to virtual machines in the scale set. You do this by using the manualUpgrade action. ; Automatic - All virtual machines in the scale set are automatically updated at the same time. - Automatic, Manual, Rolling. | -| `userAssignedIdentities` | object | `{object}` | | The ID(s) to assign to the resource. | -| `vmNamePrefix` | string | `'vmssvm'` | | Specifies the computer name prefix for all of the virtual machines in the scale set. | -| `vmPriority` | string | `'Regular'` | `[Low, Regular, Spot]` | Specifies the priority for the virtual machine. | -| `vTpmEnabled` | bool | `False` | | Specifies whether vTPM should be enabled on the virtual machine scale set. This parameter is part of the UefiSettings. SecurityType should be set to TrustedLaunch to enable UefiSettings. | -| `winRM` | object | `{object}` | | Specifies the Windows Remote Management listeners. This enables remote Windows PowerShell. - WinRMConfiguration object. | -| `zoneBalance` | bool | `False` | | Whether to force strictly even Virtual Machine distribution cross x-zones in case there is zone outage. | - -**Generated parameters** - -| Parameter Name | Type | Default Value | Description | -| :-- | :-- | :-- | :-- | -| `baseTime` | string | `[utcNow('u')]` | Do not provide a value! This date value is used to generate a registration token. | - - -## Outputs - -| Output Name | Type | Description | -| :-- | :-- | :-- | -| `location` | string | The location the resource was deployed into. | -| `name` | string | The name of the virtual machine scale set. | -| `resourceGroupName` | string | The resource group of the virtual machine scale set. | -| `resourceId` | string | The resource ID of the virtual machine scale set. | -| `systemAssignedPrincipalId` | string | The principal ID of the system assigned identity. | - -## Cross-referenced modules - -_None_ - -## Deployment examples - -The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder. - >**Note**: The name of each example is based on the name of the file from which it is taken. +>**Note**: To reference the module, please use the following syntax `br:bicep/modules/compute.virtual-machine-scale-set:1.0.0`. - >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order. +- [Linux](#example-1-linux) +- [Linux.Min](#example-2-linuxmin) +- [Linux.Ssecmk](#example-3-linuxssecmk) +- [Windows](#example-4-windows) +- [Windows.Min](#example-5-windowsmin) -
-
-
-
-
+## Parameters + +**Required parameters** + +| Parameter | Type | Description | +| :-- | :-- | :-- | +| [`adminUsername`](#parameter-adminusername) | securestring | Administrator username. | +| [`imageReference`](#parameter-imagereference) | object | OS image reference. In case of marketplace images, it's the combination of the publisher, offer, sku, version attributes. In case of custom images it's the resource ID of the custom image. | +| [`name`](#parameter-name) | string | Name of the VMSS. | +| [`nicConfigurations`](#parameter-nicconfigurations) | array | Configures NICs and PIPs. | +| [`osDisk`](#parameter-osdisk) | object | Specifies the OS disk. For security reasons, it is recommended to specify DiskEncryptionSet into the osDisk object. Restrictions: DiskEncryptionSet cannot be enabled if Azure Disk Encryption (guest-VM encryption using bitlocker/DM-Crypt) is enabled on your VM Scale sets. | +| [`osType`](#parameter-ostype) | string | The chosen OS type. | +| [`skuName`](#parameter-skuname) | string | The SKU size of the VMs. | + +**Optional parameters** + +| Parameter | Type | Description | +| :-- | :-- | :-- | +| [`additionalUnattendContent`](#parameter-additionalunattendcontent) | array | Specifies additional base-64 encoded XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. - AdditionalUnattendContent object. | +| [`adminPassword`](#parameter-adminpassword) | securestring | When specifying a Windows Virtual Machine, this value should be passed. | +| [`automaticRepairsPolicyEnabled`](#parameter-automaticrepairspolicyenabled) | bool | Specifies whether automatic repairs should be enabled on the virtual machine scale set. | +| [`availabilityZones`](#parameter-availabilityzones) | array | The virtual machine scale set zones. NOTE: Availability zones can only be set when you create the scale set. | +| [`bootDiagnosticStorageAccountName`](#parameter-bootdiagnosticstorageaccountname) | string | Storage account used to store boot diagnostic information. Boot diagnostics will be disabled if no value is provided. | +| [`bootDiagnosticStorageAccountUri`](#parameter-bootdiagnosticstorageaccounturi) | string | Storage account boot diagnostic base URI. | +| [`customData`](#parameter-customdata) | string | Custom data associated to the VM, this value will be automatically converted into base64 to account for the expected VM format. | +| [`dataDisks`](#parameter-datadisks) | array | Specifies the data disks. For security reasons, it is recommended to specify DiskEncryptionSet into the dataDisk object. Restrictions: DiskEncryptionSet cannot be enabled if Azure Disk Encryption (guest-VM encryption using bitlocker/DM-Crypt) is enabled on your VM Scale sets. | +| [`diagnosticEventHubAuthorizationRuleId`](#parameter-diagnosticeventhubauthorizationruleid) | string | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. | +| [`diagnosticEventHubName`](#parameter-diagnosticeventhubname) | string | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. | +| [`diagnosticMetricsToEnable`](#parameter-diagnosticmetricstoenable) | array | The name of metrics that will be streamed. | +| [`diagnosticStorageAccountId`](#parameter-diagnosticstorageaccountid) | string | Resource ID of the diagnostic storage account. | +| [`diagnosticWorkspaceId`](#parameter-diagnosticworkspaceid) | string | Resource ID of the diagnostic log analytics workspace. | +| [`disableAutomaticRollback`](#parameter-disableautomaticrollback) | bool | Whether OS image rollback feature should be disabled. | +| [`disablePasswordAuthentication`](#parameter-disablepasswordauthentication) | bool | Specifies whether password authentication should be disabled. | +| [`doNotRunExtensionsOnOverprovisionedVMs`](#parameter-donotrunextensionsonoverprovisionedvms) | bool | When Overprovision is enabled, extensions are launched only on the requested number of VMs which are finally kept. This property will hence ensure that the extensions do not run on the extra overprovisioned VMs. | +| [`enableAutomaticOSUpgrade`](#parameter-enableautomaticosupgrade) | bool | Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available. Default value is false. If this is set to true for Windows based scale sets, enableAutomaticUpdates is automatically set to false and cannot be set to true. | +| [`enableAutomaticUpdates`](#parameter-enableautomaticupdates) | bool | Indicates whether Automatic Updates is enabled for the Windows virtual machine. Default value is true. For virtual machine scale sets, this property can be updated and updates will take effect on OS reprovisioning. | +| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). | +| [`enableEvictionPolicy`](#parameter-enableevictionpolicy) | bool | Specifies the eviction policy for the low priority virtual machine. Will result in 'Deallocate' eviction policy. | +| [`encryptionAtHost`](#parameter-encryptionathost) | bool | This property can be used by user in the request to enable or disable the Host Encryption for the virtual machine. This will enable the encryption for all the disks including Resource/Temp disk at host itself. For security reasons, it is recommended to set encryptionAtHost to True. Restrictions: Cannot be enabled if Azure Disk Encryption (guest-VM encryption using bitlocker/DM-Crypt) is enabled on your virtual machine scale sets. | +| [`extensionAntiMalwareConfig`](#parameter-extensionantimalwareconfig) | object | The configuration for the [Anti Malware] extension. Must at least contain the ["enabled": true] property to be executed. | +| [`extensionAzureDiskEncryptionConfig`](#parameter-extensionazurediskencryptionconfig) | object | The configuration for the [Azure Disk Encryption] extension. Must at least contain the ["enabled": true] property to be executed. Restrictions: Cannot be enabled on disks that have encryption at host enabled. Managed disks encrypted using Azure Disk Encryption cannot be encrypted using customer-managed keys. | +| [`extensionCustomScriptConfig`](#parameter-extensioncustomscriptconfig) | object | The configuration for the [Custom Script] extension. Must at least contain the ["enabled": true] property to be executed. | +| [`extensionDependencyAgentConfig`](#parameter-extensiondependencyagentconfig) | object | The configuration for the [Dependency Agent] extension. Must at least contain the ["enabled": true] property to be executed. | +| [`extensionDomainJoinConfig`](#parameter-extensiondomainjoinconfig) | object | The configuration for the [Domain Join] extension. Must at least contain the ["enabled": true] property to be executed. | +| [`extensionDomainJoinPassword`](#parameter-extensiondomainjoinpassword) | securestring | Required if name is specified. Password of the user specified in user parameter. | +| [`extensionDSCConfig`](#parameter-extensiondscconfig) | object | The configuration for the [Desired State Configuration] extension. Must at least contain the ["enabled": true] property to be executed. | +| [`extensionMonitoringAgentConfig`](#parameter-extensionmonitoringagentconfig) | object | The configuration for the [Monitoring Agent] extension. Must at least contain the ["enabled": true] property to be executed. | +| [`extensionNetworkWatcherAgentConfig`](#parameter-extensionnetworkwatcheragentconfig) | object | The configuration for the [Network Watcher Agent] extension. Must at least contain the ["enabled": true] property to be executed. | +| [`gracePeriod`](#parameter-graceperiod) | string | The amount of time for which automatic repairs are suspended due to a state change on VM. The grace time starts after the state change has completed. This helps avoid premature or accidental repairs. The time duration should be specified in ISO 8601 format. The minimum allowed grace period is 30 minutes (PT30M). The maximum allowed grace period is 90 minutes (PT90M). | +| [`licenseType`](#parameter-licensetype) | string | Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system. | +| [`location`](#parameter-location) | string | Location for all resources. | +| [`lock`](#parameter-lock) | string | Specify the type of lock. | +| [`maxBatchInstancePercent`](#parameter-maxbatchinstancepercent) | int | The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the percentage of instances in a batch to decrease to ensure higher reliability. | +| [`maxPriceForLowPriorityVm`](#parameter-maxpriceforlowpriorityvm) | string | Specifies the maximum price you are willing to pay for a low priority VM/VMSS. This price is in US Dollars. | +| [`maxUnhealthyInstancePercent`](#parameter-maxunhealthyinstancepercent) | int | The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch. | +| [`maxUnhealthyUpgradedInstancePercent`](#parameter-maxunhealthyupgradedinstancepercent) | int | The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch. | +| [`monitoringWorkspaceId`](#parameter-monitoringworkspaceid) | string | Resource ID of the monitoring log analytics workspace. | +| [`overprovision`](#parameter-overprovision) | bool | Specifies whether the Virtual Machine Scale Set should be overprovisioned. | +| [`pauseTimeBetweenBatches`](#parameter-pausetimebetweenbatches) | string | The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. | +| [`plan`](#parameter-plan) | object | Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. | +| [`provisionVMAgent`](#parameter-provisionvmagent) | bool | Indicates whether virtual machine agent should be provisioned on the virtual machine. When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later. | +| [`proximityPlacementGroupResourceId`](#parameter-proximityplacementgroupresourceid) | string | Resource ID of a proximity placement group. | +| [`publicIpDiagnosticSettingsName`](#parameter-publicipdiagnosticsettingsname) | string | The name of the diagnostic setting, if deployed. | +| [`publicKeys`](#parameter-publickeys) | array | The list of SSH public keys used to authenticate with linux based VMs. | +| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. | +| [`sasTokenValidityLength`](#parameter-sastokenvaliditylength) | string | SAS token validity length to use to download files from storage accounts. Usage: 'PT8H' - valid for 8 hours; 'P5D' - valid for 5 days; 'P1Y' - valid for 1 year. When not provided, the SAS token will be valid for 8 hours. | +| [`scaleInPolicy`](#parameter-scaleinpolicy) | object | Specifies the scale-in policy that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled-in. | +| [`scaleSetFaultDomain`](#parameter-scalesetfaultdomain) | int | Fault Domain count for each placement group. | +| [`scheduledEventsProfile`](#parameter-scheduledeventsprofile) | object | Specifies Scheduled Event related configurations. | +| [`secrets`](#parameter-secrets) | array | Specifies set of certificates that should be installed onto the virtual machines in the scale set. | +| [`secureBootEnabled`](#parameter-securebootenabled) | bool | Specifies whether secure boot should be enabled on the virtual machine scale set. This parameter is part of the UefiSettings. SecurityType should be set to TrustedLaunch to enable UefiSettings. | +| [`securityType`](#parameter-securitytype) | string | Specifies the SecurityType of the virtual machine scale set. It is set as TrustedLaunch to enable UefiSettings. | +| [`singlePlacementGroup`](#parameter-singleplacementgroup) | bool | When true this limits the scale set to a single placement group, of max size 100 virtual machines. NOTE: If singlePlacementGroup is true, it may be modified to false. However, if singlePlacementGroup is false, it may not be modified to true. | +| [`skuCapacity`](#parameter-skucapacity) | int | The initial instance count of scale set VMs. | +| [`systemAssignedIdentity`](#parameter-systemassignedidentity) | bool | Enables system assigned managed identity on the resource. | +| [`tags`](#parameter-tags) | object | Tags of the resource. | +| [`timeZone`](#parameter-timezone) | string | Specifies the time zone of the virtual machine. e.g. 'Pacific Standard Time'. Possible values can be `TimeZoneInfo.id` value from time zones returned by `TimeZoneInfo.GetSystemTimeZones`. | +| [`ultraSSDEnabled`](#parameter-ultrassdenabled) | bool | The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual machine or virtual machine scale set only if this property is enabled. | +| [`upgradePolicyMode`](#parameter-upgradepolicymode) | string | Specifies the mode of an upgrade to virtual machines in the scale set.' Manual - You control the application of updates to virtual machines in the scale set. You do this by using the manualUpgrade action. ; Automatic - All virtual machines in the scale set are automatically updated at the same time. - Automatic, Manual, Rolling. | +| [`userAssignedIdentities`](#parameter-userassignedidentities) | object | The ID(s) to assign to the resource. | +| [`vmNamePrefix`](#parameter-vmnameprefix) | string | Specifies the computer name prefix for all of the virtual machines in the scale set. | +| [`vmPriority`](#parameter-vmpriority) | string | Specifies the priority for the virtual machine. | +| [`vTpmEnabled`](#parameter-vtpmenabled) | bool | Specifies whether vTPM should be enabled on the virtual machine scale set. This parameter is part of the UefiSettings. SecurityType should be set to TrustedLaunch to enable UefiSettings. | +| [`winRM`](#parameter-winrm) | object | Specifies the Windows Remote Management listeners. This enables remote Windows PowerShell. - WinRMConfiguration object. | +| [`zoneBalance`](#parameter-zonebalance) | bool | Whether to force strictly even Virtual Machine distribution cross x-zones in case there is zone outage. | + +**Generated parameters** + +| Parameter | Type | Description | +| :-- | :-- | :-- | +| [`baseTime`](#parameter-basetime) | string | Do not provide a value! This date value is used to generate a registration token. | + +### Parameter: `additionalUnattendContent` + +Specifies additional base-64 encoded XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. - AdditionalUnattendContent object. +- Required: No +- Type: array +- Default: `[]` + +### Parameter: `adminPassword` + +When specifying a Windows Virtual Machine, this value should be passed. +- Required: No +- Type: securestring +- Default: `''` + +### Parameter: `adminUsername` + +Administrator username. +- Required: Yes +- Type: securestring + +### Parameter: `automaticRepairsPolicyEnabled` + +Specifies whether automatic repairs should be enabled on the virtual machine scale set. +- Required: No +- Type: bool +- Default: `False` + +### Parameter: `availabilityZones` + +The virtual machine scale set zones. NOTE: Availability zones can only be set when you create the scale set. +- Required: No +- Type: array +- Default: `[]` + +### Parameter: `baseTime` + +Do not provide a value! This date value is used to generate a registration token. +- Required: No +- Type: string +- Default: `[utcNow('u')]` + +### Parameter: `bootDiagnosticStorageAccountName` + +Storage account used to store boot diagnostic information. Boot diagnostics will be disabled if no value is provided. +- Required: No +- Type: string +- Default: `''` + +### Parameter: `bootDiagnosticStorageAccountUri` + +Storage account boot diagnostic base URI. +- Required: No +- Type: string +- Default: `[format('.blob.{0}/', environment().suffixes.storage)]` + +### Parameter: `customData` + +Custom data associated to the VM, this value will be automatically converted into base64 to account for the expected VM format. +- Required: No +- Type: string +- Default: `''` + +### Parameter: `dataDisks` + +Specifies the data disks. For security reasons, it is recommended to specify DiskEncryptionSet into the dataDisk object. Restrictions: DiskEncryptionSet cannot be enabled if Azure Disk Encryption (guest-VM encryption using bitlocker/DM-Crypt) is enabled on your VM Scale sets. +- Required: No +- Type: array +- Default: `[]` + +### Parameter: `diagnosticEventHubAuthorizationRuleId` + +Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. +- Required: No +- Type: string +- Default: `''` + +### Parameter: `diagnosticEventHubName` + +Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. +- Required: No +- Type: string +- Default: `''` + +### Parameter: `diagnosticMetricsToEnable` + +The name of metrics that will be streamed. +- Required: No +- Type: array +- Default: `[AllMetrics]` +- Allowed: `[AllMetrics]` + +### Parameter: `diagnosticStorageAccountId` + +Resource ID of the diagnostic storage account. +- Required: No +- Type: string +- Default: `''` + +### Parameter: `diagnosticWorkspaceId` + +Resource ID of the diagnostic log analytics workspace. +- Required: No +- Type: string +- Default: `''` + +### Parameter: `disableAutomaticRollback` + +Whether OS image rollback feature should be disabled. +- Required: No +- Type: bool +- Default: `False` + +### Parameter: `disablePasswordAuthentication` + +Specifies whether password authentication should be disabled. +- Required: No +- Type: bool +- Default: `False` + +### Parameter: `doNotRunExtensionsOnOverprovisionedVMs` + +When Overprovision is enabled, extensions are launched only on the requested number of VMs which are finally kept. This property will hence ensure that the extensions do not run on the extra overprovisioned VMs. +- Required: No +- Type: bool +- Default: `False` + +### Parameter: `enableAutomaticOSUpgrade` + +Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available. Default value is false. If this is set to true for Windows based scale sets, enableAutomaticUpdates is automatically set to false and cannot be set to true. +- Required: No +- Type: bool +- Default: `False` + +### Parameter: `enableAutomaticUpdates` + +Indicates whether Automatic Updates is enabled for the Windows virtual machine. Default value is true. For virtual machine scale sets, this property can be updated and updates will take effect on OS reprovisioning. +- Required: No +- Type: bool +- Default: `True` + +### Parameter: `enableDefaultTelemetry` + +Enable telemetry via a Globally Unique Identifier (GUID). +- Required: No +- Type: bool +- Default: `True` + +### Parameter: `enableEvictionPolicy` + +Specifies the eviction policy for the low priority virtual machine. Will result in 'Deallocate' eviction policy. +- Required: No +- Type: bool +- Default: `False` + +### Parameter: `encryptionAtHost` + +This property can be used by user in the request to enable or disable the Host Encryption for the virtual machine. This will enable the encryption for all the disks including Resource/Temp disk at host itself. For security reasons, it is recommended to set encryptionAtHost to True. Restrictions: Cannot be enabled if Azure Disk Encryption (guest-VM encryption using bitlocker/DM-Crypt) is enabled on your virtual machine scale sets. +- Required: No +- Type: bool +- Default: `True` + +### Parameter: `extensionAntiMalwareConfig` + +The configuration for the [Anti Malware] extension. Must at least contain the ["enabled": true] property to be executed. +- Required: No +- Type: object +- Default: `{object}` + +### Parameter: `extensionAzureDiskEncryptionConfig` + +The configuration for the [Azure Disk Encryption] extension. Must at least contain the ["enabled": true] property to be executed. Restrictions: Cannot be enabled on disks that have encryption at host enabled. Managed disks encrypted using Azure Disk Encryption cannot be encrypted using customer-managed keys. +- Required: No +- Type: object +- Default: `{object}` + +### Parameter: `extensionCustomScriptConfig` + +The configuration for the [Custom Script] extension. Must at least contain the ["enabled": true] property to be executed. +- Required: No +- Type: object +- Default: `{object}` + +### Parameter: `extensionDependencyAgentConfig` + +The configuration for the [Dependency Agent] extension. Must at least contain the ["enabled": true] property to be executed. +- Required: No +- Type: object +- Default: `{object}` + +### Parameter: `extensionDomainJoinConfig` + +The configuration for the [Domain Join] extension. Must at least contain the ["enabled": true] property to be executed. +- Required: No +- Type: object +- Default: `{object}` + +### Parameter: `extensionDomainJoinPassword` + +Required if name is specified. Password of the user specified in user parameter. +- Required: No +- Type: securestring +- Default: `''` + +### Parameter: `extensionDSCConfig` + +The configuration for the [Desired State Configuration] extension. Must at least contain the ["enabled": true] property to be executed. +- Required: No +- Type: object +- Default: `{object}` + +### Parameter: `extensionMonitoringAgentConfig` + +The configuration for the [Monitoring Agent] extension. Must at least contain the ["enabled": true] property to be executed. +- Required: No +- Type: object +- Default: `{object}` + +### Parameter: `extensionNetworkWatcherAgentConfig` + +The configuration for the [Network Watcher Agent] extension. Must at least contain the ["enabled": true] property to be executed. +- Required: No +- Type: object +- Default: `{object}` + +### Parameter: `gracePeriod` + +The amount of time for which automatic repairs are suspended due to a state change on VM. The grace time starts after the state change has completed. This helps avoid premature or accidental repairs. The time duration should be specified in ISO 8601 format. The minimum allowed grace period is 30 minutes (PT30M). The maximum allowed grace period is 90 minutes (PT90M). +- Required: No +- Type: string +- Default: `'PT30M'` + +### Parameter: `imageReference` + +OS image reference. In case of marketplace images, it's the combination of the publisher, offer, sku, version attributes. In case of custom images it's the resource ID of the custom image. +- Required: Yes +- Type: object + +### Parameter: `licenseType` + +Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system. +- Required: No +- Type: string +- Default: `''` +- Allowed: `['', Windows_Client, Windows_Server]` + +### Parameter: `location` + +Location for all resources. +- Required: No +- Type: string +- Default: `[resourceGroup().location]` + +### Parameter: `lock` + +Specify the type of lock. +- Required: No +- Type: string +- Default: `''` +- Allowed: `['', CanNotDelete, ReadOnly]` + +### Parameter: `maxBatchInstancePercent` + +The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the percentage of instances in a batch to decrease to ensure higher reliability. +- Required: No +- Type: int +- Default: `20` + +### Parameter: `maxPriceForLowPriorityVm` + +Specifies the maximum price you are willing to pay for a low priority VM/VMSS. This price is in US Dollars. +- Required: No +- Type: string +- Default: `''` + +### Parameter: `maxUnhealthyInstancePercent` + +The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch. +- Required: No +- Type: int +- Default: `20` + +### Parameter: `maxUnhealthyUpgradedInstancePercent` + +The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch. +- Required: No +- Type: int +- Default: `20` + +### Parameter: `monitoringWorkspaceId` + +Resource ID of the monitoring log analytics workspace. +- Required: No +- Type: string +- Default: `''` + +### Parameter: `name` + +Name of the VMSS. +- Required: Yes +- Type: string + +### Parameter: `nicConfigurations` + +Configures NICs and PIPs. +- Required: No +- Type: array +- Default: `[]` + +### Parameter: `osDisk` + +Specifies the OS disk. For security reasons, it is recommended to specify DiskEncryptionSet into the osDisk object. Restrictions: DiskEncryptionSet cannot be enabled if Azure Disk Encryption (guest-VM encryption using bitlocker/DM-Crypt) is enabled on your VM Scale sets. +- Required: Yes +- Type: object + +### Parameter: `osType` + +The chosen OS type. +- Required: Yes +- Type: string +- Allowed: `[Linux, Windows]` + +### Parameter: `overprovision` + +Specifies whether the Virtual Machine Scale Set should be overprovisioned. +- Required: No +- Type: bool +- Default: `False` + +### Parameter: `pauseTimeBetweenBatches` + +The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. +- Required: No +- Type: string +- Default: `'PT0S'` + +### Parameter: `plan` + +Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. +- Required: No +- Type: object +- Default: `{object}` + +### Parameter: `provisionVMAgent` + +Indicates whether virtual machine agent should be provisioned on the virtual machine. When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later. +- Required: No +- Type: bool +- Default: `True` + +### Parameter: `proximityPlacementGroupResourceId` + +Resource ID of a proximity placement group. +- Required: No +- Type: string +- Default: `''` + +### Parameter: `publicIpDiagnosticSettingsName` + +The name of the diagnostic setting, if deployed. +- Required: No +- Type: string +- Default: `[format('{0}-diagnosticSettings', parameters('name'))]` + +### Parameter: `publicKeys` + +The list of SSH public keys used to authenticate with linux based VMs. +- Required: No +- Type: array +- Default: `[]` + +### Parameter: `roleAssignments` + +Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. +- Required: No +- Type: array +- Default: `[]` + +### Parameter: `sasTokenValidityLength` + +SAS token validity length to use to download files from storage accounts. Usage: 'PT8H' - valid for 8 hours; 'P5D' - valid for 5 days; 'P1Y' - valid for 1 year. When not provided, the SAS token will be valid for 8 hours. +- Required: No +- Type: string +- Default: `'PT8H'` + +### Parameter: `scaleInPolicy` + +Specifies the scale-in policy that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled-in. +- Required: No +- Type: object +- Default: `{object}` + +### Parameter: `scaleSetFaultDomain` + +Fault Domain count for each placement group. +- Required: No +- Type: int +- Default: `2` + +### Parameter: `scheduledEventsProfile` + +Specifies Scheduled Event related configurations. +- Required: No +- Type: object +- Default: `{object}` + +### Parameter: `secrets` + +Specifies set of certificates that should be installed onto the virtual machines in the scale set. +- Required: No +- Type: array +- Default: `[]` + +### Parameter: `secureBootEnabled` + +Specifies whether secure boot should be enabled on the virtual machine scale set. This parameter is part of the UefiSettings. SecurityType should be set to TrustedLaunch to enable UefiSettings. +- Required: No +- Type: bool +- Default: `False` + +### Parameter: `securityType` + +Specifies the SecurityType of the virtual machine scale set. It is set as TrustedLaunch to enable UefiSettings. +- Required: No +- Type: string +- Default: `''` + +### Parameter: `singlePlacementGroup` + +When true this limits the scale set to a single placement group, of max size 100 virtual machines. NOTE: If singlePlacementGroup is true, it may be modified to false. However, if singlePlacementGroup is false, it may not be modified to true. +- Required: No +- Type: bool +- Default: `True` + +### Parameter: `skuCapacity` + +The initial instance count of scale set VMs. +- Required: No +- Type: int +- Default: `1` + +### Parameter: `skuName` + +The SKU size of the VMs. +- Required: Yes +- Type: string + +### Parameter: `systemAssignedIdentity` + +Enables system assigned managed identity on the resource. +- Required: No +- Type: bool +- Default: `False` + +### Parameter: `tags` + +Tags of the resource. +- Required: No +- Type: object +- Default: `{object}` + +### Parameter: `timeZone` + +Specifies the time zone of the virtual machine. e.g. 'Pacific Standard Time'. Possible values can be `TimeZoneInfo.id` value from time zones returned by `TimeZoneInfo.GetSystemTimeZones`. +- Required: No +- Type: string +- Default: `''` + +### Parameter: `ultraSSDEnabled` + +The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual machine or virtual machine scale set only if this property is enabled. +- Required: No +- Type: bool +- Default: `False` + +### Parameter: `upgradePolicyMode` + +Specifies the mode of an upgrade to virtual machines in the scale set.' Manual - You control the application of updates to virtual machines in the scale set. You do this by using the manualUpgrade action. ; Automatic - All virtual machines in the scale set are automatically updated at the same time. - Automatic, Manual, Rolling. +- Required: No +- Type: string +- Default: `'Manual'` +- Allowed: `[Automatic, Manual, Rolling]` + +### Parameter: `userAssignedIdentities` + +The ID(s) to assign to the resource. +- Required: No +- Type: object +- Default: `{object}` + +### Parameter: `vmNamePrefix` + +Specifies the computer name prefix for all of the virtual machines in the scale set. +- Required: No +- Type: string +- Default: `'vmssvm'` + +### Parameter: `vmPriority` + +Specifies the priority for the virtual machine. +- Required: No +- Type: string +- Default: `'Regular'` +- Allowed: `[Low, Regular, Spot]` + +### Parameter: `vTpmEnabled` + +Specifies whether vTPM should be enabled on the virtual machine scale set. This parameter is part of the UefiSettings. SecurityType should be set to TrustedLaunch to enable UefiSettings. +- Required: No +- Type: bool +- Default: `False` + +### Parameter: `winRM` + +Specifies the Windows Remote Management listeners. This enables remote Windows PowerShell. - WinRMConfiguration object. +- Required: No +- Type: object +- Default: `{object}` + +### Parameter: `zoneBalance` + +Whether to force strictly even Virtual Machine distribution cross x-zones in case there is zone outage. +- Required: No +- Type: bool +- Default: `False` + + +## Outputs + +| Output | Type | Description | +| :-- | :-- | :-- | +| `location` | string | The location the resource was deployed into. | +| `name` | string | The name of the virtual machine scale set. | +| `resourceGroupName` | string | The resource group of the virtual machine scale set. | +| `resourceId` | string | The resource ID of the virtual machine scale set. | +| `systemAssignedPrincipalId` | string | The principal ID of the system assigned identity. | + +## Cross-referenced modules + +_None_ + ## Notes ### Parameter Usage: `imageReference` diff --git a/modules/compute/virtual-machine-scale-set/extension/README.md b/modules/compute/virtual-machine-scale-set/extension/README.md index 52412ef886..462a5b3111 100644 --- a/modules/compute/virtual-machine-scale-set/extension/README.md +++ b/modules/compute/virtual-machine-scale-set/extension/README.md @@ -19,35 +19,112 @@ This module deploys a Virtual Machine Scale Set Extension. **Required parameters** -| Parameter Name | Type | Description | +| Parameter | Type | Description | | :-- | :-- | :-- | -| `autoUpgradeMinorVersion` | bool | Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. | -| `enableAutomaticUpgrade` | bool | Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. | -| `name` | string | The name of the virtual machine scale set extension. | -| `publisher` | string | The name of the extension handler publisher. | -| `type` | string | Specifies the type of the extension; an example is "CustomScriptExtension". | -| `typeHandlerVersion` | string | Specifies the version of the script handler. | +| [`autoUpgradeMinorVersion`](#parameter-autoupgrademinorversion) | bool | Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. | +| [`enableAutomaticUpgrade`](#parameter-enableautomaticupgrade) | bool | Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. | +| [`name`](#parameter-name) | string | The name of the virtual machine scale set extension. | +| [`publisher`](#parameter-publisher) | string | The name of the extension handler publisher. | +| [`type`](#parameter-type) | string | Specifies the type of the extension; an example is "CustomScriptExtension". | +| [`typeHandlerVersion`](#parameter-typehandlerversion) | string | Specifies the version of the script handler. | **Conditional parameters** -| Parameter Name | Type | Description | +| Parameter | Type | Description | | :-- | :-- | :-- | -| `virtualMachineScaleSetName` | string | The name of the parent virtual machine scale set that extension is provisioned for. Required if the template is used in a standalone deployment. | +| [`virtualMachineScaleSetName`](#parameter-virtualmachinescalesetname) | string | The name of the parent virtual machine scale set that extension is provisioned for. Required if the template is used in a standalone deployment. | **Optional parameters** -| Parameter Name | Type | Default Value | Description | -| :-- | :-- | :-- | :-- | -| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). | -| `forceUpdateTag` | string | `''` | How the extension handler should be forced to update even if the extension configuration has not changed. | -| `protectedSettings` | secureObject | `{object}` | Any object that contains the extension specific protected settings. | -| `settings` | object | `{object}` | Any object that contains the extension specific settings. | -| `supressFailures` | bool | `False` | Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. | +| Parameter | Type | Description | +| :-- | :-- | :-- | +| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). | +| [`forceUpdateTag`](#parameter-forceupdatetag) | string | How the extension handler should be forced to update even if the extension configuration has not changed. | +| [`protectedSettings`](#parameter-protectedsettings) | secureObject | Any object that contains the extension specific protected settings. | +| [`settings`](#parameter-settings) | object | Any object that contains the extension specific settings. | +| [`supressFailures`](#parameter-supressfailures) | bool | Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. | + +### Parameter: `autoUpgradeMinorVersion` + +Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. +- Required: Yes +- Type: bool + +### Parameter: `enableAutomaticUpgrade` + +Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. +- Required: Yes +- Type: bool + +### Parameter: `enableDefaultTelemetry` + +Enable telemetry via a Globally Unique Identifier (GUID). +- Required: No +- Type: bool +- Default: `True` + +### Parameter: `forceUpdateTag` + +How the extension handler should be forced to update even if the extension configuration has not changed. +- Required: No +- Type: string +- Default: `''` + +### Parameter: `name` + +The name of the virtual machine scale set extension. +- Required: Yes +- Type: string + +### Parameter: `protectedSettings` + +Any object that contains the extension specific protected settings. +- Required: No +- Type: secureObject +- Default: `{object}` + +### Parameter: `publisher` + +The name of the extension handler publisher. +- Required: Yes +- Type: string + +### Parameter: `settings` + +Any object that contains the extension specific settings. +- Required: No +- Type: object +- Default: `{object}` + +### Parameter: `supressFailures` + +Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. +- Required: No +- Type: bool +- Default: `False` + +### Parameter: `type` + +Specifies the type of the extension; an example is "CustomScriptExtension". +- Required: Yes +- Type: string + +### Parameter: `typeHandlerVersion` + +Specifies the version of the script handler. +- Required: Yes +- Type: string + +### Parameter: `virtualMachineScaleSetName` + +The name of the parent virtual machine scale set that extension is provisioned for. Required if the template is used in a standalone deployment. +- Required: Yes +- Type: string ## Outputs -| Output Name | Type | Description | +| Output | Type | Description | | :-- | :-- | :-- | | `name` | string | The name of the extension. | | `resourceGroupName` | string | The name of the Resource Group the extension was created in. | diff --git a/modules/compute/virtual-machine-scale-set/extension/main.json b/modules/compute/virtual-machine-scale-set/extension/main.json index 14783762a8..d63e240501 100644 --- a/modules/compute/virtual-machine-scale-set/extension/main.json +++ b/modules/compute/virtual-machine-scale-set/extension/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.20.4.51522", - "templateHash": "3045861199823874082" + "version": "0.22.6.54827", + "templateHash": "5906561479759498703" }, "name": "Virtual Machine Scale Set Extensions", "description": "This module deploys a Virtual Machine Scale Set Extension.", diff --git a/modules/compute/virtual-machine-scale-set/main.json b/modules/compute/virtual-machine-scale-set/main.json index 974fbd8b00..59b04e2594 100644 --- a/modules/compute/virtual-machine-scale-set/main.json +++ b/modules/compute/virtual-machine-scale-set/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.21.1.54444", - "templateHash": "12564504054150617860" + "version": "0.22.6.54827", + "templateHash": "1180320046795963031" }, "name": "Virtual Machine Scale Sets", "description": "This module deploys a Virtual Machine Scale Set.", @@ -842,8 +842,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.21.1.54444", - "templateHash": "7816202249753353774" + "version": "0.22.6.54827", + "templateHash": "5906561479759498703" }, "name": "Virtual Machine Scale Set Extensions", "description": "This module deploys a Virtual Machine Scale Set Extension.", @@ -1028,8 +1028,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.21.1.54444", - "templateHash": "7816202249753353774" + "version": "0.22.6.54827", + "templateHash": "5906561479759498703" }, "name": "Virtual Machine Scale Set Extensions", "description": "This module deploys a Virtual Machine Scale Set Extension.", @@ -1219,8 +1219,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.21.1.54444", - "templateHash": "7816202249753353774" + "version": "0.22.6.54827", + "templateHash": "5906561479759498703" }, "name": "Virtual Machine Scale Set Extensions", "description": "This module deploys a Virtual Machine Scale Set Extension.", @@ -1400,8 +1400,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.21.1.54444", - "templateHash": "7816202249753353774" + "version": "0.22.6.54827", + "templateHash": "5906561479759498703" }, "name": "Virtual Machine Scale Set Extensions", "description": "This module deploys a Virtual Machine Scale Set Extension.", @@ -1581,8 +1581,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.21.1.54444", - "templateHash": "7816202249753353774" + "version": "0.22.6.54827", + "templateHash": "5906561479759498703" }, "name": "Virtual Machine Scale Set Extensions", "description": "This module deploys a Virtual Machine Scale Set Extension.", @@ -1766,8 +1766,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.21.1.54444", - "templateHash": "7816202249753353774" + "version": "0.22.6.54827", + "templateHash": "5906561479759498703" }, "name": "Virtual Machine Scale Set Extensions", "description": "This module deploys a Virtual Machine Scale Set Extension.", @@ -1957,8 +1957,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.21.1.54444", - "templateHash": "7816202249753353774" + "version": "0.22.6.54827", + "templateHash": "5906561479759498703" }, "name": "Virtual Machine Scale Set Extensions", "description": "This module deploys a Virtual Machine Scale Set Extension.", @@ -2143,8 +2143,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.21.1.54444", - "templateHash": "7816202249753353774" + "version": "0.22.6.54827", + "templateHash": "5906561479759498703" }, "name": "Virtual Machine Scale Set Extensions", "description": "This module deploys a Virtual Machine Scale Set Extension.", @@ -2326,8 +2326,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.21.1.54444", - "templateHash": "18352328702844325130" + "version": "0.22.6.54827", + "templateHash": "2683570948982482973" } }, "parameters": { diff --git a/modules/compute/virtual-machine/README.md b/modules/compute/virtual-machine/README.md index 0a3195f2ef..f833ed5a15 100644 --- a/modules/compute/virtual-machine/README.md +++ b/modules/compute/virtual-machine/README.md @@ -5,10 +5,10 @@ This module deploys a Virtual Machine with one or multiple NICs and optionally o ## Navigation - [Resource Types](#Resource-Types) +- [Usage examples](#Usage-examples) - [Parameters](#Parameters) - [Outputs](#Outputs) - [Cross-referenced modules](#Cross-referenced-modules) -- [Deployment examples](#Deployment-examples) - [Notes](#Notes) ## Resource Types @@ -25,132 +25,30 @@ This module deploys a Virtual Machine with one or multiple NICs and optionally o | `Microsoft.Network/publicIPAddresses` | [2023-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2023-04-01/publicIPAddresses) | | `Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems` | [2023-01-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.RecoveryServices/2023-01-01/vaults/backupFabrics/protectionContainers/protectedItems) | -## Parameters - -**Required parameters** - -| Parameter Name | Type | Default Value | Allowed Values | Description | -| :-- | :-- | :-- | :-- | :-- | -| `adminUsername` | securestring | | | Administrator username. | -| `configurationProfile` | string | `''` | `['', /providers/Microsoft.Automanage/bestPractices/AzureBestPracticesDevTest, /providers/Microsoft.Automanage/bestPractices/AzureBestPracticesProduction]` | The configuration profile of automanage. | -| `imageReference` | object | | | OS image reference. In case of marketplace images, it's the combination of the publisher, offer, sku, version attributes. In case of custom images it's the resource ID of the custom image. | -| `nicConfigurations` | array | | | Configures NICs and PIPs. | -| `osDisk` | object | | | Specifies the OS disk. For security reasons, it is recommended to specify DiskEncryptionSet into the osDisk object. Restrictions: DiskEncryptionSet cannot be enabled if Azure Disk Encryption (guest-VM encryption using bitlocker/DM-Crypt) is enabled on your VMs. | -| `osType` | string | | `[Linux, Windows]` | The chosen OS type. | -| `vmSize` | string | | | Specifies the size for the VMs. | - -**Optional parameters** - -| Parameter Name | Type | Default Value | Allowed Values | Description | -| :-- | :-- | :-- | :-- | :-- | -| `additionalUnattendContent` | array | `[]` | | Specifies additional base-64 encoded XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. - AdditionalUnattendContent object. | -| `adminPassword` | securestring | `''` | | When specifying a Windows Virtual Machine, this value should be passed. | -| `allowExtensionOperations` | bool | `True` | | Specifies whether extension operations should be allowed on the virtual machine. This may only be set to False when no extensions are present on the virtual machine. | -| `availabilitySetResourceId` | string | `''` | | Resource ID of an availability set. Cannot be used in combination with availability zone nor scale set. | -| `availabilityZone` | int | `0` | `[0, 1, 2, 3]` | If set to 1, 2 or 3, the availability zone for all VMs is hardcoded to that value. If zero, then availability zones is not used. Cannot be used in combination with availability set nor scale set. | -| `backupPolicyName` | string | `'DefaultPolicy'` | | Backup policy the VMs should be using for backup. If not provided, it will use the DefaultPolicy from the backup recovery service vault. | -| `backupVaultName` | string | `''` | | Recovery service vault name to add VMs to backup. | -| `backupVaultResourceGroup` | string | `[resourceGroup().name]` | | Resource group of the backup recovery service vault. If not provided the current resource group name is considered by default. | -| `bootDiagnostics` | bool | `False` | | Whether boot diagnostics should be enabled on the Virtual Machine. Boot diagnostics will be enabled with a managed storage account if no bootDiagnosticsStorageAccountName value is provided. If bootDiagnostics and bootDiagnosticsStorageAccountName values are not provided, boot diagnostics will be disabled. | -| `bootDiagnosticStorageAccountName` | string | `''` | | Custom storage account used to store boot diagnostic information. Boot diagnostics will be enabled with a custom storage account if a value is provided. | -| `bootDiagnosticStorageAccountUri` | string | `[format('.blob.{0}/', environment().suffixes.storage)]` | | Storage account boot diagnostic base URI. | -| `certificatesToBeInstalled` | array | `[]` | | Specifies set of certificates that should be installed onto the virtual machine. | -| `computerName` | string | `[parameters('name')]` | | Can be used if the computer name needs to be different from the Azure VM resource name. If not used, the resource name will be used as computer name. | -| `customData` | string | `''` | | Custom data associated to the VM, this value will be automatically converted into base64 to account for the expected VM format. | -| `dataDisks` | array | `[]` | | Specifies the data disks. For security reasons, it is recommended to specify DiskEncryptionSet into the dataDisk object. Restrictions: DiskEncryptionSet cannot be enabled if Azure Disk Encryption (guest-VM encryption using bitlocker/DM-Crypt) is enabled on your VMs. | -| `dedicatedHostId` | string | `''` | | Specifies resource ID about the dedicated host that the virtual machine resides in. | -| `diagnosticEventHubAuthorizationRuleId` | string | `''` | | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. | -| `diagnosticEventHubName` | string | `''` | | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. | -| `diagnosticStorageAccountId` | string | `''` | | Resource ID of the diagnostic storage account. | -| `diagnosticWorkspaceId` | string | `''` | | Resource ID of the diagnostic log analytics workspace. | -| `disablePasswordAuthentication` | bool | `False` | | Specifies whether password authentication should be disabled. | -| `enableAutomaticUpdates` | bool | `True` | | Indicates whether Automatic Updates is enabled for the Windows virtual machine. Default value is true. When patchMode is set to Manual, this parameter must be set to false. For virtual machine scale sets, this property can be updated and updates will take effect on OS reprovisioning. | -| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). | -| `enableEvictionPolicy` | bool | `False` | | Specifies the eviction policy for the low priority virtual machine. Will result in 'Deallocate' eviction policy. | -| `encryptionAtHost` | bool | `True` | | This property can be used by user in the request to enable or disable the Host Encryption for the virtual machine. This will enable the encryption for all the disks including Resource/Temp disk at host itself. For security reasons, it is recommended to set encryptionAtHost to True. Restrictions: Cannot be enabled if Azure Disk Encryption (guest-VM encryption using bitlocker/DM-Crypt) is enabled on your VMs. | -| `extensionAadJoinConfig` | object | `{object}` | | The configuration for the [AAD Join] extension. Must at least contain the ["enabled": true] property to be executed. | -| `extensionAntiMalwareConfig` | object | `{object}` | | The configuration for the [Anti Malware] extension. Must at least contain the ["enabled": true] property to be executed. | -| `extensionAzureDiskEncryptionConfig` | object | `{object}` | | The configuration for the [Azure Disk Encryption] extension. Must at least contain the ["enabled": true] property to be executed. Restrictions: Cannot be enabled on disks that have encryption at host enabled. Managed disks encrypted using Azure Disk Encryption cannot be encrypted using customer-managed keys. | -| `extensionCustomScriptConfig` | object | `{object}` | | The configuration for the [Custom Script] extension. Must at least contain the ["enabled": true] property to be executed. | -| `extensionCustomScriptProtectedSetting` | secureObject | `{object}` | | Any object that contains the extension specific protected settings. | -| `extensionDependencyAgentConfig` | object | `{object}` | | The configuration for the [Dependency Agent] extension. Must at least contain the ["enabled": true] property to be executed. | -| `extensionDomainJoinConfig` | object | `{object}` | | The configuration for the [Domain Join] extension. Must at least contain the ["enabled": true] property to be executed. | -| `extensionDomainJoinPassword` | securestring | `''` | | Required if name is specified. Password of the user specified in user parameter. | -| `extensionDSCConfig` | object | `{object}` | | The configuration for the [Desired State Configuration] extension. Must at least contain the ["enabled": true] property to be executed. | -| `extensionMonitoringAgentConfig` | object | `{object}` | | The configuration for the [Monitoring Agent] extension. Must at least contain the ["enabled": true] property to be executed. | -| `extensionNetworkWatcherAgentConfig` | object | `{object}` | | The configuration for the [Network Watcher Agent] extension. Must at least contain the ["enabled": true] property to be executed. | -| `licenseType` | string | `''` | `['', Windows_Client, Windows_Server]` | Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system. | -| `location` | string | `[resourceGroup().location]` | | Location for all resources. | -| `lock` | string | `''` | `['', CanNotDelete, ReadOnly]` | Specify the type of lock. | -| `maxPriceForLowPriorityVm` | string | `''` | | Specifies the maximum price you are willing to pay for a low priority VM/VMSS. This price is in US Dollars. | -| `monitoringWorkspaceId` | string | `''` | | Resource ID of the monitoring log analytics workspace. Must be set when extensionMonitoringAgentConfig is set to true. | -| `name` | string | `[take(toLower(uniqueString(resourceGroup().name)), 10)]` | | The name of the virtual machine to be created. You should use a unique prefix to reduce name collisions in Active Directory. If no value is provided, a 10 character long unique string will be generated based on the Resource Group's name. | -| `nicdiagnosticMetricsToEnable` | array | `[AllMetrics]` | `[AllMetrics]` | The name of metrics that will be streamed. | -| `nicDiagnosticSettingsName` | string | `[format('{0}-diagnosticSettings', parameters('name'))]` | | The name of the NIC diagnostic setting, if deployed. | -| `patchAssessmentMode` | string | `'ImageDefault'` | `[AutomaticByPlatform, ImageDefault]` | VM guest patching assessment mode. Set it to 'AutomaticByPlatform' to enable automatically check for updates every 24 hours. | -| `patchMode` | string | `''` | `['', AutomaticByOS, AutomaticByPlatform, ImageDefault, Manual]` | VM guest patching orchestration mode. 'AutomaticByOS' & 'Manual' are for Windows only, 'ImageDefault' for Linux only. Refer to 'https://learn.microsoft.com/en-us/azure/virtual-machines/automatic-vm-guest-patching'. | -| `pipdiagnosticLogCategoriesToEnable` | array | `[allLogs]` | `['', allLogs, DDoSMitigationFlowLogs, DDoSMitigationReports, DDoSProtectionNotifications]` | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. | -| `pipdiagnosticMetricsToEnable` | array | `[AllMetrics]` | `[AllMetrics]` | The name of metrics that will be streamed. | -| `pipDiagnosticSettingsName` | string | `[format('{0}-diagnosticSettings', parameters('name'))]` | | The name of the PIP diagnostic setting, if deployed. | -| `plan` | object | `{object}` | | Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. | -| `priority` | string | `'Regular'` | `[Low, Regular, Spot]` | Specifies the priority for the virtual machine. | -| `provisionVMAgent` | bool | `True` | | Indicates whether virtual machine agent should be provisioned on the virtual machine. When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later. | -| `proximityPlacementGroupResourceId` | string | `''` | | Resource ID of a proximity placement group. | -| `publicKeys` | array | `[]` | | The list of SSH public keys used to authenticate with linux based VMs. | -| `roleAssignments` | array | `[]` | | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. | -| `sasTokenValidityLength` | string | `'PT8H'` | | SAS token validity length to use to download files from storage accounts. Usage: 'PT8H' - valid for 8 hours; 'P5D' - valid for 5 days; 'P1Y' - valid for 1 year. When not provided, the SAS token will be valid for 8 hours. | -| `secureBootEnabled` | bool | `False` | | Specifies whether secure boot should be enabled on the virtual machine. This parameter is part of the UefiSettings. SecurityType should be set to TrustedLaunch to enable UefiSettings. | -| `securityType` | string | `''` | | Specifies the SecurityType of the virtual machine. It is set as TrustedLaunch to enable UefiSettings. | -| `systemAssignedIdentity` | bool | `False` | | Enables system assigned managed identity on the resource. The system-assigned managed identity will automatically be enabled if extensionAadJoinConfig.enabled = "True". | -| `tags` | object | `{object}` | | Tags of the resource. | -| `timeZone` | string | `''` | | Specifies the time zone of the virtual machine. e.g. 'Pacific Standard Time'. Possible values can be `TimeZoneInfo.id` value from time zones returned by `TimeZoneInfo.GetSystemTimeZones`. | -| `ultraSSDEnabled` | bool | `False` | | The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual machine or virtual machine scale set only if this property is enabled. | -| `userAssignedIdentities` | object | `{object}` | | The ID(s) to assign to the resource. | -| `vTpmEnabled` | bool | `False` | | Specifies whether vTPM should be enabled on the virtual machine. This parameter is part of the UefiSettings. SecurityType should be set to TrustedLaunch to enable UefiSettings. | -| `winRM` | object | `{object}` | | Specifies the Windows Remote Management listeners. This enables remote Windows PowerShell. - WinRMConfiguration object. | - -**Generated parameters** - -| Parameter Name | Type | Default Value | Description | -| :-- | :-- | :-- | :-- | -| `baseTime` | string | `[utcNow('u')]` | Do not provide a value! This date value is used to generate a registration token. | - - -## Outputs +## Usage examples -| Output Name | Type | Description | -| :-- | :-- | :-- | -| `location` | string | The location the resource was deployed into. | -| `name` | string | The name of the VM. | -| `resourceGroupName` | string | The name of the resource group the VM was created in. | -| `resourceId` | string | The resource ID of the VM. | -| `systemAssignedPrincipalId` | string | The principal ID of the system assigned identity. | - -## Cross-referenced modules - -This section gives you an overview of all local-referenced module files (i.e., other CARML modules that are referenced in this module) and all remote-referenced files (i.e., Bicep modules that are referenced from a Bicep Registry or Template Specs). - -| Reference | Type | -| :-- | :-- | -| `network/network-interface` | Local reference | -| `network/public-ip-address` | Local reference | -| `recovery-services/vault/backup-fabric/protection-container/protected-item` | Local reference | +The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository. -## Deployment examples +>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order. -The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder. - >**Note**: The name of each example is based on the name of the file from which it is taken. +>**Note**: To reference the module, please use the following syntax `br:bicep/modules/compute.virtual-machine:1.0.0`. - >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order. +- [Linux](#example-1-linux) +- [Linux.Atmg](#example-2-linuxatmg) +- [Linux.Min](#example-3-linuxmin) +- [Windows](#example-4-windows) +- [Windows.Atmg](#example-5-windowsatmg) +- [Windows.Min](#example-6-windowsmin) +- [Windows.Ssecmk](#example-7-windowsssecmk) -
-
-
-
-
-
-
+## Parameters + +**Required parameters** + +| Parameter | Type | Description | +| :-- | :-- | :-- | +| [`adminUsername`](#parameter-adminusername) | securestring | Administrator username. | +| [`configurationProfile`](#parameter-configurationprofile) | string | The configuration profile of automanage. | +| [`imageReference`](#parameter-imagereference) | object | OS image reference. In case of marketplace images, it's the combination of the publisher, offer, sku, version attributes. In case of custom images it's the resource ID of the custom image. | +| [`nicConfigurations`](#parameter-nicconfigurations) | array | Configures NICs and PIPs. | +| [`osDisk`](#parameter-osdisk) | object | Specifies the OS disk. For security reasons, it is recommended to specify DiskEncryptionSet into the osDisk object. Restrictions: DiskEncryptionSet cannot be enabled if Azure Disk Encryption (guest-VM encryption using bitlocker/DM-Crypt) is enabled on your VMs. | +| [`osType`](#parameter-ostype) | string | The chosen OS type. | +| [`vmSize`](#parameter-vmsize) | string | Specifies the size for the VMs. | + +**Optional parameters** + +| Parameter | Type | Description | +| :-- | :-- | :-- | +| [`additionalUnattendContent`](#parameter-additionalunattendcontent) | array | Specifies additional base-64 encoded XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. - AdditionalUnattendContent object. | +| [`adminPassword`](#parameter-adminpassword) | securestring | When specifying a Windows Virtual Machine, this value should be passed. | +| [`allowExtensionOperations`](#parameter-allowextensionoperations) | bool | Specifies whether extension operations should be allowed on the virtual machine. This may only be set to False when no extensions are present on the virtual machine. | +| [`availabilitySetResourceId`](#parameter-availabilitysetresourceid) | string | Resource ID of an availability set. Cannot be used in combination with availability zone nor scale set. | +| [`availabilityZone`](#parameter-availabilityzone) | int | If set to 1, 2 or 3, the availability zone for all VMs is hardcoded to that value. If zero, then availability zones is not used. Cannot be used in combination with availability set nor scale set. | +| [`backupPolicyName`](#parameter-backuppolicyname) | string | Backup policy the VMs should be using for backup. If not provided, it will use the DefaultPolicy from the backup recovery service vault. | +| [`backupVaultName`](#parameter-backupvaultname) | string | Recovery service vault name to add VMs to backup. | +| [`backupVaultResourceGroup`](#parameter-backupvaultresourcegroup) | string | Resource group of the backup recovery service vault. If not provided the current resource group name is considered by default. | +| [`bootDiagnostics`](#parameter-bootdiagnostics) | bool | Whether boot diagnostics should be enabled on the Virtual Machine. Boot diagnostics will be enabled with a managed storage account if no bootDiagnosticsStorageAccountName value is provided. If bootDiagnostics and bootDiagnosticsStorageAccountName values are not provided, boot diagnostics will be disabled. | +| [`bootDiagnosticStorageAccountName`](#parameter-bootdiagnosticstorageaccountname) | string | Custom storage account used to store boot diagnostic information. Boot diagnostics will be enabled with a custom storage account if a value is provided. | +| [`bootDiagnosticStorageAccountUri`](#parameter-bootdiagnosticstorageaccounturi) | string | Storage account boot diagnostic base URI. | +| [`certificatesToBeInstalled`](#parameter-certificatestobeinstalled) | array | Specifies set of certificates that should be installed onto the virtual machine. | +| [`computerName`](#parameter-computername) | string | Can be used if the computer name needs to be different from the Azure VM resource name. If not used, the resource name will be used as computer name. | +| [`customData`](#parameter-customdata) | string | Custom data associated to the VM, this value will be automatically converted into base64 to account for the expected VM format. | +| [`dataDisks`](#parameter-datadisks) | array | Specifies the data disks. For security reasons, it is recommended to specify DiskEncryptionSet into the dataDisk object. Restrictions: DiskEncryptionSet cannot be enabled if Azure Disk Encryption (guest-VM encryption using bitlocker/DM-Crypt) is enabled on your VMs. | +| [`dedicatedHostId`](#parameter-dedicatedhostid) | string | Specifies resource ID about the dedicated host that the virtual machine resides in. | +| [`diagnosticEventHubAuthorizationRuleId`](#parameter-diagnosticeventhubauthorizationruleid) | string | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. | +| [`diagnosticEventHubName`](#parameter-diagnosticeventhubname) | string | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. | +| [`diagnosticStorageAccountId`](#parameter-diagnosticstorageaccountid) | string | Resource ID of the diagnostic storage account. | +| [`diagnosticWorkspaceId`](#parameter-diagnosticworkspaceid) | string | Resource ID of the diagnostic log analytics workspace. | +| [`disablePasswordAuthentication`](#parameter-disablepasswordauthentication) | bool | Specifies whether password authentication should be disabled. | +| [`enableAutomaticUpdates`](#parameter-enableautomaticupdates) | bool | Indicates whether Automatic Updates is enabled for the Windows virtual machine. Default value is true. When patchMode is set to Manual, this parameter must be set to false. For virtual machine scale sets, this property can be updated and updates will take effect on OS reprovisioning. | +| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). | +| [`enableEvictionPolicy`](#parameter-enableevictionpolicy) | bool | Specifies the eviction policy for the low priority virtual machine. Will result in 'Deallocate' eviction policy. | +| [`encryptionAtHost`](#parameter-encryptionathost) | bool | This property can be used by user in the request to enable or disable the Host Encryption for the virtual machine. This will enable the encryption for all the disks including Resource/Temp disk at host itself. For security reasons, it is recommended to set encryptionAtHost to True. Restrictions: Cannot be enabled if Azure Disk Encryption (guest-VM encryption using bitlocker/DM-Crypt) is enabled on your VMs. | +| [`extensionAadJoinConfig`](#parameter-extensionaadjoinconfig) | object | The configuration for the [AAD Join] extension. Must at least contain the ["enabled": true] property to be executed. | +| [`extensionAntiMalwareConfig`](#parameter-extensionantimalwareconfig) | object | The configuration for the [Anti Malware] extension. Must at least contain the ["enabled": true] property to be executed. | +| [`extensionAzureDiskEncryptionConfig`](#parameter-extensionazurediskencryptionconfig) | object | The configuration for the [Azure Disk Encryption] extension. Must at least contain the ["enabled": true] property to be executed. Restrictions: Cannot be enabled on disks that have encryption at host enabled. Managed disks encrypted using Azure Disk Encryption cannot be encrypted using customer-managed keys. | +| [`extensionCustomScriptConfig`](#parameter-extensioncustomscriptconfig) | object | The configuration for the [Custom Script] extension. Must at least contain the ["enabled": true] property to be executed. | +| [`extensionCustomScriptProtectedSetting`](#parameter-extensioncustomscriptprotectedsetting) | secureObject | Any object that contains the extension specific protected settings. | +| [`extensionDependencyAgentConfig`](#parameter-extensiondependencyagentconfig) | object | The configuration for the [Dependency Agent] extension. Must at least contain the ["enabled": true] property to be executed. | +| [`extensionDomainJoinConfig`](#parameter-extensiondomainjoinconfig) | object | The configuration for the [Domain Join] extension. Must at least contain the ["enabled": true] property to be executed. | +| [`extensionDomainJoinPassword`](#parameter-extensiondomainjoinpassword) | securestring | Required if name is specified. Password of the user specified in user parameter. | +| [`extensionDSCConfig`](#parameter-extensiondscconfig) | object | The configuration for the [Desired State Configuration] extension. Must at least contain the ["enabled": true] property to be executed. | +| [`extensionMonitoringAgentConfig`](#parameter-extensionmonitoringagentconfig) | object | The configuration for the [Monitoring Agent] extension. Must at least contain the ["enabled": true] property to be executed. | +| [`extensionNetworkWatcherAgentConfig`](#parameter-extensionnetworkwatcheragentconfig) | object | The configuration for the [Network Watcher Agent] extension. Must at least contain the ["enabled": true] property to be executed. | +| [`licenseType`](#parameter-licensetype) | string | Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system. | +| [`location`](#parameter-location) | string | Location for all resources. | +| [`lock`](#parameter-lock) | string | Specify the type of lock. | +| [`maxPriceForLowPriorityVm`](#parameter-maxpriceforlowpriorityvm) | string | Specifies the maximum price you are willing to pay for a low priority VM/VMSS. This price is in US Dollars. | +| [`monitoringWorkspaceId`](#parameter-monitoringworkspaceid) | string | Resource ID of the monitoring log analytics workspace. Must be set when extensionMonitoringAgentConfig is set to true. | +| [`name`](#parameter-name) | string | The name of the virtual machine to be created. You should use a unique prefix to reduce name collisions in Active Directory. If no value is provided, a 10 character long unique string will be generated based on the Resource Group's name. | +| [`nicdiagnosticMetricsToEnable`](#parameter-nicdiagnosticmetricstoenable) | array | The name of metrics that will be streamed. | +| [`nicDiagnosticSettingsName`](#parameter-nicdiagnosticsettingsname) | string | The name of the NIC diagnostic setting, if deployed. | +| [`patchAssessmentMode`](#parameter-patchassessmentmode) | string | VM guest patching assessment mode. Set it to 'AutomaticByPlatform' to enable automatically check for updates every 24 hours. | +| [`patchMode`](#parameter-patchmode) | string | VM guest patching orchestration mode. 'AutomaticByOS' & 'Manual' are for Windows only, 'ImageDefault' for Linux only. Refer to 'https://learn.microsoft.com/en-us/azure/virtual-machines/automatic-vm-guest-patching'. | +| [`pipdiagnosticLogCategoriesToEnable`](#parameter-pipdiagnosticlogcategoriestoenable) | array | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. | +| [`pipdiagnosticMetricsToEnable`](#parameter-pipdiagnosticmetricstoenable) | array | The name of metrics that will be streamed. | +| [`pipDiagnosticSettingsName`](#parameter-pipdiagnosticsettingsname) | string | The name of the PIP diagnostic setting, if deployed. | +| [`plan`](#parameter-plan) | object | Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. | +| [`priority`](#parameter-priority) | string | Specifies the priority for the virtual machine. | +| [`provisionVMAgent`](#parameter-provisionvmagent) | bool | Indicates whether virtual machine agent should be provisioned on the virtual machine. When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later. | +| [`proximityPlacementGroupResourceId`](#parameter-proximityplacementgroupresourceid) | string | Resource ID of a proximity placement group. | +| [`publicKeys`](#parameter-publickeys) | array | The list of SSH public keys used to authenticate with linux based VMs. | +| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. | +| [`sasTokenValidityLength`](#parameter-sastokenvaliditylength) | string | SAS token validity length to use to download files from storage accounts. Usage: 'PT8H' - valid for 8 hours; 'P5D' - valid for 5 days; 'P1Y' - valid for 1 year. When not provided, the SAS token will be valid for 8 hours. | +| [`secureBootEnabled`](#parameter-securebootenabled) | bool | Specifies whether secure boot should be enabled on the virtual machine. This parameter is part of the UefiSettings. SecurityType should be set to TrustedLaunch to enable UefiSettings. | +| [`securityType`](#parameter-securitytype) | string | Specifies the SecurityType of the virtual machine. It is set as TrustedLaunch to enable UefiSettings. | +| [`systemAssignedIdentity`](#parameter-systemassignedidentity) | bool | Enables system assigned managed identity on the resource. The system-assigned managed identity will automatically be enabled if extensionAadJoinConfig.enabled = "True". | +| [`tags`](#parameter-tags) | object | Tags of the resource. | +| [`timeZone`](#parameter-timezone) | string | Specifies the time zone of the virtual machine. e.g. 'Pacific Standard Time'. Possible values can be `TimeZoneInfo.id` value from time zones returned by `TimeZoneInfo.GetSystemTimeZones`. | +| [`ultraSSDEnabled`](#parameter-ultrassdenabled) | bool | The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual machine or virtual machine scale set only if this property is enabled. | +| [`userAssignedIdentities`](#parameter-userassignedidentities) | object | The ID(s) to assign to the resource. | +| [`vTpmEnabled`](#parameter-vtpmenabled) | bool | Specifies whether vTPM should be enabled on the virtual machine. This parameter is part of the UefiSettings. SecurityType should be set to TrustedLaunch to enable UefiSettings. | +| [`winRM`](#parameter-winrm) | object | Specifies the Windows Remote Management listeners. This enables remote Windows PowerShell. - WinRMConfiguration object. | + +**Generated parameters** + +| Parameter | Type | Description | +| :-- | :-- | :-- | +| [`baseTime`](#parameter-basetime) | string | Do not provide a value! This date value is used to generate a registration token. | + +### Parameter: `additionalUnattendContent` + +Specifies additional base-64 encoded XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. - AdditionalUnattendContent object. +- Required: No +- Type: array +- Default: `[]` + +### Parameter: `adminPassword` + +When specifying a Windows Virtual Machine, this value should be passed. +- Required: No +- Type: securestring +- Default: `''` + +### Parameter: `adminUsername` + +Administrator username. +- Required: Yes +- Type: securestring + +### Parameter: `allowExtensionOperations` + +Specifies whether extension operations should be allowed on the virtual machine. This may only be set to False when no extensions are present on the virtual machine. +- Required: No +- Type: bool +- Default: `True` + +### Parameter: `availabilitySetResourceId` + +Resource ID of an availability set. Cannot be used in combination with availability zone nor scale set. +- Required: No +- Type: string +- Default: `''` + +### Parameter: `availabilityZone` + +If set to 1, 2 or 3, the availability zone for all VMs is hardcoded to that value. If zero, then availability zones is not used. Cannot be used in combination with availability set nor scale set. +- Required: No +- Type: int +- Default: `0` +- Allowed: `[0, 1, 2, 3]` + +### Parameter: `backupPolicyName` + +Backup policy the VMs should be using for backup. If not provided, it will use the DefaultPolicy from the backup recovery service vault. +- Required: No +- Type: string +- Default: `'DefaultPolicy'` + +### Parameter: `backupVaultName` + +Recovery service vault name to add VMs to backup. +- Required: No +- Type: string +- Default: `''` + +### Parameter: `backupVaultResourceGroup` + +Resource group of the backup recovery service vault. If not provided the current resource group name is considered by default. +- Required: No +- Type: string +- Default: `[resourceGroup().name]` + +### Parameter: `baseTime` + +Do not provide a value! This date value is used to generate a registration token. +- Required: No +- Type: string +- Default: `[utcNow('u')]` + +### Parameter: `bootDiagnostics` + +Whether boot diagnostics should be enabled on the Virtual Machine. Boot diagnostics will be enabled with a managed storage account if no bootDiagnosticsStorageAccountName value is provided. If bootDiagnostics and bootDiagnosticsStorageAccountName values are not provided, boot diagnostics will be disabled. +- Required: No +- Type: bool +- Default: `False` + +### Parameter: `bootDiagnosticStorageAccountName` + +Custom storage account used to store boot diagnostic information. Boot diagnostics will be enabled with a custom storage account if a value is provided. +- Required: No +- Type: string +- Default: `''` + +### Parameter: `bootDiagnosticStorageAccountUri` + +Storage account boot diagnostic base URI. +- Required: No +- Type: string +- Default: `[format('.blob.{0}/', environment().suffixes.storage)]` + +### Parameter: `certificatesToBeInstalled` + +Specifies set of certificates that should be installed onto the virtual machine. +- Required: No +- Type: array +- Default: `[]` + +### Parameter: `computerName` + +Can be used if the computer name needs to be different from the Azure VM resource name. If not used, the resource name will be used as computer name. +- Required: No +- Type: string +- Default: `[parameters('name')]` + +### Parameter: `configurationProfile` + +The configuration profile of automanage. +- Required: No +- Type: string +- Default: `''` +- Allowed: `['', /providers/Microsoft.Automanage/bestPractices/AzureBestPracticesDevTest, /providers/Microsoft.Automanage/bestPractices/AzureBestPracticesProduction]` + +### Parameter: `customData` + +Custom data associated to the VM, this value will be automatically converted into base64 to account for the expected VM format. +- Required: No +- Type: string +- Default: `''` + +### Parameter: `dataDisks` + +Specifies the data disks. For security reasons, it is recommended to specify DiskEncryptionSet into the dataDisk object. Restrictions: DiskEncryptionSet cannot be enabled if Azure Disk Encryption (guest-VM encryption using bitlocker/DM-Crypt) is enabled on your VMs. +- Required: No +- Type: array +- Default: `[]` + +### Parameter: `dedicatedHostId` + +Specifies resource ID about the dedicated host that the virtual machine resides in. +- Required: No +- Type: string +- Default: `''` + +### Parameter: `diagnosticEventHubAuthorizationRuleId` + +Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. +- Required: No +- Type: string +- Default: `''` + +### Parameter: `diagnosticEventHubName` + +Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. +- Required: No +- Type: string +- Default: `''` + +### Parameter: `diagnosticStorageAccountId` + +Resource ID of the diagnostic storage account. +- Required: No +- Type: string +- Default: `''` + +### Parameter: `diagnosticWorkspaceId` + +Resource ID of the diagnostic log analytics workspace. +- Required: No +- Type: string +- Default: `''` + +### Parameter: `disablePasswordAuthentication` + +Specifies whether password authentication should be disabled. +- Required: No +- Type: bool +- Default: `False` + +### Parameter: `enableAutomaticUpdates` + +Indicates whether Automatic Updates is enabled for the Windows virtual machine. Default value is true. When patchMode is set to Manual, this parameter must be set to false. For virtual machine scale sets, this property can be updated and updates will take effect on OS reprovisioning. +- Required: No +- Type: bool +- Default: `True` + +### Parameter: `enableDefaultTelemetry` + +Enable telemetry via a Globally Unique Identifier (GUID). +- Required: No +- Type: bool +- Default: `True` + +### Parameter: `enableEvictionPolicy` + +Specifies the eviction policy for the low priority virtual machine. Will result in 'Deallocate' eviction policy. +- Required: No +- Type: bool +- Default: `False` + +### Parameter: `encryptionAtHost` + +This property can be used by user in the request to enable or disable the Host Encryption for the virtual machine. This will enable the encryption for all the disks including Resource/Temp disk at host itself. For security reasons, it is recommended to set encryptionAtHost to True. Restrictions: Cannot be enabled if Azure Disk Encryption (guest-VM encryption using bitlocker/DM-Crypt) is enabled on your VMs. +- Required: No +- Type: bool +- Default: `True` + +### Parameter: `extensionAadJoinConfig` + +The configuration for the [AAD Join] extension. Must at least contain the ["enabled": true] property to be executed. +- Required: No +- Type: object +- Default: `{object}` + +### Parameter: `extensionAntiMalwareConfig` + +The configuration for the [Anti Malware] extension. Must at least contain the ["enabled": true] property to be executed. +- Required: No +- Type: object +- Default: `{object}` + +### Parameter: `extensionAzureDiskEncryptionConfig` + +The configuration for the [Azure Disk Encryption] extension. Must at least contain the ["enabled": true] property to be executed. Restrictions: Cannot be enabled on disks that have encryption at host enabled. Managed disks encrypted using Azure Disk Encryption cannot be encrypted using customer-managed keys. +- Required: No +- Type: object +- Default: `{object}` + +### Parameter: `extensionCustomScriptConfig` + +The configuration for the [Custom Script] extension. Must at least contain the ["enabled": true] property to be executed. +- Required: No +- Type: object +- Default: `{object}` + +### Parameter: `extensionCustomScriptProtectedSetting` + +Any object that contains the extension specific protected settings. +- Required: No +- Type: secureObject +- Default: `{object}` + +### Parameter: `extensionDependencyAgentConfig` + +The configuration for the [Dependency Agent] extension. Must at least contain the ["enabled": true] property to be executed. +- Required: No +- Type: object +- Default: `{object}` + +### Parameter: `extensionDomainJoinConfig` + +The configuration for the [Domain Join] extension. Must at least contain the ["enabled": true] property to be executed. +- Required: No +- Type: object +- Default: `{object}` + +### Parameter: `extensionDomainJoinPassword` + +Required if name is specified. Password of the user specified in user parameter. +- Required: No +- Type: securestring +- Default: `''` + +### Parameter: `extensionDSCConfig` + +The configuration for the [Desired State Configuration] extension. Must at least contain the ["enabled": true] property to be executed. +- Required: No +- Type: object +- Default: `{object}` + +### Parameter: `extensionMonitoringAgentConfig` + +The configuration for the [Monitoring Agent] extension. Must at least contain the ["enabled": true] property to be executed. +- Required: No +- Type: object +- Default: `{object}` + +### Parameter: `extensionNetworkWatcherAgentConfig` + +The configuration for the [Network Watcher Agent] extension. Must at least contain the ["enabled": true] property to be executed. +- Required: No +- Type: object +- Default: `{object}` + +### Parameter: `imageReference` + +OS image reference. In case of marketplace images, it's the combination of the publisher, offer, sku, version attributes. In case of custom images it's the resource ID of the custom image. +- Required: Yes +- Type: object + +### Parameter: `licenseType` + +Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system. +- Required: No +- Type: string +- Default: `''` +- Allowed: `['', Windows_Client, Windows_Server]` + +### Parameter: `location` + +Location for all resources. +- Required: No +- Type: string +- Default: `[resourceGroup().location]` + +### Parameter: `lock` + +Specify the type of lock. +- Required: No +- Type: string +- Default: `''` +- Allowed: `['', CanNotDelete, ReadOnly]` + +### Parameter: `maxPriceForLowPriorityVm` + +Specifies the maximum price you are willing to pay for a low priority VM/VMSS. This price is in US Dollars. +- Required: No +- Type: string +- Default: `''` + +### Parameter: `monitoringWorkspaceId` + +Resource ID of the monitoring log analytics workspace. Must be set when extensionMonitoringAgentConfig is set to true. +- Required: No +- Type: string +- Default: `''` + +### Parameter: `name` + +The name of the virtual machine to be created. You should use a unique prefix to reduce name collisions in Active Directory. If no value is provided, a 10 character long unique string will be generated based on the Resource Group's name. +- Required: No +- Type: string +- Default: `[take(toLower(uniqueString(resourceGroup().name)), 10)]` + +### Parameter: `nicConfigurations` + +Configures NICs and PIPs. +- Required: Yes +- Type: array + +### Parameter: `nicdiagnosticMetricsToEnable` + +The name of metrics that will be streamed. +- Required: No +- Type: array +- Default: `[AllMetrics]` +- Allowed: `[AllMetrics]` + +### Parameter: `nicDiagnosticSettingsName` + +The name of the NIC diagnostic setting, if deployed. +- Required: No +- Type: string +- Default: `[format('{0}-diagnosticSettings', parameters('name'))]` + +### Parameter: `osDisk` + +Specifies the OS disk. For security reasons, it is recommended to specify DiskEncryptionSet into the osDisk object. Restrictions: DiskEncryptionSet cannot be enabled if Azure Disk Encryption (guest-VM encryption using bitlocker/DM-Crypt) is enabled on your VMs. +- Required: Yes +- Type: object + +### Parameter: `osType` + +The chosen OS type. +- Required: Yes +- Type: string +- Allowed: `[Linux, Windows]` + +### Parameter: `patchAssessmentMode` + +VM guest patching assessment mode. Set it to 'AutomaticByPlatform' to enable automatically check for updates every 24 hours. +- Required: No +- Type: string +- Default: `'ImageDefault'` +- Allowed: `[AutomaticByPlatform, ImageDefault]` + +### Parameter: `patchMode` + +VM guest patching orchestration mode. 'AutomaticByOS' & 'Manual' are for Windows only, 'ImageDefault' for Linux only. Refer to 'https://learn.microsoft.com/en-us/azure/virtual-machines/automatic-vm-guest-patching'. +- Required: No +- Type: string +- Default: `''` +- Allowed: `['', AutomaticByOS, AutomaticByPlatform, ImageDefault, Manual]` + +### Parameter: `pipdiagnosticLogCategoriesToEnable` + +The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. +- Required: No +- Type: array +- Default: `[allLogs]` +- Allowed: `['', allLogs, DDoSMitigationFlowLogs, DDoSMitigationReports, DDoSProtectionNotifications]` + +### Parameter: `pipdiagnosticMetricsToEnable` + +The name of metrics that will be streamed. +- Required: No +- Type: array +- Default: `[AllMetrics]` +- Allowed: `[AllMetrics]` + +### Parameter: `pipDiagnosticSettingsName` + +The name of the PIP diagnostic setting, if deployed. +- Required: No +- Type: string +- Default: `[format('{0}-diagnosticSettings', parameters('name'))]` + +### Parameter: `plan` + +Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. +- Required: No +- Type: object +- Default: `{object}` + +### Parameter: `priority` + +Specifies the priority for the virtual machine. +- Required: No +- Type: string +- Default: `'Regular'` +- Allowed: `[Low, Regular, Spot]` + +### Parameter: `provisionVMAgent` + +Indicates whether virtual machine agent should be provisioned on the virtual machine. When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later. +- Required: No +- Type: bool +- Default: `True` + +### Parameter: `proximityPlacementGroupResourceId` + +Resource ID of a proximity placement group. +- Required: No +- Type: string +- Default: `''` + +### Parameter: `publicKeys` + +The list of SSH public keys used to authenticate with linux based VMs. +- Required: No +- Type: array +- Default: `[]` + +### Parameter: `roleAssignments` + +Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. +- Required: No +- Type: array +- Default: `[]` + +### Parameter: `sasTokenValidityLength` + +SAS token validity length to use to download files from storage accounts. Usage: 'PT8H' - valid for 8 hours; 'P5D' - valid for 5 days; 'P1Y' - valid for 1 year. When not provided, the SAS token will be valid for 8 hours. +- Required: No +- Type: string +- Default: `'PT8H'` + +### Parameter: `secureBootEnabled` + +Specifies whether secure boot should be enabled on the virtual machine. This parameter is part of the UefiSettings. SecurityType should be set to TrustedLaunch to enable UefiSettings. +- Required: No +- Type: bool +- Default: `False` + +### Parameter: `securityType` + +Specifies the SecurityType of the virtual machine. It is set as TrustedLaunch to enable UefiSettings. +- Required: No +- Type: string +- Default: `''` + +### Parameter: `systemAssignedIdentity` + +Enables system assigned managed identity on the resource. The system-assigned managed identity will automatically be enabled if extensionAadJoinConfig.enabled = "True". +- Required: No +- Type: bool +- Default: `False` + +### Parameter: `tags` + +Tags of the resource. +- Required: No +- Type: object +- Default: `{object}` + +### Parameter: `timeZone` + +Specifies the time zone of the virtual machine. e.g. 'Pacific Standard Time'. Possible values can be `TimeZoneInfo.id` value from time zones returned by `TimeZoneInfo.GetSystemTimeZones`. +- Required: No +- Type: string +- Default: `''` + +### Parameter: `ultraSSDEnabled` + +The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual machine or virtual machine scale set only if this property is enabled. +- Required: No +- Type: bool +- Default: `False` + +### Parameter: `userAssignedIdentities` + +The ID(s) to assign to the resource. +- Required: No +- Type: object +- Default: `{object}` + +### Parameter: `vmSize` + +Specifies the size for the VMs. +- Required: Yes +- Type: string + +### Parameter: `vTpmEnabled` + +Specifies whether vTPM should be enabled on the virtual machine. This parameter is part of the UefiSettings. SecurityType should be set to TrustedLaunch to enable UefiSettings. +- Required: No +- Type: bool +- Default: `False` + +### Parameter: `winRM` + +Specifies the Windows Remote Management listeners. This enables remote Windows PowerShell. - WinRMConfiguration object. +- Required: No +- Type: object +- Default: `{object}` + + +## Outputs + +| Output | Type | Description | +| :-- | :-- | :-- | +| `location` | string | The location the resource was deployed into. | +| `name` | string | The name of the VM. | +| `resourceGroupName` | string | The name of the resource group the VM was created in. | +| `resourceId` | string | The resource ID of the VM. | +| `systemAssignedPrincipalId` | string | The principal ID of the system assigned identity. | + +## Cross-referenced modules + +This section gives you an overview of all local-referenced module files (i.e., other CARML modules that are referenced in this module) and all remote-referenced files (i.e., Bicep modules that are referenced from a Bicep Registry or Template Specs). + +| Reference | Type | +| :-- | :-- | +| `modules/network/network-interface` | Local reference | +| `modules/network/public-ip-address` | Local reference | +| `modules/recovery-services/vault/backup-fabric/protection-container/protected-item` | Local reference | + ## Notes ### Automanage considerations diff --git a/modules/compute/virtual-machine/extension/README.md b/modules/compute/virtual-machine/extension/README.md index 7823c9766b..761c7b4d27 100644 --- a/modules/compute/virtual-machine/extension/README.md +++ b/modules/compute/virtual-machine/extension/README.md @@ -19,37 +19,128 @@ This module deploys a Virtual Machine Extension. **Required parameters** -| Parameter Name | Type | Description | +| Parameter | Type | Description | | :-- | :-- | :-- | -| `autoUpgradeMinorVersion` | bool | Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. | -| `enableAutomaticUpgrade` | bool | Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. | -| `name` | string | The name of the virtual machine extension. | -| `publisher` | string | The name of the extension handler publisher. | -| `type` | string | Specifies the type of the extension; an example is "CustomScriptExtension". | -| `typeHandlerVersion` | string | Specifies the version of the script handler. | +| [`autoUpgradeMinorVersion`](#parameter-autoupgrademinorversion) | bool | Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. | +| [`enableAutomaticUpgrade`](#parameter-enableautomaticupgrade) | bool | Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. | +| [`name`](#parameter-name) | string | The name of the virtual machine extension. | +| [`publisher`](#parameter-publisher) | string | The name of the extension handler publisher. | +| [`type`](#parameter-type) | string | Specifies the type of the extension; an example is "CustomScriptExtension". | +| [`typeHandlerVersion`](#parameter-typehandlerversion) | string | Specifies the version of the script handler. | **Conditional parameters** -| Parameter Name | Type | Description | +| Parameter | Type | Description | | :-- | :-- | :-- | -| `virtualMachineName` | string | The name of the parent virtual machine that extension is provisioned for. Required if the template is used in a standalone deployment. | +| [`virtualMachineName`](#parameter-virtualmachinename) | string | The name of the parent virtual machine that extension is provisioned for. Required if the template is used in a standalone deployment. | **Optional parameters** -| Parameter Name | Type | Default Value | Description | -| :-- | :-- | :-- | :-- | -| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). | -| `forceUpdateTag` | string | `''` | How the extension handler should be forced to update even if the extension configuration has not changed. | -| `location` | string | `[resourceGroup().location]` | The location the extension is deployed to. | -| `protectedSettings` | secureObject | `{object}` | Any object that contains the extension specific protected settings. | -| `settings` | object | `{object}` | Any object that contains the extension specific settings. | -| `supressFailures` | bool | `False` | Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. | -| `tags` | object | `{object}` | Tags of the resource. | +| Parameter | Type | Description | +| :-- | :-- | :-- | +| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). | +| [`forceUpdateTag`](#parameter-forceupdatetag) | string | How the extension handler should be forced to update even if the extension configuration has not changed. | +| [`location`](#parameter-location) | string | The location the extension is deployed to. | +| [`protectedSettings`](#parameter-protectedsettings) | secureObject | Any object that contains the extension specific protected settings. | +| [`settings`](#parameter-settings) | object | Any object that contains the extension specific settings. | +| [`supressFailures`](#parameter-supressfailures) | bool | Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. | +| [`tags`](#parameter-tags) | object | Tags of the resource. | + +### Parameter: `autoUpgradeMinorVersion` + +Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. +- Required: Yes +- Type: bool + +### Parameter: `enableAutomaticUpgrade` + +Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. +- Required: Yes +- Type: bool + +### Parameter: `enableDefaultTelemetry` + +Enable telemetry via a Globally Unique Identifier (GUID). +- Required: No +- Type: bool +- Default: `True` + +### Parameter: `forceUpdateTag` + +How the extension handler should be forced to update even if the extension configuration has not changed. +- Required: No +- Type: string +- Default: `''` + +### Parameter: `location` + +The location the extension is deployed to. +- Required: No +- Type: string +- Default: `[resourceGroup().location]` + +### Parameter: `name` + +The name of the virtual machine extension. +- Required: Yes +- Type: string + +### Parameter: `protectedSettings` + +Any object that contains the extension specific protected settings. +- Required: No +- Type: secureObject +- Default: `{object}` + +### Parameter: `publisher` + +The name of the extension handler publisher. +- Required: Yes +- Type: string + +### Parameter: `settings` + +Any object that contains the extension specific settings. +- Required: No +- Type: object +- Default: `{object}` + +### Parameter: `supressFailures` + +Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. +- Required: No +- Type: bool +- Default: `False` + +### Parameter: `tags` + +Tags of the resource. +- Required: No +- Type: object +- Default: `{object}` + +### Parameter: `type` + +Specifies the type of the extension; an example is "CustomScriptExtension". +- Required: Yes +- Type: string + +### Parameter: `typeHandlerVersion` + +Specifies the version of the script handler. +- Required: Yes +- Type: string + +### Parameter: `virtualMachineName` + +The name of the parent virtual machine that extension is provisioned for. Required if the template is used in a standalone deployment. +- Required: Yes +- Type: string ## Outputs -| Output Name | Type | Description | +| Output | Type | Description | | :-- | :-- | :-- | | `location` | string | The location the resource was deployed into. | | `name` | string | The name of the extension. | diff --git a/modules/compute/virtual-machine/extension/main.json b/modules/compute/virtual-machine/extension/main.json index 9dc0e8298a..782a6fa1ff 100644 --- a/modules/compute/virtual-machine/extension/main.json +++ b/modules/compute/virtual-machine/extension/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.21.1.54444", - "templateHash": "3227525972274814852" + "version": "0.22.6.54827", + "templateHash": "16166330808348655128" }, "name": "Virtual Machine Extensions", "description": "This module deploys a Virtual Machine Extension.", diff --git a/modules/compute/virtual-machine/main.json b/modules/compute/virtual-machine/main.json index 6ba690ab4f..202cf5e053 100644 --- a/modules/compute/virtual-machine/main.json +++ b/modules/compute/virtual-machine/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.21.1.54444", - "templateHash": "8956159626460319190" + "version": "0.22.6.54827", + "templateHash": "16514436583417262148" }, "name": "Virtual Machines", "description": "This module deploys a Virtual Machine with one or multiple NICs and optionally one or multiple public IPs.", @@ -844,8 +844,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.21.1.54444", - "templateHash": "17678163563393779135" + "version": "0.22.6.54827", + "templateHash": "8548313386789098939" } }, "parameters": { @@ -999,8 +999,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.21.1.54444", - "templateHash": "1887898957722092173" + "version": "0.22.6.54827", + "templateHash": "4317747709004918530" }, "name": "Public IP Addresses", "description": "This module deploys a Public IP Address.", @@ -1333,8 +1333,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.21.1.54444", - "templateHash": "7328126239184883887" + "version": "0.22.6.54827", + "templateHash": "9976109177347918049" } }, "parameters": { @@ -1585,8 +1585,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.21.1.54444", - "templateHash": "5974456600868040376" + "version": "0.22.6.54827", + "templateHash": "14479255820598719580" }, "name": "Network Interface", "description": "This module deploys a Network Interface.", @@ -1888,8 +1888,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.21.1.54444", - "templateHash": "10645923556503351364" + "version": "0.22.6.54827", + "templateHash": "11518733977101662334" } }, "parameters": { @@ -2105,8 +2105,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.21.1.54444", - "templateHash": "3227525972274814852" + "version": "0.22.6.54827", + "templateHash": "16166330808348655128" }, "name": "Virtual Machine Extensions", "description": "This module deploys a Virtual Machine Extension.", @@ -2320,8 +2320,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.21.1.54444", - "templateHash": "3227525972274814852" + "version": "0.22.6.54827", + "templateHash": "16166330808348655128" }, "name": "Virtual Machine Extensions", "description": "This module deploys a Virtual Machine Extension.", @@ -2530,8 +2530,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.21.1.54444", - "templateHash": "3227525972274814852" + "version": "0.22.6.54827", + "templateHash": "16166330808348655128" }, "name": "Virtual Machine Extensions", "description": "This module deploys a Virtual Machine Extension.", @@ -2745,8 +2745,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.21.1.54444", - "templateHash": "3227525972274814852" + "version": "0.22.6.54827", + "templateHash": "16166330808348655128" }, "name": "Virtual Machine Extensions", "description": "This module deploys a Virtual Machine Extension.", @@ -2950,8 +2950,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.21.1.54444", - "templateHash": "3227525972274814852" + "version": "0.22.6.54827", + "templateHash": "16166330808348655128" }, "name": "Virtual Machine Extensions", "description": "This module deploys a Virtual Machine Extension.", @@ -3155,8 +3155,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.21.1.54444", - "templateHash": "3227525972274814852" + "version": "0.22.6.54827", + "templateHash": "16166330808348655128" }, "name": "Virtual Machine Extensions", "description": "This module deploys a Virtual Machine Extension.", @@ -3364,8 +3364,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.21.1.54444", - "templateHash": "3227525972274814852" + "version": "0.22.6.54827", + "templateHash": "16166330808348655128" }, "name": "Virtual Machine Extensions", "description": "This module deploys a Virtual Machine Extension.", @@ -3581,8 +3581,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.21.1.54444", - "templateHash": "3227525972274814852" + "version": "0.22.6.54827", + "templateHash": "16166330808348655128" }, "name": "Virtual Machine Extensions", "description": "This module deploys a Virtual Machine Extension.", @@ -3791,8 +3791,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.21.1.54444", - "templateHash": "3227525972274814852" + "version": "0.22.6.54827", + "templateHash": "16166330808348655128" }, "name": "Virtual Machine Extensions", "description": "This module deploys a Virtual Machine Extension.", @@ -4003,8 +4003,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.21.1.54444", - "templateHash": "10079924922844886000" + "version": "0.22.6.54827", + "templateHash": "7148492251760573310" }, "name": "Recovery Service Vaults Protection Container Protected Item", "description": "This module deploys a Recovery Services Vault Protection Container Protected Item.", @@ -4172,8 +4172,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.21.1.54444", - "templateHash": "11877341194593849245" + "version": "0.22.6.54827", + "templateHash": "16523538632311306099" } }, "parameters": { diff --git a/modules/consumption/budget/.test/common/main.test.bicep b/modules/consumption/budget/.test/common/main.test.bicep index 0b3044a0e3..7668018aae 100644 --- a/modules/consumption/budget/.test/common/main.test.bicep +++ b/modules/consumption/budget/.test/common/main.test.bicep @@ -1,5 +1,8 @@ targetScope = 'subscription' +metadata name = 'Using large parameter set' +metadata description = 'This instance deploys the module with most of its features enabled.' + // ========== // // Parameters // // ========== // diff --git a/modules/consumption/budget/.test/min/main.test.bicep b/modules/consumption/budget/.test/min/main.test.bicep index cd1da3812e..a76b439216 100644 --- a/modules/consumption/budget/.test/min/main.test.bicep +++ b/modules/consumption/budget/.test/min/main.test.bicep @@ -1,5 +1,8 @@ targetScope = 'subscription' +metadata name = 'Using only defaults' +metadata description = 'This instance deploys the module with the minimum set of required parameters.' + // ========== // // Parameters // // ========== // diff --git a/modules/consumption/budget/README.md b/modules/consumption/budget/README.md index 191cc3a890..bd08b6d387 100644 --- a/modules/consumption/budget/README.md +++ b/modules/consumption/budget/README.md @@ -4,75 +4,40 @@ This module deploys a Consumption Budget for Subscriptions. ## Navigation -- [Resource types](#Resource-types) +- [Resource Types](#Resource-Types) +- [Usage examples](#Usage-examples) - [Parameters](#Parameters) - [Outputs](#Outputs) - [Cross-referenced modules](#Cross-referenced-modules) -- [Deployment examples](#Deployment-examples) -## Resource types +## Resource Types | Resource Type | API Version | | :-- | :-- | | `Microsoft.Consumption/budgets` | [2021-10-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Consumption/2021-10-01/budgets) | -## Parameters - -**Required parameters** - -| Parameter Name | Type | Description | -| :-- | :-- | :-- | -| `amount` | int | The total amount of cost or usage to track with the budget. | -| `name` | string | The name of the budget. | - -**Conditional parameters** - -| Parameter Name | Type | Description | -| :-- | :-- | :-- | -| `actionGroups` | array | List of action group resource IDs that will receive the alert. Required if neither `contactEmails` nor `contactEmails` was provided. | -| `contactEmails` | array | The list of email addresses to send the budget notification to when the thresholds are exceeded. Required if neither `contactRoles` nor `actionGroups` was provided. | -| `contactRoles` | array | The list of contact roles to send the budget notification to when the thresholds are exceeded. Required if neither `contactEmails` nor `actionGroups` was provided. | +## Usage examples -**Optional parameters** - -| Parameter Name | Type | Default Value | Allowed Values | Description | -| :-- | :-- | :-- | :-- | :-- | -| `category` | string | `'Cost'` | `[Cost, Usage]` | The category of the budget, whether the budget tracks cost or usage. | -| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). | -| `endDate` | string | `''` | | The end date for the budget. If not provided, it will default to 10 years from the start date. | -| `location` | string | `[deployment().location]` | | Location deployment metadata. | -| `resetPeriod` | string | `'Monthly'` | `[Annually, BillingAnnual, BillingMonth, BillingQuarter, Monthly, Quarterly]` | The time covered by a budget. Tracking of the amount will be reset based on the time grain. BillingMonth, BillingQuarter, and BillingAnnual are only supported by WD customers. | -| `startDate` | string | `[format('{0}-{1}-01T00:00:00Z', utcNow('yyyy'), utcNow('MM'))]` | | The start date for the budget. Start date should be the first day of the month and cannot be in the past (except for the current month). | -| `thresholds` | array | `[50, 75, 90, 100, 110]` | | Percent thresholds of budget for when to get a notification. Can be up to 5 thresholds, where each must be between 1 and 1000. | - - -## Outputs - -| Output Name | Type | Description | -| :-- | :-- | :-- | -| `name` | string | The name of the budget. | -| `resourceId` | string | The resource ID of the budget. | -| `subscriptionName` | string | The subscription the budget was deployed into. | +The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository. -## Cross-referenced modules +>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order. -_None_ +>**Note**: To reference the module, please use the following syntax `br:bicep/modules/consumption.budget:1.0.0`. -## Deployment examples +- [Using large parameter set](#example-1-using-large-parameter-set) +- [Using only defaults](#example-2-using-only-defaults) -The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder. - >**Note**: The name of each example is based on the name of the file from which it is taken. +### Example 1: _Using large parameter set_ - >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order. +This instance deploys the module with most of its features enabled. -
-
+ + +## Parameters + +**Required parameters** + +| Parameter | Type | Description | +| :-- | :-- | :-- | +| [`amount`](#parameter-amount) | int | The total amount of cost or usage to track with the budget. | +| [`name`](#parameter-name) | string | The name of the budget. | + +**Conditional parameters** + +| Parameter | Type | Description | +| :-- | :-- | :-- | +| [`actionGroups`](#parameter-actiongroups) | array | List of action group resource IDs that will receive the alert. Required if neither `contactEmails` nor `contactEmails` was provided. | +| [`contactEmails`](#parameter-contactemails) | array | The list of email addresses to send the budget notification to when the thresholds are exceeded. Required if neither `contactRoles` nor `actionGroups` was provided. | +| [`contactRoles`](#parameter-contactroles) | array | The list of contact roles to send the budget notification to when the thresholds are exceeded. Required if neither `contactEmails` nor `actionGroups` was provided. | + +**Optional parameters** + +| Parameter | Type | Description | +| :-- | :-- | :-- | +| [`category`](#parameter-category) | string | The category of the budget, whether the budget tracks cost or usage. | +| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). | +| [`endDate`](#parameter-enddate) | string | The end date for the budget. If not provided, it will default to 10 years from the start date. | +| [`location`](#parameter-location) | string | Location deployment metadata. | +| [`resetPeriod`](#parameter-resetperiod) | string | The time covered by a budget. Tracking of the amount will be reset based on the time grain. BillingMonth, BillingQuarter, and BillingAnnual are only supported by WD customers. | +| [`startDate`](#parameter-startdate) | string | The start date for the budget. Start date should be the first day of the month and cannot be in the past (except for the current month). | +| [`thresholds`](#parameter-thresholds) | array | Percent thresholds of budget for when to get a notification. Can be up to 5 thresholds, where each must be between 1 and 1000. | + +### Parameter: `actionGroups` + +List of action group resource IDs that will receive the alert. Required if neither `contactEmails` nor `contactEmails` was provided. +- Required: No +- Type: array +- Default: `[]` + +### Parameter: `amount` + +The total amount of cost or usage to track with the budget. +- Required: Yes +- Type: int + +### Parameter: `category` + +The category of the budget, whether the budget tracks cost or usage. +- Required: No +- Type: string +- Default: `'Cost'` +- Allowed: `[Cost, Usage]` + +### Parameter: `contactEmails` + +The list of email addresses to send the budget notification to when the thresholds are exceeded. Required if neither `contactRoles` nor `actionGroups` was provided. +- Required: No +- Type: array +- Default: `[]` + +### Parameter: `contactRoles` + +The list of contact roles to send the budget notification to when the thresholds are exceeded. Required if neither `contactEmails` nor `actionGroups` was provided. +- Required: No +- Type: array +- Default: `[]` + +### Parameter: `enableDefaultTelemetry` + +Enable telemetry via a Globally Unique Identifier (GUID). +- Required: No +- Type: bool +- Default: `True` + +### Parameter: `endDate` + +The end date for the budget. If not provided, it will default to 10 years from the start date. +- Required: No +- Type: string +- Default: `''` + +### Parameter: `location` + +Location deployment metadata. +- Required: No +- Type: string +- Default: `[deployment().location]` + +### Parameter: `name` + +The name of the budget. +- Required: Yes +- Type: string + +### Parameter: `resetPeriod` + +The time covered by a budget. Tracking of the amount will be reset based on the time grain. BillingMonth, BillingQuarter, and BillingAnnual are only supported by WD customers. +- Required: No +- Type: string +- Default: `'Monthly'` +- Allowed: `[Annually, BillingAnnual, BillingMonth, BillingQuarter, Monthly, Quarterly]` + +### Parameter: `startDate` + +The start date for the budget. Start date should be the first day of the month and cannot be in the past (except for the current month). +- Required: No +- Type: string +- Default: `[format('{0}-{1}-01T00:00:00Z', utcNow('yyyy'), utcNow('MM'))]` + +### Parameter: `thresholds` + +Percent thresholds of budget for when to get a notification. Can be up to 5 thresholds, where each must be between 1 and 1000. +- Required: No +- Type: array +- Default: `[50, 75, 90, 100, 110]` + + +## Outputs + +| Output | Type | Description | +| :-- | :-- | :-- | +| `name` | string | The name of the budget. | +| `resourceId` | string | The resource ID of the budget. | +| `subscriptionName` | string | The subscription the budget was deployed into. | + +## Cross-referenced modules + +_None_ diff --git a/modules/consumption/budget/main.json b/modules/consumption/budget/main.json index 5b676a256c..a65a1bbfe8 100644 --- a/modules/consumption/budget/main.json +++ b/modules/consumption/budget/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.21.1.54444", - "templateHash": "14854724529401221825" + "version": "0.22.6.54827", + "templateHash": "2760526032764483110" }, "name": "Consumption Budgets", "description": "This module deploys a Consumption Budget for Subscriptions.", diff --git a/modules/container-instance/container-group/.test/common/main.test.bicep b/modules/container-instance/container-group/.test/common/main.test.bicep index d514033d8f..76374c71e0 100644 --- a/modules/container-instance/container-group/.test/common/main.test.bicep +++ b/modules/container-instance/container-group/.test/common/main.test.bicep @@ -1,5 +1,8 @@ targetScope = 'subscription' +metadata name = 'Using large parameter set' +metadata description = 'This instance deploys the module with most of its features enabled.' + // ========== // // Parameters // // ========== // diff --git a/modules/container-instance/container-group/.test/min/main.test.bicep b/modules/container-instance/container-group/.test/min/main.test.bicep index 6136c721aa..240ce76d42 100644 --- a/modules/container-instance/container-group/.test/min/main.test.bicep +++ b/modules/container-instance/container-group/.test/min/main.test.bicep @@ -1,5 +1,8 @@ targetScope = 'subscription' +metadata name = 'Using only defaults' +metadata description = 'This instance deploys the module with the minimum set of required parameters.' + // ========== // // Parameters // // ========== // diff --git a/modules/container-instance/container-group/README.md b/modules/container-instance/container-group/README.md index 9e02a54f3c..66e52bf7e2 100644 --- a/modules/container-instance/container-group/README.md +++ b/modules/container-instance/container-group/README.md @@ -4,93 +4,44 @@ This module deploys a Container Instance Container Group. ## Navigation -- [Resource types](#Resource-types) +- [Resource Types](#Resource-Types) +- [Usage examples](#Usage-examples) - [Parameters](#Parameters) - [Outputs](#Outputs) - [Cross-referenced modules](#Cross-referenced-modules) -- [Deployment examples](#Deployment-examples) - [Notes](#Notes) -## Resource types +## Resource Types | Resource Type | API Version | | :-- | :-- | | `Microsoft.Authorization/locks` | [2020-05-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2020-05-01/locks) | | `Microsoft.ContainerInstance/containerGroups` | [2022-09-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.ContainerInstance/2022-09-01/containerGroups) | -## Parameters - -**Required parameters** - -| Parameter Name | Type | Description | -| :-- | :-- | :-- | -| `containers` | array | The containers and their respective config within the container group. | -| `name` | string | Name for the container group. | - -**Conditional parameters** - -| Parameter Name | Type | Default Value | Description | -| :-- | :-- | :-- | :-- | -| `cMKUserAssignedIdentityResourceId` | string | `''` | User assigned identity to use when fetching the customer managed key. Required if 'cMKKeyName' is not empty. | -| `ipAddressPorts` | array | `[]` | Ports to open on the public IP address. Must include all ports assigned on container level. Required if `ipAddressType` is set to `public`. | - -**Optional parameters** - -| Parameter Name | Type | Default Value | Allowed Values | Description | -| :-- | :-- | :-- | :-- | :-- | -| `autoGeneratedDomainNameLabelScope` | string | `'TenantReuse'` | `[Noreuse, ResourceGroupReuse, SubscriptionReuse, TenantReuse, Unsecure]` | Specify level of protection of the domain name label. | -| `cMKKeyName` | string | `''` | | The name of the customer managed key to use for encryption. | -| `cMKKeyVaultResourceId` | string | `''` | | The resource ID of a key vault to reference a customer managed key for encryption from. | -| `cMKKeyVersion` | string | `''` | | The version of the customer managed key to reference for encryption. If not provided, the latest key version is used. | -| `dnsNameLabel` | string | `''` | | The Dns name label for the resource. | -| `dnsNameServers` | array | `[]` | | List of dns servers used by the containers for lookups. | -| `dnsSearchDomains` | string | `''` | | DNS search domain which will be appended to each DNS lookup. | -| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). | -| `imageRegistryCredentials` | array | `[]` | | The image registry credentials by which the container group is created from. | -| `initContainers` | array | `[]` | | A list of container definitions which will be executed before the application container starts. | -| `ipAddressType` | string | `'Public'` | `[Private, Public]` | Specifies if the IP is exposed to the public internet or private VNET. - Public or Private. | -| `location` | string | `[resourceGroup().location]` | | Location for all Resources. | -| `lock` | string | `''` | `['', CanNotDelete, ReadOnly]` | Specify the type of lock. | -| `osType` | string | `'Linux'` | | The operating system type required by the containers in the container group. - Windows or Linux. | -| `restartPolicy` | string | `'Always'` | `[Always, Never, OnFailure]` | Restart policy for all containers within the container group. - Always: Always restart. OnFailure: Restart on failure. Never: Never restart. - Always, OnFailure, Never. | -| `sku` | string | `'Standard'` | `[Dedicated, Standard]` | The container group SKU. | -| `subnetId` | string | `''` | | Resource ID of the subnet. Only specify when ipAddressType is Private. | -| `systemAssignedIdentity` | bool | `False` | | Enables system assigned managed identity on the resource. | -| `tags` | object | `{object}` | | Tags of the resource. | -| `userAssignedIdentities` | object | `{object}` | | The ID(s) to assign to the resource. | -| `volumes` | array | `[]` | | Specify if volumes (emptyDir, AzureFileShare or GitRepo) shall be attached to your containergroup. | +## Usage examples +The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository. -## Outputs - -| Output Name | Type | Description | -| :-- | :-- | :-- | -| `iPv4Address` | string | The IPv4 address of the container group. | -| `location` | string | The location the resource was deployed into. | -| `name` | string | The name of the container group. | -| `resourceGroupName` | string | The resource group the container group was deployed into. | -| `resourceId` | string | The resource ID of the container group. | -| `systemAssignedPrincipalId` | string | The principal ID of the system assigned identity. | - -## Cross-referenced modules +>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order. -_None_ +>**Note**: To reference the module, please use the following syntax `br:bicep/modules/container-instance.container-group:1.0.0`. -## Deployment examples +- [Using large parameter set](#example-1-using-large-parameter-set) +- [Encr](#example-2-encr) +- [Using only defaults](#example-3-using-only-defaults) +- [Private](#example-4-private) -The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder. - >**Note**: The name of each example is based on the name of the file from which it is taken. +### Example 1: _Using large parameter set_ - >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order. +This instance deploys the module with most of its features enabled. -
-
-
-
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`containers`](#parameter-containers) | array | The containers and their respective config within the container group. |
+| [`name`](#parameter-name) | string | Name for the container group. |
+
+**Conditional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`cMKUserAssignedIdentityResourceId`](#parameter-cmkuserassignedidentityresourceid) | string | User assigned identity to use when fetching the customer managed key. Required if 'cMKKeyName' is not empty. |
+| [`ipAddressPorts`](#parameter-ipaddressports) | array | Ports to open on the public IP address. Must include all ports assigned on container level. Required if `ipAddressType` is set to `public`. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`autoGeneratedDomainNameLabelScope`](#parameter-autogenerateddomainnamelabelscope) | string | Specify level of protection of the domain name label. |
+| [`cMKKeyName`](#parameter-cmkkeyname) | string | The name of the customer managed key to use for encryption. |
+| [`cMKKeyVaultResourceId`](#parameter-cmkkeyvaultresourceid) | string | The resource ID of a key vault to reference a customer managed key for encryption from. |
+| [`cMKKeyVersion`](#parameter-cmkkeyversion) | string | The version of the customer managed key to reference for encryption. If not provided, the latest key version is used. |
+| [`dnsNameLabel`](#parameter-dnsnamelabel) | string | The Dns name label for the resource. |
+| [`dnsNameServers`](#parameter-dnsnameservers) | array | List of dns servers used by the containers for lookups. |
+| [`dnsSearchDomains`](#parameter-dnssearchdomains) | string | DNS search domain which will be appended to each DNS lookup. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`imageRegistryCredentials`](#parameter-imageregistrycredentials) | array | The image registry credentials by which the container group is created from. |
+| [`initContainers`](#parameter-initcontainers) | array | A list of container definitions which will be executed before the application container starts. |
+| [`ipAddressType`](#parameter-ipaddresstype) | string | Specifies if the IP is exposed to the public internet or private VNET. - Public or Private. |
+| [`location`](#parameter-location) | string | Location for all Resources. |
+| [`lock`](#parameter-lock) | string | Specify the type of lock. |
+| [`osType`](#parameter-ostype) | string | The operating system type required by the containers in the container group. - Windows or Linux. |
+| [`restartPolicy`](#parameter-restartpolicy) | string | Restart policy for all containers within the container group. - Always: Always restart. OnFailure: Restart on failure. Never: Never restart. - Always, OnFailure, Never. |
+| [`sku`](#parameter-sku) | string | The container group SKU. |
+| [`subnetId`](#parameter-subnetid) | string | Resource ID of the subnet. Only specify when ipAddressType is Private. |
+| [`systemAssignedIdentity`](#parameter-systemassignedidentity) | bool | Enables system assigned managed identity on the resource. |
+| [`tags`](#parameter-tags) | object | Tags of the resource. |
+| [`userAssignedIdentities`](#parameter-userassignedidentities) | object | The ID(s) to assign to the resource. |
+| [`volumes`](#parameter-volumes) | array | Specify if volumes (emptyDir, AzureFileShare or GitRepo) shall be attached to your containergroup. |
+
+### Parameter: `autoGeneratedDomainNameLabelScope`
+
+Specify level of protection of the domain name label.
+- Required: No
+- Type: string
+- Default: `'TenantReuse'`
+- Allowed: `[Noreuse, ResourceGroupReuse, SubscriptionReuse, TenantReuse, Unsecure]`
+
+### Parameter: `cMKKeyName`
+
+The name of the customer managed key to use for encryption.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `cMKKeyVaultResourceId`
+
+The resource ID of a key vault to reference a customer managed key for encryption from.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `cMKKeyVersion`
+
+The version of the customer managed key to reference for encryption. If not provided, the latest key version is used.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `cMKUserAssignedIdentityResourceId`
+
+User assigned identity to use when fetching the customer managed key. Required if 'cMKKeyName' is not empty.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `containers`
+
+The containers and their respective config within the container group.
+- Required: Yes
+- Type: array
+
+### Parameter: `dnsNameLabel`
+
+The Dns name label for the resource.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `dnsNameServers`
+
+List of dns servers used by the containers for lookups.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `dnsSearchDomains`
+
+DNS search domain which will be appended to each DNS lookup.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `imageRegistryCredentials`
+
+The image registry credentials by which the container group is created from.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `initContainers`
+
+A list of container definitions which will be executed before the application container starts.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `ipAddressPorts`
+
+Ports to open on the public IP address. Must include all ports assigned on container level. Required if `ipAddressType` is set to `public`.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `ipAddressType`
+
+Specifies if the IP is exposed to the public internet or private VNET. - Public or Private.
+- Required: No
+- Type: string
+- Default: `'Public'`
+- Allowed: `[Private, Public]`
+
+### Parameter: `location`
+
+Location for all Resources.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `lock`
+
+Specify the type of lock.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', CanNotDelete, ReadOnly]`
+
+### Parameter: `name`
+
+Name for the container group.
+- Required: Yes
+- Type: string
+
+### Parameter: `osType`
+
+The operating system type required by the containers in the container group. - Windows or Linux.
+- Required: No
+- Type: string
+- Default: `'Linux'`
+
+### Parameter: `restartPolicy`
+
+Restart policy for all containers within the container group. - Always: Always restart. OnFailure: Restart on failure. Never: Never restart. - Always, OnFailure, Never.
+- Required: No
+- Type: string
+- Default: `'Always'`
+- Allowed: `[Always, Never, OnFailure]`
+
+### Parameter: `sku`
+
+The container group SKU.
+- Required: No
+- Type: string
+- Default: `'Standard'`
+- Allowed: `[Dedicated, Standard]`
+
+### Parameter: `subnetId`
+
+Resource ID of the subnet. Only specify when ipAddressType is Private.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `systemAssignedIdentity`
+
+Enables system assigned managed identity on the resource.
+- Required: No
+- Type: bool
+- Default: `False`
+
+### Parameter: `tags`
+
+Tags of the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `userAssignedIdentities`
+
+The ID(s) to assign to the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `volumes`
+
+Specify if volumes (emptyDir, AzureFileShare or GitRepo) shall be attached to your containergroup.
+- Required: No
+- Type: array
+- Default: `[]`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `iPv4Address` | string | The IPv4 address of the container group. |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The name of the container group. |
+| `resourceGroupName` | string | The resource group the container group was deployed into. |
+| `resourceId` | string | The resource ID of the container group. |
+| `systemAssignedPrincipalId` | string | The principal ID of the system assigned identity. |
+
+## Cross-referenced modules
+
+_None_
+
## Notes
### Parameter Usage: `imageRegistryCredentials`
diff --git a/modules/container-instance/container-group/main.json b/modules/container-instance/container-group/main.json
index cf3d24c34f..de3ed088b2 100644
--- a/modules/container-instance/container-group/main.json
+++ b/modules/container-instance/container-group/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "1590771633757024092"
+ "version": "0.22.6.54827",
+ "templateHash": "3196122826827836156"
},
"name": "Container Instances Container Groups",
"description": "This module deploys a Container Instance Container Group.",
diff --git a/modules/container-registry/registry/.test/common/main.test.bicep b/modules/container-registry/registry/.test/common/main.test.bicep
index 46df910a1b..1cba142a21 100644
--- a/modules/container-registry/registry/.test/common/main.test.bicep
+++ b/modules/container-registry/registry/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/container-registry/registry/.test/min/main.test.bicep b/modules/container-registry/registry/.test/min/main.test.bicep
index b861c01634..0db5d24fdd 100644
--- a/modules/container-registry/registry/.test/min/main.test.bicep
+++ b/modules/container-registry/registry/.test/min/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using only defaults'
+metadata description = 'This instance deploys the module with the minimum set of required parameters.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/container-registry/registry/README.md b/modules/container-registry/registry/README.md
index 0a5487152b..c1c5ee9a5d 100644
--- a/modules/container-registry/registry/README.md
+++ b/modules/container-registry/registry/README.md
@@ -4,13 +4,13 @@ This module deploys an Azure Container Registry (ACR).
## Navigation
-- [Resource types](#Resource-types)
+- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
-## Resource types
+## Resource Types
| Resource Type | API Version |
| :-- | :-- |
@@ -24,98 +24,30 @@ This module deploys an Azure Container Registry (ACR).
| `Microsoft.Network/privateEndpoints` | [2023-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2023-04-01/privateEndpoints) |
| `Microsoft.Network/privateEndpoints/privateDnsZoneGroups` | [2023-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2023-04-01/privateEndpoints/privateDnsZoneGroups) |
-## Parameters
-
-**Required parameters**
-
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | Name of your Azure container registry. |
-
-**Conditional parameters**
-
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `cMKUserAssignedIdentityResourceId` | string | `''` | User assigned identity to use when fetching the customer managed key. Note, CMK requires the 'acrSku' to be 'Premium'. Required if 'cMKKeyName' is not empty. |
-
-**Optional parameters**
-
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `acrAdminUserEnabled` | bool | `False` | | Enable admin user that have push / pull permission to the registry. |
-| `acrSku` | string | `'Basic'` | `[Basic, Premium, Standard]` | Tier of your Azure container registry. |
-| `anonymousPullEnabled` | bool | `False` | | Enables registry-wide pull from unauthenticated clients. It's in preview and available in the Standard and Premium service tiers. |
-| `azureADAuthenticationAsArmPolicyStatus` | string | `'enabled'` | `[disabled, enabled]` | The value that indicates whether the policy for using ARM audience token for a container registr is enabled or not. Default is enabled. |
-| `cacheRules` | _[cacheRules](cache-rules/README.md)_ array | `[]` | | Array of Cache Rules. Note: This is a preview feature ([ref](https://learn.microsoft.com/en-us/azure/container-registry/tutorial-registry-cache#cache-for-acr-preview)). |
-| `cMKKeyName` | string | `''` | | The name of the customer managed key to use for encryption. Note, CMK requires the 'acrSku' to be 'Premium'. |
-| `cMKKeyVaultResourceId` | string | `''` | | The resource ID of a key vault to reference a customer managed key for encryption from. Note, CMK requires the 'acrSku' to be 'Premium'. |
-| `cMKKeyVersion` | string | `''` | | The version of the customer managed key to reference for encryption. If not provided, the latest key version is used. |
-| `dataEndpointEnabled` | bool | `False` | | Enable a single data endpoint per region for serving data. Not relevant in case of disabled public access. Note, requires the 'acrSku' to be 'Premium'. |
-| `diagnosticEventHubAuthorizationRuleId` | string | `''` | | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
-| `diagnosticEventHubName` | string | `''` | | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
-| `diagnosticLogCategoriesToEnable` | array | `[allLogs]` | `['', allLogs, ContainerRegistryLoginEvents, ContainerRegistryRepositoryEvents]` | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
-| `diagnosticMetricsToEnable` | array | `[AllMetrics]` | `[AllMetrics]` | The name of metrics that will be streamed. |
-| `diagnosticSettingsName` | string | `''` | | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
-
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | Name of your Azure container registry. |
+
+**Conditional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`cMKUserAssignedIdentityResourceId`](#parameter-cmkuserassignedidentityresourceid) | string | User assigned identity to use when fetching the customer managed key. Note, CMK requires the 'acrSku' to be 'Premium'. Required if 'cMKKeyName' is not empty. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`acrAdminUserEnabled`](#parameter-acradminuserenabled) | bool | Enable admin user that have push / pull permission to the registry. |
+| [`acrSku`](#parameter-acrsku) | string | Tier of your Azure container registry. |
+| [`anonymousPullEnabled`](#parameter-anonymouspullenabled) | bool | Enables registry-wide pull from unauthenticated clients. It's in preview and available in the Standard and Premium service tiers. |
+| [`azureADAuthenticationAsArmPolicyStatus`](#parameter-azureadauthenticationasarmpolicystatus) | string | The value that indicates whether the policy for using ARM audience token for a container registr is enabled or not. Default is enabled. |
+| [`cacheRules`](#parameter-cacherules) | array | Array of Cache Rules. Note: This is a preview feature ([ref](https://learn.microsoft.com/en-us/azure/container-registry/tutorial-registry-cache#cache-for-acr-preview)). |
+| [`cMKKeyName`](#parameter-cmkkeyname) | string | The name of the customer managed key to use for encryption. Note, CMK requires the 'acrSku' to be 'Premium'. |
+| [`cMKKeyVaultResourceId`](#parameter-cmkkeyvaultresourceid) | string | The resource ID of a key vault to reference a customer managed key for encryption from. Note, CMK requires the 'acrSku' to be 'Premium'. |
+| [`cMKKeyVersion`](#parameter-cmkkeyversion) | string | The version of the customer managed key to reference for encryption. If not provided, the latest key version is used. |
+| [`dataEndpointEnabled`](#parameter-dataendpointenabled) | bool | Enable a single data endpoint per region for serving data. Not relevant in case of disabled public access. Note, requires the 'acrSku' to be 'Premium'. |
+| [`diagnosticEventHubAuthorizationRuleId`](#parameter-diagnosticeventhubauthorizationruleid) | string | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
+| [`diagnosticEventHubName`](#parameter-diagnosticeventhubname) | string | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
+| [`diagnosticLogCategoriesToEnable`](#parameter-diagnosticlogcategoriestoenable) | array | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
+| [`diagnosticMetricsToEnable`](#parameter-diagnosticmetricstoenable) | array | The name of metrics that will be streamed. |
+| [`diagnosticSettingsName`](#parameter-diagnosticsettingsname) | string | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
-
-
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | Specifies the name of the AKS cluster. |
+| [`primaryAgentPoolProfile`](#parameter-primaryagentpoolprofile) | array | Properties of the primary agent pool. |
+
+**Conditional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`aksServicePrincipalProfile`](#parameter-aksserviceprincipalprofile) | object | Information about a service principal identity for the cluster to use for manipulating Azure APIs. Required if no managed identities are assigned to the cluster. |
+| [`appGatewayResourceId`](#parameter-appgatewayresourceid) | string | Specifies the resource ID of connected application gateway. Required if `ingressApplicationGatewayEnabled` is set to `true`. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`aadProfileAdminGroupObjectIDs`](#parameter-aadprofileadmingroupobjectids) | array | Specifies the AAD group object IDs that will have admin role of the cluster. |
+| [`aadProfileClientAppID`](#parameter-aadprofileclientappid) | string | The client AAD application ID. |
+| [`aadProfileEnableAzureRBAC`](#parameter-aadprofileenableazurerbac) | bool | Specifies whether to enable Azure RBAC for Kubernetes authorization. |
+| [`aadProfileManaged`](#parameter-aadprofilemanaged) | bool | Specifies whether to enable managed AAD integration. |
+| [`aadProfileServerAppID`](#parameter-aadprofileserverappid) | string | The server AAD application ID. |
+| [`aadProfileServerAppSecret`](#parameter-aadprofileserverappsecret) | string | The server AAD application secret. |
+| [`aadProfileTenantId`](#parameter-aadprofiletenantid) | string | Specifies the tenant ID of the Azure Active Directory used by the AKS cluster for authentication. |
+| [`aciConnectorLinuxEnabled`](#parameter-aciconnectorlinuxenabled) | bool | Specifies whether the aciConnectorLinux add-on is enabled or not. |
+| [`adminUsername`](#parameter-adminusername) | string | Specifies the administrator username of Linux virtual machines. |
+| [`agentPools`](#parameter-agentpools) | array | Define one or more secondary/additional agent pools. |
+| [`authorizedIPRanges`](#parameter-authorizedipranges) | array | IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. |
+| [`autoScalerProfileBalanceSimilarNodeGroups`](#parameter-autoscalerprofilebalancesimilarnodegroups) | string | Specifies the balance of similar node groups for the auto-scaler of the AKS cluster. |
+| [`autoScalerProfileExpander`](#parameter-autoscalerprofileexpander) | string | Specifies the expand strategy for the auto-scaler of the AKS cluster. |
+| [`autoScalerProfileMaxEmptyBulkDelete`](#parameter-autoscalerprofilemaxemptybulkdelete) | string | Specifies the maximum empty bulk delete for the auto-scaler of the AKS cluster. |
+| [`autoScalerProfileMaxGracefulTerminationSec`](#parameter-autoscalerprofilemaxgracefulterminationsec) | string | Specifies the max graceful termination time interval in seconds for the auto-scaler of the AKS cluster. |
+| [`autoScalerProfileMaxNodeProvisionTime`](#parameter-autoscalerprofilemaxnodeprovisiontime) | string | Specifies the maximum node provisioning time for the auto-scaler of the AKS cluster. Values must be an integer followed by an "m". No unit of time other than minutes (m) is supported. |
+| [`autoScalerProfileMaxTotalUnreadyPercentage`](#parameter-autoscalerprofilemaxtotalunreadypercentage) | string | Specifies the mximum total unready percentage for the auto-scaler of the AKS cluster. The maximum is 100 and the minimum is 0. |
+| [`autoScalerProfileNewPodScaleUpDelay`](#parameter-autoscalerprofilenewpodscaleupdelay) | string | For scenarios like burst/batch scale where you do not want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they are a certain age. Values must be an integer followed by a unit ("s" for seconds, "m" for minutes, "h" for hours, etc). |
+| [`autoScalerProfileOkTotalUnreadyCount`](#parameter-autoscalerprofileoktotalunreadycount) | string | Specifies the OK total unready count for the auto-scaler of the AKS cluster. |
+| [`autoScalerProfileScaleDownDelayAfterAdd`](#parameter-autoscalerprofilescaledowndelayafteradd) | string | Specifies the scale down delay after add of the auto-scaler of the AKS cluster. |
+| [`autoScalerProfileScaleDownDelayAfterDelete`](#parameter-autoscalerprofilescaledowndelayafterdelete) | string | Specifies the scale down delay after delete of the auto-scaler of the AKS cluster. |
+| [`autoScalerProfileScaleDownDelayAfterFailure`](#parameter-autoscalerprofilescaledowndelayafterfailure) | string | Specifies scale down delay after failure of the auto-scaler of the AKS cluster. |
+| [`autoScalerProfileScaleDownUnneededTime`](#parameter-autoscalerprofilescaledownunneededtime) | string | Specifies the scale down unneeded time of the auto-scaler of the AKS cluster. |
+| [`autoScalerProfileScaleDownUnreadyTime`](#parameter-autoscalerprofilescaledownunreadytime) | string | Specifies the scale down unready time of the auto-scaler of the AKS cluster. |
+| [`autoScalerProfileScanInterval`](#parameter-autoscalerprofilescaninterval) | string | Specifies the scan interval of the auto-scaler of the AKS cluster. |
+| [`autoScalerProfileSkipNodesWithLocalStorage`](#parameter-autoscalerprofileskipnodeswithlocalstorage) | string | Specifies if nodes with local storage should be skipped for the auto-scaler of the AKS cluster. |
+| [`autoScalerProfileSkipNodesWithSystemPods`](#parameter-autoscalerprofileskipnodeswithsystempods) | string | Specifies if nodes with system pods should be skipped for the auto-scaler of the AKS cluster. |
+| [`autoScalerProfileUtilizationThreshold`](#parameter-autoscalerprofileutilizationthreshold) | string | Specifies the utilization threshold of the auto-scaler of the AKS cluster. |
+| [`autoUpgradeProfileUpgradeChannel`](#parameter-autoupgradeprofileupgradechannel) | string | Auto-upgrade channel on the AKS cluster. |
+| [`azurePolicyEnabled`](#parameter-azurepolicyenabled) | bool | Specifies whether the azurepolicy add-on is enabled or not. For security reasons, this setting should be enabled. |
+| [`azurePolicyVersion`](#parameter-azurepolicyversion) | string | Specifies the azure policy version to use. |
+| [`diagnosticEventHubAuthorizationRuleId`](#parameter-diagnosticeventhubauthorizationruleid) | string | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
+| [`diagnosticEventHubName`](#parameter-diagnosticeventhubname) | string | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
+| [`diagnosticLogCategoriesToEnable`](#parameter-diagnosticlogcategoriestoenable) | array | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
+| [`diagnosticMetricsToEnable`](#parameter-diagnosticmetricstoenable) | array | The name of metrics that will be streamed. |
+| [`diagnosticSettingsName`](#parameter-diagnosticsettingsname) | string | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | The name of the Azure Factory to create. |
+
+**Conditional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`cMKKeyVaultResourceId`](#parameter-cmkkeyvaultresourceid) | string | The resource ID of a key vault to reference a customer managed key for encryption from. Required if 'cMKKeyName' is not empty. |
+| [`cMKUserAssignedIdentityResourceId`](#parameter-cmkuserassignedidentityresourceid) | string | User assigned identity to use when fetching the customer managed key. Required if 'cMKKeyName' is not empty. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`cMKKeyName`](#parameter-cmkkeyname) | string | The name of the customer managed key to use for encryption. |
+| [`cMKKeyVersion`](#parameter-cmkkeyversion) | string | The version of the customer managed key to reference for encryption. If not provided, the latest key version is used. |
+| [`diagnosticEventHubAuthorizationRuleId`](#parameter-diagnosticeventhubauthorizationruleid) | string | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
+| [`diagnosticEventHubName`](#parameter-diagnosticeventhubname) | string | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
+| [`diagnosticLogCategoriesToEnable`](#parameter-diagnosticlogcategoriestoenable) | array | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
+| [`diagnosticMetricsToEnable`](#parameter-diagnosticmetricstoenable) | array | The name of metrics that will be streamed. |
+| [`diagnosticSettingsName`](#parameter-diagnosticsettingsname) | string | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | Name of the Backup Vault. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`azureMonitorAlertSettingsAlertsForAllJobFailures`](#parameter-azuremonitoralertsettingsalertsforalljobfailures) | string | Settings for Azure Monitor based alerts for job failures. |
+| [`backupPolicies`](#parameter-backuppolicies) | array | List of all backup policies. |
+| [`dataStoreType`](#parameter-datastoretype) | string | The datastore type to use. ArchiveStore does not support ZoneRedundancy. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`featureSettings`](#parameter-featuresettings) | object | Feature settings for the backup vault. |
+| [`location`](#parameter-location) | string | Location for all resources. |
+| [`lock`](#parameter-lock) | string | Specify the type of lock. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`securitySettings`](#parameter-securitysettings) | object | Security settings for the backup vault. |
+| [`systemAssignedIdentity`](#parameter-systemassignedidentity) | bool | Enables system assigned managed identity on the resource. |
+| [`tags`](#parameter-tags) | object | Tags of the Recovery Service Vault resource. |
+| [`type`](#parameter-type) | string | The vault redundancy level to use. |
+
+### Parameter: `azureMonitorAlertSettingsAlertsForAllJobFailures`
+
+Settings for Azure Monitor based alerts for job failures.
+- Required: No
+- Type: string
+- Default: `'Enabled'`
+- Allowed: `[Disabled, Enabled]`
+
+### Parameter: `backupPolicies`
+
+List of all backup policies.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `dataStoreType`
+
+The datastore type to use. ArchiveStore does not support ZoneRedundancy.
+- Required: No
+- Type: string
+- Default: `'VaultStore'`
+- Allowed: `[ArchiveStore, OperationalStore, VaultStore]`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `featureSettings`
+
+Feature settings for the backup vault.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `location`
+
+Location for all resources.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `lock`
+
+Specify the type of lock.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', CanNotDelete, ReadOnly]`
+
+### Parameter: `name`
+
+Name of the Backup Vault.
+- Required: Yes
+- Type: string
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `securitySettings`
+
+Security settings for the backup vault.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `systemAssignedIdentity`
+
+Enables system assigned managed identity on the resource.
+- Required: No
+- Type: bool
+- Default: `False`
+
+### Parameter: `tags`
+
+Tags of the Recovery Service Vault resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `type`
+
+The vault redundancy level to use.
+- Required: No
+- Type: string
+- Default: `'GeoRedundant'`
+- Allowed: `[GeoRedundant, LocallyRedundant, ZoneRedundant]`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The Name of the backup vault. |
+| `resourceGroupName` | string | The name of the resource group the recovery services vault was created in. |
+| `resourceId` | string | The resource ID of the backup vault. |
+| `systemAssignedPrincipalId` | string | The principal ID of the system assigned identity. |
+
+## Cross-referenced modules
+
+_None_
+
## Notes
### Parameter Usage: `backupPolicies`
diff --git a/modules/data-protection/backup-vault/backup-policy/README.md b/modules/data-protection/backup-vault/backup-policy/README.md
index dea9657139..169a76f3d5 100644
--- a/modules/data-protection/backup-vault/backup-policy/README.md
+++ b/modules/data-protection/backup-vault/backup-policy/README.md
@@ -20,22 +20,49 @@ This module deploys a Data Protection Backup Vault Backup Policy.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `backupVaultName` | string | The name of the backup vault. |
+| [`backupVaultName`](#parameter-backupvaultname) | string | The name of the backup vault. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `name` | string | `'DefaultPolicy'` | The name of the backup policy. |
-| `properties` | object | `{object}` | The properties of the backup policy. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`name`](#parameter-name) | string | The name of the backup policy. |
+| [`properties`](#parameter-properties) | object | The properties of the backup policy. |
+
+### Parameter: `backupVaultName`
+
+The name of the backup vault.
+- Required: Yes
+- Type: string
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `name`
+
+The name of the backup policy.
+- Required: No
+- Type: string
+- Default: `'DefaultPolicy'`
+
+### Parameter: `properties`
+
+The properties of the backup policy.
+- Required: No
+- Type: object
+- Default: `{object}`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The name of the backup policy. |
| `resourceGroupName` | string | The name of the resource group the backup policy was created in. |
diff --git a/modules/data-protection/backup-vault/backup-policy/main.json b/modules/data-protection/backup-vault/backup-policy/main.json
index 259cf9ab04..9717619f41 100644
--- a/modules/data-protection/backup-vault/backup-policy/main.json
+++ b/modules/data-protection/backup-vault/backup-policy/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "13351591046039775322"
+ "version": "0.22.6.54827",
+ "templateHash": "4068293382331739919"
},
"name": "Data Protection Backup Vault Backup Policies",
"description": "This module deploys a Data Protection Backup Vault Backup Policy.",
diff --git a/modules/data-protection/backup-vault/main.json b/modules/data-protection/backup-vault/main.json
index 6f38347abd..0251fbd6b9 100644
--- a/modules/data-protection/backup-vault/main.json
+++ b/modules/data-protection/backup-vault/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "9192043285599381556"
+ "version": "0.22.6.54827",
+ "templateHash": "758221244478675783"
},
"name": "Data Protection Backup Vaults",
"description": "This module deploys a Data Protection Backup Vault.",
@@ -212,8 +212,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "7012714576885585177"
+ "version": "0.22.6.54827",
+ "templateHash": "4068293382331739919"
},
"name": "Data Protection Backup Vault Backup Policies",
"description": "This module deploys a Data Protection Backup Vault Backup Policy.",
@@ -333,8 +333,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "5799522460784182968"
+ "version": "0.22.6.54827",
+ "templateHash": "14959625805292931026"
}
},
"parameters": {
diff --git a/modules/databricks/access-connector/.test/common/main.test.bicep b/modules/databricks/access-connector/.test/common/main.test.bicep
index e6854b68ae..81dfb69963 100644
--- a/modules/databricks/access-connector/.test/common/main.test.bicep
+++ b/modules/databricks/access-connector/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/databricks/access-connector/.test/min/main.test.bicep b/modules/databricks/access-connector/.test/min/main.test.bicep
index 3a950aaa5f..1c8b923b29 100644
--- a/modules/databricks/access-connector/.test/min/main.test.bicep
+++ b/modules/databricks/access-connector/.test/min/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using only defaults'
+metadata description = 'This instance deploys the module with the minimum set of required parameters.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/databricks/access-connector/README.md b/modules/databricks/access-connector/README.md
index d530fdb979..75b28ed04e 100644
--- a/modules/databricks/access-connector/README.md
+++ b/modules/databricks/access-connector/README.md
@@ -5,10 +5,10 @@ This module deploys an Azure Databricks Access Connector.
## Navigation
- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
## Resource Types
@@ -18,55 +18,28 @@ This module deploys an Azure Databricks Access Connector.
| `Microsoft.Authorization/roleAssignments` | [2022-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2022-04-01/roleAssignments) |
| `Microsoft.Databricks/accessConnectors` | [2022-10-01-preview](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Databricks/2022-10-01-preview/accessConnectors) |
-## Parameters
-
-**Required parameters**
-
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | The name of the Azure Databricks access connector to create. |
-
-**Optional parameters**
-
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `location` | string | `[resourceGroup().location]` | | Location for all Resources. |
-| `lock` | string | `''` | `['', CanNotDelete, ReadOnly]` | Specify the type of lock. |
-| `roleAssignments` | array | `[]` | | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
-| `systemAssignedIdentity` | bool | `False` | | Enables system assigned managed identity on the resource. |
-| `tags` | object | `{object}` | | Tags of the resource. |
-| `userAssignedIdentities` | object | `{object}` | | The set of user assigned identities associated with the resource, the userAssignedIdentities dictionary keys will be ARM resource IDs and The dictionary values can be empty objects ({}) in requests. |
+## Usage examples
+The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository.
-## Outputs
-
-| Output Name | Type | Description |
-| :-- | :-- | :-- |
-| `location` | string | The location the resource was deployed into. |
-| `name` | string | The name of the deployed access connector. |
-| `resourceGroupName` | string | The resource group of the deployed access connector. |
-| `resourceId` | string | The resource ID of the deployed access connector. |
-
-## Cross-referenced modules
+>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-_None_
+>**Note**: To reference the module, please use the following syntax `br:bicep/modules/databricks.access-connector:1.0.0`.
-## Deployment examples
+- [Using large parameter set](#example-1-using-large-parameter-set)
+- [Using only defaults](#example-2-using-only-defaults)
-The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder.
- >**Note**: The name of each example is based on the name of the file from which it is taken.
+### Example 1: _Using large parameter set_
- >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
+This instance deploys the module with most of its features enabled.
-
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | The name of the Azure Databricks access connector to create. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`location`](#parameter-location) | string | Location for all Resources. |
+| [`lock`](#parameter-lock) | string | Specify the type of lock. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`systemAssignedIdentity`](#parameter-systemassignedidentity) | bool | Enables system assigned managed identity on the resource. |
+| [`tags`](#parameter-tags) | object | Tags of the resource. |
+| [`userAssignedIdentities`](#parameter-userassignedidentities) | object | The set of user assigned identities associated with the resource, the userAssignedIdentities dictionary keys will be ARM resource IDs and The dictionary values can be empty objects ({}) in requests. |
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `location`
+
+Location for all Resources.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `lock`
+
+Specify the type of lock.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', CanNotDelete, ReadOnly]`
+
+### Parameter: `name`
+
+The name of the Azure Databricks access connector to create.
+- Required: Yes
+- Type: string
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `systemAssignedIdentity`
+
+Enables system assigned managed identity on the resource.
+- Required: No
+- Type: bool
+- Default: `False`
+
+### Parameter: `tags`
+
+Tags of the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `userAssignedIdentities`
+
+The set of user assigned identities associated with the resource, the userAssignedIdentities dictionary keys will be ARM resource IDs and The dictionary values can be empty objects ({}) in requests.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The name of the deployed access connector. |
+| `resourceGroupName` | string | The resource group of the deployed access connector. |
+| `resourceId` | string | The resource ID of the deployed access connector. |
+
+## Cross-referenced modules
+
+_None_
diff --git a/modules/databricks/access-connector/main.json b/modules/databricks/access-connector/main.json
index 0dff655dda..e7e834fff8 100644
--- a/modules/databricks/access-connector/main.json
+++ b/modules/databricks/access-connector/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "18141386081798006601"
+ "version": "0.22.6.54827",
+ "templateHash": "8282781227910546878"
},
"name": "Azure Databricks Access Connectors",
"description": "This module deploys an Azure Databricks Access Connector.",
@@ -149,8 +149,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "8744521398620405286"
+ "version": "0.22.6.54827",
+ "templateHash": "9290418788736930611"
}
},
"parameters": {
diff --git a/modules/databricks/workspace/.test/common/main.test.bicep b/modules/databricks/workspace/.test/common/main.test.bicep
index 9dbc424bf9..cd9bef2b09 100644
--- a/modules/databricks/workspace/.test/common/main.test.bicep
+++ b/modules/databricks/workspace/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/databricks/workspace/.test/min/main.test.bicep b/modules/databricks/workspace/.test/min/main.test.bicep
index 85cd2ef8dc..00e0a9cd89 100644
--- a/modules/databricks/workspace/.test/min/main.test.bicep
+++ b/modules/databricks/workspace/.test/min/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using only defaults'
+metadata description = 'This instance deploys the module with the minimum set of required parameters.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/databricks/workspace/README.md b/modules/databricks/workspace/README.md
index 064f045a46..79dd99e50c 100644
--- a/modules/databricks/workspace/README.md
+++ b/modules/databricks/workspace/README.md
@@ -4,14 +4,14 @@ This module deploys an Azure Databricks Workspace.
## Navigation
-- [Resource types](#Resource-types)
+- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
- [Notes](#Notes)
-## Resource types
+## Resource Types
| Resource Type | API Version |
| :-- | :-- |
@@ -22,94 +22,28 @@ This module deploys an Azure Databricks Workspace.
| `Microsoft.Network/privateEndpoints` | [2023-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2023-04-01/privateEndpoints) |
| `Microsoft.Network/privateEndpoints/privateDnsZoneGroups` | [2023-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2023-04-01/privateEndpoints/privateDnsZoneGroups) |
-## Parameters
-
-**Required parameters**
-
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | The name of the Azure Databricks workspace to create. |
-
-**Conditional parameters**
-
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `cMKManagedDisksKeyVaultResourceId` | string | `''` | The resource ID of a key vault to reference a customer managed key for encryption from. Required if 'cMKKeyName' is not empty. |
-| `cMKManagedServicesKeyVaultResourceId` | string | `''` | The resource ID of a key vault to reference a customer managed key for encryption from. Required if 'cMKKeyName' is not empty. |
-
-**Optional parameters**
-
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `amlWorkspaceResourceId` | string | `''` | | The resource ID of a Azure Machine Learning workspace to link with Databricks workspace. |
-| `cMKManagedDisksKeyName` | string | `''` | | The name of the customer managed key to use for encryption. |
-| `cMKManagedDisksKeyRotationToLatestKeyVersionEnabled` | bool | `True` | | Enable Auto Rotation of Key. |
-| `cMKManagedDisksKeyVersion` | string | `''` | | The version of the customer managed key to reference for encryption. If not provided, the latest key version is used. |
-| `cMKManagedServicesKeyName` | string | `''` | | The name of the customer managed key to use for encryption. |
-| `cMKManagedServicesKeyVersion` | string | `''` | | The version of the customer managed key to reference for encryption. If not provided, the latest key version is used. |
-| `customPrivateSubnetName` | string | `''` | | The name of the Private Subnet within the Virtual Network. |
-| `customPublicSubnetName` | string | `''` | | The name of a Public Subnet within the Virtual Network. |
-| `customVirtualNetworkResourceId` | string | `''` | | The resource ID of a Virtual Network where this Databricks Cluster should be created. |
-| `diagnosticEventHubAuthorizationRuleId` | string | `''` | | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
-| `diagnosticEventHubName` | string | `''` | | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
-| `diagnosticLogCategoriesToEnable` | array | `[allLogs]` | `['', accounts, allLogs, clusters, dbfs, instancePools, jobs, notebook, secrets, sqlPermissions, ssh, workspace]` | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
-| `diagnosticSettingsName` | string | `''` | | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | The name of the Azure Databricks workspace to create. |
+
+**Conditional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`cMKManagedDisksKeyVaultResourceId`](#parameter-cmkmanageddiskskeyvaultresourceid) | string | The resource ID of a key vault to reference a customer managed key for encryption from. Required if 'cMKKeyName' is not empty. |
+| [`cMKManagedServicesKeyVaultResourceId`](#parameter-cmkmanagedserviceskeyvaultresourceid) | string | The resource ID of a key vault to reference a customer managed key for encryption from. Required if 'cMKKeyName' is not empty. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`amlWorkspaceResourceId`](#parameter-amlworkspaceresourceid) | string | The resource ID of a Azure Machine Learning workspace to link with Databricks workspace. |
+| [`cMKManagedDisksKeyName`](#parameter-cmkmanageddiskskeyname) | string | The name of the customer managed key to use for encryption. |
+| [`cMKManagedDisksKeyRotationToLatestKeyVersionEnabled`](#parameter-cmkmanageddiskskeyrotationtolatestkeyversionenabled) | bool | Enable Auto Rotation of Key. |
+| [`cMKManagedDisksKeyVersion`](#parameter-cmkmanageddiskskeyversion) | string | The version of the customer managed key to reference for encryption. If not provided, the latest key version is used. |
+| [`cMKManagedServicesKeyName`](#parameter-cmkmanagedserviceskeyname) | string | The name of the customer managed key to use for encryption. |
+| [`cMKManagedServicesKeyVersion`](#parameter-cmkmanagedserviceskeyversion) | string | The version of the customer managed key to reference for encryption. If not provided, the latest key version is used. |
+| [`customPrivateSubnetName`](#parameter-customprivatesubnetname) | string | The name of the Private Subnet within the Virtual Network. |
+| [`customPublicSubnetName`](#parameter-custompublicsubnetname) | string | The name of a Public Subnet within the Virtual Network. |
+| [`customVirtualNetworkResourceId`](#parameter-customvirtualnetworkresourceid) | string | The resource ID of a Virtual Network where this Databricks Cluster should be created. |
+| [`diagnosticEventHubAuthorizationRuleId`](#parameter-diagnosticeventhubauthorizationruleid) | string | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
+| [`diagnosticEventHubName`](#parameter-diagnosticeventhubname) | string | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
+| [`diagnosticLogCategoriesToEnable`](#parameter-diagnosticlogcategoriestoenable) | array | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
+| [`diagnosticSettingsName`](#parameter-diagnosticsettingsname) | string | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | The name of the MySQL flexible server. |
+| [`skuName`](#parameter-skuname) | string | The name of the sku, typically, tier + family + cores, e.g. Standard_D4s_v3. |
+| [`tier`](#parameter-tier) | string | The tier of the particular SKU. Tier must align with the "skuName" property. Example, tier cannot be "Burstable" if skuName is "Standard_D4s_v3". |
+
+**Conditional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`cMKKeyVaultResourceId`](#parameter-cmkkeyvaultresourceid) | string | The resource ID of a key vault to reference a customer managed key for encryption from. Required if "cMKKeyName" is not empty. |
+| [`cMKUserAssignedIdentityResourceId`](#parameter-cmkuserassignedidentityresourceid) | string | User assigned identity to use when fetching the customer managed key. The identity should have key usage permissions on the Key Vault Key. Required if "cMKKeyName" is not empty. |
+| [`geoBackupCMKKeyVaultResourceId`](#parameter-geobackupcmkkeyvaultresourceid) | string | The resource ID of a key vault to reference a customer managed key for encryption from. Required if "cMKKeyName" is not empty and geoRedundantBackup is "Enabled". |
+| [`geoBackupCMKUserAssignedIdentityResourceId`](#parameter-geobackupcmkuserassignedidentityresourceid) | string | Geo backup user identity resource ID as identity cant cross region, need identity in same region as geo backup. The identity should have key usage permissions on the Key Vault Key. Required if "cMKKeyName" is not empty and geoRedundantBackup is "Enabled". |
+| [`privateDnsZoneResourceId`](#parameter-privatednszoneresourceid) | string | Private dns zone arm resource ID. Used when the desired connectivity mode is "Private Access". Required if "delegatedSubnetResourceId" is used and the Private DNS Zone name must end with mysql.database.azure.com in order to be linked to the MySQL Flexible Server. |
+| [`restorePointInTime`](#parameter-restorepointintime) | string | Restore point creation time (ISO8601 format), specifying the time to restore from. Required if "createMode" is set to "PointInTimeRestore". |
+| [`sourceServerResourceId`](#parameter-sourceserverresourceid) | string | The source MySQL server ID. Required if "createMode" is set to "PointInTimeRestore". |
+| [`storageAutoGrow`](#parameter-storageautogrow) | string | Enable Storage Auto Grow or not. Storage auto-growth prevents a server from running out of storage and becoming read-only. Required if "highAvailability" is not "Disabled". |
+| [`userAssignedIdentities`](#parameter-userassignedidentities) | object | The ID(s) to assign to the resource. Required if "cMKKeyName" is not empty. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`administratorLogin`](#parameter-administratorlogin) | string | The administrator login name of a server. Can only be specified when the MySQL server is being created. |
+| [`administratorLoginPassword`](#parameter-administratorloginpassword) | securestring | The administrator login password. |
+| [`administrators`](#parameter-administrators) | array | The Azure AD administrators when AAD authentication enabled. |
+| [`availabilityZone`](#parameter-availabilityzone) | string | Availability zone information of the server. Default will have no preference set. |
+| [`backupRetentionDays`](#parameter-backupretentiondays) | int | Backup retention days for the server. |
+| [`cMKKeyName`](#parameter-cmkkeyname) | string | The name of the customer managed key to use for encryption. |
+| [`cMKKeyVersion`](#parameter-cmkkeyversion) | string | The version of the customer managed key to reference for encryption. If not provided, the latest key version is used. |
+| [`createMode`](#parameter-createmode) | string | The mode to create a new MySQL server. |
+| [`databases`](#parameter-databases) | array | The databases to create in the server. |
+| [`delegatedSubnetResourceId`](#parameter-delegatedsubnetresourceid) | string | Delegated subnet arm resource ID. Used when the desired connectivity mode is "Private Access" - virtual network integration. Delegation must be enabled on the subnet for MySQL Flexible Servers and subnet CIDR size is /29. |
+| [`diagnosticEventHubAuthorizationRuleId`](#parameter-diagnosticeventhubauthorizationruleid) | string | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
+| [`diagnosticEventHubName`](#parameter-diagnosticeventhubname) | string | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
+| [`diagnosticLogCategoriesToEnable`](#parameter-diagnosticlogcategoriestoenable) | array | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
+| [`diagnosticMetricsToEnable`](#parameter-diagnosticmetricstoenable) | array | The name of metrics that will be streamed. |
+| [`diagnosticSettingsName`](#parameter-diagnosticsettingsname) | string | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | The name of the PostgreSQL flexible server. |
+| [`skuName`](#parameter-skuname) | string | The name of the sku, typically, tier + family + cores, e.g. Standard_D4s_v3. |
+| [`tier`](#parameter-tier) | string | The tier of the particular SKU. Tier must align with the "skuName" property. Example, tier cannot be "Burstable" if skuName is "Standard_D4s_v3". |
+
+**Conditional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`cMKKeyVaultResourceId`](#parameter-cmkkeyvaultresourceid) | string | The resource ID of a key vault to reference a customer managed key for encryption from. Required if 'cMKKeyName' is not empty. |
+| [`cMKUserAssignedIdentityResourceId`](#parameter-cmkuserassignedidentityresourceid) | string | User assigned identity to use when fetching the customer managed key. The identity should have key usage permissions on the Key Vault Key. Required if 'cMKKeyName' is not empty. |
+| [`pointInTimeUTC`](#parameter-pointintimeutc) | string | Required if "createMode" is set to "PointInTimeRestore". |
+| [`sourceServerResourceId`](#parameter-sourceserverresourceid) | string | Required if "createMode" is set to "PointInTimeRestore". |
+| [`userAssignedIdentities`](#parameter-userassignedidentities) | object | The ID(s) to assign to the resource. Required if 'cMKKeyName' is not empty. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`activeDirectoryAuth`](#parameter-activedirectoryauth) | string | If Enabled, Azure Active Directory authentication is enabled. |
+| [`administratorLogin`](#parameter-administratorlogin) | string | The administrator login name of a server. Can only be specified when the PostgreSQL server is being created. |
+| [`administratorLoginPassword`](#parameter-administratorloginpassword) | securestring | The administrator login password. |
+| [`administrators`](#parameter-administrators) | array | The Azure AD administrators when AAD authentication enabled. |
+| [`availabilityZone`](#parameter-availabilityzone) | string | Availability zone information of the server. Default will have no preference set. |
+| [`backupRetentionDays`](#parameter-backupretentiondays) | int | Backup retention days for the server. |
+| [`cMKKeyName`](#parameter-cmkkeyname) | string | The name of the customer managed key to use for encryption. |
+| [`cMKKeyVersion`](#parameter-cmkkeyversion) | string | The version of the customer managed key to reference for encryption. If not provided, the latest key version is used. |
+| [`configurations`](#parameter-configurations) | array | The configurations to create in the server. |
+| [`createMode`](#parameter-createmode) | string | The mode to create a new PostgreSQL server. |
+| [`databases`](#parameter-databases) | array | The databases to create in the server. |
+| [`delegatedSubnetResourceId`](#parameter-delegatedsubnetresourceid) | string | Delegated subnet arm resource ID. Used when the desired connectivity mode is "Private Access" - virtual network integration. |
+| [`diagnosticEventHubAuthorizationRuleId`](#parameter-diagnosticeventhubauthorizationruleid) | string | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
+| [`diagnosticEventHubName`](#parameter-diagnosticeventhubname) | string | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
+| [`diagnosticLogCategoriesToEnable`](#parameter-diagnosticlogcategoriestoenable) | array | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
+| [`diagnosticMetricsToEnable`](#parameter-diagnosticmetricstoenable) | array | The name of metrics that will be streamed. |
+| [`diagnosticSettingsName`](#parameter-diagnosticsettingsname) | string | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`applicationGroupType`](#parameter-applicationgrouptype) | string | The type of the Application Group to be created. Allowed values: RemoteApp or Desktop. |
+| [`hostpoolName`](#parameter-hostpoolname) | string | Name of the Host Pool to be linked to this Application Group. |
+| [`name`](#parameter-name) | string | Name of the Application Group to create this application in. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`applications`](#parameter-applications) | array | List of applications to be created in the Application Group. |
+| [`description`](#parameter-description) | string | The description of the Application Group to be created. |
+| [`diagnosticEventHubAuthorizationRuleId`](#parameter-diagnosticeventhubauthorizationruleid) | string | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
+| [`diagnosticEventHubName`](#parameter-diagnosticeventhubname) | string | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
+| [`diagnosticLogCategoriesToEnable`](#parameter-diagnosticlogcategoriestoenable) | array | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
+| [`diagnosticSettingsName`](#parameter-diagnosticsettingsname) | string | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | Name of the Host Pool. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`agentUpdate`](#parameter-agentupdate) | object | The session host configuration for updating agent, monitoring agent, and stack component. |
+| [`agentUpdateMaintenanceWindowDayOfWeek`](#parameter-agentupdatemaintenancewindowdayofweek) | string | Update day for scheduled agent updates. |
+| [`agentUpdateMaintenanceWindowHour`](#parameter-agentupdatemaintenancewindowhour) | int | Update hour for scheduled agent updates. |
+| [`agentUpdateMaintenanceWindows`](#parameter-agentupdatemaintenancewindows) | array | List of maintenance windows for scheduled agent updates. |
+| [`agentUpdateMaintenanceWindowTimeZone`](#parameter-agentupdatemaintenancewindowtimezone) | string | Time zone for scheduled agent updates. |
+| [`agentUpdateType`](#parameter-agentupdatetype) | string | Enable scheduled agent updates, Default means agent updates will automatically be installed by AVD when they become available. |
+| [`agentUpdateUseSessionHostLocalTime`](#parameter-agentupdateusesessionhostlocaltime) | bool | Whether to use localTime of the virtual machine for scheduled agent updates. |
+| [`customRdpProperty`](#parameter-customrdpproperty) | string | Host Pool RDP properties. |
+| [`description`](#parameter-description) | string | The description of the Host Pool to be created. |
+| [`diagnosticEventHubAuthorizationRuleId`](#parameter-diagnosticeventhubauthorizationruleid) | string | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
+| [`diagnosticEventHubName`](#parameter-diagnosticeventhubname) | string | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
+| [`diagnosticLogCategoriesToEnable`](#parameter-diagnosticlogcategoriestoenable) | array | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
+| [`diagnosticSettingsName`](#parameter-diagnosticsettingsname) | string | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | Name of the scaling plan. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`description`](#parameter-description) | string | Description of the scaling plan. |
+| [`diagnosticEventHubAuthorizationRuleId`](#parameter-diagnosticeventhubauthorizationruleid) | string | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
+| [`diagnosticEventHubName`](#parameter-diagnosticeventhubname) | string | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
+| [`diagnosticLogCategoriesToEnable`](#parameter-diagnosticlogcategoriestoenable) | array | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
+| [`diagnosticStorageAccountId`](#parameter-diagnosticstorageaccountid) | string | Resource ID of the diagnostic storage account. |
+| [`diagnosticWorkspaceId`](#parameter-diagnosticworkspaceid) | string | Resource ID of the diagnostic log analytics workspace. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`exclusionTag`](#parameter-exclusiontag) | string | Provide a tag to be used for hosts that should not be affected by the scaling plan. |
+| [`friendlyName`](#parameter-friendlyname) | string | Friendly Name of the scaling plan. |
+| [`hostPoolReferences`](#parameter-hostpoolreferences) | array | An array of references to hostpools. |
+| [`hostPoolType`](#parameter-hostpooltype) | string | The type of hostpool where this scaling plan should be applied. |
+| [`location`](#parameter-location) | string | Location for all resources. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalIds' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`schedules`](#parameter-schedules) | array | The schedules related to this scaling plan. If no value is provided a default schedule will be provided. |
+| [`tags`](#parameter-tags) | object | Tags of the resource. |
+| [`timeZone`](#parameter-timezone) | string | Timezone to be used for the scaling plan. |
+
+### Parameter: `description`
+
+Description of the scaling plan.
+- Required: No
+- Type: string
+- Default: `[parameters('name')]`
+
+### Parameter: `diagnosticEventHubAuthorizationRuleId`
+
+Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `diagnosticEventHubName`
+
+Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `diagnosticLogCategoriesToEnable`
+
+The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection.
+- Required: No
+- Type: array
+- Default: `[allLogs]`
+- Allowed: `['', allLogs, Autoscale]`
+
+### Parameter: `diagnosticStorageAccountId`
+
+Resource ID of the diagnostic storage account.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `diagnosticWorkspaceId`
+
+Resource ID of the diagnostic log analytics workspace.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `exclusionTag`
+
+Provide a tag to be used for hosts that should not be affected by the scaling plan.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `friendlyName`
+
+Friendly Name of the scaling plan.
+- Required: No
+- Type: string
+- Default: `[parameters('name')]`
+
+### Parameter: `hostPoolReferences`
+
+An array of references to hostpools.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `hostPoolType`
+
+The type of hostpool where this scaling plan should be applied.
+- Required: No
+- Type: string
+- Default: `'Pooled'`
+- Allowed: `[Pooled]`
+
+### Parameter: `location`
+
+Location for all resources.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `name`
+
+Name of the scaling plan.
+- Required: Yes
+- Type: string
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalIds' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `schedules`
+
+The schedules related to this scaling plan. If no value is provided a default schedule will be provided.
+- Required: No
+- Type: array
+- Default: `[System.Management.Automation.OrderedHashtable]`
+
+### Parameter: `tags`
+
+Tags of the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `timeZone`
+
+Timezone to be used for the scaling plan.
+- Required: No
+- Type: string
+- Default: `'W. Europe Standard Time'`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The name of the AVD scaling plan. |
+| `resourceGroupName` | string | The resource group the AVD scaling plan was deployed into. |
+| `resourceId` | string | The resource ID of the AVD scaling plan. |
+
+## Cross-referenced modules
+
+_None_
diff --git a/modules/desktop-virtualization/workspace/.test/common/main.test.bicep b/modules/desktop-virtualization/workspace/.test/common/main.test.bicep
index 6a603dc442..d98e112b0f 100644
--- a/modules/desktop-virtualization/workspace/.test/common/main.test.bicep
+++ b/modules/desktop-virtualization/workspace/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/desktop-virtualization/workspace/.test/min/main.test.bicep b/modules/desktop-virtualization/workspace/.test/min/main.test.bicep
index 845f5ef455..78df110582 100644
--- a/modules/desktop-virtualization/workspace/.test/min/main.test.bicep
+++ b/modules/desktop-virtualization/workspace/.test/min/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using only defaults'
+metadata description = 'This instance deploys the module with the minimum set of required parameters.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/desktop-virtualization/workspace/README.md b/modules/desktop-virtualization/workspace/README.md
index 6512110609..176ee1f214 100644
--- a/modules/desktop-virtualization/workspace/README.md
+++ b/modules/desktop-virtualization/workspace/README.md
@@ -4,13 +4,13 @@ This module deploys an Azure Virtual Desktop (AVD) Workspace.
## Navigation
-- [Resource types](#Resource-types)
+- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
-## Resource types
+## Resource Types
| Resource Type | API Version |
| :-- | :-- |
@@ -19,62 +19,28 @@ This module deploys an Azure Virtual Desktop (AVD) Workspace.
| `Microsoft.DesktopVirtualization/workspaces` | [2022-09-09](https://learn.microsoft.com/en-us/azure/templates/Microsoft.DesktopVirtualization/2022-09-09/workspaces) |
| `Microsoft.Insights/diagnosticSettings` | [2021-05-01-preview](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Insights/2021-05-01-preview/diagnosticSettings) |
-## Parameters
+## Usage examples
-**Required parameters**
+The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository.
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | The name of the workspace to be attach to new Application Group. |
+>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-**Optional parameters**
+>**Note**: To reference the module, please use the following syntax `br:bicep/modules/desktop-virtualization.workspace:1.0.0`.
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `appGroupResourceIds` | array | `[]` | | Resource IDs for the existing Application groups this workspace will group together. |
-| `description` | string | `''` | | The description of the Workspace to be created. |
-| `diagnosticEventHubAuthorizationRuleId` | string | `''` | | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
-| `diagnosticEventHubName` | string | `''` | | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
-| `diagnosticLogCategoriesToEnable` | array | `[allLogs]` | `['', allLogs, Checkpoint, Error, Feed, Management]` | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
-| `diagnosticSettingsName` | string | `''` | | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | The name of the workspace to be attach to new Application Group. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`appGroupResourceIds`](#parameter-appgroupresourceids) | array | Resource IDs for the existing Application groups this workspace will group together. |
+| [`description`](#parameter-description) | string | The description of the Workspace to be created. |
+| [`diagnosticEventHubAuthorizationRuleId`](#parameter-diagnosticeventhubauthorizationruleid) | string | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
+| [`diagnosticEventHubName`](#parameter-diagnosticeventhubname) | string | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
+| [`diagnosticLogCategoriesToEnable`](#parameter-diagnosticlogcategoriestoenable) | array | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
+| [`diagnosticSettingsName`](#parameter-diagnosticsettingsname) | string | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | The name of the lab. |
+
+**Conditional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`encryptionDiskEncryptionSetId`](#parameter-encryptiondiskencryptionsetid) | string | The Disk Encryption Set Resource ID used to encrypt OS and data disks created as part of the the lab. Required if encryptionType is set to "EncryptionAtRestWithCustomerKey". |
+| [`notificationchannels`](#parameter-notificationchannels) | array | Notification Channels to create for the lab. Required if the schedules property "notificationSettingsStatus" is set to "Enabled. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`announcement`](#parameter-announcement) | object | The properties of any lab announcement associated with this lab. |
+| [`artifactsources`](#parameter-artifactsources) | array | Artifact sources to create for the lab. |
+| [`artifactsStorageAccount`](#parameter-artifactsstorageaccount) | string | The resource ID of the storage account used to store artifacts and images by the lab. Also used for defaultStorageAccount, defaultPremiumStorageAccount and premiumDataDiskStorageAccount properties. If left empty, a default storage account will be created by the lab and used. |
+| [`browserConnect`](#parameter-browserconnect) | string | Enable browser connect on virtual machines if the lab's VNETs have configured Azure Bastion. |
+| [`costs`](#parameter-costs) | object | Costs to create for the lab. |
+| [`disableAutoUpgradeCseMinorVersion`](#parameter-disableautoupgradecseminorversion) | bool | Disable auto upgrade custom script extension minor version. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`encryptionType`](#parameter-encryptiontype) | string | Specify how OS and data disks created as part of the lab are encrypted. |
+| [`environmentPermission`](#parameter-environmentpermission) | string | The access rights to be granted to the user when provisioning an environment. |
+| [`extendedProperties`](#parameter-extendedproperties) | object | Extended properties of the lab used for experimental features. |
+| [`isolateLabResources`](#parameter-isolatelabresources) | string | Enable lab resources isolation from the public internet. |
+| [`labStorageType`](#parameter-labstoragetype) | string | Type of storage used by the lab. It can be either Premium or Standard. |
+| [`location`](#parameter-location) | string | Location for all Resources. |
+| [`lock`](#parameter-lock) | string | Specify the type of lock. |
+| [`managementIdentities`](#parameter-managementidentities) | object | The ID(s) to assign to the virtual machines associated with this lab. |
+| [`mandatoryArtifactsResourceIdsLinux`](#parameter-mandatoryartifactsresourceidslinux) | array | The ordered list of artifact resource IDs that should be applied on all Linux VM creations by default, prior to the artifacts specified by the user. |
+| [`mandatoryArtifactsResourceIdsWindows`](#parameter-mandatoryartifactsresourceidswindows) | array | The ordered list of artifact resource IDs that should be applied on all Windows VM creations by default, prior to the artifacts specified by the user. |
+| [`policies`](#parameter-policies) | array | Policies to create for the lab. |
+| [`premiumDataDisks`](#parameter-premiumdatadisks) | string | The setting to enable usage of premium data disks. When its value is "Enabled", creation of standard or premium data disks is allowed. When its value is "Disabled", only creation of standard data disks is allowed. Default is "Disabled". |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalIds' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`schedules`](#parameter-schedules) | array | Schedules to create for the lab. |
+| [`support`](#parameter-support) | object | The properties of any lab support message associated with this lab. |
+| [`tags`](#parameter-tags) | object | Tags of the resource. |
+| [`userAssignedIdentities`](#parameter-userassignedidentities) | object | The ID(s) to assign to the resource. |
+| [`virtualnetworks`](#parameter-virtualnetworks) | array | Virtual networks to create for the lab. |
+| [`vmCreationResourceGroupId`](#parameter-vmcreationresourcegroupid) | string | Resource Group allocation for virtual machines. If left empty, virtual machines will be deployed in their own Resource Groups. Default is the same Resource Group for DevTest Lab. |
+
+### Parameter: `announcement`
+
+The properties of any lab announcement associated with this lab.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `artifactsources`
+
+Artifact sources to create for the lab.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `artifactsStorageAccount`
+
+The resource ID of the storage account used to store artifacts and images by the lab. Also used for defaultStorageAccount, defaultPremiumStorageAccount and premiumDataDiskStorageAccount properties. If left empty, a default storage account will be created by the lab and used.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `browserConnect`
+
+Enable browser connect on virtual machines if the lab's VNETs have configured Azure Bastion.
+- Required: No
+- Type: string
+- Default: `'Disabled'`
+- Allowed: `[Disabled, Enabled]`
+
+### Parameter: `costs`
+
+Costs to create for the lab.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `disableAutoUpgradeCseMinorVersion`
+
+Disable auto upgrade custom script extension minor version.
+- Required: No
+- Type: bool
+- Default: `False`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `encryptionDiskEncryptionSetId`
+
+The Disk Encryption Set Resource ID used to encrypt OS and data disks created as part of the the lab. Required if encryptionType is set to "EncryptionAtRestWithCustomerKey".
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `encryptionType`
+
+Specify how OS and data disks created as part of the lab are encrypted.
+- Required: No
+- Type: string
+- Default: `'EncryptionAtRestWithPlatformKey'`
+- Allowed: `[EncryptionAtRestWithCustomerKey, EncryptionAtRestWithPlatformKey]`
+
+### Parameter: `environmentPermission`
+
+The access rights to be granted to the user when provisioning an environment.
+- Required: No
+- Type: string
+- Default: `'Reader'`
+- Allowed: `[Contributor, Reader]`
+
+### Parameter: `extendedProperties`
+
+Extended properties of the lab used for experimental features.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `isolateLabResources`
+
+Enable lab resources isolation from the public internet.
+- Required: No
+- Type: string
+- Default: `'Enabled'`
+- Allowed: `[Disabled, Enabled]`
+
+### Parameter: `labStorageType`
+
+Type of storage used by the lab. It can be either Premium or Standard.
+- Required: No
+- Type: string
+- Default: `'Premium'`
+- Allowed: `[Premium, Standard, StandardSSD]`
+
+### Parameter: `location`
+
+Location for all Resources.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `lock`
+
+Specify the type of lock.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', CanNotDelete, ReadOnly]`
+
+### Parameter: `managementIdentities`
+
+The ID(s) to assign to the virtual machines associated with this lab.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `mandatoryArtifactsResourceIdsLinux`
+
+The ordered list of artifact resource IDs that should be applied on all Linux VM creations by default, prior to the artifacts specified by the user.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `mandatoryArtifactsResourceIdsWindows`
+
+The ordered list of artifact resource IDs that should be applied on all Windows VM creations by default, prior to the artifacts specified by the user.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `name`
+
+The name of the lab.
+- Required: Yes
+- Type: string
+
+### Parameter: `notificationchannels`
+
+Notification Channels to create for the lab. Required if the schedules property "notificationSettingsStatus" is set to "Enabled.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `policies`
+
+Policies to create for the lab.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `premiumDataDisks`
+
+The setting to enable usage of premium data disks. When its value is "Enabled", creation of standard or premium data disks is allowed. When its value is "Disabled", only creation of standard data disks is allowed. Default is "Disabled".
+- Required: No
+- Type: string
+- Default: `'Disabled'`
+- Allowed: `[Disabled, Enabled]`
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalIds' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `schedules`
+
+Schedules to create for the lab.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `support`
+
+The properties of any lab support message associated with this lab.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `tags`
+
+Tags of the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `userAssignedIdentities`
+
+The ID(s) to assign to the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `virtualnetworks`
+
+Virtual networks to create for the lab.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `vmCreationResourceGroupId`
+
+Resource Group allocation for virtual machines. If left empty, virtual machines will be deployed in their own Resource Groups. Default is the same Resource Group for DevTest Lab.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().id]`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The name of the lab. |
+| `resourceGroupName` | string | The resource group the lab was deployed into. |
+| `resourceId` | string | The resource ID of the lab. |
+| `systemAssignedPrincipalId` | string | The principal ID of the system assigned identity. |
+| `uniqueIdentifier` | string | The unique identifier for the lab. Used to track tags that the lab applies to each resource that it creates. |
+
+## Cross-referenced modules
+
+_None_
diff --git a/modules/dev-test-lab/lab/artifactsource/README.md b/modules/dev-test-lab/lab/artifactsource/README.md
index 0318c83d13..26aa3c0d4f 100644
--- a/modules/dev-test-lab/lab/artifactsource/README.md
+++ b/modules/dev-test-lab/lab/artifactsource/README.md
@@ -21,35 +21,118 @@ An artifact source allows you to create custom artifacts for the VMs in the lab,
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `name` | string | The name of the artifact source. |
-| `uri` | string | The artifact source's URI. |
+| [`name`](#parameter-name) | string | The name of the artifact source. |
+| [`uri`](#parameter-uri) | string | The artifact source's URI. |
**Conditional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `armTemplateFolderPath` | string | `''` | The folder containing Azure Resource Manager templates. Required if "folderPath" is empty. |
-| `folderPath` | string | `''` | The folder containing artifacts. At least one folder path is required. Required if "armTemplateFolderPath" is empty. |
-| `labName` | string | | The name of the parent lab. Required if the template is used in a standalone deployment. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`armTemplateFolderPath`](#parameter-armtemplatefolderpath) | string | The folder containing Azure Resource Manager templates. Required if "folderPath" is empty. |
+| [`folderPath`](#parameter-folderpath) | string | The folder containing artifacts. At least one folder path is required. Required if "armTemplateFolderPath" is empty. |
+| [`labName`](#parameter-labname) | string | The name of the parent lab. Required if the template is used in a standalone deployment. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `branchRef` | string | `''` | | The artifact source's branch reference (e.g. main or master). |
-| `displayName` | string | `[parameters('name')]` | | The artifact source's display name. Default is the name of the artifact source. |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `securityToken` | securestring | `''` | | The security token to authenticate to the artifact source. |
-| `sourceType` | string | `''` | `['', GitHub, StorageAccount, VsoGit]` | The artifact source's type. |
-| `status` | string | `'Enabled'` | `[Disabled, Enabled]` | Indicates if the artifact source is enabled (values: Enabled, Disabled). Default is "Enabled". |
-| `tags` | object | `{object}` | | Tags of the resource. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`branchRef`](#parameter-branchref) | string | The artifact source's branch reference (e.g. main or master). |
+| [`displayName`](#parameter-displayname) | string | The artifact source's display name. Default is the name of the artifact source. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`securityToken`](#parameter-securitytoken) | securestring | The security token to authenticate to the artifact source. |
+| [`sourceType`](#parameter-sourcetype) | string | The artifact source's type. |
+| [`status`](#parameter-status) | string | Indicates if the artifact source is enabled (values: Enabled, Disabled). Default is "Enabled". |
+| [`tags`](#parameter-tags) | object | Tags of the resource. |
+
+### Parameter: `armTemplateFolderPath`
+
+The folder containing Azure Resource Manager templates. Required if "folderPath" is empty.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `branchRef`
+
+The artifact source's branch reference (e.g. main or master).
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `displayName`
+
+The artifact source's display name. Default is the name of the artifact source.
+- Required: No
+- Type: string
+- Default: `[parameters('name')]`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `folderPath`
+
+The folder containing artifacts. At least one folder path is required. Required if "armTemplateFolderPath" is empty.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `labName`
+
+The name of the parent lab. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
+
+### Parameter: `name`
+
+The name of the artifact source.
+- Required: Yes
+- Type: string
+
+### Parameter: `securityToken`
+
+The security token to authenticate to the artifact source.
+- Required: No
+- Type: securestring
+- Default: `''`
+
+### Parameter: `sourceType`
+
+The artifact source's type.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', GitHub, StorageAccount, VsoGit]`
+
+### Parameter: `status`
+
+Indicates if the artifact source is enabled (values: Enabled, Disabled). Default is "Enabled".
+- Required: No
+- Type: string
+- Default: `'Enabled'`
+- Allowed: `[Disabled, Enabled]`
+
+### Parameter: `tags`
+
+Tags of the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `uri`
+
+The artifact source's URI.
+- Required: Yes
+- Type: string
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The name of the artifact source. |
| `resourceGroupName` | string | The name of the resource group the artifact source was created in. |
diff --git a/modules/dev-test-lab/lab/artifactsource/main.json b/modules/dev-test-lab/lab/artifactsource/main.json
index 9056139395..946b4a505a 100644
--- a/modules/dev-test-lab/lab/artifactsource/main.json
+++ b/modules/dev-test-lab/lab/artifactsource/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "10765635521160351928"
+ "version": "0.22.6.54827",
+ "templateHash": "4180084937723506143"
},
"name": "DevTest Lab Artifact Sources",
"description": "This module deploys a DevTest Lab Artifact Source.\r\n\r\nAn artifact source allows you to create custom artifacts for the VMs in the lab, or use Azure Resource Manager templates to create a custom test environment. You must add a private Git repository for the artifacts or Resource Manager templates that your team creates. The repository can be hosted on GitHub or on Azure DevOps Services.",
diff --git a/modules/dev-test-lab/lab/cost/README.md b/modules/dev-test-lab/lab/cost/README.md
index 7ad70ef322..69d66fdbc7 100644
--- a/modules/dev-test-lab/lab/cost/README.md
+++ b/modules/dev-test-lab/lab/cost/README.md
@@ -21,42 +21,185 @@ Manage lab costs by setting a spending target that can be viewed in the Monthly
**Required parameters**
-| Parameter Name | Type | Allowed Values | Description |
-| :-- | :-- | :-- | :-- |
-| `cycleType` | string | `[CalendarMonth, Custom]` | Reporting cycle type. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`cycleType`](#parameter-cycletype) | string | Reporting cycle type. |
**Conditional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `cycleEndDateTime` | string | `''` | Reporting cycle end date in the zulu time format (e.g. 2023-12-01T00:00:00.000Z). Required if cycleType is set to "Custom". |
-| `cycleStartDateTime` | string | `''` | Reporting cycle start date in the zulu time format (e.g. 2023-12-01T00:00:00.000Z). Required if cycleType is set to "Custom". |
-| `labName` | string | | The name of the parent lab. Required if the template is used in a standalone deployment. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`cycleEndDateTime`](#parameter-cycleenddatetime) | string | Reporting cycle end date in the zulu time format (e.g. 2023-12-01T00:00:00.000Z). Required if cycleType is set to "Custom". |
+| [`cycleStartDateTime`](#parameter-cyclestartdatetime) | string | Reporting cycle start date in the zulu time format (e.g. 2023-12-01T00:00:00.000Z). Required if cycleType is set to "Custom". |
+| [`labName`](#parameter-labname) | string | The name of the parent lab. Required if the template is used in a standalone deployment. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `currencyCode` | string | `'USD'` | | The currency code of the cost. |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `status` | string | `'Enabled'` | `[Disabled, Enabled]` | Target cost status. |
-| `tags` | object | `{object}` | | Tags of the resource. |
-| `target` | int | `0` | | Lab target cost (e.g. 100). The target cost will appear in the "Cost trend" chart to allow tracking lab spending relative to the target cost for the current reporting cycleSetting the target cost to 0 will disable all thresholds. |
-| `thresholdValue100DisplayOnChart` | string | `'Disabled'` | `[Disabled, Enabled]` | Target Cost threshold at 100% display on chart. Indicates whether this threshold will be displayed on cost charts. |
-| `thresholdValue100SendNotificationWhenExceeded` | string | `'Disabled'` | `[Disabled, Enabled]` | Target cost threshold at 100% send notification when exceeded. Indicates whether notifications will be sent when this threshold is exceeded. |
-| `thresholdValue125DisplayOnChart` | string | `'Disabled'` | `[Disabled, Enabled]` | Target Cost threshold at 125% display on chart. Indicates whether this threshold will be displayed on cost charts. |
-| `thresholdValue125SendNotificationWhenExceeded` | string | `'Disabled'` | `[Disabled, Enabled]` | Target cost threshold at 125% send notification when exceeded. Indicates whether notifications will be sent when this threshold is exceeded. |
-| `thresholdValue25DisplayOnChart` | string | `'Disabled'` | `[Disabled, Enabled]` | Target Cost threshold at 25% display on chart. Indicates whether this threshold will be displayed on cost charts. |
-| `thresholdValue25SendNotificationWhenExceeded` | string | `'Disabled'` | `[Disabled, Enabled]` | Target cost threshold at 25% send notification when exceeded. Indicates whether notifications will be sent when this threshold is exceeded. |
-| `thresholdValue50DisplayOnChart` | string | `'Disabled'` | `[Disabled, Enabled]` | Target Cost threshold at 50% display on chart. Indicates whether this threshold will be displayed on cost charts. |
-| `thresholdValue50SendNotificationWhenExceeded` | string | `'Disabled'` | `[Disabled, Enabled]` | Target cost threshold at 50% send notification when exceeded. Indicates whether notifications will be sent when this threshold is exceeded. |
-| `thresholdValue75DisplayOnChart` | string | `'Disabled'` | `[Disabled, Enabled]` | Target Cost threshold at 75% display on chart. Indicates whether this threshold will be displayed on cost charts. |
-| `thresholdValue75SendNotificationWhenExceeded` | string | `'Disabled'` | `[Disabled, Enabled]` | Target cost threshold at 75% send notification when exceeded. Indicates whether notifications will be sent when this threshold is exceeded. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`currencyCode`](#parameter-currencycode) | string | The currency code of the cost. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`status`](#parameter-status) | string | Target cost status. |
+| [`tags`](#parameter-tags) | object | Tags of the resource. |
+| [`target`](#parameter-target) | int | Lab target cost (e.g. 100). The target cost will appear in the "Cost trend" chart to allow tracking lab spending relative to the target cost for the current reporting cycleSetting the target cost to 0 will disable all thresholds. |
+| [`thresholdValue100DisplayOnChart`](#parameter-thresholdvalue100displayonchart) | string | Target Cost threshold at 100% display on chart. Indicates whether this threshold will be displayed on cost charts. |
+| [`thresholdValue100SendNotificationWhenExceeded`](#parameter-thresholdvalue100sendnotificationwhenexceeded) | string | Target cost threshold at 100% send notification when exceeded. Indicates whether notifications will be sent when this threshold is exceeded. |
+| [`thresholdValue125DisplayOnChart`](#parameter-thresholdvalue125displayonchart) | string | Target Cost threshold at 125% display on chart. Indicates whether this threshold will be displayed on cost charts. |
+| [`thresholdValue125SendNotificationWhenExceeded`](#parameter-thresholdvalue125sendnotificationwhenexceeded) | string | Target cost threshold at 125% send notification when exceeded. Indicates whether notifications will be sent when this threshold is exceeded. |
+| [`thresholdValue25DisplayOnChart`](#parameter-thresholdvalue25displayonchart) | string | Target Cost threshold at 25% display on chart. Indicates whether this threshold will be displayed on cost charts. |
+| [`thresholdValue25SendNotificationWhenExceeded`](#parameter-thresholdvalue25sendnotificationwhenexceeded) | string | Target cost threshold at 25% send notification when exceeded. Indicates whether notifications will be sent when this threshold is exceeded. |
+| [`thresholdValue50DisplayOnChart`](#parameter-thresholdvalue50displayonchart) | string | Target Cost threshold at 50% display on chart. Indicates whether this threshold will be displayed on cost charts. |
+| [`thresholdValue50SendNotificationWhenExceeded`](#parameter-thresholdvalue50sendnotificationwhenexceeded) | string | Target cost threshold at 50% send notification when exceeded. Indicates whether notifications will be sent when this threshold is exceeded. |
+| [`thresholdValue75DisplayOnChart`](#parameter-thresholdvalue75displayonchart) | string | Target Cost threshold at 75% display on chart. Indicates whether this threshold will be displayed on cost charts. |
+| [`thresholdValue75SendNotificationWhenExceeded`](#parameter-thresholdvalue75sendnotificationwhenexceeded) | string | Target cost threshold at 75% send notification when exceeded. Indicates whether notifications will be sent when this threshold is exceeded. |
+
+### Parameter: `currencyCode`
+
+The currency code of the cost.
+- Required: No
+- Type: string
+- Default: `'USD'`
+
+### Parameter: `cycleEndDateTime`
+
+Reporting cycle end date in the zulu time format (e.g. 2023-12-01T00:00:00.000Z). Required if cycleType is set to "Custom".
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `cycleStartDateTime`
+
+Reporting cycle start date in the zulu time format (e.g. 2023-12-01T00:00:00.000Z). Required if cycleType is set to "Custom".
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `cycleType`
+
+Reporting cycle type.
+- Required: Yes
+- Type: string
+- Allowed: `[CalendarMonth, Custom]`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `labName`
+
+The name of the parent lab. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
+
+### Parameter: `status`
+
+Target cost status.
+- Required: No
+- Type: string
+- Default: `'Enabled'`
+- Allowed: `[Disabled, Enabled]`
+
+### Parameter: `tags`
+
+Tags of the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `target`
+
+Lab target cost (e.g. 100). The target cost will appear in the "Cost trend" chart to allow tracking lab spending relative to the target cost for the current reporting cycleSetting the target cost to 0 will disable all thresholds.
+- Required: No
+- Type: int
+- Default: `0`
+
+### Parameter: `thresholdValue100DisplayOnChart`
+
+Target Cost threshold at 100% display on chart. Indicates whether this threshold will be displayed on cost charts.
+- Required: No
+- Type: string
+- Default: `'Disabled'`
+- Allowed: `[Disabled, Enabled]`
+
+### Parameter: `thresholdValue100SendNotificationWhenExceeded`
+
+Target cost threshold at 100% send notification when exceeded. Indicates whether notifications will be sent when this threshold is exceeded.
+- Required: No
+- Type: string
+- Default: `'Disabled'`
+- Allowed: `[Disabled, Enabled]`
+
+### Parameter: `thresholdValue125DisplayOnChart`
+
+Target Cost threshold at 125% display on chart. Indicates whether this threshold will be displayed on cost charts.
+- Required: No
+- Type: string
+- Default: `'Disabled'`
+- Allowed: `[Disabled, Enabled]`
+
+### Parameter: `thresholdValue125SendNotificationWhenExceeded`
+
+Target cost threshold at 125% send notification when exceeded. Indicates whether notifications will be sent when this threshold is exceeded.
+- Required: No
+- Type: string
+- Default: `'Disabled'`
+- Allowed: `[Disabled, Enabled]`
+
+### Parameter: `thresholdValue25DisplayOnChart`
+
+Target Cost threshold at 25% display on chart. Indicates whether this threshold will be displayed on cost charts.
+- Required: No
+- Type: string
+- Default: `'Disabled'`
+- Allowed: `[Disabled, Enabled]`
+
+### Parameter: `thresholdValue25SendNotificationWhenExceeded`
+
+Target cost threshold at 25% send notification when exceeded. Indicates whether notifications will be sent when this threshold is exceeded.
+- Required: No
+- Type: string
+- Default: `'Disabled'`
+- Allowed: `[Disabled, Enabled]`
+
+### Parameter: `thresholdValue50DisplayOnChart`
+
+Target Cost threshold at 50% display on chart. Indicates whether this threshold will be displayed on cost charts.
+- Required: No
+- Type: string
+- Default: `'Disabled'`
+- Allowed: `[Disabled, Enabled]`
+
+### Parameter: `thresholdValue50SendNotificationWhenExceeded`
+
+Target cost threshold at 50% send notification when exceeded. Indicates whether notifications will be sent when this threshold is exceeded.
+- Required: No
+- Type: string
+- Default: `'Disabled'`
+- Allowed: `[Disabled, Enabled]`
+
+### Parameter: `thresholdValue75DisplayOnChart`
+
+Target Cost threshold at 75% display on chart. Indicates whether this threshold will be displayed on cost charts.
+- Required: No
+- Type: string
+- Default: `'Disabled'`
+- Allowed: `[Disabled, Enabled]`
+
+### Parameter: `thresholdValue75SendNotificationWhenExceeded`
+
+Target cost threshold at 75% send notification when exceeded. Indicates whether notifications will be sent when this threshold is exceeded.
+- Required: No
+- Type: string
+- Default: `'Disabled'`
+- Allowed: `[Disabled, Enabled]`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The name of the cost. |
| `resourceGroupName` | string | The name of the resource group the cost was created in. |
diff --git a/modules/dev-test-lab/lab/cost/main.json b/modules/dev-test-lab/lab/cost/main.json
index 5c385935d5..89f70cfd1f 100644
--- a/modules/dev-test-lab/lab/cost/main.json
+++ b/modules/dev-test-lab/lab/cost/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "4166206931202072952"
+ "version": "0.22.6.54827",
+ "templateHash": "17587308196408831883"
},
"name": "DevTest Lab Costs",
"description": "This module deploys a DevTest Lab Cost.\r\n\r\nManage lab costs by setting a spending target that can be viewed in the Monthly Estimated Cost Trend chart. DevTest Labs can send a notification when spending reaches the specified target threshold.",
diff --git a/modules/dev-test-lab/lab/main.json b/modules/dev-test-lab/lab/main.json
index a8f2ba4948..a83a20dd30 100644
--- a/modules/dev-test-lab/lab/main.json
+++ b/modules/dev-test-lab/lab/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "11215744490422832347"
+ "version": "0.22.6.54827",
+ "templateHash": "12564230212135431557"
},
"name": "DevTest Labs",
"description": "This module deploys a DevTest Lab.",
@@ -347,8 +347,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "10585523023574394931"
+ "version": "0.22.6.54827",
+ "templateHash": "5213684482874022181"
},
"name": "DevTest Lab Virtual Networks",
"description": "This module deploys a DevTest Lab Virtual Network.\r\n\r\nLab virtual machines must be deployed into a virtual network. This resource type allows configuring the virtual network and subnet settings used for the lab virtual machines.",
@@ -511,8 +511,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "8971513022315177152"
+ "version": "0.22.6.54827",
+ "templateHash": "7402281637422771358"
},
"name": "DevTest Lab Policy Sets Policies",
"description": "This module deploys a DevTest Lab Policy Sets Policy.\r\n\r\nDevTest lab policies are used to modify the lab settings such as only allowing certain VM Size SKUs, marketplace image types, number of VMs allowed per user and other settings.",
@@ -715,8 +715,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "12263098724597801740"
+ "version": "0.22.6.54827",
+ "templateHash": "853057685884144049"
},
"name": "DevTest Lab Schedules",
"description": "This module deploys a DevTest Lab Schedule.\r\n\r\nLab schedules are used to modify the settings for auto-shutdown, auto-start for lab virtual machines.",
@@ -929,8 +929,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "17695938428337610065"
+ "version": "0.22.6.54827",
+ "templateHash": "7575060424945865003"
},
"name": "DevTest Lab Notification Channels",
"description": "This module deploys a DevTest Lab Notification Channel.\r\n\r\nNotification channels are used by the schedule resource type in order to send notifications or events to email addresses and/or webhooks.",
@@ -1103,8 +1103,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "9073888459731266435"
+ "version": "0.22.6.54827",
+ "templateHash": "4180084937723506143"
},
"name": "DevTest Lab Artifact Sources",
"description": "This module deploys a DevTest Lab Artifact Source.\r\n\r\nAn artifact source allows you to create custom artifacts for the VMs in the lab, or use Azure Resource Manager templates to create a custom test environment. You must add a private Git repository for the artifacts or Resource Manager templates that your team creates. The repository can be hosted on GitHub or on Azure DevOps Services.",
@@ -1309,8 +1309,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "15716544808866806342"
+ "version": "0.22.6.54827",
+ "templateHash": "17587308196408831883"
},
"name": "DevTest Lab Costs",
"description": "This module deploys a DevTest Lab Cost.\r\n\r\nManage lab costs by setting a spending target that can be viewed in the Monthly Estimated Cost Trend chart. DevTest Labs can send a notification when spending reaches the specified target threshold.",
@@ -1636,8 +1636,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "4976650846797191229"
+ "version": "0.22.6.54827",
+ "templateHash": "5435640009728678460"
}
},
"parameters": {
diff --git a/modules/dev-test-lab/lab/notificationchannel/README.md b/modules/dev-test-lab/lab/notificationchannel/README.md
index 432c8b1d1b..d78d419ad8 100644
--- a/modules/dev-test-lab/lab/notificationchannel/README.md
+++ b/modules/dev-test-lab/lab/notificationchannel/README.md
@@ -21,32 +21,94 @@ Notification channels are used by the schedule resource type in order to send no
**Required parameters**
-| Parameter Name | Type | Allowed Values | Description |
-| :-- | :-- | :-- | :-- |
-| `events` | array | | The list of event for which this notification is enabled. |
-| `name` | string | `[autoShutdown, costThreshold]` | The name of the notification channel. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`events`](#parameter-events) | array | The list of event for which this notification is enabled. |
+| [`name`](#parameter-name) | string | The name of the notification channel. |
**Conditional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `emailRecipient` | string | `''` | The email recipient to send notifications to (can be a list of semi-colon separated email addresses). Required if "webHookUrl" is empty. |
-| `labName` | string | | The name of the parent lab. Required if the template is used in a standalone deployment. |
-| `webHookUrl` | string | `''` | The webhook URL to which the notification will be sent. Required if "emailRecipient" is empty. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`emailRecipient`](#parameter-emailrecipient) | string | The email recipient to send notifications to (can be a list of semi-colon separated email addresses). Required if "webHookUrl" is empty. |
+| [`labName`](#parameter-labname) | string | The name of the parent lab. Required if the template is used in a standalone deployment. |
+| [`webHookUrl`](#parameter-webhookurl) | string | The webhook URL to which the notification will be sent. Required if "emailRecipient" is empty. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `description` | string | `''` | Description of notification. |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `notificationLocale` | string | `'en'` | The locale to use when sending a notification (fallback for unsupported languages is EN). |
-| `tags` | object | `{object}` | Tags of the resource. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`description`](#parameter-description) | string | Description of notification. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`notificationLocale`](#parameter-notificationlocale) | string | The locale to use when sending a notification (fallback for unsupported languages is EN). |
+| [`tags`](#parameter-tags) | object | Tags of the resource. |
+
+### Parameter: `description`
+
+Description of notification.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `emailRecipient`
+
+The email recipient to send notifications to (can be a list of semi-colon separated email addresses). Required if "webHookUrl" is empty.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `events`
+
+The list of event for which this notification is enabled.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `labName`
+
+The name of the parent lab. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
+
+### Parameter: `name`
+
+The name of the notification channel.
+- Required: Yes
+- Type: string
+- Allowed: `[autoShutdown, costThreshold]`
+
+### Parameter: `notificationLocale`
+
+The locale to use when sending a notification (fallback for unsupported languages is EN).
+- Required: No
+- Type: string
+- Default: `'en'`
+
+### Parameter: `tags`
+
+Tags of the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `webHookUrl`
+
+The webhook URL to which the notification will be sent. Required if "emailRecipient" is empty.
+- Required: No
+- Type: string
+- Default: `''`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The name of the notification channel. |
| `resourceGroupName` | string | The name of the resource group the notification channel was created in. |
diff --git a/modules/dev-test-lab/lab/notificationchannel/main.json b/modules/dev-test-lab/lab/notificationchannel/main.json
index 0a723cda14..6251464ffc 100644
--- a/modules/dev-test-lab/lab/notificationchannel/main.json
+++ b/modules/dev-test-lab/lab/notificationchannel/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "16877948453352231958"
+ "version": "0.22.6.54827",
+ "templateHash": "7575060424945865003"
},
"name": "DevTest Lab Notification Channels",
"description": "This module deploys a DevTest Lab Notification Channel.\r\n\r\nNotification channels are used by the schedule resource type in order to send notifications or events to email addresses and/or webhooks.",
diff --git a/modules/dev-test-lab/lab/policyset/policy/README.md b/modules/dev-test-lab/lab/policyset/policy/README.md
index fcf05efe7c..cc9746dea5 100644
--- a/modules/dev-test-lab/lab/policyset/policy/README.md
+++ b/modules/dev-test-lab/lab/policyset/policy/README.md
@@ -21,34 +21,109 @@ DevTest lab policies are used to modify the lab settings such as only allowing c
**Required parameters**
-| Parameter Name | Type | Allowed Values | Description |
-| :-- | :-- | :-- | :-- |
-| `evaluatorType` | string | `[AllowedValuesPolicy, MaxValuePolicy]` | The evaluator type of the policy (i.e. AllowedValuesPolicy, MaxValuePolicy). |
-| `factName` | string | `[EnvironmentTemplate, GalleryImage, LabPremiumVmCount, LabTargetCost, LabVmCount, LabVmSize, ScheduleEditPermission, UserOwnedLabPremiumVmCount, UserOwnedLabVmCount, UserOwnedLabVmCountInSubnet]` | The fact name of the policy. |
-| `name` | string | | The name of the policy. |
-| `threshold` | string | | The threshold of the policy (i.e. a number for MaxValuePolicy, and a JSON array of values for AllowedValuesPolicy). |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`evaluatorType`](#parameter-evaluatortype) | string | The evaluator type of the policy (i.e. AllowedValuesPolicy, MaxValuePolicy). |
+| [`factName`](#parameter-factname) | string | The fact name of the policy. |
+| [`name`](#parameter-name) | string | The name of the policy. |
+| [`threshold`](#parameter-threshold) | string | The threshold of the policy (i.e. a number for MaxValuePolicy, and a JSON array of values for AllowedValuesPolicy). |
**Conditional parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `labName` | string | The name of the parent lab. Required if the template is used in a standalone deployment. |
+| [`labName`](#parameter-labname) | string | The name of the parent lab. Required if the template is used in a standalone deployment. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `description` | string | `''` | | The description of the policy. |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `factData` | string | `''` | | The fact data of the policy. |
-| `policySetName` | string | `'default'` | | The name of the parent policy set. |
-| `status` | string | `'Enabled'` | `[Disabled, Enabled]` | The status of the policy. |
-| `tags` | object | `{object}` | | Tags of the resource. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`description`](#parameter-description) | string | The description of the policy. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`factData`](#parameter-factdata) | string | The fact data of the policy. |
+| [`policySetName`](#parameter-policysetname) | string | The name of the parent policy set. |
+| [`status`](#parameter-status) | string | The status of the policy. |
+| [`tags`](#parameter-tags) | object | Tags of the resource. |
+
+### Parameter: `description`
+
+The description of the policy.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `evaluatorType`
+
+The evaluator type of the policy (i.e. AllowedValuesPolicy, MaxValuePolicy).
+- Required: Yes
+- Type: string
+- Allowed: `[AllowedValuesPolicy, MaxValuePolicy]`
+
+### Parameter: `factData`
+
+The fact data of the policy.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `factName`
+
+The fact name of the policy.
+- Required: Yes
+- Type: string
+- Allowed: `[EnvironmentTemplate, GalleryImage, LabPremiumVmCount, LabTargetCost, LabVmCount, LabVmSize, ScheduleEditPermission, UserOwnedLabPremiumVmCount, UserOwnedLabVmCount, UserOwnedLabVmCountInSubnet]`
+
+### Parameter: `labName`
+
+The name of the parent lab. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
+
+### Parameter: `name`
+
+The name of the policy.
+- Required: Yes
+- Type: string
+
+### Parameter: `policySetName`
+
+The name of the parent policy set.
+- Required: No
+- Type: string
+- Default: `'default'`
+
+### Parameter: `status`
+
+The status of the policy.
+- Required: No
+- Type: string
+- Default: `'Enabled'`
+- Allowed: `[Disabled, Enabled]`
+
+### Parameter: `tags`
+
+Tags of the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `threshold`
+
+The threshold of the policy (i.e. a number for MaxValuePolicy, and a JSON array of values for AllowedValuesPolicy).
+- Required: Yes
+- Type: string
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The name of the policy. |
| `resourceGroupName` | string | The name of the resource group the policy was created in. |
diff --git a/modules/dev-test-lab/lab/policyset/policy/main.json b/modules/dev-test-lab/lab/policyset/policy/main.json
index 5f4ddafad9..18e4b827e3 100644
--- a/modules/dev-test-lab/lab/policyset/policy/main.json
+++ b/modules/dev-test-lab/lab/policyset/policy/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "9961899772573814013"
+ "version": "0.22.6.54827",
+ "templateHash": "7402281637422771358"
},
"name": "DevTest Lab Policy Sets Policies",
"description": "This module deploys a DevTest Lab Policy Sets Policy.\r\n\r\nDevTest lab policies are used to modify the lab settings such as only allowing certain VM Size SKUs, marketplace image types, number of VMs allowed per user and other settings.",
diff --git a/modules/dev-test-lab/lab/schedule/README.md b/modules/dev-test-lab/lab/schedule/README.md
index 181ecedd78..5d197319c3 100644
--- a/modules/dev-test-lab/lab/schedule/README.md
+++ b/modules/dev-test-lab/lab/schedule/README.md
@@ -21,36 +21,128 @@ Lab schedules are used to modify the settings for auto-shutdown, auto-start for
**Required parameters**
-| Parameter Name | Type | Allowed Values | Description |
-| :-- | :-- | :-- | :-- |
-| `name` | string | `[LabVmAutoStart, LabVmsShutdown]` | The name of the schedule. |
-| `taskType` | string | `[LabVmsShutdownTask, LabVmsStartupTask]` | The task type of the schedule (e.g. LabVmsShutdownTask, LabVmsStartupTask). |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | The name of the schedule. |
+| [`taskType`](#parameter-tasktype) | string | The task type of the schedule (e.g. LabVmsShutdownTask, LabVmsStartupTask). |
**Conditional parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `labName` | string | The name of the parent lab. Required if the template is used in a standalone deployment. |
+| [`labName`](#parameter-labname) | string | The name of the parent lab. Required if the template is used in a standalone deployment. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `dailyRecurrence` | object | `{object}` | | If the schedule will occur once each day of the week, specify the daily recurrence. |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `hourlyRecurrence` | object | `{object}` | | If the schedule will occur multiple times a day, specify the hourly recurrence. |
-| `notificationSettingsStatus` | string | `'Disabled'` | `[Disabled, Enabled]` | If notifications are enabled for this schedule (i.e. Enabled, Disabled). |
-| `notificationSettingsTimeInMinutes` | int | `30` | | Time in minutes before event at which notification will be sent. Optional if "notificationSettingsStatus" is set to "Enabled". Default is 30 minutes. |
-| `status` | string | `'Enabled'` | `[Disabled, Enabled]` | The status of the schedule (i.e. Enabled, Disabled). |
-| `tags` | object | `{object}` | | Tags of the resource. |
-| `targetResourceId` | string | `''` | | The resource ID to which the schedule belongs. |
-| `timeZoneId` | string | `'Pacific Standard time'` | | The time zone ID (e.g. Pacific Standard time). |
-| `weeklyRecurrence` | object | `{object}` | | If the schedule will occur only some days of the week, specify the weekly recurrence. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`dailyRecurrence`](#parameter-dailyrecurrence) | object | If the schedule will occur once each day of the week, specify the daily recurrence. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`hourlyRecurrence`](#parameter-hourlyrecurrence) | object | If the schedule will occur multiple times a day, specify the hourly recurrence. |
+| [`notificationSettingsStatus`](#parameter-notificationsettingsstatus) | string | If notifications are enabled for this schedule (i.e. Enabled, Disabled). |
+| [`notificationSettingsTimeInMinutes`](#parameter-notificationsettingstimeinminutes) | int | Time in minutes before event at which notification will be sent. Optional if "notificationSettingsStatus" is set to "Enabled". Default is 30 minutes. |
+| [`status`](#parameter-status) | string | The status of the schedule (i.e. Enabled, Disabled). |
+| [`tags`](#parameter-tags) | object | Tags of the resource. |
+| [`targetResourceId`](#parameter-targetresourceid) | string | The resource ID to which the schedule belongs. |
+| [`timeZoneId`](#parameter-timezoneid) | string | The time zone ID (e.g. Pacific Standard time). |
+| [`weeklyRecurrence`](#parameter-weeklyrecurrence) | object | If the schedule will occur only some days of the week, specify the weekly recurrence. |
+
+### Parameter: `dailyRecurrence`
+
+If the schedule will occur once each day of the week, specify the daily recurrence.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `hourlyRecurrence`
+
+If the schedule will occur multiple times a day, specify the hourly recurrence.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `labName`
+
+The name of the parent lab. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
+
+### Parameter: `name`
+
+The name of the schedule.
+- Required: Yes
+- Type: string
+- Allowed: `[LabVmAutoStart, LabVmsShutdown]`
+
+### Parameter: `notificationSettingsStatus`
+
+If notifications are enabled for this schedule (i.e. Enabled, Disabled).
+- Required: No
+- Type: string
+- Default: `'Disabled'`
+- Allowed: `[Disabled, Enabled]`
+
+### Parameter: `notificationSettingsTimeInMinutes`
+
+Time in minutes before event at which notification will be sent. Optional if "notificationSettingsStatus" is set to "Enabled". Default is 30 minutes.
+- Required: No
+- Type: int
+- Default: `30`
+
+### Parameter: `status`
+
+The status of the schedule (i.e. Enabled, Disabled).
+- Required: No
+- Type: string
+- Default: `'Enabled'`
+- Allowed: `[Disabled, Enabled]`
+
+### Parameter: `tags`
+
+Tags of the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `targetResourceId`
+
+The resource ID to which the schedule belongs.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `taskType`
+
+The task type of the schedule (e.g. LabVmsShutdownTask, LabVmsStartupTask).
+- Required: Yes
+- Type: string
+- Allowed: `[LabVmsShutdownTask, LabVmsStartupTask]`
+
+### Parameter: `timeZoneId`
+
+The time zone ID (e.g. Pacific Standard time).
+- Required: No
+- Type: string
+- Default: `'Pacific Standard time'`
+
+### Parameter: `weeklyRecurrence`
+
+If the schedule will occur only some days of the week, specify the weekly recurrence.
+- Required: No
+- Type: object
+- Default: `{object}`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The name of the schedule. |
| `resourceGroupName` | string | The name of the resource group the schedule was created in. |
diff --git a/modules/dev-test-lab/lab/schedule/main.json b/modules/dev-test-lab/lab/schedule/main.json
index a4efd42401..96c2fa8537 100644
--- a/modules/dev-test-lab/lab/schedule/main.json
+++ b/modules/dev-test-lab/lab/schedule/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "12427678703978539260"
+ "version": "0.22.6.54827",
+ "templateHash": "853057685884144049"
},
"name": "DevTest Lab Schedules",
"description": "This module deploys a DevTest Lab Schedule.\r\n\r\nLab schedules are used to modify the settings for auto-shutdown, auto-start for lab virtual machines.",
diff --git a/modules/dev-test-lab/lab/virtualnetwork/README.md b/modules/dev-test-lab/lab/virtualnetwork/README.md
index cb4f24b6dd..c2eaf8a2bc 100644
--- a/modules/dev-test-lab/lab/virtualnetwork/README.md
+++ b/modules/dev-test-lab/lab/virtualnetwork/README.md
@@ -21,31 +21,84 @@ Lab virtual machines must be deployed into a virtual network. This resource type
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `externalProviderResourceId` | string | The resource ID of the virtual network. |
-| `name` | string | The name of the virtual network. |
+| [`externalProviderResourceId`](#parameter-externalproviderresourceid) | string | The resource ID of the virtual network. |
+| [`name`](#parameter-name) | string | The name of the virtual network. |
**Conditional parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `labName` | string | The name of the parent lab. Required if the template is used in a standalone deployment. |
+| [`labName`](#parameter-labname) | string | The name of the parent lab. Required if the template is used in a standalone deployment. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `allowedSubnets` | array | `[]` | The allowed subnets of the virtual network. |
-| `description` | string | `''` | The description of the virtual network. |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `subnetOverrides` | array | `[]` | The subnet overrides of the virtual network. |
-| `tags` | object | `{object}` | Tags of the resource. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`allowedSubnets`](#parameter-allowedsubnets) | array | The allowed subnets of the virtual network. |
+| [`description`](#parameter-description) | string | The description of the virtual network. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`subnetOverrides`](#parameter-subnetoverrides) | array | The subnet overrides of the virtual network. |
+| [`tags`](#parameter-tags) | object | Tags of the resource. |
+
+### Parameter: `allowedSubnets`
+
+The allowed subnets of the virtual network.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `description`
+
+The description of the virtual network.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `externalProviderResourceId`
+
+The resource ID of the virtual network.
+- Required: Yes
+- Type: string
+
+### Parameter: `labName`
+
+The name of the parent lab. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
+
+### Parameter: `name`
+
+The name of the virtual network.
+- Required: Yes
+- Type: string
+
+### Parameter: `subnetOverrides`
+
+The subnet overrides of the virtual network.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `tags`
+
+Tags of the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The name of the lab virtual network. |
| `resourceGroupName` | string | The name of the resource group the lab virtual network was created in. |
diff --git a/modules/dev-test-lab/lab/virtualnetwork/main.json b/modules/dev-test-lab/lab/virtualnetwork/main.json
index 1449aed564..71e0cb54e5 100644
--- a/modules/dev-test-lab/lab/virtualnetwork/main.json
+++ b/modules/dev-test-lab/lab/virtualnetwork/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "3541849489263903716"
+ "version": "0.22.6.54827",
+ "templateHash": "5213684482874022181"
},
"name": "DevTest Lab Virtual Networks",
"description": "This module deploys a DevTest Lab Virtual Network.\r\n\r\nLab virtual machines must be deployed into a virtual network. This resource type allows configuring the virtual network and subnet settings used for the lab virtual machines.",
diff --git a/modules/digital-twins/digital-twins-instance/.test/common/main.test.bicep b/modules/digital-twins/digital-twins-instance/.test/common/main.test.bicep
index 73b4bd8fae..fceb1ad4b6 100644
--- a/modules/digital-twins/digital-twins-instance/.test/common/main.test.bicep
+++ b/modules/digital-twins/digital-twins-instance/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/digital-twins/digital-twins-instance/.test/min/main.test.bicep b/modules/digital-twins/digital-twins-instance/.test/min/main.test.bicep
index e923ca1679..f970096185 100644
--- a/modules/digital-twins/digital-twins-instance/.test/min/main.test.bicep
+++ b/modules/digital-twins/digital-twins-instance/.test/min/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using only defaults'
+metadata description = 'This instance deploys the module with the minimum set of required parameters.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/digital-twins/digital-twins-instance/README.md b/modules/digital-twins/digital-twins-instance/README.md
index b7fd3b5123..7c92db6dec 100644
--- a/modules/digital-twins/digital-twins-instance/README.md
+++ b/modules/digital-twins/digital-twins-instance/README.md
@@ -5,10 +5,10 @@ This module deploys an Azure Digital Twins Instance.
## Navigation
- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
## Resource Types
@@ -23,72 +23,28 @@ This module deploys an Azure Digital Twins Instance.
| `Microsoft.Network/privateEndpoints` | [2023-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2023-04-01/privateEndpoints) |
| `Microsoft.Network/privateEndpoints/privateDnsZoneGroups` | [2023-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2023-04-01/privateEndpoints/privateDnsZoneGroups) |
-## Parameters
-
-**Required parameters**
-
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | The name of the Digital Twin Instance. |
-
-**Optional parameters**
-
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `diagnosticEventHubAuthorizationRuleId` | string | `''` | | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
-| `diagnosticEventHubName` | string | `''` | | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. For security reasons, it is recommended to set diagnostic settings to send data to either storage account, log analytics workspace or event hub. |
-| `diagnosticLogCategoriesToEnable` | array | `[allLogs]` | `['', allLogs, DataHistoryOperation, DigitalTwinsOperation, EventRoutesOperation, ModelsOperation, QueryOperation, ResourceProviderOperation]` | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
-| `diagnosticMetricsToEnable` | array | `[AllMetrics]` | `[AllMetrics]` | The name of metrics that will be streamed. |
-| `diagnosticSettingsName` | string | `[format('{0}-diagnosticSettings', parameters('name'))]` | | The name of the diagnostic setting, if deployed. |
-| `diagnosticStorageAccountId` | string | `''` | | Resource ID of the diagnostic storage account. For security reasons, it is recommended to set diagnostic settings to send data to either storage account, log analytics workspace or event hub. |
-| `diagnosticWorkspaceId` | string | `''` | | Resource ID of the diagnostic log analytics workspace. For security reasons, it is recommended to set diagnostic settings to send data to either storage account, log analytics workspace or event hub. |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via the Customer Usage Attribution ID (GUID). |
-| `eventGridEndpoint` | object | `{object}` | | Event Grid Endpoint. |
-| `eventHubEndpoint` | object | `{object}` | | Event Hub Endpoint. |
-| `location` | string | `[resourceGroup().location]` | | Location for all resources. |
-| `lock` | string | `''` | `['', CanNotDelete, ReadOnly]` | Specify the type of lock. |
-| `privateEndpoints` | array | `[]` | | Configuration details for private endpoints. For security reasons, it is recommended to use private endpoints whenever possible. |
-| `publicNetworkAccess` | string | `''` | `['', Disabled, Enabled]` | Whether or not public network access is allowed for this resource. For security reasons it should be disabled. If not specified, it will be disabled by default if private endpoints are set. |
-| `roleAssignments` | array | `[]` | | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalIds' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
-| `serviceBusEndpoint` | object | `{object}` | | Service Bus Endpoint. |
-| `systemAssignedIdentity` | bool | `False` | | Enables system assigned managed identity on the resource. |
-| `tags` | object | `{object}` | | Resource tags. |
-| `userAssignedIdentities` | object | `{object}` | | The ID(s) to assign to the resource. |
-
-
-## Outputs
+## Usage examples
-| Output Name | Type | Description |
-| :-- | :-- | :-- |
-| `hostname` | string | The hostname of the Digital Twins Instance. |
-| `location` | string | The location the resource was deployed into. |
-| `name` | string | The name of the Digital Twins Instance. |
-| `resourceGroupName` | string | The name of the resource group the resource was created in. |
-| `resourceId` | string | The resource ID of the Digital Twins Instance. |
+The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository.
-## Cross-referenced modules
-
-This section gives you an overview of all local-referenced module files (i.e., other CARML modules that are referenced in this module) and all remote-referenced files (i.e., Bicep modules that are referenced from a Bicep Registry or Template Specs).
+>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-| Reference | Type |
-| :-- | :-- |
-| `network/private-endpoint` | Local reference |
+>**Note**: To reference the module, please use the following syntax `br:bicep/modules/digital-twins.digital-twins-instance:1.0.0`.
-## Deployment examples
+- [Using large parameter set](#example-1-using-large-parameter-set)
+- [Using only defaults](#example-2-using-only-defaults)
-The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder.
- >**Note**: The name of each example is based on the name of the file from which it is taken.
+### Example 1: _Using large parameter set_
- >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
+This instance deploys the module with most of its features enabled.
-
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | The name of the Digital Twin Instance. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`diagnosticEventHubAuthorizationRuleId`](#parameter-diagnosticeventhubauthorizationruleid) | string | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
+| [`diagnosticEventHubName`](#parameter-diagnosticeventhubname) | string | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. For security reasons, it is recommended to set diagnostic settings to send data to either storage account, log analytics workspace or event hub. |
+| [`diagnosticLogCategoriesToEnable`](#parameter-diagnosticlogcategoriestoenable) | array | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
+| [`diagnosticMetricsToEnable`](#parameter-diagnosticmetricstoenable) | array | The name of metrics that will be streamed. |
+| [`diagnosticSettingsName`](#parameter-diagnosticsettingsname) | string | The name of the diagnostic setting, if deployed. |
+| [`diagnosticStorageAccountId`](#parameter-diagnosticstorageaccountid) | string | Resource ID of the diagnostic storage account. For security reasons, it is recommended to set diagnostic settings to send data to either storage account, log analytics workspace or event hub. |
+| [`diagnosticWorkspaceId`](#parameter-diagnosticworkspaceid) | string | Resource ID of the diagnostic log analytics workspace. For security reasons, it is recommended to set diagnostic settings to send data to either storage account, log analytics workspace or event hub. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via the Customer Usage Attribution ID (GUID). |
+| [`eventGridEndpoint`](#parameter-eventgridendpoint) | object | Event Grid Endpoint. |
+| [`eventHubEndpoint`](#parameter-eventhubendpoint) | object | Event Hub Endpoint. |
+| [`location`](#parameter-location) | string | Location for all resources. |
+| [`lock`](#parameter-lock) | string | Specify the type of lock. |
+| [`privateEndpoints`](#parameter-privateendpoints) | array | Configuration details for private endpoints. For security reasons, it is recommended to use private endpoints whenever possible. |
+| [`publicNetworkAccess`](#parameter-publicnetworkaccess) | string | Whether or not public network access is allowed for this resource. For security reasons it should be disabled. If not specified, it will be disabled by default if private endpoints are set. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalIds' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`serviceBusEndpoint`](#parameter-servicebusendpoint) | object | Service Bus Endpoint. |
+| [`systemAssignedIdentity`](#parameter-systemassignedidentity) | bool | Enables system assigned managed identity on the resource. |
+| [`tags`](#parameter-tags) | object | Resource tags. |
+| [`userAssignedIdentities`](#parameter-userassignedidentities) | object | The ID(s) to assign to the resource. |
+
+### Parameter: `diagnosticEventHubAuthorizationRuleId`
+
+Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `diagnosticEventHubName`
+
+Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. For security reasons, it is recommended to set diagnostic settings to send data to either storage account, log analytics workspace or event hub.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `diagnosticLogCategoriesToEnable`
+
+The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection.
+- Required: No
+- Type: array
+- Default: `[allLogs]`
+- Allowed: `['', allLogs, DataHistoryOperation, DigitalTwinsOperation, EventRoutesOperation, ModelsOperation, QueryOperation, ResourceProviderOperation]`
+
+### Parameter: `diagnosticMetricsToEnable`
+
+The name of metrics that will be streamed.
+- Required: No
+- Type: array
+- Default: `[AllMetrics]`
+- Allowed: `[AllMetrics]`
+
+### Parameter: `diagnosticSettingsName`
+
+The name of the diagnostic setting, if deployed.
+- Required: No
+- Type: string
+- Default: `[format('{0}-diagnosticSettings', parameters('name'))]`
+
+### Parameter: `diagnosticStorageAccountId`
+
+Resource ID of the diagnostic storage account. For security reasons, it is recommended to set diagnostic settings to send data to either storage account, log analytics workspace or event hub.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `diagnosticWorkspaceId`
+
+Resource ID of the diagnostic log analytics workspace. For security reasons, it is recommended to set diagnostic settings to send data to either storage account, log analytics workspace or event hub.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via the Customer Usage Attribution ID (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `eventGridEndpoint`
+
+Event Grid Endpoint.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `eventHubEndpoint`
+
+Event Hub Endpoint.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `location`
+
+Location for all resources.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `lock`
+
+Specify the type of lock.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', CanNotDelete, ReadOnly]`
+
+### Parameter: `name`
+
+The name of the Digital Twin Instance.
+- Required: Yes
+- Type: string
+
+### Parameter: `privateEndpoints`
+
+Configuration details for private endpoints. For security reasons, it is recommended to use private endpoints whenever possible.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `publicNetworkAccess`
+
+Whether or not public network access is allowed for this resource. For security reasons it should be disabled. If not specified, it will be disabled by default if private endpoints are set.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', Disabled, Enabled]`
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalIds' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `serviceBusEndpoint`
+
+Service Bus Endpoint.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `systemAssignedIdentity`
+
+Enables system assigned managed identity on the resource.
+- Required: No
+- Type: bool
+- Default: `False`
+
+### Parameter: `tags`
+
+Resource tags.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `userAssignedIdentities`
+
+The ID(s) to assign to the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `hostname` | string | The hostname of the Digital Twins Instance. |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The name of the Digital Twins Instance. |
+| `resourceGroupName` | string | The name of the resource group the resource was created in. |
+| `resourceId` | string | The resource ID of the Digital Twins Instance. |
+
+## Cross-referenced modules
+
+This section gives you an overview of all local-referenced module files (i.e., other CARML modules that are referenced in this module) and all remote-referenced files (i.e., Bicep modules that are referenced from a Bicep Registry or Template Specs).
+
+| Reference | Type |
+| :-- | :-- |
+| `modules/network/private-endpoint` | Local reference |
diff --git a/modules/digital-twins/digital-twins-instance/endpoint--event-grid/README.md b/modules/digital-twins/digital-twins-instance/endpoint--event-grid/README.md
index 70a63cb0a6..0b66892ffa 100644
--- a/modules/digital-twins/digital-twins-instance/endpoint--event-grid/README.md
+++ b/modules/digital-twins/digital-twins-instance/endpoint--event-grid/README.md
@@ -19,30 +19,76 @@ This module deploys a Digital Twins Instance Event Grid Endpoint.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `eventGridDomainResourceId` | string | The resource ID of the Event Grid to get access keys from. |
-| `topicEndpoint` | string | EventGrid Topic Endpoint. |
+| [`eventGridDomainResourceId`](#parameter-eventgriddomainresourceid) | string | The resource ID of the Event Grid to get access keys from. |
+| [`topicEndpoint`](#parameter-topicendpoint) | string | EventGrid Topic Endpoint. |
**Conditional parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `digitalTwinInstanceName` | string | The name of the parent Digital Twin Instance resource. Required if the template is used in a standalone deployment. |
+| [`digitalTwinInstanceName`](#parameter-digitaltwininstancename) | string | The name of the parent Digital Twin Instance resource. Required if the template is used in a standalone deployment. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `deadLetterSecret` | securestring | `''` | Dead letter storage secret for key-based authentication. Will be obfuscated during read. |
-| `deadLetterUri` | string | `''` | Dead letter storage URL for identity-based authentication. |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via the Customer Usage Attribution ID (GUID). |
-| `name` | string | `'EventGridEndpoint'` | The name of the Digital Twin Endpoint. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`deadLetterSecret`](#parameter-deadlettersecret) | securestring | Dead letter storage secret for key-based authentication. Will be obfuscated during read. |
+| [`deadLetterUri`](#parameter-deadletteruri) | string | Dead letter storage URL for identity-based authentication. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via the Customer Usage Attribution ID (GUID). |
+| [`name`](#parameter-name) | string | The name of the Digital Twin Endpoint. |
+
+### Parameter: `deadLetterSecret`
+
+Dead letter storage secret for key-based authentication. Will be obfuscated during read.
+- Required: No
+- Type: securestring
+- Default: `''`
+
+### Parameter: `deadLetterUri`
+
+Dead letter storage URL for identity-based authentication.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `digitalTwinInstanceName`
+
+The name of the parent Digital Twin Instance resource. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via the Customer Usage Attribution ID (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `eventGridDomainResourceId`
+
+The resource ID of the Event Grid to get access keys from.
+- Required: Yes
+- Type: string
+
+### Parameter: `name`
+
+The name of the Digital Twin Endpoint.
+- Required: No
+- Type: string
+- Default: `'EventGridEndpoint'`
+
+### Parameter: `topicEndpoint`
+
+EventGrid Topic Endpoint.
+- Required: Yes
+- Type: string
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The name of the Endpoint. |
| `resourceGroupName` | string | The name of the resource group the resource was created in. |
diff --git a/modules/digital-twins/digital-twins-instance/endpoint--event-hub/README.md b/modules/digital-twins/digital-twins-instance/endpoint--event-hub/README.md
index 89cb8b96b9..ea2990793c 100644
--- a/modules/digital-twins/digital-twins-instance/endpoint--event-hub/README.md
+++ b/modules/digital-twins/digital-twins-instance/endpoint--event-hub/README.md
@@ -19,30 +19,114 @@ This module deploys a Digital Twins Instance EventHub Endpoint.
**Conditional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `connectionStringPrimaryKey` | securestring | `''` | PrimaryConnectionString of the endpoint for key-based authentication. Will be obfuscated during read. Required if the `authenticationType` is "KeyBased". |
-| `digitalTwinInstanceName` | string | | The name of the parent Digital Twin Instance resource. Required if the template is used in a standalone deployment. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`connectionStringPrimaryKey`](#parameter-connectionstringprimarykey) | securestring | PrimaryConnectionString of the endpoint for key-based authentication. Will be obfuscated during read. Required if the `authenticationType` is "KeyBased". |
+| [`digitalTwinInstanceName`](#parameter-digitaltwininstancename) | string | The name of the parent Digital Twin Instance resource. Required if the template is used in a standalone deployment. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `authenticationType` | string | `'IdentityBased'` | `[IdentityBased, KeyBased]` | Specifies the authentication type being used for connecting to the endpoint. If 'KeyBased' is selected, a connection string must be specified (at least the primary connection string). If 'IdentityBased' is selected, the endpointUri and entityPath properties must be specified. |
-| `connectionStringSecondaryKey` | securestring | `''` | | SecondaryConnectionString of the endpoint for key-based authentication. Will be obfuscated during read. Only used if the `authenticationType` is "KeyBased". |
-| `deadLetterSecret` | securestring | `''` | | Dead letter storage secret for key-based authentication. Will be obfuscated during read. |
-| `deadLetterUri` | string | `''` | | Dead letter storage URL for identity-based authentication. |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via the Customer Usage Attribution ID (GUID). |
-| `endpointUri` | string | `''` | | The URL of the EventHub namespace for identity-based authentication. It must include the protocol 'sb://' (i.e. sb://xyz.servicebus.windows.net). |
-| `entityPath` | string | `''` | | The EventHub name in the EventHub namespace for identity-based authentication. |
-| `name` | string | `'EventHubEndpoint'` | | The name of the Digital Twin Endpoint. |
-| `systemAssignedIdentity` | bool | `False` | | Enables system assigned managed identity on the resource. |
-| `userAssignedIdentity` | string | `''` | | The ID to assign to the resource. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`authenticationType`](#parameter-authenticationtype) | string | Specifies the authentication type being used for connecting to the endpoint. If 'KeyBased' is selected, a connection string must be specified (at least the primary connection string). If 'IdentityBased' is selected, the endpointUri and entityPath properties must be specified. |
+| [`connectionStringSecondaryKey`](#parameter-connectionstringsecondarykey) | securestring | SecondaryConnectionString of the endpoint for key-based authentication. Will be obfuscated during read. Only used if the `authenticationType` is "KeyBased". |
+| [`deadLetterSecret`](#parameter-deadlettersecret) | securestring | Dead letter storage secret for key-based authentication. Will be obfuscated during read. |
+| [`deadLetterUri`](#parameter-deadletteruri) | string | Dead letter storage URL for identity-based authentication. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via the Customer Usage Attribution ID (GUID). |
+| [`endpointUri`](#parameter-endpointuri) | string | The URL of the EventHub namespace for identity-based authentication. It must include the protocol 'sb://' (i.e. sb://xyz.servicebus.windows.net). |
+| [`entityPath`](#parameter-entitypath) | string | The EventHub name in the EventHub namespace for identity-based authentication. |
+| [`name`](#parameter-name) | string | The name of the Digital Twin Endpoint. |
+| [`systemAssignedIdentity`](#parameter-systemassignedidentity) | bool | Enables system assigned managed identity on the resource. |
+| [`userAssignedIdentity`](#parameter-userassignedidentity) | string | The ID to assign to the resource. |
+
+### Parameter: `authenticationType`
+
+Specifies the authentication type being used for connecting to the endpoint. If 'KeyBased' is selected, a connection string must be specified (at least the primary connection string). If 'IdentityBased' is selected, the endpointUri and entityPath properties must be specified.
+- Required: No
+- Type: string
+- Default: `'IdentityBased'`
+- Allowed: `[IdentityBased, KeyBased]`
+
+### Parameter: `connectionStringPrimaryKey`
+
+PrimaryConnectionString of the endpoint for key-based authentication. Will be obfuscated during read. Required if the `authenticationType` is "KeyBased".
+- Required: No
+- Type: securestring
+- Default: `''`
+
+### Parameter: `connectionStringSecondaryKey`
+
+SecondaryConnectionString of the endpoint for key-based authentication. Will be obfuscated during read. Only used if the `authenticationType` is "KeyBased".
+- Required: No
+- Type: securestring
+- Default: `''`
+
+### Parameter: `deadLetterSecret`
+
+Dead letter storage secret for key-based authentication. Will be obfuscated during read.
+- Required: No
+- Type: securestring
+- Default: `''`
+
+### Parameter: `deadLetterUri`
+
+Dead letter storage URL for identity-based authentication.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `digitalTwinInstanceName`
+
+The name of the parent Digital Twin Instance resource. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via the Customer Usage Attribution ID (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `endpointUri`
+
+The URL of the EventHub namespace for identity-based authentication. It must include the protocol 'sb://' (i.e. sb://xyz.servicebus.windows.net).
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `entityPath`
+
+The EventHub name in the EventHub namespace for identity-based authentication.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `name`
+
+The name of the Digital Twin Endpoint.
+- Required: No
+- Type: string
+- Default: `'EventHubEndpoint'`
+
+### Parameter: `systemAssignedIdentity`
+
+Enables system assigned managed identity on the resource.
+- Required: No
+- Type: bool
+- Default: `False`
+
+### Parameter: `userAssignedIdentity`
+
+The ID to assign to the resource.
+- Required: No
+- Type: string
+- Default: `''`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The name of the Endpoint. |
| `resourceGroupName` | string | The name of the resource group the resource was created in. |
diff --git a/modules/digital-twins/digital-twins-instance/endpoint--service-bus/README.md b/modules/digital-twins/digital-twins-instance/endpoint--service-bus/README.md
index 3f448d3791..eeae357cd9 100644
--- a/modules/digital-twins/digital-twins-instance/endpoint--service-bus/README.md
+++ b/modules/digital-twins/digital-twins-instance/endpoint--service-bus/README.md
@@ -19,30 +19,114 @@ This module deploys a Digital Twins Instance ServiceBus Endpoint.
**Conditional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `digitalTwinInstanceName` | string | | The name of the parent Digital Twin Instance resource. Required if the template is used in a standalone deployment. |
-| `primaryConnectionString` | securestring | `''` | PrimaryConnectionString of the endpoint for key-based authentication. Will be obfuscated during read. Required if the `authenticationType` is "KeyBased". |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`digitalTwinInstanceName`](#parameter-digitaltwininstancename) | string | The name of the parent Digital Twin Instance resource. Required if the template is used in a standalone deployment. |
+| [`primaryConnectionString`](#parameter-primaryconnectionstring) | securestring | PrimaryConnectionString of the endpoint for key-based authentication. Will be obfuscated during read. Required if the `authenticationType` is "KeyBased". |
**Optional parameters**
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `authenticationType` | string | `'IdentityBased'` | `[IdentityBased, KeyBased]` | Specifies the authentication type being used for connecting to the endpoint. If 'KeyBased' is selected, a connection string must be specified (at least the primary connection string). If 'IdentityBased' is selected, the endpointUri and entityPath properties must be specified. |
-| `deadLetterSecret` | securestring | `''` | | Dead letter storage secret for key-based authentication. Will be obfuscated during read. |
-| `deadLetterUri` | string | `''` | | Dead letter storage URL for identity-based authentication. |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via the Customer Usage Attribution ID (GUID). |
-| `endpointUri` | string | `''` | | The URL of the ServiceBus namespace for identity-based authentication. It must include the protocol 'sb://' (e.g. sb://xyz.servicebus.windows.net). |
-| `entityPath` | string | `''` | | The ServiceBus Topic name for identity-based authentication. |
-| `name` | string | `'ServiceBusEndpoint'` | | The name of the Digital Twin Endpoint. |
-| `secondaryConnectionString` | securestring | `''` | | SecondaryConnectionString of the endpoint for key-based authentication. Will be obfuscated during read. Only used if the `authenticationType` is "KeyBased". |
-| `systemAssignedIdentity` | bool | `False` | | Enables system assigned managed identity on the resource. |
-| `userAssignedIdentity` | string | `''` | | The ID to assign to the resource. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`authenticationType`](#parameter-authenticationtype) | string | Specifies the authentication type being used for connecting to the endpoint. If 'KeyBased' is selected, a connection string must be specified (at least the primary connection string). If 'IdentityBased' is selected, the endpointUri and entityPath properties must be specified. |
+| [`deadLetterSecret`](#parameter-deadlettersecret) | securestring | Dead letter storage secret for key-based authentication. Will be obfuscated during read. |
+| [`deadLetterUri`](#parameter-deadletteruri) | string | Dead letter storage URL for identity-based authentication. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via the Customer Usage Attribution ID (GUID). |
+| [`endpointUri`](#parameter-endpointuri) | string | The URL of the ServiceBus namespace for identity-based authentication. It must include the protocol 'sb://' (e.g. sb://xyz.servicebus.windows.net). |
+| [`entityPath`](#parameter-entitypath) | string | The ServiceBus Topic name for identity-based authentication. |
+| [`name`](#parameter-name) | string | The name of the Digital Twin Endpoint. |
+| [`secondaryConnectionString`](#parameter-secondaryconnectionstring) | securestring | SecondaryConnectionString of the endpoint for key-based authentication. Will be obfuscated during read. Only used if the `authenticationType` is "KeyBased". |
+| [`systemAssignedIdentity`](#parameter-systemassignedidentity) | bool | Enables system assigned managed identity on the resource. |
+| [`userAssignedIdentity`](#parameter-userassignedidentity) | string | The ID to assign to the resource. |
+
+### Parameter: `authenticationType`
+
+Specifies the authentication type being used for connecting to the endpoint. If 'KeyBased' is selected, a connection string must be specified (at least the primary connection string). If 'IdentityBased' is selected, the endpointUri and entityPath properties must be specified.
+- Required: No
+- Type: string
+- Default: `'IdentityBased'`
+- Allowed: `[IdentityBased, KeyBased]`
+
+### Parameter: `deadLetterSecret`
+
+Dead letter storage secret for key-based authentication. Will be obfuscated during read.
+- Required: No
+- Type: securestring
+- Default: `''`
+
+### Parameter: `deadLetterUri`
+
+Dead letter storage URL for identity-based authentication.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `digitalTwinInstanceName`
+
+The name of the parent Digital Twin Instance resource. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via the Customer Usage Attribution ID (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `endpointUri`
+
+The URL of the ServiceBus namespace for identity-based authentication. It must include the protocol 'sb://' (e.g. sb://xyz.servicebus.windows.net).
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `entityPath`
+
+The ServiceBus Topic name for identity-based authentication.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `name`
+
+The name of the Digital Twin Endpoint.
+- Required: No
+- Type: string
+- Default: `'ServiceBusEndpoint'`
+
+### Parameter: `primaryConnectionString`
+
+PrimaryConnectionString of the endpoint for key-based authentication. Will be obfuscated during read. Required if the `authenticationType` is "KeyBased".
+- Required: No
+- Type: securestring
+- Default: `''`
+
+### Parameter: `secondaryConnectionString`
+
+SecondaryConnectionString of the endpoint for key-based authentication. Will be obfuscated during read. Only used if the `authenticationType` is "KeyBased".
+- Required: No
+- Type: securestring
+- Default: `''`
+
+### Parameter: `systemAssignedIdentity`
+
+Enables system assigned managed identity on the resource.
+- Required: No
+- Type: bool
+- Default: `False`
+
+### Parameter: `userAssignedIdentity`
+
+The ID to assign to the resource.
+- Required: No
+- Type: string
+- Default: `''`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The name of the Endpoint. |
| `resourceGroupName` | string | The name of the resource group the resource was created in. |
diff --git a/modules/document-db/database-account/README.md b/modules/document-db/database-account/README.md
index 3eea1daa41..69a8c77859 100644
--- a/modules/document-db/database-account/README.md
+++ b/modules/document-db/database-account/README.md
@@ -5,10 +5,10 @@ This module deploys a DocumentDB Database Account.
## Navigation
- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
## Resource Types
@@ -27,85 +27,27 @@ This module deploys a DocumentDB Database Account.
| `Microsoft.Network/privateEndpoints` | [2023-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2023-04-01/privateEndpoints) |
| `Microsoft.Network/privateEndpoints/privateDnsZoneGroups` | [2023-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2023-04-01/privateEndpoints/privateDnsZoneGroups) |
-## Parameters
-
-**Required parameters**
-
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `locations` | array | Locations enabled for the Cosmos DB account. |
-| `name` | string | Name of the Database Account. |
-
-**Optional parameters**
-
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `automaticFailover` | bool | `True` | | Enable automatic failover for regions. |
-| `backupIntervalInMinutes` | int | `240` | | An integer representing the interval in minutes between two backups. Only applies to periodic backup type. |
-| `backupPolicyContinuousTier` | string | `'Continuous30Days'` | `[Continuous30Days, Continuous7Days]` | Configuration values for continuous mode backup. |
-| `backupPolicyType` | string | `'Continuous'` | `[Continuous, Periodic]` | Describes the mode of backups. |
-| `backupRetentionIntervalInHours` | int | `8` | | An integer representing the time (in hours) that each backup is retained. Only applies to periodic backup type. |
-| `backupStorageRedundancy` | string | `'Local'` | `[Geo, Local, Zone]` | Enum to indicate type of backup residency. Only applies to periodic backup type. |
-| `capabilitiesToAdd` | array | `[]` | `[DisableRateLimitingResponses, EnableCassandra, EnableGremlin, EnableMongo, EnableServerless, EnableTable]` | List of Cosmos DB capabilities for the account. |
-| `databaseAccountOfferType` | string | `'Standard'` | `[Standard]` | The offer type for the Cosmos DB database account. |
-| `defaultConsistencyLevel` | string | `'Session'` | `[BoundedStaleness, ConsistentPrefix, Eventual, Session, Strong]` | The default consistency level of the Cosmos DB account. |
-| `diagnosticEventHubAuthorizationRuleId` | string | `''` | | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
-| `diagnosticEventHubName` | string | `''` | | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
-| `diagnosticLogCategoriesToEnable` | array | `[allLogs]` | `['', allLogs, CassandraRequests, ControlPlaneRequests, DataPlaneRequests, GremlinRequests, MongoRequests, PartitionKeyRUConsumption, PartitionKeyStatistics, QueryRuntimeStatistics, TableApiRequests]` | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
-| `diagnosticMetricsToEnable` | array | `[Requests]` | `[Requests]` | The name of metrics that will be streamed. |
-| `diagnosticSettingsName` | string | `''` | | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
-
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`locations`](#parameter-locations) | array | Locations enabled for the Cosmos DB account. |
+| [`name`](#parameter-name) | string | Name of the Database Account. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`automaticFailover`](#parameter-automaticfailover) | bool | Enable automatic failover for regions. |
+| [`backupIntervalInMinutes`](#parameter-backupintervalinminutes) | int | An integer representing the interval in minutes between two backups. Only applies to periodic backup type. |
+| [`backupPolicyContinuousTier`](#parameter-backuppolicycontinuoustier) | string | Configuration values for continuous mode backup. |
+| [`backupPolicyType`](#parameter-backuppolicytype) | string | Describes the mode of backups. |
+| [`backupRetentionIntervalInHours`](#parameter-backupretentionintervalinhours) | int | An integer representing the time (in hours) that each backup is retained. Only applies to periodic backup type. |
+| [`backupStorageRedundancy`](#parameter-backupstorageredundancy) | string | Enum to indicate type of backup residency. Only applies to periodic backup type. |
+| [`capabilitiesToAdd`](#parameter-capabilitiestoadd) | array | List of Cosmos DB capabilities for the account. |
+| [`databaseAccountOfferType`](#parameter-databaseaccountoffertype) | string | The offer type for the Cosmos DB database account. |
+| [`defaultConsistencyLevel`](#parameter-defaultconsistencylevel) | string | The default consistency level of the Cosmos DB account. |
+| [`diagnosticEventHubAuthorizationRuleId`](#parameter-diagnosticeventhubauthorizationruleid) | string | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
+| [`diagnosticEventHubName`](#parameter-diagnosticeventhubname) | string | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
+| [`diagnosticLogCategoriesToEnable`](#parameter-diagnosticlogcategoriestoenable) | array | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
+| [`diagnosticMetricsToEnable`](#parameter-diagnosticmetricstoenable) | array | The name of metrics that will be streamed. |
+| [`diagnosticSettingsName`](#parameter-diagnosticsettingsname) | string | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | The name of the Event Grid Domain. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`autoCreateTopicWithFirstSubscription`](#parameter-autocreatetopicwithfirstsubscription) | bool | Location for all Resources. |
+| [`autoDeleteTopicWithLastSubscription`](#parameter-autodeletetopicwithlastsubscription) | bool | Location for all Resources. |
+| [`diagnosticEventHubAuthorizationRuleId`](#parameter-diagnosticeventhubauthorizationruleid) | string | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
+| [`diagnosticEventHubName`](#parameter-diagnosticeventhubname) | string | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
+| [`diagnosticLogCategoriesToEnable`](#parameter-diagnosticlogcategoriestoenable) | array | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
+| [`diagnosticMetricsToEnable`](#parameter-diagnosticmetricstoenable) | array | The name of metrics that will be streamed. |
+| [`diagnosticSettingsName`](#parameter-diagnosticsettingsname) | string | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | The name of the Event Grid Topic. |
+| [`source`](#parameter-source) | string | Source for the system topic. |
+| [`topicType`](#parameter-topictype) | string | TopicType for the system topic. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`diagnosticEventHubAuthorizationRuleId`](#parameter-diagnosticeventhubauthorizationruleid) | string | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
+| [`diagnosticEventHubName`](#parameter-diagnosticeventhubname) | string | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
+| [`diagnosticLogCategoriesToEnable`](#parameter-diagnosticlogcategoriestoenable) | array | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
+| [`diagnosticMetricsToEnable`](#parameter-diagnosticmetricstoenable) | array | The name of metrics that will be streamed. |
+| [`diagnosticSettingsName`](#parameter-diagnosticsettingsname) | string | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | The name of the Event Grid Topic. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`diagnosticEventHubAuthorizationRuleId`](#parameter-diagnosticeventhubauthorizationruleid) | string | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
+| [`diagnosticEventHubName`](#parameter-diagnosticeventhubname) | string | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
+| [`diagnosticLogCategoriesToEnable`](#parameter-diagnosticlogcategoriestoenable) | array | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
+| [`diagnosticMetricsToEnable`](#parameter-diagnosticmetricstoenable) | array | The name of metrics that will be streamed. |
+| [`diagnosticSettingsName`](#parameter-diagnosticsettingsname) | string | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
-
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | The name of the event hub namespace. |
+
+**Conditional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`cMKKeyVaultResourceId`](#parameter-cmkkeyvaultresourceid) | string | The resource ID of a key vault to reference a customer managed key for encryption from. Required if "cMKKeyName" is not empty. |
+| [`cMKUserAssignedIdentityResourceId`](#parameter-cmkuserassignedidentityresourceid) | string | User assigned identity to use when fetching the customer managed key. The identity should have key usage permissions on the Key Vault Key. Required if "cMKKeyName" is not empty. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`authorizationRules`](#parameter-authorizationrules) | array | Authorization Rules for the Event Hub namespace. |
+| [`cMKKeyName`](#parameter-cmkkeyname) | string | The name of the customer managed key to use for encryption. Customer-managed key encryption at rest is only available for namespaces of premium SKU or namespaces created in a Dedicated Cluster. |
+| [`cMKKeyVersion`](#parameter-cmkkeyversion) | string | The version of the customer managed key to reference for encryption. If not provided, the latest key version is used. |
+| [`diagnosticEventHubAuthorizationRuleId`](#parameter-diagnosticeventhubauthorizationruleid) | string | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
+| [`diagnosticEventHubName`](#parameter-diagnosticeventhubname) | string | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
+| [`diagnosticLogCategoriesToEnable`](#parameter-diagnosticlogcategoriestoenable) | array | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
+| [`diagnosticMetricsToEnable`](#parameter-diagnosticmetricstoenable) | array | The name of metrics that will be streamed. |
+| [`diagnosticSettingsName`](#parameter-diagnosticsettingsname) | string | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | Name of the resource. |
+| [`sku`](#parameter-sku) | string | The name of the Azure Health Bot SKU. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`location`](#parameter-location) | string | Location for all resources. |
+| [`lock`](#parameter-lock) | string | Specify the type of lock. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`tags`](#parameter-tags) | object | Tags of the resource. |
+| [`userAssignedIdentities`](#parameter-userassignedidentities) | object | The ID(s) to assign to the resource. |
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `location`
+
+Location for all resources.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `lock`
+
+Specify the type of lock.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', CanNotDelete, ReadOnly]`
+
+### Parameter: `name`
+
+Name of the resource.
+- Required: Yes
+- Type: string
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `sku`
+
+The name of the Azure Health Bot SKU.
+- Required: Yes
+- Type: string
+- Allowed: `[C0, F0, S1]`
+
+### Parameter: `tags`
+
+Tags of the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `userAssignedIdentities`
+
+The ID(s) to assign to the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The name of the health bot. |
+| `resourceGroupName` | string | The resource group the health bot was deployed into. |
+| `resourceId` | string | The resource ID of the health bot. |
+
+## Cross-referenced modules
+
+_None_
diff --git a/modules/health-bot/health-bot/main.json b/modules/health-bot/health-bot/main.json
index 1b2888ef2a..517c93ef00 100644
--- a/modules/health-bot/health-bot/main.json
+++ b/modules/health-bot/health-bot/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "13417269663268591312"
+ "version": "0.22.6.54827",
+ "templateHash": "1397739701759067802"
},
"name": "Azure Health Bots",
"description": "This module deploys an Azure Health Bot.",
@@ -156,8 +156,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "9746468105018607304"
+ "version": "0.22.6.54827",
+ "templateHash": "4105513755228551985"
}
},
"parameters": {
diff --git a/modules/healthcare-apis/workspace/.test/common/main.test.bicep b/modules/healthcare-apis/workspace/.test/common/main.test.bicep
index 2baa190bdb..e64ff1eea7 100644
--- a/modules/healthcare-apis/workspace/.test/common/main.test.bicep
+++ b/modules/healthcare-apis/workspace/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/healthcare-apis/workspace/.test/min/main.test.bicep b/modules/healthcare-apis/workspace/.test/min/main.test.bicep
index 6399106a53..95061177c5 100644
--- a/modules/healthcare-apis/workspace/.test/min/main.test.bicep
+++ b/modules/healthcare-apis/workspace/.test/min/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using only defaults'
+metadata description = 'This instance deploys the module with the minimum set of required parameters.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/healthcare-apis/workspace/README.md b/modules/healthcare-apis/workspace/README.md
index 8e99abc232..075bb5dbba 100644
--- a/modules/healthcare-apis/workspace/README.md
+++ b/modules/healthcare-apis/workspace/README.md
@@ -5,10 +5,10 @@ This module deploys a Healthcare API Workspace.
## Navigation
- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
- [Notes](#Notes)
## Resource Types
@@ -24,155 +24,28 @@ This module deploys a Healthcare API Workspace.
| `Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations` | [2022-06-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.HealthcareApis/workspaces) |
| `Microsoft.Insights/diagnosticSettings` | [2021-05-01-preview](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Insights/2021-05-01-preview/diagnosticSettings) |
-## Parameters
-
-**Required parameters**
-
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | The name of the Health Data Services Workspace service. |
-
-**Optional parameters**
-
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `dicomservices` | array | `[]` | | Deploy DICOM services. |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via the Customer Usage Attribution ID (GUID). |
-| `fhirservices` | array | `[]` | | Deploy FHIR services. |
-| `iotconnectors` | array | `[]` | | Deploy IOT connectors. |
-| `location` | string | `[resourceGroup().location]` | | Location for all resources. |
-| `lock` | string | `''` | `['', CanNotDelete, ReadOnly]` | Specify the type of lock. |
-| `publicNetworkAccess` | string | `'Disabled'` | `[Disabled, Enabled]` | Control permission for data plane traffic coming from public networks while private endpoint is enabled. |
-| `roleAssignments` | array | `[]` | | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
-| `tags` | object | `{object}` | | Tags of the resource. |
-
-
-### Parameter Usage: `fhirservices`
-
-Create a FHIR service with the workspace.
-
-
-
-
-## Outputs
+## Usage examples
-| Output Name | Type | Description |
-| :-- | :-- | :-- |
-| `location` | string | The location the resource was deployed into. |
-| `name` | string | The name of the health data services workspace. |
-| `resourceGroupName` | string | The resource group where the workspace is deployed. |
-| `resourceId` | string | The resource ID of the health data services workspace. |
+The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository.
-## Cross-referenced modules
+>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-_None_
+>**Note**: To reference the module, please use the following syntax `br:bicep/modules/healthcare-apis.workspace:1.0.0`.
-## Deployment examples
+- [Using large parameter set](#example-1-using-large-parameter-set)
+- [Using only defaults](#example-2-using-only-defaults)
-The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder.
- >**Note**: The name of each example is based on the name of the file from which it is taken.
+### Example 1: _Using large parameter set_
- >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
+This instance deploys the module with most of its features enabled.
-
-
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | The name of the Health Data Services Workspace service. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`dicomservices`](#parameter-dicomservices) | array | Deploy DICOM services. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via the Customer Usage Attribution ID (GUID). |
+| [`fhirservices`](#parameter-fhirservices) | array | Deploy FHIR services. |
+| [`iotconnectors`](#parameter-iotconnectors) | array | Deploy IOT connectors. |
+| [`location`](#parameter-location) | string | Location for all resources. |
+| [`lock`](#parameter-lock) | string | Specify the type of lock. |
+| [`publicNetworkAccess`](#parameter-publicnetworkaccess) | string | Control permission for data plane traffic coming from public networks while private endpoint is enabled. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`tags`](#parameter-tags) | object | Tags of the resource. |
+
+### Parameter: `dicomservices`
+
+Deploy DICOM services.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via the Customer Usage Attribution ID (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `fhirservices`
+
+Deploy FHIR services.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `iotconnectors`
+
+Deploy IOT connectors.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `location`
+
+Location for all resources.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `lock`
+
+Specify the type of lock.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', CanNotDelete, ReadOnly]`
+
+### Parameter: `name`
+
+The name of the Health Data Services Workspace service.
+- Required: Yes
+- Type: string
+
+### Parameter: `publicNetworkAccess`
+
+Control permission for data plane traffic coming from public networks while private endpoint is enabled.
+- Required: No
+- Type: string
+- Default: `'Disabled'`
+- Allowed: `[Disabled, Enabled]`
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `tags`
+
+Tags of the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The name of the health data services workspace. |
+| `resourceGroupName` | string | The resource group where the workspace is deployed. |
+| `resourceId` | string | The resource ID of the health data services workspace. |
+
+## Cross-referenced modules
+
+_None_
+
## Notes
### Parameter Usage: `iotconnectors`
diff --git a/modules/healthcare-apis/workspace/dicomservice/README.md b/modules/healthcare-apis/workspace/dicomservice/README.md
index f335d27de0..4fa8abe468 100644
--- a/modules/healthcare-apis/workspace/dicomservice/README.md
+++ b/modules/healthcare-apis/workspace/dicomservice/README.md
@@ -21,43 +21,185 @@ This module deploys a Healthcare API Workspace DICOM Service.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `name` | string | The name of the DICOM service. |
+| [`name`](#parameter-name) | string | The name of the DICOM service. |
**Conditional parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `workspaceName` | string | The name of the parent health data services workspace. Required if the template is used in a standalone deployment. |
+| [`workspaceName`](#parameter-workspacename) | string | The name of the parent health data services workspace. Required if the template is used in a standalone deployment. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `corsAllowCredentials` | bool | `False` | | Use this setting to indicate that cookies should be included in CORS requests. |
-| `corsHeaders` | array | `[]` | | Specify HTTP headers which can be used during the request. Use "*" for any header. |
-| `corsMaxAge` | int | `-1` | | Specify how long a result from a request can be cached in seconds. Example: 600 means 10 minutes. |
-| `corsMethods` | array | `[]` | `[DELETE, GET, OPTIONS, PATCH, POST, PUT]` | Specify the allowed HTTP methods. |
-| `corsOrigins` | array | `[]` | | Specify URLs of origin sites that can access this API, or use "*" to allow access from any site. |
-| `diagnosticEventHubAuthorizationRuleId` | string | `''` | | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
-| `diagnosticEventHubName` | string | `''` | | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
-| `diagnosticLogCategoriesToEnable` | array | `[AuditLogs]` | `[AuditLogs]` | The name of logs that will be streamed. |
-| `diagnosticSettingsName` | string | `''` | | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`groupShortName`](#parameter-groupshortname) | string | The short name of the action group. |
+| [`name`](#parameter-name) | string | The name of the action group. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`armRoleReceivers`](#parameter-armrolereceivers) | array | The list of ARM role receivers that are part of this action group. Roles are Azure RBAC roles and only built-in roles are supported. |
+| [`automationRunbookReceivers`](#parameter-automationrunbookreceivers) | array | The list of AutomationRunbook receivers that are part of this action group. |
+| [`azureAppPushReceivers`](#parameter-azureapppushreceivers) | array | The list of AzureAppPush receivers that are part of this action group. |
+| [`azureFunctionReceivers`](#parameter-azurefunctionreceivers) | array | The list of function receivers that are part of this action group. |
+| [`emailReceivers`](#parameter-emailreceivers) | array | The list of email receivers that are part of this action group. |
+| [`enabled`](#parameter-enabled) | bool | Indicates whether this action group is enabled. If an action group is not enabled, then none of its receivers will receive communications. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`itsmReceivers`](#parameter-itsmreceivers) | array | The list of ITSM receivers that are part of this action group. |
+| [`location`](#parameter-location) | string | Location for all resources. |
+| [`logicAppReceivers`](#parameter-logicappreceivers) | array | The list of logic app receivers that are part of this action group. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`smsReceivers`](#parameter-smsreceivers) | array | The list of SMS receivers that are part of this action group. |
+| [`tags`](#parameter-tags) | object | Tags of the resource. |
+| [`voiceReceivers`](#parameter-voicereceivers) | array | The list of voice receivers that are part of this action group. |
+| [`webhookReceivers`](#parameter-webhookreceivers) | array | The list of webhook receivers that are part of this action group. |
+
+### Parameter: `armRoleReceivers`
+
+The list of ARM role receivers that are part of this action group. Roles are Azure RBAC roles and only built-in roles are supported.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `automationRunbookReceivers`
+
+The list of AutomationRunbook receivers that are part of this action group.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `azureAppPushReceivers`
+
+The list of AzureAppPush receivers that are part of this action group.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `azureFunctionReceivers`
+
+The list of function receivers that are part of this action group.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `emailReceivers`
+
+The list of email receivers that are part of this action group.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `enabled`
+
+Indicates whether this action group is enabled. If an action group is not enabled, then none of its receivers will receive communications.
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `groupShortName`
+
+The short name of the action group.
+- Required: Yes
+- Type: string
+
+### Parameter: `itsmReceivers`
+
+The list of ITSM receivers that are part of this action group.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `location`
+
+Location for all resources.
+- Required: No
+- Type: string
+- Default: `'global'`
+
+### Parameter: `logicAppReceivers`
+
+The list of logic app receivers that are part of this action group.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `name`
+
+The name of the action group.
+- Required: Yes
+- Type: string
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `smsReceivers`
+
+The list of SMS receivers that are part of this action group.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `tags`
+
+Tags of the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `voiceReceivers`
+
+The list of voice receivers that are part of this action group.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `webhookReceivers`
+
+The list of webhook receivers that are part of this action group.
+- Required: No
+- Type: array
+- Default: `[]`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The name of the action group . |
+| `resourceGroupName` | string | The resource group the action group was deployed into. |
+| `resourceId` | string | The resource ID of the action group . |
+
+## Cross-referenced modules
+
+_None_
+
## Notes
- Receiver name must be unique across the ActionGroup.
diff --git a/modules/insights/activity-log-alert/.test/common/main.test.bicep b/modules/insights/activity-log-alert/.test/common/main.test.bicep
index f95e1529af..49d570477c 100644
--- a/modules/insights/activity-log-alert/.test/common/main.test.bicep
+++ b/modules/insights/activity-log-alert/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/insights/activity-log-alert/README.md b/modules/insights/activity-log-alert/README.md
index 4e9a5b012e..0e825a2959 100644
--- a/modules/insights/activity-log-alert/README.md
+++ b/modules/insights/activity-log-alert/README.md
@@ -5,10 +5,10 @@ This module deploys an Activity Log Alert.
## Navigation
- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
## Resource Types
@@ -17,57 +17,27 @@ This module deploys an Activity Log Alert.
| `Microsoft.Authorization/roleAssignments` | [2022-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2022-04-01/roleAssignments) |
| `Microsoft.Insights/activityLogAlerts` | [2020-10-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Insights/2020-10-01/activityLogAlerts) |
-## Parameters
-
-**Required parameters**
-
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `conditions` | array | An Array of objects containing conditions that will cause this alert to activate. Conditions can also be combined with logical operators `allOf` and `anyOf`. Each condition can specify only one field between `equals` and `containsAny`. An alert rule condition must have exactly one category (Administrative, ServiceHealth, ResourceHealth, Alert, Autoscale, Recommendation, Security, or Policy). |
-| `name` | string | The name of the alert. |
-
-**Optional parameters**
-
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `actions` | array | `[]` | The list of actions to take when alert triggers. |
-| `alertDescription` | string | `''` | Description of the alert. |
-| `enabled` | bool | `True` | Indicates whether this alert is enabled. |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `location` | string | `'global'` | Location for all resources. |
-| `roleAssignments` | array | `[]` | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
-| `scopes` | array | `[[subscription().id]]` | The list of resource IDs that this Activity Log Alert is scoped to. |
-| `tags` | object | `{object}` | Tags of the resource. |
+## Usage examples
+The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository.
-## Outputs
+>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-| Output Name | Type | Description |
-| :-- | :-- | :-- |
-| `location` | string | The location the resource was deployed into. |
-| `name` | string | The name of the activity log alert. |
-| `resourceGroupName` | string | The resource group the activity log alert was deployed into. |
-| `resourceId` | string | The resource ID of the activity log alert. |
+>**Note**: To reference the module, please use the following syntax `br:bicep/modules/insights.activity-log-alert:1.0.0`.
-## Cross-referenced modules
+- [Using large parameter set](#example-1-using-large-parameter-set)
-_None_
+### Example 1: _Using large parameter set_
-## Deployment examples
+This instance deploys the module with most of its features enabled.
-The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder.
- >**Note**: The name of each example is based on the name of the file from which it is taken.
-
- >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`conditions`](#parameter-conditions) | array | An Array of objects containing conditions that will cause this alert to activate. Conditions can also be combined with logical operators `allOf` and `anyOf`. Each condition can specify only one field between `equals` and `containsAny`. An alert rule condition must have exactly one category (Administrative, ServiceHealth, ResourceHealth, Alert, Autoscale, Recommendation, Security, or Policy). |
+| [`name`](#parameter-name) | string | The name of the alert. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`actions`](#parameter-actions) | array | The list of actions to take when alert triggers. |
+| [`alertDescription`](#parameter-alertdescription) | string | Description of the alert. |
+| [`enabled`](#parameter-enabled) | bool | Indicates whether this alert is enabled. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`location`](#parameter-location) | string | Location for all resources. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`scopes`](#parameter-scopes) | array | The list of resource IDs that this Activity Log Alert is scoped to. |
+| [`tags`](#parameter-tags) | object | Tags of the resource. |
+
+### Parameter: `actions`
+
+The list of actions to take when alert triggers.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `alertDescription`
+
+Description of the alert.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `conditions`
+
+An Array of objects containing conditions that will cause this alert to activate. Conditions can also be combined with logical operators `allOf` and `anyOf`. Each condition can specify only one field between `equals` and `containsAny`. An alert rule condition must have exactly one category (Administrative, ServiceHealth, ResourceHealth, Alert, Autoscale, Recommendation, Security, or Policy).
+- Required: Yes
+- Type: array
+
+### Parameter: `enabled`
+
+Indicates whether this alert is enabled.
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `location`
+
+Location for all resources.
+- Required: No
+- Type: string
+- Default: `'global'`
+
+### Parameter: `name`
+
+The name of the alert.
+- Required: Yes
+- Type: string
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `scopes`
+
+The list of resource IDs that this Activity Log Alert is scoped to.
+- Required: No
+- Type: array
+- Default: `[[subscription().id]]`
+
+### Parameter: `tags`
+
+Tags of the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The name of the activity log alert. |
+| `resourceGroupName` | string | The resource group the activity log alert was deployed into. |
+| `resourceId` | string | The resource ID of the activity log alert. |
+
+## Cross-referenced modules
+
+_None_
diff --git a/modules/insights/component/.test/common/main.test.bicep b/modules/insights/component/.test/common/main.test.bicep
index bb1280676e..31b26886ab 100644
--- a/modules/insights/component/.test/common/main.test.bicep
+++ b/modules/insights/component/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/insights/component/.test/min/main.test.bicep b/modules/insights/component/.test/min/main.test.bicep
index 7e5bd974e5..965482d24d 100644
--- a/modules/insights/component/.test/min/main.test.bicep
+++ b/modules/insights/component/.test/min/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using only defaults'
+metadata description = 'This instance deploys the module with the minimum set of required parameters.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/insights/component/README.md b/modules/insights/component/README.md
index 815a655d02..161ac02871 100644
--- a/modules/insights/component/README.md
+++ b/modules/insights/component/README.md
@@ -5,10 +5,10 @@ This component deploys an Application Insights instance.
## Navigation
- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
## Resource Types
@@ -18,68 +18,28 @@ This component deploys an Application Insights instance.
| `Microsoft.Insights/components` | [2020-02-02](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Insights/2020-02-02/components) |
| `Microsoft.Insights/diagnosticSettings` | [2021-05-01-preview](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Insights/2021-05-01-preview/diagnosticSettings) |
-## Parameters
-
-**Required parameters**
-
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | Name of the Application Insights. |
-| `workspaceResourceId` | string | Resource ID of the log analytics workspace which the data will be ingested to. This property is required to create an application with this API version. Applications from older versions will not have this property. |
-
-**Optional parameters**
-
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `applicationType` | string | `'web'` | `[other, web]` | Application type. |
-| `diagnosticEventHubAuthorizationRuleId` | string | `''` | | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
-| `diagnosticEventHubName` | string | `''` | | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
-| `diagnosticLogCategoriesToEnable` | array | `[allLogs]` | `['', allLogs, AppAvailabilityResults, AppBrowserTimings, AppDependencies, AppEvents, AppExceptions, AppMetrics, AppPageViews, AppPerformanceCounters, AppRequests, AppSystemEvents, AppTraces]` | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
-| `diagnosticMetricsToEnable` | array | `[AllMetrics]` | `[AllMetrics]` | The name of metrics that will be streamed. |
-| `diagnosticSettingsName` | string | `''` | | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | Name of the Application Insights. |
+| [`workspaceResourceId`](#parameter-workspaceresourceid) | string | Resource ID of the log analytics workspace which the data will be ingested to. This property is required to create an application with this API version. Applications from older versions will not have this property. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`applicationType`](#parameter-applicationtype) | string | Application type. |
+| [`diagnosticEventHubAuthorizationRuleId`](#parameter-diagnosticeventhubauthorizationruleid) | string | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
+| [`diagnosticEventHubName`](#parameter-diagnosticeventhubname) | string | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
+| [`diagnosticLogCategoriesToEnable`](#parameter-diagnosticlogcategoriestoenable) | array | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
+| [`diagnosticMetricsToEnable`](#parameter-diagnosticmetricstoenable) | array | The name of metrics that will be streamed. |
+| [`diagnosticSettingsName`](#parameter-diagnosticsettingsname) | string | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | The name of the data collection endpoint. The name is case insensitive. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via the Customer Usage Attribution ID (GUID). |
+| [`kind`](#parameter-kind) | string | The kind of the resource. |
+| [`location`](#parameter-location) | string | Location for all Resources. |
+| [`lock`](#parameter-lock) | string | Specify the type of lock. |
+| [`publicNetworkAccess`](#parameter-publicnetworkaccess) | string | The configuration to set whether network access from public internet to the endpoints are allowed. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`tags`](#parameter-tags) | object | Resource tags. |
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via the Customer Usage Attribution ID (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `kind`
+
+The kind of the resource.
+- Required: No
+- Type: string
+- Default: `'Linux'`
+- Allowed: `[Linux, Windows]`
+
+### Parameter: `location`
+
+Location for all Resources.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `lock`
+
+Specify the type of lock.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', CanNotDelete, ReadOnly]`
+
+### Parameter: `name`
+
+The name of the data collection endpoint. The name is case insensitive.
+- Required: Yes
+- Type: string
+
+### Parameter: `publicNetworkAccess`
+
+The configuration to set whether network access from public internet to the endpoints are allowed.
+- Required: No
+- Type: string
+- Default: `'Disabled'`
+- Allowed: `[Disabled, Enabled]`
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `tags`
+
+Resource tags.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The name of the dataCollectionEndpoint. |
+| `resourceGroupName` | string | The name of the resource group the dataCollectionEndpoint was created in. |
+| `resourceId` | string | The resource ID of the dataCollectionEndpoint. |
+
+## Cross-referenced modules
+
+_None_
diff --git a/modules/insights/data-collection-endpoint/main.json b/modules/insights/data-collection-endpoint/main.json
index 23d2aeef04..f40ef19865 100644
--- a/modules/insights/data-collection-endpoint/main.json
+++ b/modules/insights/data-collection-endpoint/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "3728781575799278005"
+ "version": "0.22.6.54827",
+ "templateHash": "13275626141321439645"
},
"name": "Data Collection Endpoints",
"description": "This module deploys a Data Collection Endpoint.",
@@ -157,8 +157,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "8300016643720111813"
+ "version": "0.22.6.54827",
+ "templateHash": "5079554613850149123"
}
},
"parameters": {
diff --git a/modules/insights/data-collection-rule/.test/min/main.test.bicep b/modules/insights/data-collection-rule/.test/min/main.test.bicep
index 46e103725d..e18f5d9ef8 100644
--- a/modules/insights/data-collection-rule/.test/min/main.test.bicep
+++ b/modules/insights/data-collection-rule/.test/min/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using only defaults'
+metadata description = 'This instance deploys the module with the minimum set of required parameters.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/insights/data-collection-rule/README.md b/modules/insights/data-collection-rule/README.md
index aa4038af07..d1ce364f66 100644
--- a/modules/insights/data-collection-rule/README.md
+++ b/modules/insights/data-collection-rule/README.md
@@ -5,10 +5,10 @@ This module deploys a Data Collection Rule.
## Navigation
- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
## Resource Types
@@ -18,60 +18,29 @@ This module deploys a Data Collection Rule.
| `Microsoft.Authorization/roleAssignments` | [2022-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2022-04-01/roleAssignments) |
| `Microsoft.Insights/dataCollectionRules` | [2021-09-01-preview](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Insights/2021-09-01-preview/dataCollectionRules) |
-## Parameters
-
-**Required parameters**
-
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `dataFlows` | array | The specification of data flows. |
-| `dataSources` | object | Specification of data sources that will be collected. |
-| `destinations` | object | Specification of destinations that can be used in data flows. |
-| `name` | string | The name of the data collection rule. The name is case insensitive. |
-
-**Optional parameters**
-
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `dataCollectionEndpointId` | string | `''` | | The resource ID of the data collection endpoint that this rule can be used with. |
-| `description` | string | `''` | | Description of the data collection rule. |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via the Customer Usage Attribution ID (GUID). |
-| `kind` | string | `'Linux'` | `[Linux, Windows]` | The kind of the resource. |
-| `location` | string | `[resourceGroup().location]` | | Location for all Resources. |
-| `lock` | string | `''` | `['', CanNotDelete, ReadOnly]` | Specify the type of lock. |
-| `roleAssignments` | array | `[]` | | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
-| `streamDeclarations` | object | `{object}` | | Declaration of custom streams used in this rule. |
-| `tags` | object | `{object}` | | Resource tags. |
-
-
-## Outputs
-
-| Output Name | Type | Description |
-| :-- | :-- | :-- |
-| `location` | string | The location the resource was deployed into. |
-| `name` | string | The name of the dataCollectionRule. |
-| `resourceGroupName` | string | The name of the resource group the dataCollectionRule was created in. |
-| `resourceId` | string | The resource ID of the dataCollectionRule. |
-
-## Cross-referenced modules
+## Usage examples
-_None_
+The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository.
-## Deployment examples
+>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder.
- >**Note**: The name of each example is based on the name of the file from which it is taken.
+>**Note**: To reference the module, please use the following syntax `br:bicep/modules/insights.data-collection-rule:1.0.0`.
- >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
+- [Customadv](#example-1-customadv)
+- [Custombasic](#example-2-custombasic)
+- [Customiis](#example-3-customiis)
+- [Linux](#example-4-linux)
+- [Using only defaults](#example-5-using-only-defaults)
+- [Windows](#example-6-windows)
-
-
-
-
-
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`dataFlows`](#parameter-dataflows) | array | The specification of data flows. |
+| [`dataSources`](#parameter-datasources) | object | Specification of data sources that will be collected. |
+| [`destinations`](#parameter-destinations) | object | Specification of destinations that can be used in data flows. |
+| [`name`](#parameter-name) | string | The name of the data collection rule. The name is case insensitive. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`dataCollectionEndpointId`](#parameter-datacollectionendpointid) | string | The resource ID of the data collection endpoint that this rule can be used with. |
+| [`description`](#parameter-description) | string | Description of the data collection rule. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via the Customer Usage Attribution ID (GUID). |
+| [`kind`](#parameter-kind) | string | The kind of the resource. |
+| [`location`](#parameter-location) | string | Location for all Resources. |
+| [`lock`](#parameter-lock) | string | Specify the type of lock. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`streamDeclarations`](#parameter-streamdeclarations) | object | Declaration of custom streams used in this rule. |
+| [`tags`](#parameter-tags) | object | Resource tags. |
+
+### Parameter: `dataCollectionEndpointId`
+
+The resource ID of the data collection endpoint that this rule can be used with.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `dataFlows`
+
+The specification of data flows.
+- Required: Yes
+- Type: array
+
+### Parameter: `dataSources`
+
+Specification of data sources that will be collected.
+- Required: Yes
+- Type: object
+
+### Parameter: `description`
+
+Description of the data collection rule.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `destinations`
+
+Specification of destinations that can be used in data flows.
+- Required: Yes
+- Type: object
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via the Customer Usage Attribution ID (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `kind`
+
+The kind of the resource.
+- Required: No
+- Type: string
+- Default: `'Linux'`
+- Allowed: `[Linux, Windows]`
+
+### Parameter: `location`
+
+Location for all Resources.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `lock`
+
+Specify the type of lock.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', CanNotDelete, ReadOnly]`
+
+### Parameter: `name`
+
+The name of the data collection rule. The name is case insensitive.
+- Required: Yes
+- Type: string
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `streamDeclarations`
+
+Declaration of custom streams used in this rule.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `tags`
+
+Resource tags.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The name of the dataCollectionRule. |
+| `resourceGroupName` | string | The name of the resource group the dataCollectionRule was created in. |
+| `resourceId` | string | The resource ID of the dataCollectionRule. |
+
+## Cross-referenced modules
+
+_None_
diff --git a/modules/insights/data-collection-rule/main.json b/modules/insights/data-collection-rule/main.json
index 40ab530aea..9fd6a4d083 100644
--- a/modules/insights/data-collection-rule/main.json
+++ b/modules/insights/data-collection-rule/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "4052867535187508575"
+ "version": "0.22.6.54827",
+ "templateHash": "12233779363216703767"
},
"name": "Data Collection Rules",
"description": "This module deploys a Data Collection Rule.",
@@ -188,8 +188,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "5004939963696451046"
+ "version": "0.22.6.54827",
+ "templateHash": "15006261932688103990"
}
},
"parameters": {
diff --git a/modules/insights/diagnostic-setting/.test/common/main.test.bicep b/modules/insights/diagnostic-setting/.test/common/main.test.bicep
index d8eb101670..4fdfbd0770 100644
--- a/modules/insights/diagnostic-setting/.test/common/main.test.bicep
+++ b/modules/insights/diagnostic-setting/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/insights/diagnostic-setting/README.md b/modules/insights/diagnostic-setting/README.md
index 1af907de3f..d4369f0915 100644
--- a/modules/insights/diagnostic-setting/README.md
+++ b/modules/insights/diagnostic-setting/README.md
@@ -5,10 +5,10 @@ This module deploys a Subscription wide export of the Activity Log.
## Navigation
- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
## Resource Types
@@ -16,49 +16,27 @@ This module deploys a Subscription wide export of the Activity Log.
| :-- | :-- |
| `Microsoft.Insights/diagnosticSettings` | [2021-05-01-preview](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Insights/2021-05-01-preview/diagnosticSettings) |
-## Parameters
-
-**Optional parameters**
-
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `diagnosticEventHubAuthorizationRuleId` | string | `''` | | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
-| `diagnosticEventHubName` | string | `''` | | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
-| `diagnosticLogCategoriesToEnable` | array | `[allLogs]` | `['', Administrative, Alert, allLogs, Autoscale, Policy, Recommendation, ResourceHealth, Security, ServiceHealth]` | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
-| `diagnosticStorageAccountId` | string | `''` | | Resource ID of the diagnostic storage account. |
-| `diagnosticWorkspaceId` | string | `''` | | Resource ID of the diagnostic log analytics workspace. |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `location` | string | `[deployment().location]` | | Location deployment metadata. |
-| `name` | string | `[format('{0}-ActivityLog', uniqueString(subscription().id))]` | | Name of the ActivityLog diagnostic settings. |
-
-
-## Outputs
+## Usage examples
-| Output Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | The name of the diagnostic settings. |
-| `resourceId` | string | The resource ID of the diagnostic settings. |
-| `subscriptionName` | string | The name of the subscription to deploy into. |
+The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository.
-## Cross-referenced modules
+>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-_None_
+>**Note**: To reference the module, please use the following syntax `br:bicep/modules/insights.diagnostic-setting:1.0.0`.
-## Deployment examples
+- [Using large parameter set](#example-1-using-large-parameter-set)
-The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder.
- >**Note**: The name of each example is based on the name of the file from which it is taken.
+### Example 1: _Using large parameter set_
- >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
+This instance deploys the module with most of its features enabled.
-
+
+
+## Parameters
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`diagnosticEventHubAuthorizationRuleId`](#parameter-diagnosticeventhubauthorizationruleid) | string | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
+| [`diagnosticEventHubName`](#parameter-diagnosticeventhubname) | string | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
+| [`diagnosticLogCategoriesToEnable`](#parameter-diagnosticlogcategoriestoenable) | array | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
+| [`diagnosticStorageAccountId`](#parameter-diagnosticstorageaccountid) | string | Resource ID of the diagnostic storage account. |
+| [`diagnosticWorkspaceId`](#parameter-diagnosticworkspaceid) | string | Resource ID of the diagnostic log analytics workspace. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`location`](#parameter-location) | string | Location deployment metadata. |
+| [`name`](#parameter-name) | string | Name of the ActivityLog diagnostic settings. |
+
+### Parameter: `diagnosticEventHubAuthorizationRuleId`
+
+Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `diagnosticEventHubName`
+
+Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `diagnosticLogCategoriesToEnable`
+
+The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection.
+- Required: No
+- Type: array
+- Default: `[allLogs]`
+- Allowed: `['', Administrative, Alert, allLogs, Autoscale, Policy, Recommendation, ResourceHealth, Security, ServiceHealth]`
+
+### Parameter: `diagnosticStorageAccountId`
+
+Resource ID of the diagnostic storage account.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `diagnosticWorkspaceId`
+
+Resource ID of the diagnostic log analytics workspace.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `location`
+
+Location deployment metadata.
+- Required: No
+- Type: string
+- Default: `[deployment().location]`
+
+### Parameter: `name`
+
+Name of the ActivityLog diagnostic settings.
+- Required: No
+- Type: string
+- Default: `[format('{0}-ActivityLog', uniqueString(subscription().id))]`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `name` | string | The name of the diagnostic settings. |
+| `resourceId` | string | The resource ID of the diagnostic settings. |
+| `subscriptionName` | string | The name of the subscription to deploy into. |
+
+## Cross-referenced modules
+
+_None_
diff --git a/modules/insights/diagnostic-setting/main.json b/modules/insights/diagnostic-setting/main.json
index 19685f7e7b..7ced987e1c 100644
--- a/modules/insights/diagnostic-setting/main.json
+++ b/modules/insights/diagnostic-setting/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "9469136899800527049"
+ "version": "0.22.6.54827",
+ "templateHash": "11607957812214718943"
},
"name": "Diagnostic Settings (Activity Logs) for Azure Subscriptions",
"description": "This module deploys a Subscription wide export of the Activity Log.",
diff --git a/modules/insights/metric-alert/.test/common/main.test.bicep b/modules/insights/metric-alert/.test/common/main.test.bicep
index 148d924d70..a5fcd52873 100644
--- a/modules/insights/metric-alert/.test/common/main.test.bicep
+++ b/modules/insights/metric-alert/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/insights/metric-alert/README.md b/modules/insights/metric-alert/README.md
index b2ffecb0f5..9167bd19af 100644
--- a/modules/insights/metric-alert/README.md
+++ b/modules/insights/metric-alert/README.md
@@ -4,82 +4,40 @@ This module deploys a Metric Alert.
## Navigation
-- [Resource types](#Resource-types)
+- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
-## Resource types
+## Resource Types
| Resource Type | API Version |
| :-- | :-- |
| `Microsoft.Authorization/roleAssignments` | [2022-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2022-04-01/roleAssignments) |
| `Microsoft.Insights/metricAlerts` | [2018-03-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Insights/2018-03-01/metricAlerts) |
-## Parameters
-
-**Required parameters**
+## Usage examples
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `criterias` | array | Criterias to trigger the alert. Array of 'Microsoft.Azure.Monitor.SingleResourceMultipleMetricCriteria' or 'Microsoft.Azure.Monitor.MultipleResourceMultipleMetricCriteria' objects. When using MultipleResourceMultipleMetricCriteria criteria type, some parameters becomes mandatory. It is not possible to convert from SingleResourceMultipleMetricCriteria to MultipleResourceMultipleMetricCriteria. The alert must be deleted and recreated. |
-| `name` | string | The name of the alert. |
-
-**Conditional parameters**
+The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository.
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `targetResourceRegion` | string | `''` | The region of the target resource(s) on which the alert is created/updated. Required if alertCriteriaType is MultipleResourceMultipleMetricCriteria. |
-| `targetResourceType` | string | `''` | The resource type of the target resource(s) on which the alert is created/updated. Required if alertCriteriaType is MultipleResourceMultipleMetricCriteria. |
+>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-**Optional parameters**
-
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `actions` | array | `[]` | | The list of actions to take when alert triggers. |
-| `alertCriteriaType` | string | `'Microsoft.Azure.Monitor.MultipleResourceMultipleMetricCriteria'` | `[Microsoft.Azure.Monitor.MultipleResourceMultipleMetricCriteria, Microsoft.Azure.Monitor.SingleResourceMultipleMetricCriteria, Microsoft.Azure.Monitor.WebtestLocationAvailabilityCriteria]` | Maps to the 'odata.type' field. Specifies the type of the alert criteria. |
-| `alertDescription` | string | `''` | | Description of the alert. |
-| `autoMitigate` | bool | `True` | | The flag that indicates whether the alert should be auto resolved or not. |
-| `enabled` | bool | `True` | | Indicates whether this alert is enabled. |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `evaluationFrequency` | string | `'PT5M'` | `[PT15M, PT1H, PT1M, PT30M, PT5M]` | how often the metric alert is evaluated represented in ISO 8601 duration format. |
-| `location` | string | `'global'` | | Location for all resources. |
-| `roleAssignments` | array | `[]` | | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
-| `scopes` | array | `[[subscription().id]]` | | the list of resource IDs that this metric alert is scoped to. |
-| `severity` | int | `3` | `[0, 1, 2, 3, 4]` | The severity of the alert. |
-| `tags` | object | `{object}` | | Tags of the resource. |
-| `windowSize` | string | `'PT15M'` | `[P1D, PT12H, PT15M, PT1H, PT1M, PT30M, PT5M, PT6H]` | the period of time (in ISO 8601 duration format) that is used to monitor alert activity based on the threshold. |
-
-
-## Outputs
-
-| Output Name | Type | Description |
-| :-- | :-- | :-- |
-| `location` | string | The location the resource was deployed into. |
-| `name` | string | The name of the metric alert. |
-| `resourceGroupName` | string | The resource group the metric alert was deployed into. |
-| `resourceId` | string | The resource ID of the metric alert. |
-
-## Cross-referenced modules
-
-_None_
+>**Note**: To reference the module, please use the following syntax `br:bicep/modules/insights.metric-alert:1.0.0`.
-## Deployment examples
+- [Using large parameter set](#example-1-using-large-parameter-set)
-The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder.
- >**Note**: The name of each example is based on the name of the file from which it is taken.
+### Example 1: _Using large parameter set_
- >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
+This instance deploys the module with most of its features enabled.
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`criterias`](#parameter-criterias) | array | Criterias to trigger the alert. Array of 'Microsoft.Azure.Monitor.SingleResourceMultipleMetricCriteria' or 'Microsoft.Azure.Monitor.MultipleResourceMultipleMetricCriteria' objects. When using MultipleResourceMultipleMetricCriteria criteria type, some parameters becomes mandatory. It is not possible to convert from SingleResourceMultipleMetricCriteria to MultipleResourceMultipleMetricCriteria. The alert must be deleted and recreated. |
+| [`name`](#parameter-name) | string | The name of the alert. |
+
+**Conditional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`targetResourceRegion`](#parameter-targetresourceregion) | string | The region of the target resource(s) on which the alert is created/updated. Required if alertCriteriaType is MultipleResourceMultipleMetricCriteria. |
+| [`targetResourceType`](#parameter-targetresourcetype) | string | The resource type of the target resource(s) on which the alert is created/updated. Required if alertCriteriaType is MultipleResourceMultipleMetricCriteria. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`actions`](#parameter-actions) | array | The list of actions to take when alert triggers. |
+| [`alertCriteriaType`](#parameter-alertcriteriatype) | string | Maps to the 'odata.type' field. Specifies the type of the alert criteria. |
+| [`alertDescription`](#parameter-alertdescription) | string | Description of the alert. |
+| [`autoMitigate`](#parameter-automitigate) | bool | The flag that indicates whether the alert should be auto resolved or not. |
+| [`enabled`](#parameter-enabled) | bool | Indicates whether this alert is enabled. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`evaluationFrequency`](#parameter-evaluationfrequency) | string | how often the metric alert is evaluated represented in ISO 8601 duration format. |
+| [`location`](#parameter-location) | string | Location for all resources. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`scopes`](#parameter-scopes) | array | the list of resource IDs that this metric alert is scoped to. |
+| [`severity`](#parameter-severity) | int | The severity of the alert. |
+| [`tags`](#parameter-tags) | object | Tags of the resource. |
+| [`windowSize`](#parameter-windowsize) | string | the period of time (in ISO 8601 duration format) that is used to monitor alert activity based on the threshold. |
+
+### Parameter: `actions`
+
+The list of actions to take when alert triggers.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `alertCriteriaType`
+
+Maps to the 'odata.type' field. Specifies the type of the alert criteria.
+- Required: No
+- Type: string
+- Default: `'Microsoft.Azure.Monitor.MultipleResourceMultipleMetricCriteria'`
+- Allowed: `[Microsoft.Azure.Monitor.MultipleResourceMultipleMetricCriteria, Microsoft.Azure.Monitor.SingleResourceMultipleMetricCriteria, Microsoft.Azure.Monitor.WebtestLocationAvailabilityCriteria]`
+
+### Parameter: `alertDescription`
+
+Description of the alert.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `autoMitigate`
+
+The flag that indicates whether the alert should be auto resolved or not.
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `criterias`
+
+Criterias to trigger the alert. Array of 'Microsoft.Azure.Monitor.SingleResourceMultipleMetricCriteria' or 'Microsoft.Azure.Monitor.MultipleResourceMultipleMetricCriteria' objects. When using MultipleResourceMultipleMetricCriteria criteria type, some parameters becomes mandatory. It is not possible to convert from SingleResourceMultipleMetricCriteria to MultipleResourceMultipleMetricCriteria. The alert must be deleted and recreated.
+- Required: Yes
+- Type: array
+
+### Parameter: `enabled`
+
+Indicates whether this alert is enabled.
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `evaluationFrequency`
+
+how often the metric alert is evaluated represented in ISO 8601 duration format.
+- Required: No
+- Type: string
+- Default: `'PT5M'`
+- Allowed: `[PT15M, PT1H, PT1M, PT30M, PT5M]`
+
+### Parameter: `location`
+
+Location for all resources.
+- Required: No
+- Type: string
+- Default: `'global'`
+
+### Parameter: `name`
+
+The name of the alert.
+- Required: Yes
+- Type: string
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `scopes`
+
+the list of resource IDs that this metric alert is scoped to.
+- Required: No
+- Type: array
+- Default: `[[subscription().id]]`
+
+### Parameter: `severity`
+
+The severity of the alert.
+- Required: No
+- Type: int
+- Default: `3`
+- Allowed: `[0, 1, 2, 3, 4]`
+
+### Parameter: `tags`
+
+Tags of the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `targetResourceRegion`
+
+The region of the target resource(s) on which the alert is created/updated. Required if alertCriteriaType is MultipleResourceMultipleMetricCriteria.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `targetResourceType`
+
+The resource type of the target resource(s) on which the alert is created/updated. Required if alertCriteriaType is MultipleResourceMultipleMetricCriteria.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `windowSize`
+
+the period of time (in ISO 8601 duration format) that is used to monitor alert activity based on the threshold.
+- Required: No
+- Type: string
+- Default: `'PT15M'`
+- Allowed: `[P1D, PT12H, PT15M, PT1H, PT1M, PT30M, PT5M, PT6H]`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The name of the metric alert. |
+| `resourceGroupName` | string | The resource group the metric alert was deployed into. |
+| `resourceId` | string | The resource ID of the metric alert. |
+
+## Cross-referenced modules
+
+_None_
diff --git a/modules/insights/private-link-scope/.test/common/main.test.bicep b/modules/insights/private-link-scope/.test/common/main.test.bicep
index ee6b934b40..9b899bd5c8 100644
--- a/modules/insights/private-link-scope/.test/common/main.test.bicep
+++ b/modules/insights/private-link-scope/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/insights/private-link-scope/.test/min/main.test.bicep b/modules/insights/private-link-scope/.test/min/main.test.bicep
index 63ab6727cc..38e1bad335 100644
--- a/modules/insights/private-link-scope/.test/min/main.test.bicep
+++ b/modules/insights/private-link-scope/.test/min/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using only defaults'
+metadata description = 'This instance deploys the module with the minimum set of required parameters.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/insights/private-link-scope/README.md b/modules/insights/private-link-scope/README.md
index 44b66f32bb..95d6f651da 100644
--- a/modules/insights/private-link-scope/README.md
+++ b/modules/insights/private-link-scope/README.md
@@ -4,13 +4,13 @@ This module deploys an Azure Monitor Private Link Scope.
## Navigation
-- [Resource types](#Resource-types)
+- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
-## Resource types
+## Resource Types
| Resource Type | API Version |
| :-- | :-- |
@@ -21,59 +21,27 @@ This module deploys an Azure Monitor Private Link Scope.
| `Microsoft.Network/privateEndpoints` | [2023-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2023-04-01/privateEndpoints) |
| `Microsoft.Network/privateEndpoints/privateDnsZoneGroups` | [2023-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2023-04-01/privateEndpoints/privateDnsZoneGroups) |
-## Parameters
+## Usage examples
-**Required parameters**
+The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository.
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | Name of the private link scope. |
+>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-**Optional parameters**
+>**Note**: To reference the module, please use the following syntax `br:bicep/modules/insights.private-link-scope:1.0.0`.
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `location` | string | `'global'` | | The location of the private link scope. Should be global. |
-| `lock` | string | `''` | `['', CanNotDelete, ReadOnly]` | Specify the type of lock. |
-| `privateEndpoints` | array | `[]` | | Configuration details for private endpoints. For security reasons, it is recommended to use private endpoints whenever possible. |
-| `roleAssignments` | array | `[]` | | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
-| `scopedResources` | array | `[]` | | Configuration details for Azure Monitor Resources. |
-| `tags` | object | `{object}` | | Resource tags. |
+- [Using large parameter set](#example-1-using-large-parameter-set)
+- [Using only defaults](#example-2-using-only-defaults)
+### Example 1: _Using large parameter set_
-## Outputs
+This instance deploys the module with most of its features enabled.
-| Output Name | Type | Description |
-| :-- | :-- | :-- |
-| `location` | string | The location the resource was deployed into. |
-| `name` | string | The name of the private link scope. |
-| `resourceGroupName` | string | The resource group the private link scope was deployed into. |
-| `resourceId` | string | The resource ID of the private link scope. |
-
-## Cross-referenced modules
-
-This section gives you an overview of all local-referenced module files (i.e., other CARML modules that are referenced in this module) and all remote-referenced files (i.e., Bicep modules that are referenced from a Bicep Registry or Template Specs).
-
-| Reference | Type |
-| :-- | :-- |
-| `network/private-endpoint` | Local reference |
-
-## Deployment examples
-
-The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder.
- >**Note**: The name of each example is based on the name of the file from which it is taken.
-
- >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-
-
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | Name of the private link scope. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`location`](#parameter-location) | string | The location of the private link scope. Should be global. |
+| [`lock`](#parameter-lock) | string | Specify the type of lock. |
+| [`privateEndpoints`](#parameter-privateendpoints) | array | Configuration details for private endpoints. For security reasons, it is recommended to use private endpoints whenever possible. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`scopedResources`](#parameter-scopedresources) | array | Configuration details for Azure Monitor Resources. |
+| [`tags`](#parameter-tags) | object | Resource tags. |
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `location`
+
+The location of the private link scope. Should be global.
+- Required: No
+- Type: string
+- Default: `'global'`
+
+### Parameter: `lock`
+
+Specify the type of lock.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', CanNotDelete, ReadOnly]`
+
+### Parameter: `name`
+
+Name of the private link scope.
+- Required: Yes
+- Type: string
+
+### Parameter: `privateEndpoints`
+
+Configuration details for private endpoints. For security reasons, it is recommended to use private endpoints whenever possible.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `scopedResources`
+
+Configuration details for Azure Monitor Resources.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `tags`
+
+Resource tags.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The name of the private link scope. |
+| `resourceGroupName` | string | The resource group the private link scope was deployed into. |
+| `resourceId` | string | The resource ID of the private link scope. |
+
+## Cross-referenced modules
+
+This section gives you an overview of all local-referenced module files (i.e., other CARML modules that are referenced in this module) and all remote-referenced files (i.e., Bicep modules that are referenced from a Bicep Registry or Template Specs).
+
+| Reference | Type |
+| :-- | :-- |
+| `modules/network/private-endpoint` | Local reference |
diff --git a/modules/insights/private-link-scope/main.json b/modules/insights/private-link-scope/main.json
index d6e2051ab8..309a70ce4d 100644
--- a/modules/insights/private-link-scope/main.json
+++ b/modules/insights/private-link-scope/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "13996279122424310340"
+ "version": "0.22.6.54827",
+ "templateHash": "9824068275707710634"
},
"name": "Azure Monitor Private Link Scopes",
"description": "This module deploys an Azure Monitor Private Link Scope.",
@@ -147,8 +147,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "3902218127334936289"
+ "version": "0.22.6.54827",
+ "templateHash": "13415430389319270642"
},
"name": "Private Link Scope Scoped Resources",
"description": "This module deploys a Private Link Scope Scoped Resource.",
@@ -282,8 +282,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "14580007913383558904"
+ "version": "0.22.6.54827",
+ "templateHash": "2884140170473394983"
},
"name": "Private Endpoints",
"description": "This module deploys a Private Endpoint.",
@@ -482,8 +482,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "2469208411936339153"
+ "version": "0.22.6.54827",
+ "templateHash": "5610247137574346230"
},
"name": "Private Endpoint Private DNS Zone Groups",
"description": "This module deploys a Private Endpoint Private DNS Zone Group.",
@@ -620,8 +620,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "13032708393704093995"
+ "version": "0.22.6.54827",
+ "templateHash": "14351187799927334028"
}
},
"parameters": {
@@ -834,8 +834,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "10054224154652466544"
+ "version": "0.22.6.54827",
+ "templateHash": "5166949819431915903"
}
},
"parameters": {
diff --git a/modules/insights/private-link-scope/scoped-resource/README.md b/modules/insights/private-link-scope/scoped-resource/README.md
index 9a2b71bdfd..77b61ba102 100644
--- a/modules/insights/private-link-scope/scoped-resource/README.md
+++ b/modules/insights/private-link-scope/scoped-resource/README.md
@@ -19,27 +19,52 @@ This module deploys a Private Link Scope Scoped Resource.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `linkedResourceId` | string | The resource ID of the scoped Azure monitor resource. |
-| `name` | string | Name of the private link scoped resource. |
+| [`linkedResourceId`](#parameter-linkedresourceid) | string | The resource ID of the scoped Azure monitor resource. |
+| [`name`](#parameter-name) | string | Name of the private link scoped resource. |
**Conditional parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `privateLinkScopeName` | string | The name of the parent private link scope. Required if the template is used in a standalone deployment. |
+| [`privateLinkScopeName`](#parameter-privatelinkscopename) | string | The name of the parent private link scope. Required if the template is used in a standalone deployment. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `linkedResourceId`
+
+The resource ID of the scoped Azure monitor resource.
+- Required: Yes
+- Type: string
+
+### Parameter: `name`
+
+Name of the private link scoped resource.
+- Required: Yes
+- Type: string
+
+### Parameter: `privateLinkScopeName`
+
+The name of the parent private link scope. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The full name of the deployed Scoped Resource. |
| `resourceGroupName` | string | The name of the resource group where the resource has been deployed. |
diff --git a/modules/insights/private-link-scope/scoped-resource/main.json b/modules/insights/private-link-scope/scoped-resource/main.json
index 790a70f1a7..349184548c 100644
--- a/modules/insights/private-link-scope/scoped-resource/main.json
+++ b/modules/insights/private-link-scope/scoped-resource/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "15630582062607337146"
+ "version": "0.22.6.54827",
+ "templateHash": "13415430389319270642"
},
"name": "Private Link Scope Scoped Resources",
"description": "This module deploys a Private Link Scope Scoped Resource.",
diff --git a/modules/insights/scheduled-query-rule/.test/common/main.test.bicep b/modules/insights/scheduled-query-rule/.test/common/main.test.bicep
index a8b98171e6..225e5a94d4 100644
--- a/modules/insights/scheduled-query-rule/.test/common/main.test.bicep
+++ b/modules/insights/scheduled-query-rule/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/insights/scheduled-query-rule/README.md b/modules/insights/scheduled-query-rule/README.md
index ac0722d263..6a30bc24a4 100644
--- a/modules/insights/scheduled-query-rule/README.md
+++ b/modules/insights/scheduled-query-rule/README.md
@@ -4,79 +4,40 @@ This module deploys a Scheduled Query Rule.
## Navigation
-- [Resource types](#Resource-types)
+- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
-## Resource types
+## Resource Types
| Resource Type | API Version |
| :-- | :-- |
| `Microsoft.Authorization/roleAssignments` | [2022-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2022-04-01/roleAssignments) |
| `Microsoft.Insights/scheduledQueryRules` | [2021-02-01-preview](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Insights/2021-02-01-preview/scheduledQueryRules) |
-## Parameters
-
-**Required parameters**
-
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `criterias` | object | The rule criteria that defines the conditions of the scheduled query rule. |
-| `name` | string | The name of the Alert. |
-| `scopes` | array | The list of resource IDs that this scheduled query rule is scoped to. |
-
-**Optional parameters**
-
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `actions` | array | `[]` | | Actions to invoke when the alert fires. |
-| `alertDescription` | string | `''` | | The description of the scheduled query rule. |
-| `autoMitigate` | bool | `True` | | The flag that indicates whether the alert should be automatically resolved or not. Relevant only for rules of the kind LogAlert. |
-| `enabled` | bool | `True` | | The flag which indicates whether this scheduled query rule is enabled. |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `evaluationFrequency` | string | `''` | | How often the scheduled query rule is evaluated represented in ISO 8601 duration format. Relevant and required only for rules of the kind LogAlert. |
-| `kind` | string | `'LogAlert'` | `[LogAlert, LogToMetric]` | Indicates the type of scheduled query rule. |
-| `location` | string | `[resourceGroup().location]` | | Location for all resources. |
-| `queryTimeRange` | string | `''` | | If specified (in ISO 8601 duration format) then overrides the query time range. Relevant only for rules of the kind LogAlert. |
-| `roleAssignments` | array | `[]` | | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
-| `severity` | int | `3` | `[0, 1, 2, 3, 4]` | Severity of the alert. Should be an integer between [0-4]. Value of 0 is severest. Relevant and required only for rules of the kind LogAlert. |
-| `skipQueryValidation` | bool | `False` | | The flag which indicates whether the provided query should be validated or not. Relevant only for rules of the kind LogAlert. |
-| `suppressForMinutes` | string | `''` | | Mute actions for the chosen period of time (in ISO 8601 duration format) after the alert is fired. If set, autoMitigate must be disabled.Relevant only for rules of the kind LogAlert. |
-| `tags` | object | `{object}` | | Tags of the resource. |
-| `targetResourceTypes` | array | `[]` | | List of resource type of the target resource(s) on which the alert is created/updated. For example if the scope is a resource group and targetResourceTypes is Microsoft.Compute/virtualMachines, then a different alert will be fired for each virtual machine in the resource group which meet the alert criteria. Relevant only for rules of the kind LogAlert. |
-| `windowSize` | string | `''` | | The period of time (in ISO 8601 duration format) on which the Alert query will be executed (bin size). Relevant and required only for rules of the kind LogAlert. |
-
-
-## Outputs
+## Usage examples
-| Output Name | Type | Description |
-| :-- | :-- | :-- |
-| `location` | string | The location the resource was deployed into. |
-| `name` | string | The Name of the created query rule. |
-| `resourceGroupName` | string | The Resource Group of the created query rule. |
-| `resourceId` | string | The resource ID of the created query rule. |
+The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository.
-## Cross-referenced modules
+>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-_None_
+>**Note**: To reference the module, please use the following syntax `br:bicep/modules/insights.scheduled-query-rule:1.0.0`.
-## Deployment examples
+- [Using large parameter set](#example-1-using-large-parameter-set)
-The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder.
- >**Note**: The name of each example is based on the name of the file from which it is taken.
+### Example 1: _Using large parameter set_
- >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
+This instance deploys the module with most of its features enabled.
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`criterias`](#parameter-criterias) | object | The rule criteria that defines the conditions of the scheduled query rule. |
+| [`name`](#parameter-name) | string | The name of the Alert. |
+| [`scopes`](#parameter-scopes) | array | The list of resource IDs that this scheduled query rule is scoped to. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`actions`](#parameter-actions) | array | Actions to invoke when the alert fires. |
+| [`alertDescription`](#parameter-alertdescription) | string | The description of the scheduled query rule. |
+| [`autoMitigate`](#parameter-automitigate) | bool | The flag that indicates whether the alert should be automatically resolved or not. Relevant only for rules of the kind LogAlert. |
+| [`enabled`](#parameter-enabled) | bool | The flag which indicates whether this scheduled query rule is enabled. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`evaluationFrequency`](#parameter-evaluationfrequency) | string | How often the scheduled query rule is evaluated represented in ISO 8601 duration format. Relevant and required only for rules of the kind LogAlert. |
+| [`kind`](#parameter-kind) | string | Indicates the type of scheduled query rule. |
+| [`location`](#parameter-location) | string | Location for all resources. |
+| [`queryTimeRange`](#parameter-querytimerange) | string | If specified (in ISO 8601 duration format) then overrides the query time range. Relevant only for rules of the kind LogAlert. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`severity`](#parameter-severity) | int | Severity of the alert. Should be an integer between [0-4]. Value of 0 is severest. Relevant and required only for rules of the kind LogAlert. |
+| [`skipQueryValidation`](#parameter-skipqueryvalidation) | bool | The flag which indicates whether the provided query should be validated or not. Relevant only for rules of the kind LogAlert. |
+| [`suppressForMinutes`](#parameter-suppressforminutes) | string | Mute actions for the chosen period of time (in ISO 8601 duration format) after the alert is fired. If set, autoMitigate must be disabled.Relevant only for rules of the kind LogAlert. |
+| [`tags`](#parameter-tags) | object | Tags of the resource. |
+| [`targetResourceTypes`](#parameter-targetresourcetypes) | array | List of resource type of the target resource(s) on which the alert is created/updated. For example if the scope is a resource group and targetResourceTypes is Microsoft.Compute/virtualMachines, then a different alert will be fired for each virtual machine in the resource group which meet the alert criteria. Relevant only for rules of the kind LogAlert. |
+| [`windowSize`](#parameter-windowsize) | string | The period of time (in ISO 8601 duration format) on which the Alert query will be executed (bin size). Relevant and required only for rules of the kind LogAlert. |
+
+### Parameter: `actions`
+
+Actions to invoke when the alert fires.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `alertDescription`
+
+The description of the scheduled query rule.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `autoMitigate`
+
+The flag that indicates whether the alert should be automatically resolved or not. Relevant only for rules of the kind LogAlert.
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `criterias`
+
+The rule criteria that defines the conditions of the scheduled query rule.
+- Required: Yes
+- Type: object
+
+### Parameter: `enabled`
+
+The flag which indicates whether this scheduled query rule is enabled.
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `evaluationFrequency`
+
+How often the scheduled query rule is evaluated represented in ISO 8601 duration format. Relevant and required only for rules of the kind LogAlert.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `kind`
+
+Indicates the type of scheduled query rule.
+- Required: No
+- Type: string
+- Default: `'LogAlert'`
+- Allowed: `[LogAlert, LogToMetric]`
+
+### Parameter: `location`
+
+Location for all resources.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `name`
+
+The name of the Alert.
+- Required: Yes
+- Type: string
+
+### Parameter: `queryTimeRange`
+
+If specified (in ISO 8601 duration format) then overrides the query time range. Relevant only for rules of the kind LogAlert.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `scopes`
+
+The list of resource IDs that this scheduled query rule is scoped to.
+- Required: Yes
+- Type: array
+
+### Parameter: `severity`
+
+Severity of the alert. Should be an integer between [0-4]. Value of 0 is severest. Relevant and required only for rules of the kind LogAlert.
+- Required: No
+- Type: int
+- Default: `3`
+- Allowed: `[0, 1, 2, 3, 4]`
+
+### Parameter: `skipQueryValidation`
+
+The flag which indicates whether the provided query should be validated or not. Relevant only for rules of the kind LogAlert.
+- Required: No
+- Type: bool
+- Default: `False`
+
+### Parameter: `suppressForMinutes`
+
+Mute actions for the chosen period of time (in ISO 8601 duration format) after the alert is fired. If set, autoMitigate must be disabled.Relevant only for rules of the kind LogAlert.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `tags`
+
+Tags of the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `targetResourceTypes`
+
+List of resource type of the target resource(s) on which the alert is created/updated. For example if the scope is a resource group and targetResourceTypes is Microsoft.Compute/virtualMachines, then a different alert will be fired for each virtual machine in the resource group which meet the alert criteria. Relevant only for rules of the kind LogAlert.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `windowSize`
+
+The period of time (in ISO 8601 duration format) on which the Alert query will be executed (bin size). Relevant and required only for rules of the kind LogAlert.
+- Required: No
+- Type: string
+- Default: `''`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The Name of the created query rule. |
+| `resourceGroupName` | string | The Resource Group of the created query rule. |
+| `resourceId` | string | The resource ID of the created query rule. |
+
+## Cross-referenced modules
+
+_None_
diff --git a/modules/insights/scheduled-query-rule/main.json b/modules/insights/scheduled-query-rule/main.json
index 5d00e35361..5f912821a8 100644
--- a/modules/insights/scheduled-query-rule/main.json
+++ b/modules/insights/scheduled-query-rule/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "14503369793494300469"
+ "version": "0.22.6.54827",
+ "templateHash": "5166537476303359521"
},
"name": "Scheduled Query Rules",
"description": "This module deploys a Scheduled Query Rule.",
@@ -230,8 +230,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "15352642791797157407"
+ "version": "0.22.6.54827",
+ "templateHash": "10545808551952818846"
}
},
"parameters": {
diff --git a/modules/insights/webtest/.test/common/main.test.bicep b/modules/insights/webtest/.test/common/main.test.bicep
index 9e5d9bf6ce..2c96c3c4dd 100644
--- a/modules/insights/webtest/.test/common/main.test.bicep
+++ b/modules/insights/webtest/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/insights/webtest/.test/min/main.test.bicep b/modules/insights/webtest/.test/min/main.test.bicep
index c309005ca8..b5fd4f6831 100644
--- a/modules/insights/webtest/.test/min/main.test.bicep
+++ b/modules/insights/webtest/.test/min/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using only defaults'
+metadata description = 'This instance deploys the module with the minimum set of required parameters.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/insights/webtest/README.md b/modules/insights/webtest/README.md
index a46e16f64a..e875e2c3a4 100644
--- a/modules/insights/webtest/README.md
+++ b/modules/insights/webtest/README.md
@@ -5,10 +5,10 @@ This module deploys a Web Test.
## Navigation
- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
## Resource Types
@@ -18,65 +18,28 @@ This module deploys a Web Test.
| `Microsoft.Authorization/roleAssignments` | [2022-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2022-04-01/roleAssignments) |
| `Microsoft.Insights/webtests` | [2022-06-15](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Insights/2022-06-15/webtests) |
-## Parameters
-
-**Required parameters**
-
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | Name of the webtest. |
-| `request` | object | The collection of request properties. |
-| `tags` | object | A single hidden-link tag pointing to an existing AI component is required. |
-| `webTestName` | string | User defined name if this WebTest. |
-
-**Optional parameters**
-
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `configuration` | object | `{object}` | | An XML configuration specification for a WebTest. |
-| `description` | string | `''` | | User defined description for this WebTest. |
-| `enabled` | bool | `True` | | Is the test actively being monitored. |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `frequency` | int | `300` | | Interval in seconds between test runs for this WebTest. |
-| `kind` | string | `'standard'` | `[multistep, ping, standard]` | The kind of WebTest that this web test watches. |
-| `location` | string | `[resourceGroup().location]` | | Location for all Resources. |
-| `locations` | array | `[System.Management.Automation.OrderedHashtable, System.Management.Automation.OrderedHashtable, System.Management.Automation.OrderedHashtable, System.Management.Automation.OrderedHashtable, System.Management.Automation.OrderedHashtable]` | | List of where to physically run the tests from to give global coverage for accessibility of your application. |
-| `lock` | string | `''` | `['', CanNotDelete, ReadOnly]` | Specify the type of lock. |
-| `retryEnabled` | bool | `True` | | Allow for retries should this WebTest fail. |
-| `roleAssignments` | array | `[]` | | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
-| `syntheticMonitorId` | string | `[parameters('name')]` | | Unique ID of this WebTest. |
-| `timeout` | int | `30` | | Seconds until this WebTest will timeout and fail. |
-| `validationRules` | object | `{object}` | | The collection of validation rule properties. |
-
-
-## Outputs
+## Usage examples
-| Output Name | Type | Description |
-| :-- | :-- | :-- |
-| `location` | string | The location the resource was deployed into. |
-| `name` | string | The name of the webtest. |
-| `resourceGroupName` | string | The resource group the resource was deployed into. |
-| `resourceId` | string | The resource ID of the webtest. |
+The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository.
-## Cross-referenced modules
+>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-_None_
+>**Note**: To reference the module, please use the following syntax `br:bicep/modules/insights.webtest:1.0.0`.
-## Deployment examples
+- [Using large parameter set](#example-1-using-large-parameter-set)
+- [Using only defaults](#example-2-using-only-defaults)
-The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder.
- >**Note**: The name of each example is based on the name of the file from which it is taken.
+### Example 1: _Using large parameter set_
- >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
+This instance deploys the module with most of its features enabled.
-
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | Name of the webtest. |
+| [`request`](#parameter-request) | object | The collection of request properties. |
+| [`tags`](#parameter-tags) | object | A single hidden-link tag pointing to an existing AI component is required. |
+| [`webTestName`](#parameter-webtestname) | string | User defined name if this WebTest. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`configuration`](#parameter-configuration) | object | An XML configuration specification for a WebTest. |
+| [`description`](#parameter-description) | string | User defined description for this WebTest. |
+| [`enabled`](#parameter-enabled) | bool | Is the test actively being monitored. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`frequency`](#parameter-frequency) | int | Interval in seconds between test runs for this WebTest. |
+| [`kind`](#parameter-kind) | string | The kind of WebTest that this web test watches. |
+| [`location`](#parameter-location) | string | Location for all Resources. |
+| [`locations`](#parameter-locations) | array | List of where to physically run the tests from to give global coverage for accessibility of your application. |
+| [`lock`](#parameter-lock) | string | Specify the type of lock. |
+| [`retryEnabled`](#parameter-retryenabled) | bool | Allow for retries should this WebTest fail. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`syntheticMonitorId`](#parameter-syntheticmonitorid) | string | Unique ID of this WebTest. |
+| [`timeout`](#parameter-timeout) | int | Seconds until this WebTest will timeout and fail. |
+| [`validationRules`](#parameter-validationrules) | object | The collection of validation rule properties. |
+
+### Parameter: `configuration`
+
+An XML configuration specification for a WebTest.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `description`
+
+User defined description for this WebTest.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `enabled`
+
+Is the test actively being monitored.
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `frequency`
+
+Interval in seconds between test runs for this WebTest.
+- Required: No
+- Type: int
+- Default: `300`
+
+### Parameter: `kind`
+
+The kind of WebTest that this web test watches.
+- Required: No
+- Type: string
+- Default: `'standard'`
+- Allowed: `[multistep, ping, standard]`
+
+### Parameter: `location`
+
+Location for all Resources.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `locations`
+
+List of where to physically run the tests from to give global coverage for accessibility of your application.
+- Required: No
+- Type: array
+- Default: `[System.Management.Automation.OrderedHashtable, System.Management.Automation.OrderedHashtable, System.Management.Automation.OrderedHashtable, System.Management.Automation.OrderedHashtable, System.Management.Automation.OrderedHashtable]`
+
+### Parameter: `lock`
+
+Specify the type of lock.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', CanNotDelete, ReadOnly]`
+
+### Parameter: `name`
+
+Name of the webtest.
+- Required: Yes
+- Type: string
+
+### Parameter: `request`
+
+The collection of request properties.
+- Required: Yes
+- Type: object
+
+### Parameter: `retryEnabled`
+
+Allow for retries should this WebTest fail.
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `syntheticMonitorId`
+
+Unique ID of this WebTest.
+- Required: No
+- Type: string
+- Default: `[parameters('name')]`
+
+### Parameter: `tags`
+
+A single hidden-link tag pointing to an existing AI component is required.
+- Required: Yes
+- Type: object
+
+### Parameter: `timeout`
+
+Seconds until this WebTest will timeout and fail.
+- Required: No
+- Type: int
+- Default: `30`
+
+### Parameter: `validationRules`
+
+The collection of validation rule properties.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `webTestName`
+
+User defined name if this WebTest.
+- Required: Yes
+- Type: string
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The name of the webtest. |
+| `resourceGroupName` | string | The resource group the resource was deployed into. |
+| `resourceId` | string | The resource ID of the webtest. |
+
+## Cross-referenced modules
+
+_None_
diff --git a/modules/insights/webtest/main.json b/modules/insights/webtest/main.json
index 0705ac73d2..334ab5e53b 100644
--- a/modules/insights/webtest/main.json
+++ b/modules/insights/webtest/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "16956370635999680512"
+ "version": "0.22.6.54827",
+ "templateHash": "17812769147790423288"
},
"name": "Web Tests",
"description": "This module deploys a Web Test.",
@@ -245,8 +245,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "10303500513207854110"
+ "version": "0.22.6.54827",
+ "templateHash": "13954103255282067786"
}
},
"parameters": {
diff --git a/modules/key-vault/vault/.test/common/main.test.bicep b/modules/key-vault/vault/.test/common/main.test.bicep
index 42499a4e72..179de80d30 100644
--- a/modules/key-vault/vault/.test/common/main.test.bicep
+++ b/modules/key-vault/vault/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/key-vault/vault/.test/min/main.test.bicep b/modules/key-vault/vault/.test/min/main.test.bicep
index 0ecea959ed..1fe0290488 100644
--- a/modules/key-vault/vault/.test/min/main.test.bicep
+++ b/modules/key-vault/vault/.test/min/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using only defaults'
+metadata description = 'This instance deploys the module with the minimum set of required parameters.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/key-vault/vault/README.md b/modules/key-vault/vault/README.md
index abd7378c73..2160f1abf6 100644
--- a/modules/key-vault/vault/README.md
+++ b/modules/key-vault/vault/README.md
@@ -5,10 +5,10 @@ This module deploys a Key Vault.
## Navigation
- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
## Resource Types
@@ -24,80 +24,27 @@ This module deploys a Key Vault.
| `Microsoft.Network/privateEndpoints` | [2023-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2023-04-01/privateEndpoints) |
| `Microsoft.Network/privateEndpoints/privateDnsZoneGroups` | [2023-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2023-04-01/privateEndpoints/privateDnsZoneGroups) |
-## Parameters
-
-**Required parameters**
-
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | Name of the Key Vault. Must be globally unique. |
-
-**Optional parameters**
-
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `accessPolicies` | array | `[]` | | All access policies to create. |
-| `createMode` | string | `'default'` | | The vault's create mode to indicate whether the vault need to be recovered or not. - recover or default. |
-| `diagnosticEventHubAuthorizationRuleId` | string | `''` | | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
-| `diagnosticEventHubName` | string | `''` | | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. For security reasons, it is recommended to set diagnostic settings to send data to either storage account, log analytics workspace or event hub. |
-| `diagnosticLogCategoriesToEnable` | array | `[allLogs]` | `['', allLogs, AuditEvent, AzurePolicyEvaluationDetails]` | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
-| `diagnosticMetricsToEnable` | array | `[AllMetrics]` | `[AllMetrics]` | The name of metrics that will be streamed. |
-| `diagnosticSettingsName` | string | `''` | | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
-
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | Name of the Key Vault. Must be globally unique. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`accessPolicies`](#parameter-accesspolicies) | array | All access policies to create. |
+| [`createMode`](#parameter-createmode) | string | The vault's create mode to indicate whether the vault need to be recovered or not. - recover or default. |
+| [`diagnosticEventHubAuthorizationRuleId`](#parameter-diagnosticeventhubauthorizationruleid) | string | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
+| [`diagnosticEventHubName`](#parameter-diagnosticeventhubname) | string | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. For security reasons, it is recommended to set diagnostic settings to send data to either storage account, log analytics workspace or event hub. |
+| [`diagnosticLogCategoriesToEnable`](#parameter-diagnosticlogcategoriestoenable) | array | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
+| [`diagnosticMetricsToEnable`](#parameter-diagnosticmetricstoenable) | array | The name of metrics that will be streamed. |
+| [`diagnosticSettingsName`](#parameter-diagnosticsettingsname) | string | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`clusterName`](#parameter-clustername) | string | The name of the AKS cluster that should be configured. |
+| [`extensionType`](#parameter-extensiontype) | string | Type of the Extension, of which this resource is an instance of. It must be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the Extension publisher. |
+| [`name`](#parameter-name) | string | The name of the Flux Configuration. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`configurationProtectedSettings`](#parameter-configurationprotectedsettings) | secureObject | Configuration settings that are sensitive, as name-value pairs for configuring this extension. |
+| [`configurationSettings`](#parameter-configurationsettings) | object | Configuration settings, as name-value pairs for configuring this extension. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`fluxConfigurations`](#parameter-fluxconfigurations) | array | A list of flux configuraitons. |
+| [`location`](#parameter-location) | string | Location for all resources. |
+| [`releaseNamespace`](#parameter-releasenamespace) | string | Namespace where the extension Release must be placed, for a Cluster scoped extension. If this namespace does not exist, it will be created. |
+| [`releaseTrain`](#parameter-releasetrain) | string | ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, Preview, etc.) - only if autoUpgradeMinorVersion is "true". |
+| [`targetNamespace`](#parameter-targetnamespace) | string | Namespace where the extension will be created for an Namespace scoped extension. If this namespace does not exist, it will be created. |
+| [`version`](#parameter-version) | string | Version of the extension for this extension, if it is "pinned" to a specific version. |
+
+### Parameter: `clusterName`
+
+The name of the AKS cluster that should be configured.
+- Required: Yes
+- Type: string
+
+### Parameter: `configurationProtectedSettings`
+
+Configuration settings that are sensitive, as name-value pairs for configuring this extension.
+- Required: No
+- Type: secureObject
+- Default: `{object}`
+
+### Parameter: `configurationSettings`
+
+Configuration settings, as name-value pairs for configuring this extension.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `extensionType`
+
+Type of the Extension, of which this resource is an instance of. It must be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the Extension publisher.
+- Required: Yes
+- Type: string
+
+### Parameter: `fluxConfigurations`
+
+A list of flux configuraitons.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `location`
+
+Location for all resources.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `name`
+
+The name of the Flux Configuration.
+- Required: Yes
+- Type: string
+
+### Parameter: `releaseNamespace`
+
+Namespace where the extension Release must be placed, for a Cluster scoped extension. If this namespace does not exist, it will be created.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `releaseTrain`
+
+ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, Preview, etc.) - only if autoUpgradeMinorVersion is "true".
+- Required: No
+- Type: string
+- Default: `'Stable'`
+
+### Parameter: `targetNamespace`
+
+Namespace where the extension will be created for an Namespace scoped extension. If this namespace does not exist, it will be created.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `version`
+
+Version of the extension for this extension, if it is "pinned" to a specific version.
+- Required: No
+- Type: string
+- Default: `''`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `name` | string | The name of the extension. |
+| `resourceGroupName` | string | The name of the resource group the extension was deployed into. |
+| `resourceId` | string | The resource ID of the extension. |
+
+## Cross-referenced modules
+
+This section gives you an overview of all local-referenced module files (i.e., other CARML modules that are referenced in this module) and all remote-referenced files (i.e., Bicep modules that are referenced from a Bicep Registry or Template Specs).
+
+| Reference | Type |
+| :-- | :-- |
+| `modules/kubernetes-configuration/flux-configuration` | Local reference |
diff --git a/modules/kubernetes-configuration/extension/main.json b/modules/kubernetes-configuration/extension/main.json
index 59d2a7c481..f72a9dcfba 100644
--- a/modules/kubernetes-configuration/extension/main.json
+++ b/modules/kubernetes-configuration/extension/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "14913275975998013893"
+ "version": "0.22.6.54827",
+ "templateHash": "5002606439705018990"
},
"name": "Kubernetes Configuration Extensions",
"description": "This module deploys a Kubernetes Configuration Extension.",
@@ -167,8 +167,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "11648869363176032755"
+ "version": "0.22.6.54827",
+ "templateHash": "6686104224333946371"
},
"name": "Kubernetes Configuration Flux Configurations",
"description": "This module deploys a Kubernetes Configuration Flux Configuration.",
diff --git a/modules/kubernetes-configuration/flux-configuration/.test/common/main.test.bicep b/modules/kubernetes-configuration/flux-configuration/.test/common/main.test.bicep
index aca4b0de21..fc42c880db 100644
--- a/modules/kubernetes-configuration/flux-configuration/.test/common/main.test.bicep
+++ b/modules/kubernetes-configuration/flux-configuration/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/kubernetes-configuration/flux-configuration/.test/min/main.test.bicep b/modules/kubernetes-configuration/flux-configuration/.test/min/main.test.bicep
index 19c5b732e7..deffae3122 100644
--- a/modules/kubernetes-configuration/flux-configuration/.test/min/main.test.bicep
+++ b/modules/kubernetes-configuration/flux-configuration/.test/min/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using only defaults'
+metadata description = 'This instance deploys the module with the minimum set of required parameters.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/kubernetes-configuration/flux-configuration/README.md b/modules/kubernetes-configuration/flux-configuration/README.md
index dec2c843cf..5e19132a78 100644
--- a/modules/kubernetes-configuration/flux-configuration/README.md
+++ b/modules/kubernetes-configuration/flux-configuration/README.md
@@ -5,10 +5,10 @@ This module deploys a Kubernetes Configuration Flux Configuration.
## Navigation
- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
- [Notes](#Notes)
## Resource Types
@@ -17,58 +17,28 @@ This module deploys a Kubernetes Configuration Flux Configuration.
| :-- | :-- |
| `Microsoft.KubernetesConfiguration/fluxConfigurations` | [2022-03-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.KubernetesConfiguration/2022-03-01/fluxConfigurations) |
-## Parameters
-
-**Required parameters**
-
-| Parameter Name | Type | Allowed Values | Description |
-| :-- | :-- | :-- | :-- |
-| `clusterName` | string | | The name of the AKS cluster that should be configured. |
-| `name` | string | | The name of the Flux Configuration. |
-| `namespace` | string | | The namespace to which this configuration is installed to. Maximum of 253 lower case alphanumeric characters, hyphen and period only. |
-| `scope` | string | `[cluster, namespace]` | Scope at which the configuration will be installed. |
-| `sourceKind` | string | `[Bucket, GitRepository]` | Source Kind to pull the configuration data from. |
-
-**Optional parameters**
-
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `bucket` | object | `{object}` | Parameters to reconcile to the GitRepository source kind type. |
-| `configurationProtectedSettings` | secureObject | `{object}` | Key-value pairs of protected configuration settings for the configuration. |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `gitRepository` | object | `{object}` | Parameters to reconcile to the GitRepository source kind type. |
-| `kustomizations` | object | `{object}` | Array of kustomizations used to reconcile the artifact pulled by the source type on the cluster. |
-| `location` | string | `[resourceGroup().location]` | Location for all resources. |
-| `suspend` | bool | `False` | Whether this configuration should suspend its reconciliation of its kustomizations and sources. |
-
+## Usage examples
-## Outputs
-
-| Output Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | The name of the flux configuration. |
-| `resourceGroupName` | string | The name of the resource group the flux configuration was deployed into. |
-| `resourceId` | string | The resource ID of the flux configuration. |
+The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository.
-## Cross-referenced modules
+>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-_None_
+>**Note**: To reference the module, please use the following syntax `br:bicep/modules/kubernetes-configuration.flux-configuration:1.0.0`.
-## Deployment examples
+- [Using large parameter set](#example-1-using-large-parameter-set)
+- [Using only defaults](#example-2-using-only-defaults)
-The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder.
- >**Note**: The name of each example is based on the name of the file from which it is taken.
+### Example 1: _Using large parameter set_
- >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
+This instance deploys the module with most of its features enabled.
-
-
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`clusterName`](#parameter-clustername) | string | The name of the AKS cluster that should be configured. |
+| [`name`](#parameter-name) | string | The name of the Flux Configuration. |
+| [`namespace`](#parameter-namespace) | string | The namespace to which this configuration is installed to. Maximum of 253 lower case alphanumeric characters, hyphen and period only. |
+| [`scope`](#parameter-scope) | string | Scope at which the configuration will be installed. |
+| [`sourceKind`](#parameter-sourcekind) | string | Source Kind to pull the configuration data from. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`bucket`](#parameter-bucket) | object | Parameters to reconcile to the GitRepository source kind type. |
+| [`configurationProtectedSettings`](#parameter-configurationprotectedsettings) | secureObject | Key-value pairs of protected configuration settings for the configuration. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`gitRepository`](#parameter-gitrepository) | object | Parameters to reconcile to the GitRepository source kind type. |
+| [`kustomizations`](#parameter-kustomizations) | object | Array of kustomizations used to reconcile the artifact pulled by the source type on the cluster. |
+| [`location`](#parameter-location) | string | Location for all resources. |
+| [`suspend`](#parameter-suspend) | bool | Whether this configuration should suspend its reconciliation of its kustomizations and sources. |
+
+### Parameter: `bucket`
+
+Parameters to reconcile to the GitRepository source kind type.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `clusterName`
+
+The name of the AKS cluster that should be configured.
+- Required: Yes
+- Type: string
+
+### Parameter: `configurationProtectedSettings`
+
+Key-value pairs of protected configuration settings for the configuration.
+- Required: No
+- Type: secureObject
+- Default: `{object}`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `gitRepository`
+
+Parameters to reconcile to the GitRepository source kind type.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `kustomizations`
+
+Array of kustomizations used to reconcile the artifact pulled by the source type on the cluster.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `location`
+
+Location for all resources.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `name`
+
+The name of the Flux Configuration.
+- Required: Yes
+- Type: string
+
+### Parameter: `namespace`
+
+The namespace to which this configuration is installed to. Maximum of 253 lower case alphanumeric characters, hyphen and period only.
+- Required: Yes
+- Type: string
+
+### Parameter: `scope`
+
+Scope at which the configuration will be installed.
+- Required: Yes
+- Type: string
+- Allowed: `[cluster, namespace]`
+
+### Parameter: `sourceKind`
+
+Source Kind to pull the configuration data from.
+- Required: Yes
+- Type: string
+- Allowed: `[Bucket, GitRepository]`
+
+### Parameter: `suspend`
+
+Whether this configuration should suspend its reconciliation of its kustomizations and sources.
+- Required: No
+- Type: bool
+- Default: `False`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `name` | string | The name of the flux configuration. |
+| `resourceGroupName` | string | The name of the resource group the flux configuration was deployed into. |
+| `resourceId` | string | The resource ID of the flux configuration. |
+
+## Cross-referenced modules
+
+_None_
+
## Notes
### Prerequisites
diff --git a/modules/kubernetes-configuration/flux-configuration/main.json b/modules/kubernetes-configuration/flux-configuration/main.json
index 2615f2ccce..252df520e1 100644
--- a/modules/kubernetes-configuration/flux-configuration/main.json
+++ b/modules/kubernetes-configuration/flux-configuration/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "11648869363176032755"
+ "version": "0.22.6.54827",
+ "templateHash": "6686104224333946371"
},
"name": "Kubernetes Configuration Flux Configurations",
"description": "This module deploys a Kubernetes Configuration Flux Configuration.",
diff --git a/modules/logic/workflow/.test/common/main.test.bicep b/modules/logic/workflow/.test/common/main.test.bicep
index 743b19f8a1..80c5e688ac 100644
--- a/modules/logic/workflow/.test/common/main.test.bicep
+++ b/modules/logic/workflow/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/logic/workflow/README.md b/modules/logic/workflow/README.md
index fcf3c02ae4..19d3961c81 100644
--- a/modules/logic/workflow/README.md
+++ b/modules/logic/workflow/README.md
@@ -4,14 +4,14 @@ This module deploys a Logic App (Workflow).
## Navigation
-- [Resource types](#Resource-types)
+- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
- [Notes](#Notes)
-## Resource types
+## Resource Types
| Resource Type | API Version |
| :-- | :-- |
@@ -20,78 +20,27 @@ This module deploys a Logic App (Workflow).
| `Microsoft.Insights/diagnosticSettings` | [2021-05-01-preview](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Insights/2021-05-01-preview/diagnosticSettings) |
| `Microsoft.Logic/workflows` | [2019-05-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Logic/2019-05-01/workflows) |
-## Parameters
+## Usage examples
-**Required parameters**
+The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository.
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | The logic app workflow name. |
+>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-**Optional parameters**
+>**Note**: To reference the module, please use the following syntax `br:bicep/modules/logic.workflow:1.0.0`.
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `actionsAccessControlConfiguration` | object | `{object}` | | The access control configuration for workflow actions. |
-| `connectorEndpointsConfiguration` | object | `{object}` | | The endpoints configuration: Access endpoint and outgoing IP addresses for the connector. |
-| `contentsAccessControlConfiguration` | object | `{object}` | | The access control configuration for accessing workflow run contents. |
-| `definitionParameters` | object | `{object}` | | Parameters for the definition template. |
-| `diagnosticEventHubAuthorizationRuleId` | string | `''` | | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
-| `diagnosticEventHubName` | string | `''` | | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
-| `diagnosticLogCategoriesToEnable` | array | `[allLogs]` | `['', allLogs, WorkflowRuntime]` | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
-| `diagnosticMetricsToEnable` | array | `[AllMetrics]` | `[AllMetrics]` | The name of metrics that will be streamed. |
-| `diagnosticSettingsName` | string | `''` | | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | The logic app workflow name. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`actionsAccessControlConfiguration`](#parameter-actionsaccesscontrolconfiguration) | object | The access control configuration for workflow actions. |
+| [`connectorEndpointsConfiguration`](#parameter-connectorendpointsconfiguration) | object | The endpoints configuration: Access endpoint and outgoing IP addresses for the connector. |
+| [`contentsAccessControlConfiguration`](#parameter-contentsaccesscontrolconfiguration) | object | The access control configuration for accessing workflow run contents. |
+| [`definitionParameters`](#parameter-definitionparameters) | object | Parameters for the definition template. |
+| [`diagnosticEventHubAuthorizationRuleId`](#parameter-diagnosticeventhubauthorizationruleid) | string | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
+| [`diagnosticEventHubName`](#parameter-diagnosticeventhubname) | string | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
+| [`diagnosticLogCategoriesToEnable`](#parameter-diagnosticlogcategoriestoenable) | array | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
+| [`diagnosticMetricsToEnable`](#parameter-diagnosticmetricstoenable) | array | The name of metrics that will be streamed. |
+| [`diagnosticSettingsName`](#parameter-diagnosticsettingsname) | string | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
-
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`associatedApplicationInsightsResourceId`](#parameter-associatedapplicationinsightsresourceid) | string | The resource ID of the associated Application Insights. |
+| [`associatedKeyVaultResourceId`](#parameter-associatedkeyvaultresourceid) | string | The resource ID of the associated Key Vault. |
+| [`associatedStorageAccountResourceId`](#parameter-associatedstorageaccountresourceid) | string | The resource ID of the associated Storage Account. |
+| [`name`](#parameter-name) | string | The name of the machine learning workspace. |
+| [`sku`](#parameter-sku) | string | Specifies the SKU, also referred as 'edition' of the Azure Machine Learning workspace. |
+
+**Conditional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`cMKKeyVaultResourceId`](#parameter-cmkkeyvaultresourceid) | string | The resource ID of a key vault to reference a customer managed key for encryption from. Required if 'cMKKeyName' is not empty. |
+| [`primaryUserAssignedIdentity`](#parameter-primaryuserassignedidentity) | string | The user assigned identity resource ID that represents the workspace identity. Required if 'userAssignedIdentities' is not empty and may not be used if 'systemAssignedIdentity' is enabled. |
+| [`systemAssignedIdentity`](#parameter-systemassignedidentity) | bool | Enables system assigned managed identity on the resource. Required if `userAssignedIdentities` is not provided. |
+| [`userAssignedIdentities`](#parameter-userassignedidentities) | object | The ID(s) to assign to the resource. Required if `systemAssignedIdentity` is set to false. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`allowPublicAccessWhenBehindVnet`](#parameter-allowpublicaccesswhenbehindvnet) | bool | The flag to indicate whether to allow public access when behind VNet. |
+| [`associatedContainerRegistryResourceId`](#parameter-associatedcontainerregistryresourceid) | string | The resource ID of the associated Container Registry. |
+| [`cMKKeyName`](#parameter-cmkkeyname) | string | The name of the customer managed key to use for encryption. |
+| [`cMKKeyVersion`](#parameter-cmkkeyversion) | string | The version of the customer managed key to reference for encryption. If not provided, the latest key version is used. |
+| [`cMKUserAssignedIdentityResourceId`](#parameter-cmkuserassignedidentityresourceid) | string | User assigned identity to use when fetching the customer managed key. If not provided, a system-assigned identity can be used - but must be given access to the referenced key vault first. |
+| [`computes`](#parameter-computes) | array | Computes to create respectively attach to the workspace. |
+| [`description`](#parameter-description) | string | The description of this workspace. |
+| [`diagnosticEventHubAuthorizationRuleId`](#parameter-diagnosticeventhubauthorizationruleid) | string | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
+| [`diagnosticEventHubName`](#parameter-diagnosticeventhubname) | string | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
+| [`diagnosticLogCategoriesToEnable`](#parameter-diagnosticlogcategoriestoenable) | array | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
+| [`diagnosticMetricsToEnable`](#parameter-diagnosticmetricstoenable) | array | The name of metrics that will be streamed. |
+| [`diagnosticSettingsName`](#parameter-diagnosticsettingsname) | string | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | Maintenance Configuration Name. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`extensionProperties`](#parameter-extensionproperties) | object | Gets or sets extensionProperties of the maintenanceConfiguration. |
+| [`installPatches`](#parameter-installpatches) | object | Configuration settings for VM guest patching with Azure Update Manager. |
+| [`location`](#parameter-location) | string | Location for all Resources. |
+| [`lock`](#parameter-lock) | string | Specify the type of lock. |
+| [`maintenanceScope`](#parameter-maintenancescope) | string | Gets or sets maintenanceScope of the configuration. |
+| [`maintenanceWindow`](#parameter-maintenancewindow) | object | Definition of a MaintenanceWindow. |
+| [`namespace`](#parameter-namespace) | string | Gets or sets namespace of the resource. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`tags`](#parameter-tags) | object | Gets or sets tags of the resource. |
+| [`visibility`](#parameter-visibility) | string | Gets or sets the visibility of the configuration. The default value is 'Custom'. |
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `extensionProperties`
+
+Gets or sets extensionProperties of the maintenanceConfiguration.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `installPatches`
+
+Configuration settings for VM guest patching with Azure Update Manager.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `location`
+
+Location for all Resources.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `lock`
+
+Specify the type of lock.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', CanNotDelete, ReadOnly]`
+
+### Parameter: `maintenanceScope`
+
+Gets or sets maintenanceScope of the configuration.
+- Required: No
+- Type: string
+- Default: `'Host'`
+- Allowed: `[Extension, Host, InGuestPatch, OSImage, SQLDB, SQLManagedInstance]`
+
+### Parameter: `maintenanceWindow`
+
+Definition of a MaintenanceWindow.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `name`
+
+Maintenance Configuration Name.
+- Required: Yes
+- Type: string
+
+### Parameter: `namespace`
+
+Gets or sets namespace of the resource.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `tags`
+
+Gets or sets tags of the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `visibility`
+
+Gets or sets the visibility of the configuration. The default value is 'Custom'.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', Custom, Public]`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `location` | string | The location the Maintenance Configuration was created in. |
+| `name` | string | The name of the Maintenance Configuration. |
+| `resourceGroupName` | string | The name of the resource group the Maintenance Configuration was created in. |
+| `resourceId` | string | The resource ID of the Maintenance Configuration. |
+
+## Cross-referenced modules
+
+_None_
diff --git a/modules/maintenance/maintenance-configuration/main.json b/modules/maintenance/maintenance-configuration/main.json
index fa8b75249d..1215f56f14 100644
--- a/modules/maintenance/maintenance-configuration/main.json
+++ b/modules/maintenance/maintenance-configuration/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "11249408608442094590"
+ "version": "0.22.6.54827",
+ "templateHash": "2646666210857505384"
},
"name": "Maintenance Configurations",
"description": "This module deploys a Maintenance Configuration.",
@@ -192,8 +192,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "13667533049136172110"
+ "version": "0.22.6.54827",
+ "templateHash": "17730168206359180764"
}
},
"parameters": {
diff --git a/modules/managed-identity/user-assigned-identity/.test/common/main.test.bicep b/modules/managed-identity/user-assigned-identity/.test/common/main.test.bicep
index 35e152866a..d99f3b2a60 100644
--- a/modules/managed-identity/user-assigned-identity/.test/common/main.test.bicep
+++ b/modules/managed-identity/user-assigned-identity/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/managed-identity/user-assigned-identity/.test/min/main.test.bicep b/modules/managed-identity/user-assigned-identity/.test/min/main.test.bicep
index 95ed7da3d2..4a83660c9c 100644
--- a/modules/managed-identity/user-assigned-identity/.test/min/main.test.bicep
+++ b/modules/managed-identity/user-assigned-identity/.test/min/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using only defaults'
+metadata description = 'This instance deploys the module with the minimum set of required parameters.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/managed-identity/user-assigned-identity/README.md b/modules/managed-identity/user-assigned-identity/README.md
index 5a4b75c1b9..bcf7800957 100644
--- a/modules/managed-identity/user-assigned-identity/README.md
+++ b/modules/managed-identity/user-assigned-identity/README.md
@@ -4,13 +4,13 @@ This module deploys a User Assigned Identity.
## Navigation
-- [Resource types](#Resource-types)
+- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
-## Resource types
+## Resource Types
| Resource Type | API Version |
| :-- | :-- |
@@ -19,51 +19,28 @@ This module deploys a User Assigned Identity.
| `Microsoft.ManagedIdentity/userAssignedIdentities` | [2023-01-31](https://learn.microsoft.com/en-us/azure/templates/Microsoft.ManagedIdentity/2023-01-31/userAssignedIdentities) |
| `Microsoft.ManagedIdentity/userAssignedIdentities/federatedIdentityCredentials` | [2023-01-31](https://learn.microsoft.com/en-us/azure/templates/Microsoft.ManagedIdentity/2023-01-31/userAssignedIdentities/federatedIdentityCredentials) |
-## Parameters
-
-**Optional parameters**
+## Usage examples
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `federatedIdentityCredentials` | array | `[]` | | The federated identity credentials list to indicate which token from the external IdP should be trusted by your application. Federated identity credentials are supported on applications only. A maximum of 20 federated identity credentials can be added per application object. |
-| `location` | string | `[resourceGroup().location]` | | Location for all resources. |
-| `lock` | string | `''` | `['', CanNotDelete, ReadOnly]` | Specify the type of lock. |
-| `name` | string | `[guid(resourceGroup().id)]` | | Name of the User Assigned Identity. |
-| `roleAssignments` | array | `[]` | | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
-| `tags` | object | `{object}` | | Tags of the resource. |
+The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository.
+>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-## Outputs
-
-| Output Name | Type | Description |
-| :-- | :-- | :-- |
-| `clientId` | string | The client ID (application ID) of the user assigned identity. |
-| `location` | string | The location the resource was deployed into. |
-| `name` | string | The name of the user assigned identity. |
-| `principalId` | string | The principal ID (object ID) of the user assigned identity. |
-| `resourceGroupName` | string | The resource group the user assigned identity was deployed into. |
-| `resourceId` | string | The resource ID of the user assigned identity. |
+>**Note**: To reference the module, please use the following syntax `br:bicep/modules/managed-identity.user-assigned-identity:1.0.0`.
-## Cross-referenced modules
+- [Using large parameter set](#example-1-using-large-parameter-set)
+- [Using only defaults](#example-2-using-only-defaults)
-_None_
+### Example 1: _Using large parameter set_
-## Deployment examples
+This instance deploys the module with most of its features enabled.
-The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder.
- >**Note**: The name of each example is based on the name of the file from which it is taken.
-
- >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-
-
-
+
+
+## Parameters
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`federatedIdentityCredentials`](#parameter-federatedidentitycredentials) | array | The federated identity credentials list to indicate which token from the external IdP should be trusted by your application. Federated identity credentials are supported on applications only. A maximum of 20 federated identity credentials can be added per application object. |
+| [`location`](#parameter-location) | string | Location for all resources. |
+| [`lock`](#parameter-lock) | string | Specify the type of lock. |
+| [`name`](#parameter-name) | string | Name of the User Assigned Identity. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`tags`](#parameter-tags) | object | Tags of the resource. |
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `federatedIdentityCredentials`
+
+The federated identity credentials list to indicate which token from the external IdP should be trusted by your application. Federated identity credentials are supported on applications only. A maximum of 20 federated identity credentials can be added per application object.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `location`
+
+Location for all resources.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `lock`
+
+Specify the type of lock.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', CanNotDelete, ReadOnly]`
+
+### Parameter: `name`
+
+Name of the User Assigned Identity.
+- Required: No
+- Type: string
+- Default: `[guid(resourceGroup().id)]`
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `tags`
+
+Tags of the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `clientId` | string | The client ID (application ID) of the user assigned identity. |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The name of the user assigned identity. |
+| `principalId` | string | The principal ID (object ID) of the user assigned identity. |
+| `resourceGroupName` | string | The resource group the user assigned identity was deployed into. |
+| `resourceId` | string | The resource ID of the user assigned identity. |
+
+## Cross-referenced modules
+
+_None_
diff --git a/modules/managed-identity/user-assigned-identity/federated-identity-credential/README.md b/modules/managed-identity/user-assigned-identity/federated-identity-credential/README.md
index 0405906384..ab9e7a346f 100644
--- a/modules/managed-identity/user-assigned-identity/federated-identity-credential/README.md
+++ b/modules/managed-identity/user-assigned-identity/federated-identity-credential/README.md
@@ -19,29 +19,66 @@ This module deploys a User Assigned Identity Federated Identity Credential.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `audiences` | array | The list of audiences that can appear in the issued token. Should be set to api://AzureADTokenExchange for Azure AD. It says what Microsoft identity platform should accept in the aud claim in the incoming token. This value represents Azure AD in your external identity provider and has no fixed value across identity providers - you might need to create a new application registration in your IdP to serve as the audience of this token. |
-| `issuer` | string | The URL of the issuer to be trusted. Must match the issuer claim of the external token being exchanged. |
-| `name` | string | The name of the secret. |
-| `subject` | string | The identifier of the external software workload within the external identity provider. Like the audience value, it has no fixed format, as each IdP uses their own - sometimes a GUID, sometimes a colon delimited identifier, sometimes arbitrary strings. The value here must match the sub claim within the token presented to Azure AD. |
+| [`audiences`](#parameter-audiences) | array | The list of audiences that can appear in the issued token. Should be set to api://AzureADTokenExchange for Azure AD. It says what Microsoft identity platform should accept in the aud claim in the incoming token. This value represents Azure AD in your external identity provider and has no fixed value across identity providers - you might need to create a new application registration in your IdP to serve as the audience of this token. |
+| [`issuer`](#parameter-issuer) | string | The URL of the issuer to be trusted. Must match the issuer claim of the external token being exchanged. |
+| [`name`](#parameter-name) | string | The name of the secret. |
+| [`subject`](#parameter-subject) | string | The identifier of the external software workload within the external identity provider. Like the audience value, it has no fixed format, as each IdP uses their own - sometimes a GUID, sometimes a colon delimited identifier, sometimes arbitrary strings. The value here must match the sub claim within the token presented to Azure AD. |
**Conditional parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `userAssignedIdentityName` | string | The name of the parent user assigned identity. Required if the template is used in a standalone deployment. |
+| [`userAssignedIdentityName`](#parameter-userassignedidentityname) | string | The name of the parent user assigned identity. Required if the template is used in a standalone deployment. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+
+### Parameter: `audiences`
+
+The list of audiences that can appear in the issued token. Should be set to api://AzureADTokenExchange for Azure AD. It says what Microsoft identity platform should accept in the aud claim in the incoming token. This value represents Azure AD in your external identity provider and has no fixed value across identity providers - you might need to create a new application registration in your IdP to serve as the audience of this token.
+- Required: Yes
+- Type: array
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `issuer`
+
+The URL of the issuer to be trusted. Must match the issuer claim of the external token being exchanged.
+- Required: Yes
+- Type: string
+
+### Parameter: `name`
+
+The name of the secret.
+- Required: Yes
+- Type: string
+
+### Parameter: `subject`
+
+The identifier of the external software workload within the external identity provider. Like the audience value, it has no fixed format, as each IdP uses their own - sometimes a GUID, sometimes a colon delimited identifier, sometimes arbitrary strings. The value here must match the sub claim within the token presented to Azure AD.
+- Required: Yes
+- Type: string
+
+### Parameter: `userAssignedIdentityName`
+
+The name of the parent user assigned identity. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The name of the federated identity credential. |
| `resourceGroupName` | string | The name of the resource group the federated identity credential was created in. |
diff --git a/modules/managed-identity/user-assigned-identity/federated-identity-credential/main.json b/modules/managed-identity/user-assigned-identity/federated-identity-credential/main.json
index be4b79c764..d7d037aaa3 100644
--- a/modules/managed-identity/user-assigned-identity/federated-identity-credential/main.json
+++ b/modules/managed-identity/user-assigned-identity/federated-identity-credential/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "13014227007294077055"
+ "version": "0.22.6.54827",
+ "templateHash": "15026838206978058830"
},
"name": "User Assigned Identity Federated Identity Credential",
"description": "This module deploys a User Assigned Identity Federated Identity Credential.",
diff --git a/modules/managed-identity/user-assigned-identity/main.json b/modules/managed-identity/user-assigned-identity/main.json
index 3efc21a3a0..8b93e98d84 100644
--- a/modules/managed-identity/user-assigned-identity/main.json
+++ b/modules/managed-identity/user-assigned-identity/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "5028263176846859457"
+ "version": "0.22.6.54827",
+ "templateHash": "689312003789935835"
},
"name": "User Assigned Identities",
"description": "This module deploys a User Assigned Identity.",
@@ -145,8 +145,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "961909405436269630"
+ "version": "0.22.6.54827",
+ "templateHash": "15026838206978058830"
},
"name": "User Assigned Identity Federated Identity Credential",
"description": "This module deploys a User Assigned Identity Federated Identity Credential.",
@@ -280,8 +280,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "5263933546195004806"
+ "version": "0.22.6.54827",
+ "templateHash": "2246284698738978006"
}
},
"parameters": {
diff --git a/modules/managed-services/registration-definition/.test/common/main.test.bicep b/modules/managed-services/registration-definition/.test/common/main.test.bicep
index bb23b4235e..854fe9a70d 100644
--- a/modules/managed-services/registration-definition/.test/common/main.test.bicep
+++ b/modules/managed-services/registration-definition/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/managed-services/registration-definition/README.md b/modules/managed-services/registration-definition/README.md
index 690c4c3720..23aac725b0 100644
--- a/modules/managed-services/registration-definition/README.md
+++ b/modules/managed-services/registration-definition/README.md
@@ -8,68 +8,42 @@ remote/managing tenant.
## Navigation
-- [Resource types](#Resource-types)
+- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
- [Notes](#Notes)
-## Resource types
+## Resource Types
| Resource Type | API Version |
| :-- | :-- |
| `Microsoft.ManagedServices/registrationAssignments` | [2019-09-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.ManagedServices/2019-09-01/registrationAssignments) |
| `Microsoft.ManagedServices/registrationDefinitions` | [2019-09-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.ManagedServices/2019-09-01/registrationDefinitions) |
-## Parameters
-
-**Required parameters**
-
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `authorizations` | array | Specify an array of objects, containing object of Azure Active Directory principalId, a Azure roleDefinitionId, and an optional principalIdDisplayName. The roleDefinition specified is granted to the principalId in the provider's Active Directory and the principalIdDisplayName is visible to customers. |
-| `managedByTenantId` | string | Specify the tenant ID of the tenant which homes the principals you are delegating permissions to. |
-| `name` | string | Specify a unique name for your offer/registration. i.e '
-
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`authorizations`](#parameter-authorizations) | array | Specify an array of objects, containing object of Azure Active Directory principalId, a Azure roleDefinitionId, and an optional principalIdDisplayName. The roleDefinition specified is granted to the principalId in the provider's Active Directory and the principalIdDisplayName is visible to customers. |
+| [`managedByTenantId`](#parameter-managedbytenantid) | string | Specify the tenant ID of the tenant which homes the principals you are delegating permissions to. |
+| [`name`](#parameter-name) | string | Specify a unique name for your offer/registration. i.e '
-
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | The group ID of the Management group. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`displayName`](#parameter-displayname) | string | The friendly name of the management group. If no value is passed then this field will be set to the group ID. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`location`](#parameter-location) | string | Location deployment metadata. |
+| [`parentId`](#parameter-parentid) | string | The management group parent ID. Defaults to current scope. |
+
+### Parameter: `displayName`
+
+The friendly name of the management group. If no value is passed then this field will be set to the group ID.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `location`
+
+Location deployment metadata.
+- Required: No
+- Type: string
+- Default: `[deployment().location]`
+
+### Parameter: `name`
+
+The group ID of the Management group.
+- Required: Yes
+- Type: string
+
+### Parameter: `parentId`
+
+The management group parent ID. Defaults to current scope.
+- Required: No
+- Type: string
+- Default: `[last(split(managementGroup().id, '/'))]`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `name` | string | The name of the management group. |
+| `resourceId` | string | The resource ID of the management group. |
+
+## Cross-referenced modules
+
+_None_
+
## Notes
### Considerations
diff --git a/modules/management/management-group/main.json b/modules/management/management-group/main.json
index 6288682f3e..728fe73364 100644
--- a/modules/management/management-group/main.json
+++ b/modules/management/management-group/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "13700903894139474584"
+ "version": "0.22.6.54827",
+ "templateHash": "10015491334460357572"
},
"name": "Management Groups",
"description": "This template will prepare the management group structure based on the provided parameter.\r\n\r\nThis module has some known **limitations**:\r\n- It's not possible to change the display name of the root management group (the one that has the tenant GUID as ID)\r\n- It can't manage the Root (/) management group",
diff --git a/modules/net-app/net-app-account/.test/min/main.test.bicep b/modules/net-app/net-app-account/.test/min/main.test.bicep
index 389a87065a..509217aef3 100644
--- a/modules/net-app/net-app-account/.test/min/main.test.bicep
+++ b/modules/net-app/net-app-account/.test/min/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using only defaults'
+metadata description = 'This instance deploys the module with the minimum set of required parameters.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/net-app/net-app-account/README.md b/modules/net-app/net-app-account/README.md
index 61958f1328..c589ef8523 100644
--- a/modules/net-app/net-app-account/README.md
+++ b/modules/net-app/net-app-account/README.md
@@ -4,13 +4,13 @@ This module deploys an Azure NetApp File.
## Navigation
-- [Resource types](#Resource-types)
+- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
-## Resource types
+## Resource Types
| Resource Type | API Version |
| :-- | :-- |
@@ -20,61 +20,29 @@ This module deploys an Azure NetApp File.
| `Microsoft.NetApp/netAppAccounts/capacityPools` | [2022-11-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.NetApp/netAppAccounts/capacityPools) |
| `Microsoft.NetApp/netAppAccounts/capacityPools/volumes` | [2022-11-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.NetApp/netAppAccounts/capacityPools/volumes) |
-## Parameters
-
-**Required parameters**
-
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | The name of the NetApp account. |
-
-**Optional parameters**
-
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `capacityPools` | array | `[]` | | Capacity pools to create. |
-| `dnsServers` | string | `''` | | Required if domainName is specified. Comma separated list of DNS server IP addresses (IPv4 only) required for the Active Directory (AD) domain join and SMB authentication operations to succeed. |
-| `domainJoinOU` | string | `''` | | Used only if domainName is specified. LDAP Path for the Organization Unit (OU) where SMB Server machine accounts will be created (i.e. 'OU=SecondLevel,OU=FirstLevel'). |
-| `domainJoinPassword` | securestring | `''` | | Required if domainName is specified. Password of the user specified in domainJoinUser parameter. |
-| `domainJoinUser` | string | `''` | | Required if domainName is specified. Username of Active Directory domain administrator, with permissions to create SMB server machine account in the AD domain. |
-| `domainName` | string | `''` | | Fully Qualified Active Directory DNS Domain Name (e.g. 'contoso.com'). |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `location` | string | `[resourceGroup().location]` | | Location for all resources. |
-| `lock` | string | `''` | `['', CanNotDelete, ReadOnly]` | Specify the type of lock. |
-| `roleAssignments` | array | `[]` | | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
-| `smbServerNamePrefix` | string | `''` | | Required if domainName is specified. NetBIOS name of the SMB server. A computer account with this prefix will be registered in the AD and used to mount volumes. |
-| `tags` | object | `{object}` | | Tags for all resources. |
-| `userAssignedIdentities` | object | `{object}` | | The ID(s) to assign to the resource. |
+## Usage examples
+The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository.
-## Outputs
-
-| Output Name | Type | Description |
-| :-- | :-- | :-- |
-| `location` | string | The location the resource was deployed into. |
-| `name` | string | The name of the NetApp account. |
-| `resourceGroupName` | string | The name of the Resource Group the NetApp account was created in. |
-| `resourceId` | string | The Resource ID of the NetApp account. |
-
-## Cross-referenced modules
+>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-_None_
+>**Note**: To reference the module, please use the following syntax `br:bicep/modules/net-app.net-app-account:1.0.0`.
-## Deployment examples
+- [Using only defaults](#example-1-using-only-defaults)
+- [Nfs3](#example-2-nfs3)
+- [Nfs41](#example-3-nfs41)
-The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder.
- >**Note**: The name of each example is based on the name of the file from which it is taken.
+### Example 1: _Using only defaults_
- >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
+This instance deploys the module with the minimum set of required parameters.
-
-
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | The name of the NetApp account. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`capacityPools`](#parameter-capacitypools) | array | Capacity pools to create. |
+| [`dnsServers`](#parameter-dnsservers) | string | Required if domainName is specified. Comma separated list of DNS server IP addresses (IPv4 only) required for the Active Directory (AD) domain join and SMB authentication operations to succeed. |
+| [`domainJoinOU`](#parameter-domainjoinou) | string | Used only if domainName is specified. LDAP Path for the Organization Unit (OU) where SMB Server machine accounts will be created (i.e. 'OU=SecondLevel,OU=FirstLevel'). |
+| [`domainJoinPassword`](#parameter-domainjoinpassword) | securestring | Required if domainName is specified. Password of the user specified in domainJoinUser parameter. |
+| [`domainJoinUser`](#parameter-domainjoinuser) | string | Required if domainName is specified. Username of Active Directory domain administrator, with permissions to create SMB server machine account in the AD domain. |
+| [`domainName`](#parameter-domainname) | string | Fully Qualified Active Directory DNS Domain Name (e.g. 'contoso.com'). |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`location`](#parameter-location) | string | Location for all resources. |
+| [`lock`](#parameter-lock) | string | Specify the type of lock. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`smbServerNamePrefix`](#parameter-smbservernameprefix) | string | Required if domainName is specified. NetBIOS name of the SMB server. A computer account with this prefix will be registered in the AD and used to mount volumes. |
+| [`tags`](#parameter-tags) | object | Tags for all resources. |
+| [`userAssignedIdentities`](#parameter-userassignedidentities) | object | The ID(s) to assign to the resource. |
+
+### Parameter: `capacityPools`
+
+Capacity pools to create.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `dnsServers`
+
+Required if domainName is specified. Comma separated list of DNS server IP addresses (IPv4 only) required for the Active Directory (AD) domain join and SMB authentication operations to succeed.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `domainJoinOU`
+
+Used only if domainName is specified. LDAP Path for the Organization Unit (OU) where SMB Server machine accounts will be created (i.e. 'OU=SecondLevel,OU=FirstLevel').
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `domainJoinPassword`
+
+Required if domainName is specified. Password of the user specified in domainJoinUser parameter.
+- Required: No
+- Type: securestring
+- Default: `''`
+
+### Parameter: `domainJoinUser`
+
+Required if domainName is specified. Username of Active Directory domain administrator, with permissions to create SMB server machine account in the AD domain.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `domainName`
+
+Fully Qualified Active Directory DNS Domain Name (e.g. 'contoso.com').
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `location`
+
+Location for all resources.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `lock`
+
+Specify the type of lock.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', CanNotDelete, ReadOnly]`
+
+### Parameter: `name`
+
+The name of the NetApp account.
+- Required: Yes
+- Type: string
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `smbServerNamePrefix`
+
+Required if domainName is specified. NetBIOS name of the SMB server. A computer account with this prefix will be registered in the AD and used to mount volumes.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `tags`
+
+Tags for all resources.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `userAssignedIdentities`
+
+The ID(s) to assign to the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The name of the NetApp account. |
+| `resourceGroupName` | string | The name of the Resource Group the NetApp account was created in. |
+| `resourceId` | string | The Resource ID of the NetApp account. |
+
+## Cross-referenced modules
+
+_None_
diff --git a/modules/net-app/net-app-account/capacity-pool/README.md b/modules/net-app/net-app-account/capacity-pool/README.md
index c614fe1313..527a0d6555 100644
--- a/modules/net-app/net-app-account/capacity-pool/README.md
+++ b/modules/net-app/net-app-account/capacity-pool/README.md
@@ -21,35 +21,119 @@ This module deploys an Azure NetApp Files Capacity Pool.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `name` | string | The name of the capacity pool. |
-| `size` | int | Provisioned size of the pool (in bytes). Allowed values are in 4TiB chunks (value must be multiply of 4398046511104). |
+| [`name`](#parameter-name) | string | The name of the capacity pool. |
+| [`size`](#parameter-size) | int | Provisioned size of the pool (in bytes). Allowed values are in 4TiB chunks (value must be multiply of 4398046511104). |
**Conditional parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `netAppAccountName` | string | The name of the parent NetApp account. Required if the template is used in a standalone deployment. |
+| [`netAppAccountName`](#parameter-netappaccountname) | string | The name of the parent NetApp account. Required if the template is used in a standalone deployment. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `coolAccess` | bool | `False` | | If enabled (true) the pool can contain cool Access enabled volumes. |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `encryptionType` | string | `'Single'` | `[Double, Single]` | Encryption type of the capacity pool, set encryption type for data at rest for this pool and all volumes in it. This value can only be set when creating new pool. |
-| `location` | string | `[resourceGroup().location]` | | Location of the pool volume. |
-| `qosType` | string | `'Auto'` | `[Auto, Manual]` | The qos type of the pool. |
-| `roleAssignments` | array | `[]` | | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
-| `serviceLevel` | string | `'Standard'` | `[Premium, Standard, StandardZRS, Ultra]` | The pool service level. |
-| `tags` | object | `{object}` | | Tags for all resources. |
-| `volumes` | array | `[]` | | List of volumnes to create in the capacity pool. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`coolAccess`](#parameter-coolaccess) | bool | If enabled (true) the pool can contain cool Access enabled volumes. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`encryptionType`](#parameter-encryptiontype) | string | Encryption type of the capacity pool, set encryption type for data at rest for this pool and all volumes in it. This value can only be set when creating new pool. |
+| [`location`](#parameter-location) | string | Location of the pool volume. |
+| [`qosType`](#parameter-qostype) | string | The qos type of the pool. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`serviceLevel`](#parameter-servicelevel) | string | The pool service level. |
+| [`tags`](#parameter-tags) | object | Tags for all resources. |
+| [`volumes`](#parameter-volumes) | array | List of volumnes to create in the capacity pool. |
+
+### Parameter: `coolAccess`
+
+If enabled (true) the pool can contain cool Access enabled volumes.
+- Required: No
+- Type: bool
+- Default: `False`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `encryptionType`
+
+Encryption type of the capacity pool, set encryption type for data at rest for this pool and all volumes in it. This value can only be set when creating new pool.
+- Required: No
+- Type: string
+- Default: `'Single'`
+- Allowed: `[Double, Single]`
+
+### Parameter: `location`
+
+Location of the pool volume.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `name`
+
+The name of the capacity pool.
+- Required: Yes
+- Type: string
+
+### Parameter: `netAppAccountName`
+
+The name of the parent NetApp account. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
+
+### Parameter: `qosType`
+
+The qos type of the pool.
+- Required: No
+- Type: string
+- Default: `'Auto'`
+- Allowed: `[Auto, Manual]`
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `serviceLevel`
+
+The pool service level.
+- Required: No
+- Type: string
+- Default: `'Standard'`
+- Allowed: `[Premium, Standard, StandardZRS, Ultra]`
+
+### Parameter: `size`
+
+Provisioned size of the pool (in bytes). Allowed values are in 4TiB chunks (value must be multiply of 4398046511104).
+- Required: Yes
+- Type: int
+
+### Parameter: `tags`
+
+Tags for all resources.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `volumes`
+
+List of volumnes to create in the capacity pool.
+- Required: No
+- Type: array
+- Default: `[]`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `location` | string | The location the resource was deployed into. |
| `name` | string | The name of the Capacity Pool. |
diff --git a/modules/net-app/net-app-account/capacity-pool/main.json b/modules/net-app/net-app-account/capacity-pool/main.json
index 0ef41ba698..799fc661e7 100644
--- a/modules/net-app/net-app-account/capacity-pool/main.json
+++ b/modules/net-app/net-app-account/capacity-pool/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "13333372953499047799"
+ "version": "0.22.6.54827",
+ "templateHash": "12343130799883120576"
},
"name": "Azure NetApp Files Capacity Pools",
"description": "This module deploys an Azure NetApp Files Capacity Pool.",
@@ -191,8 +191,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "5724175752968001086"
+ "version": "0.22.6.54827",
+ "templateHash": "14691007687090359135"
},
"name": "Azure NetApp Files Capacity Pool Volumes",
"description": "This module deploys an Azure NetApp Files Capacity Pool Volume.",
@@ -348,8 +348,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "6579931820257793193"
+ "version": "0.22.6.54827",
+ "templateHash": "11293747403075474966"
}
},
"parameters": {
@@ -533,8 +533,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "6567527079478034080"
+ "version": "0.22.6.54827",
+ "templateHash": "121785236396056059"
}
},
"parameters": {
diff --git a/modules/net-app/net-app-account/capacity-pool/volume/README.md b/modules/net-app/net-app-account/capacity-pool/volume/README.md
index 1996ecba95..c0d9409c13 100644
--- a/modules/net-app/net-app-account/capacity-pool/volume/README.md
+++ b/modules/net-app/net-app-account/capacity-pool/volume/README.md
@@ -20,35 +20,115 @@ This module deploys an Azure NetApp Files Capacity Pool Volume.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `name` | string | The name of the pool volume. |
-| `subnetResourceId` | string | The Azure Resource URI for a delegated subnet. Must have the delegation Microsoft.NetApp/volumes. |
-| `usageThreshold` | int | Maximum storage quota allowed for a file system in bytes. |
+| [`name`](#parameter-name) | string | The name of the pool volume. |
+| [`subnetResourceId`](#parameter-subnetresourceid) | string | The Azure Resource URI for a delegated subnet. Must have the delegation Microsoft.NetApp/volumes. |
+| [`usageThreshold`](#parameter-usagethreshold) | int | Maximum storage quota allowed for a file system in bytes. |
**Conditional parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `capacityPoolName` | string | The name of the parent capacity pool. Required if the template is used in a standalone deployment. |
-| `netAppAccountName` | string | The name of the parent NetApp account. Required if the template is used in a standalone deployment. |
+| [`capacityPoolName`](#parameter-capacitypoolname) | string | The name of the parent capacity pool. Required if the template is used in a standalone deployment. |
+| [`netAppAccountName`](#parameter-netappaccountname) | string | The name of the parent NetApp account. Required if the template is used in a standalone deployment. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `creationToken` | string | `[parameters('name')]` | | A unique file path for the volume. This is the name of the volume export. A volume is mounted using the export path. File path must start with an alphabetical character and be unique within the subscription. |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `exportPolicyRules` | array | `[]` | | Export policy rules. |
-| `location` | string | `[resourceGroup().location]` | | Location of the pool volume. |
-| `protocolTypes` | array | `[]` | | Set of protocol types. |
-| `roleAssignments` | array | `[]` | | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
-| `serviceLevel` | string | `'Standard'` | `[Premium, Standard, StandardZRS, Ultra]` | The pool service level. Must match the one of the parent capacity pool. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`creationToken`](#parameter-creationtoken) | string | A unique file path for the volume. This is the name of the volume export. A volume is mounted using the export path. File path must start with an alphabetical character and be unique within the subscription. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`exportPolicyRules`](#parameter-exportpolicyrules) | array | Export policy rules. |
+| [`location`](#parameter-location) | string | Location of the pool volume. |
+| [`protocolTypes`](#parameter-protocoltypes) | array | Set of protocol types. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`serviceLevel`](#parameter-servicelevel) | string | The pool service level. Must match the one of the parent capacity pool. |
+
+### Parameter: `capacityPoolName`
+
+The name of the parent capacity pool. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
+
+### Parameter: `creationToken`
+
+A unique file path for the volume. This is the name of the volume export. A volume is mounted using the export path. File path must start with an alphabetical character and be unique within the subscription.
+- Required: No
+- Type: string
+- Default: `[parameters('name')]`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `exportPolicyRules`
+
+Export policy rules.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `location`
+
+Location of the pool volume.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `name`
+
+The name of the pool volume.
+- Required: Yes
+- Type: string
+
+### Parameter: `netAppAccountName`
+
+The name of the parent NetApp account. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
+
+### Parameter: `protocolTypes`
+
+Set of protocol types.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `serviceLevel`
+
+The pool service level. Must match the one of the parent capacity pool.
+- Required: No
+- Type: string
+- Default: `'Standard'`
+- Allowed: `[Premium, Standard, StandardZRS, Ultra]`
+
+### Parameter: `subnetResourceId`
+
+The Azure Resource URI for a delegated subnet. Must have the delegation Microsoft.NetApp/volumes.
+- Required: Yes
+- Type: string
+
+### Parameter: `usageThreshold`
+
+Maximum storage quota allowed for a file system in bytes.
+- Required: Yes
+- Type: int
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `location` | string | The location the resource was deployed into. |
| `name` | string | The name of the Volume. |
diff --git a/modules/net-app/net-app-account/capacity-pool/volume/main.json b/modules/net-app/net-app-account/capacity-pool/volume/main.json
index 49b126bd4d..67e9e039f4 100644
--- a/modules/net-app/net-app-account/capacity-pool/volume/main.json
+++ b/modules/net-app/net-app-account/capacity-pool/volume/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "5724175752968001086"
+ "version": "0.22.6.54827",
+ "templateHash": "14691007687090359135"
},
"name": "Azure NetApp Files Capacity Pool Volumes",
"description": "This module deploys an Azure NetApp Files Capacity Pool Volume.",
@@ -161,8 +161,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "6579931820257793193"
+ "version": "0.22.6.54827",
+ "templateHash": "11293747403075474966"
}
},
"parameters": {
diff --git a/modules/net-app/net-app-account/main.json b/modules/net-app/net-app-account/main.json
index 0a493368ff..60bd7acee6 100644
--- a/modules/net-app/net-app-account/main.json
+++ b/modules/net-app/net-app-account/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "5672083206908645861"
+ "version": "0.22.6.54827",
+ "templateHash": "5505435135426261272"
},
"name": "Azure NetApp Files",
"description": "This module deploys an Azure NetApp File.",
@@ -204,8 +204,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "7683969196599898101"
+ "version": "0.22.6.54827",
+ "templateHash": "4540603330973895229"
}
},
"parameters": {
@@ -361,8 +361,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "10886668033150864965"
+ "version": "0.22.6.54827",
+ "templateHash": "12343130799883120576"
},
"name": "Azure NetApp Files Capacity Pools",
"description": "This module deploys an Azure NetApp Files Capacity Pool.",
@@ -548,8 +548,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "5786364369491933087"
+ "version": "0.22.6.54827",
+ "templateHash": "14691007687090359135"
},
"name": "Azure NetApp Files Capacity Pool Volumes",
"description": "This module deploys an Azure NetApp Files Capacity Pool Volume.",
@@ -705,8 +705,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "9382580519288369520"
+ "version": "0.22.6.54827",
+ "templateHash": "11293747403075474966"
}
},
"parameters": {
@@ -890,8 +890,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "3927269100657288300"
+ "version": "0.22.6.54827",
+ "templateHash": "121785236396056059"
}
},
"parameters": {
diff --git a/modules/network/application-gateway-web-application-firewall-policy/.test/common/main.test.bicep b/modules/network/application-gateway-web-application-firewall-policy/.test/common/main.test.bicep
index f9b166f85c..0c71d78598 100644
--- a/modules/network/application-gateway-web-application-firewall-policy/.test/common/main.test.bicep
+++ b/modules/network/application-gateway-web-application-firewall-policy/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/network/application-gateway-web-application-firewall-policy/README.md b/modules/network/application-gateway-web-application-firewall-policy/README.md
index ecc3fd56fa..97b54c1336 100644
--- a/modules/network/application-gateway-web-application-firewall-policy/README.md
+++ b/modules/network/application-gateway-web-application-firewall-policy/README.md
@@ -5,10 +5,10 @@ This module deploys an Application Gateway Web Application Firewall (WAF) Policy
## Navigation
- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
## Resource Types
@@ -16,54 +16,27 @@ This module deploys an Application Gateway Web Application Firewall (WAF) Policy
| :-- | :-- |
| `Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies` | [2022-11-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2022-11-01/ApplicationGatewayWebApplicationFirewallPolicies) |
-## Parameters
-
-**Required parameters**
-
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | Name of the Application Gateway WAF policy. |
-
-**Optional parameters**
+## Usage examples
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `customRules` | array | `[]` | The custom rules inside the policy. |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `location` | string | `[resourceGroup().location]` | Location for all resources. |
-| `managedRules` | object | `{object}` | Describes the managedRules structure. |
-| `policySettings` | object | `{object}` | The PolicySettings for policy. |
-| `tags` | object | `{object}` | Resource tags. |
-
-
-## Outputs
-
-| Output Name | Type | Description |
-| :-- | :-- | :-- |
-| `location` | string | The location the resource was deployed into. |
-| `name` | string | The name of the application gateway WAF policy. |
-| `resourceGroupName` | string | The resource group the application gateway WAF policy was deployed into. |
-| `resourceId` | string | The resource ID of the application gateway WAF policy. |
+The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository.
-## Cross-referenced modules
+>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-_None_
+>**Note**: To reference the module, please use the following syntax `br:bicep/modules/network.application-gateway-web-application-firewall-policy:1.0.0`.
-## Deployment examples
+- [Using large parameter set](#example-1-using-large-parameter-set)
-The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder.
- >**Note**: The name of each example is based on the name of the file from which it is taken.
+### Example 1: _Using large parameter set_
- >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
+This instance deploys the module with most of its features enabled.
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | Name of the Application Gateway WAF policy. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`customRules`](#parameter-customrules) | array | The custom rules inside the policy. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`location`](#parameter-location) | string | Location for all resources. |
+| [`managedRules`](#parameter-managedrules) | object | Describes the managedRules structure. |
+| [`policySettings`](#parameter-policysettings) | object | The PolicySettings for policy. |
+| [`tags`](#parameter-tags) | object | Resource tags. |
+
+### Parameter: `customRules`
+
+The custom rules inside the policy.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `location`
+
+Location for all resources.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `managedRules`
+
+Describes the managedRules structure.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `name`
+
+Name of the Application Gateway WAF policy.
+- Required: Yes
+- Type: string
+
+### Parameter: `policySettings`
+
+The PolicySettings for policy.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `tags`
+
+Resource tags.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The name of the application gateway WAF policy. |
+| `resourceGroupName` | string | The resource group the application gateway WAF policy was deployed into. |
+| `resourceId` | string | The resource ID of the application gateway WAF policy. |
+
+## Cross-referenced modules
+
+_None_
diff --git a/modules/network/application-gateway-web-application-firewall-policy/main.json b/modules/network/application-gateway-web-application-firewall-policy/main.json
index 3586f21c15..9c0a3caeb5 100644
--- a/modules/network/application-gateway-web-application-firewall-policy/main.json
+++ b/modules/network/application-gateway-web-application-firewall-policy/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "1454714316313419889"
+ "version": "0.22.6.54827",
+ "templateHash": "1301728261383253712"
},
"name": "Application Gateway Web Application Firewall (WAF) Policies",
"description": "This module deploys an Application Gateway Web Application Firewall (WAF) Policy.",
diff --git a/modules/network/application-gateway/.test/common/main.test.bicep b/modules/network/application-gateway/.test/common/main.test.bicep
index 9c66f3fa8e..548ada9bbd 100644
--- a/modules/network/application-gateway/.test/common/main.test.bicep
+++ b/modules/network/application-gateway/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/network/application-gateway/README.md b/modules/network/application-gateway/README.md
index b8e66e159f..aaee08b326 100644
--- a/modules/network/application-gateway/README.md
+++ b/modules/network/application-gateway/README.md
@@ -5,10 +5,10 @@ This module deploys a Network Application Gateway.
## Navigation
- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
## Resource Types
@@ -21,103 +21,27 @@ This module deploys a Network Application Gateway.
| `Microsoft.Network/privateEndpoints` | [2023-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2023-04-01/privateEndpoints) |
| `Microsoft.Network/privateEndpoints/privateDnsZoneGroups` | [2023-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2023-04-01/privateEndpoints/privateDnsZoneGroups) |
-## Parameters
-
-**Required parameters**
-
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | Name of the Application Gateway. |
+## Usage examples
-**Optional parameters**
-
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `authenticationCertificates` | array | `[]` | | Authentication certificates of the application gateway resource. |
-| `autoscaleMaxCapacity` | int | `-1` | | Upper bound on number of Application Gateway capacity. |
-| `autoscaleMinCapacity` | int | `-1` | | Lower bound on number of Application Gateway capacity. |
-| `backendAddressPools` | array | `[]` | | Backend address pool of the application gateway resource. |
-| `backendHttpSettingsCollection` | array | `[]` | | Backend http settings of the application gateway resource. |
-| `backendSettingsCollection` | array | `[]` | | Backend settings of the application gateway resource. For default limits, see [Application Gateway limits](https://learn.microsoft.com/en-us/azure/azure-subscription-service-limits#application-gateway-limits). |
-| `capacity` | int | `2` | | The number of Application instances to be configured. |
-| `customErrorConfigurations` | array | `[]` | | Custom error configurations of the application gateway resource. |
-| `diagnosticEventHubAuthorizationRuleId` | string | `''` | | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
-| `diagnosticEventHubName` | string | `''` | | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. For security reasons, it is recommended to set diagnostic settings to send data to either storage account, log analytics workspace or event hub. |
-| `diagnosticLogCategoriesToEnable` | array | `[allLogs]` | `['', allLogs, ApplicationGatewayAccessLog, ApplicationGatewayFirewallLog, ApplicationGatewayPerformanceLog]` | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
-| `diagnosticMetricsToEnable` | array | `[AllMetrics]` | `[AllMetrics]` | The name of metrics that will be streamed. |
-| `diagnosticSettingsName` | string | `''` | | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | Name of the Application Gateway. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`authenticationCertificates`](#parameter-authenticationcertificates) | array | Authentication certificates of the application gateway resource. |
+| [`autoscaleMaxCapacity`](#parameter-autoscalemaxcapacity) | int | Upper bound on number of Application Gateway capacity. |
+| [`autoscaleMinCapacity`](#parameter-autoscalemincapacity) | int | Lower bound on number of Application Gateway capacity. |
+| [`backendAddressPools`](#parameter-backendaddresspools) | array | Backend address pool of the application gateway resource. |
+| [`backendHttpSettingsCollection`](#parameter-backendhttpsettingscollection) | array | Backend http settings of the application gateway resource. |
+| [`backendSettingsCollection`](#parameter-backendsettingscollection) | array | Backend settings of the application gateway resource. For default limits, see [Application Gateway limits](https://learn.microsoft.com/en-us/azure/azure-subscription-service-limits#application-gateway-limits). |
+| [`capacity`](#parameter-capacity) | int | The number of Application instances to be configured. |
+| [`customErrorConfigurations`](#parameter-customerrorconfigurations) | array | Custom error configurations of the application gateway resource. |
+| [`diagnosticEventHubAuthorizationRuleId`](#parameter-diagnosticeventhubauthorizationruleid) | string | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
+| [`diagnosticEventHubName`](#parameter-diagnosticeventhubname) | string | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. For security reasons, it is recommended to set diagnostic settings to send data to either storage account, log analytics workspace or event hub. |
+| [`diagnosticLogCategoriesToEnable`](#parameter-diagnosticlogcategoriestoenable) | array | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
+| [`diagnosticMetricsToEnable`](#parameter-diagnosticmetricstoenable) | array | The name of metrics that will be streamed. |
+| [`diagnosticSettingsName`](#parameter-diagnosticsettingsname) | string | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | Name of the Application Security Group. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`location`](#parameter-location) | string | Location for all resources. |
+| [`lock`](#parameter-lock) | string | Specify the type of lock. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`tags`](#parameter-tags) | object | Tags of the resource. |
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `location`
+
+Location for all resources.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `lock`
+
+Specify the type of lock.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', CanNotDelete, ReadOnly]`
+
+### Parameter: `name`
+
+Name of the Application Security Group.
+- Required: Yes
+- Type: string
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `tags`
+
+Tags of the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The name of the application security group. |
+| `resourceGroupName` | string | The resource group the application security group was deployed into. |
+| `resourceId` | string | The resource ID of the application security group. |
+
+## Cross-referenced modules
+
+_None_
diff --git a/modules/network/application-security-group/main.json b/modules/network/application-security-group/main.json
index 5cac0b4ccf..a733a611db 100644
--- a/modules/network/application-security-group/main.json
+++ b/modules/network/application-security-group/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "9223506282900740503"
+ "version": "0.22.6.54827",
+ "templateHash": "4115045672718601619"
},
"name": "Application Security Groups (ASG)",
"description": "This module deploys an Application Security Group (ASG).",
@@ -130,8 +130,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "4152038459218204517"
+ "version": "0.22.6.54827",
+ "templateHash": "1920288953009439364"
}
},
"parameters": {
diff --git a/modules/network/azure-firewall/.test/common/main.test.bicep b/modules/network/azure-firewall/.test/common/main.test.bicep
index 0bac54906a..17193997bd 100644
--- a/modules/network/azure-firewall/.test/common/main.test.bicep
+++ b/modules/network/azure-firewall/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/network/azure-firewall/.test/min/main.test.bicep b/modules/network/azure-firewall/.test/min/main.test.bicep
index 9b3e65d2f4..28620b7046 100644
--- a/modules/network/azure-firewall/.test/min/main.test.bicep
+++ b/modules/network/azure-firewall/.test/min/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using only defaults'
+metadata description = 'This instance deploys the module with the minimum set of required parameters.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/network/azure-firewall/README.md b/modules/network/azure-firewall/README.md
index 58c2d46f73..73137eee0b 100644
--- a/modules/network/azure-firewall/README.md
+++ b/modules/network/azure-firewall/README.md
@@ -4,13 +4,13 @@ This module deploys an Azure Firewall.
## Navigation
-- [Resource types](#Resource-types)
+- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
-## Resource types
+## Resource Types
| Resource Type | API Version |
| :-- | :-- |
@@ -20,91 +20,29 @@ This module deploys an Azure Firewall.
| `Microsoft.Network/azureFirewalls` | [2023-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2023-04-01/azureFirewalls) |
| `Microsoft.Network/publicIPAddresses` | [2023-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2023-04-01/publicIPAddresses) |
-## Parameters
-
-**Required parameters**
-
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | Name of the Azure Firewall. |
-
-**Conditional parameters**
-
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `hubIPAddresses` | object | `{object}` | IP addresses associated with AzureFirewall. Required if `virtualHubId` is supplied. |
-| `virtualHubId` | string | `''` | The virtualHub resource ID to which the firewall belongs. Required if `vNetId` is empty. |
-| `vNetId` | string | `''` | Shared services Virtual Network resource ID. The virtual network ID containing AzureFirewallSubnet. If a Public IP is not provided, then the Public IP that is created as part of this module will be applied with the subnet provided in this variable. Required if `virtualHubId` is empty. |
-
-**Optional parameters**
-
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `additionalPublicIpConfigurations` | array | `[]` | | This is to add any additional Public IP configurations on top of the Public IP with subnet IP configuration. |
-| `applicationRuleCollections` | array | `[]` | | Collection of application rule collections used by Azure Firewall. |
-| `azureSkuTier` | string | `'Standard'` | `[Basic, Premium, Standard]` | Tier of an Azure Firewall. |
-| `diagnosticEventHubAuthorizationRuleId` | string | `''` | | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
-| `diagnosticEventHubName` | string | `''` | | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
-| `diagnosticLogCategoriesToEnable` | array | `[allLogs]` | `['', allLogs, AzureFirewallApplicationRule, AzureFirewallDnsProxy, AzureFirewallNetworkRule]` | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
-| `diagnosticMetricsToEnable` | array | `[AllMetrics]` | `[AllMetrics]` | The name of metrics that will be streamed. |
-| `diagnosticSettingsName` | string | `''` | | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
-
-
-
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | Name of the Azure Firewall. |
+
+**Conditional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`hubIPAddresses`](#parameter-hubipaddresses) | object | IP addresses associated with AzureFirewall. Required if `virtualHubId` is supplied. |
+| [`virtualHubId`](#parameter-virtualhubid) | string | The virtualHub resource ID to which the firewall belongs. Required if `vNetId` is empty. |
+| [`vNetId`](#parameter-vnetid) | string | Shared services Virtual Network resource ID. The virtual network ID containing AzureFirewallSubnet. If a Public IP is not provided, then the Public IP that is created as part of this module will be applied with the subnet provided in this variable. Required if `virtualHubId` is empty. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`additionalPublicIpConfigurations`](#parameter-additionalpublicipconfigurations) | array | This is to add any additional Public IP configurations on top of the Public IP with subnet IP configuration. |
+| [`applicationRuleCollections`](#parameter-applicationrulecollections) | array | Collection of application rule collections used by Azure Firewall. |
+| [`azureSkuTier`](#parameter-azureskutier) | string | Tier of an Azure Firewall. |
+| [`diagnosticEventHubAuthorizationRuleId`](#parameter-diagnosticeventhubauthorizationruleid) | string | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
+| [`diagnosticEventHubName`](#parameter-diagnosticeventhubname) | string | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
+| [`diagnosticLogCategoriesToEnable`](#parameter-diagnosticlogcategoriestoenable) | array | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
+| [`diagnosticMetricsToEnable`](#parameter-diagnosticmetricstoenable) | array | The name of metrics that will be streamed. |
+| [`diagnosticSettingsName`](#parameter-diagnosticsettingsname) | string | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | Name of the Azure Bastion resource. |
+| [`vNetId`](#parameter-vnetid) | string | Shared services Virtual Network resource identifier. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`bastionSubnetPublicIpResourceId`](#parameter-bastionsubnetpublicipresourceid) | string | The Public IP resource ID to associate to the azureBastionSubnet. If empty, then the Public IP that is created as part of this module will be applied to the azureBastionSubnet. |
+| [`diagnosticEventHubAuthorizationRuleId`](#parameter-diagnosticeventhubauthorizationruleid) | string | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
+| [`diagnosticEventHubName`](#parameter-diagnosticeventhubname) | string | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
+| [`diagnosticLogCategoriesToEnable`](#parameter-diagnosticlogcategoriestoenable) | array | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
+| [`diagnosticSettingsName`](#parameter-diagnosticsettingsname) | string | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | Remote connection name. |
+| [`virtualNetworkGateway1`](#parameter-virtualnetworkgateway1) | object | The primary Virtual Network Gateway. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`authorizationKey`](#parameter-authorizationkey) | securestring | The Authorization Key to connect to an Express Route Circuit. Used for connection type [ExpressRoute]. |
+| [`connectionMode`](#parameter-connectionmode) | string | The connection connectionMode for this connection. Available for IPSec connections. |
+| [`connectionProtocol`](#parameter-connectionprotocol) | string | Connection connectionProtocol used for this connection. Available for IPSec connections. |
+| [`connectionType`](#parameter-connectiontype) | string | Gateway connection connectionType. |
+| [`customIPSecPolicy`](#parameter-customipsecpolicy) | object | The IPSec Policies to be considered by this connection. |
+| [`dpdTimeoutSeconds`](#parameter-dpdtimeoutseconds) | int | The dead peer detection timeout of this connection in seconds. Setting the timeout to shorter periods will cause IKE to rekey more aggressively, causing the connection to appear to be disconnected in some instances. The general recommendation is to set the timeout between 30 to 45 seconds. |
+| [`enableBgp`](#parameter-enablebgp) | bool | Value to specify if BGP is enabled or not. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`enablePrivateLinkFastPath`](#parameter-enableprivatelinkfastpath) | bool | Bypass the ExpressRoute gateway when accessing private-links. ExpressRoute FastPath (expressRouteGatewayBypass) must be enabled. Only available when connection connectionType is Express Route. |
+| [`expressRouteGatewayBypass`](#parameter-expressroutegatewaybypass) | bool | Bypass ExpressRoute Gateway for data forwarding. Only available when connection connectionType is Express Route. |
+| [`localNetworkGateway2`](#parameter-localnetworkgateway2) | object | The local network gateway. Used for connection type [IPsec]. |
+| [`location`](#parameter-location) | string | Location for all resources. |
+| [`lock`](#parameter-lock) | string | Specify the connectionType of lock. |
+| [`peer`](#parameter-peer) | object | The remote peer. Used for connection connectionType [ExpressRoute]. |
+| [`routingWeight`](#parameter-routingweight) | int | The weight added to routes learned from this BGP speaker. |
+| [`tags`](#parameter-tags) | object | Tags of the resource. |
+| [`useLocalAzureIpAddress`](#parameter-uselocalazureipaddress) | bool | Use private local Azure IP for the connection. Only available for IPSec Virtual Network Gateways that use the Azure Private IP Property. |
+| [`usePolicyBasedTrafficSelectors`](#parameter-usepolicybasedtrafficselectors) | bool | Enable policy-based traffic selectors. |
+| [`virtualNetworkGateway2`](#parameter-virtualnetworkgateway2) | object | The remote Virtual Network Gateway. Used for connection connectionType [Vnet2Vnet]. |
+| [`vpnSharedKey`](#parameter-vpnsharedkey) | securestring | Specifies a VPN shared key. The same value has to be specified on both Virtual Network Gateways. |
+
+### Parameter: `authorizationKey`
+
+The Authorization Key to connect to an Express Route Circuit. Used for connection type [ExpressRoute].
+- Required: No
+- Type: securestring
+- Default: `''`
+
+### Parameter: `connectionMode`
+
+The connection connectionMode for this connection. Available for IPSec connections.
+- Required: No
+- Type: string
+- Default: `'Default'`
+- Allowed: `[Default, InitiatorOnly, ResponderOnly]`
+
+### Parameter: `connectionProtocol`
+
+Connection connectionProtocol used for this connection. Available for IPSec connections.
+- Required: No
+- Type: string
+- Default: `'IKEv2'`
+- Allowed: `[IKEv1, IKEv2]`
+
+### Parameter: `connectionType`
+
+Gateway connection connectionType.
+- Required: No
+- Type: string
+- Default: `'IPsec'`
+- Allowed: `[ExpressRoute, IPsec, Vnet2Vnet, VPNClient]`
+
+### Parameter: `customIPSecPolicy`
+
+The IPSec Policies to be considered by this connection.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `dpdTimeoutSeconds`
+
+The dead peer detection timeout of this connection in seconds. Setting the timeout to shorter periods will cause IKE to rekey more aggressively, causing the connection to appear to be disconnected in some instances. The general recommendation is to set the timeout between 30 to 45 seconds.
+- Required: No
+- Type: int
+- Default: `45`
+
+### Parameter: `enableBgp`
+
+Value to specify if BGP is enabled or not.
+- Required: No
+- Type: bool
+- Default: `False`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `enablePrivateLinkFastPath`
+
+Bypass the ExpressRoute gateway when accessing private-links. ExpressRoute FastPath (expressRouteGatewayBypass) must be enabled. Only available when connection connectionType is Express Route.
+- Required: No
+- Type: bool
+- Default: `False`
+
+### Parameter: `expressRouteGatewayBypass`
+
+Bypass ExpressRoute Gateway for data forwarding. Only available when connection connectionType is Express Route.
+- Required: No
+- Type: bool
+- Default: `False`
+
+### Parameter: `localNetworkGateway2`
+
+The local network gateway. Used for connection type [IPsec].
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `location`
+
+Location for all resources.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `lock`
+
+Specify the connectionType of lock.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', CanNotDelete, ReadOnly]`
+
+### Parameter: `name`
+
+Remote connection name.
+- Required: Yes
+- Type: string
+
+### Parameter: `peer`
+
+The remote peer. Used for connection connectionType [ExpressRoute].
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `routingWeight`
+
+The weight added to routes learned from this BGP speaker.
+- Required: No
+- Type: int
+- Default: `-1`
+
+### Parameter: `tags`
+
+Tags of the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `useLocalAzureIpAddress`
+
+Use private local Azure IP for the connection. Only available for IPSec Virtual Network Gateways that use the Azure Private IP Property.
+- Required: No
+- Type: bool
+- Default: `False`
+
+### Parameter: `usePolicyBasedTrafficSelectors`
+
+Enable policy-based traffic selectors.
+- Required: No
+- Type: bool
+- Default: `False`
+
+### Parameter: `virtualNetworkGateway1`
+
+The primary Virtual Network Gateway.
+- Required: Yes
+- Type: object
+
+### Parameter: `virtualNetworkGateway2`
+
+The remote Virtual Network Gateway. Used for connection connectionType [Vnet2Vnet].
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `vpnSharedKey`
+
+Specifies a VPN shared key. The same value has to be specified on both Virtual Network Gateways.
+- Required: No
+- Type: securestring
+- Default: `''`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The name of the remote connection. |
+| `resourceGroupName` | string | The resource group the remote connection was deployed into. |
+| `resourceId` | string | The resource ID of the remote connection. |
+
+## Cross-referenced modules
+
+_None_
+
## Notes
### Parameter Usage: `localNetworkGateway2`
diff --git a/modules/network/connection/main.json b/modules/network/connection/main.json
index 1f36ad5004..e72fe07213 100644
--- a/modules/network/connection/main.json
+++ b/modules/network/connection/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "16230225022830179202"
+ "version": "0.22.6.54827",
+ "templateHash": "4819464445955431710"
},
"name": "Virtual Network Gateway Connections",
"description": "This module deploys a Virtual Network Gateway Connection.",
diff --git a/modules/network/ddos-protection-plan/.test/common/main.test.bicep b/modules/network/ddos-protection-plan/.test/common/main.test.bicep
index fa1ddafb22..07f548e028 100644
--- a/modules/network/ddos-protection-plan/.test/common/main.test.bicep
+++ b/modules/network/ddos-protection-plan/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/network/ddos-protection-plan/.test/min/main.test.bicep b/modules/network/ddos-protection-plan/.test/min/main.test.bicep
index b961a7b2e4..3f06befe16 100644
--- a/modules/network/ddos-protection-plan/.test/min/main.test.bicep
+++ b/modules/network/ddos-protection-plan/.test/min/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using only defaults'
+metadata description = 'This instance deploys the module with the minimum set of required parameters.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/network/ddos-protection-plan/README.md b/modules/network/ddos-protection-plan/README.md
index d41f975e6c..ce299dd18a 100644
--- a/modules/network/ddos-protection-plan/README.md
+++ b/modules/network/ddos-protection-plan/README.md
@@ -4,13 +4,13 @@ This module deploys a DDoS Protection Plan.
## Navigation
-- [Resource types](#Resource-types)
+- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
-## Resource types
+## Resource Types
| Resource Type | API Version |
| :-- | :-- |
@@ -18,53 +18,28 @@ This module deploys a DDoS Protection Plan.
| `Microsoft.Authorization/roleAssignments` | [2022-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2022-04-01/roleAssignments) |
| `Microsoft.Network/ddosProtectionPlans` | [2023-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2023-04-01/ddosProtectionPlans) |
-## Parameters
-
-**Required parameters**
-
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | Name of the DDoS protection plan to assign the VNET to. |
-
-**Optional parameters**
+## Usage examples
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `location` | string | `[resourceGroup().location]` | | Location for all resources. |
-| `lock` | string | `''` | `['', CanNotDelete, ReadOnly]` | Specify the type of lock. |
-| `roleAssignments` | array | `[]` | | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
-| `tags` | object | `{object}` | | Tags of the resource. |
-
-
-## Outputs
-
-| Output Name | Type | Description |
-| :-- | :-- | :-- |
-| `location` | string | The location the resource was deployed into. |
-| `name` | string | The name of the DDOS protection plan. |
-| `resourceGroupName` | string | The resource group the DDOS protection plan was deployed into. |
-| `resourceId` | string | The resource ID of the DDOS protection plan. |
+The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository.
-## Cross-referenced modules
+>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-_None_
+>**Note**: To reference the module, please use the following syntax `br:bicep/modules/network.ddos-protection-plan:1.0.0`.
-## Deployment examples
+- [Using large parameter set](#example-1-using-large-parameter-set)
+- [Using only defaults](#example-2-using-only-defaults)
-The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder.
- >**Note**: The name of each example is based on the name of the file from which it is taken.
+### Example 1: _Using large parameter set_
- >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
+This instance deploys the module with most of its features enabled.
-
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | Name of the DDoS protection plan to assign the VNET to. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`location`](#parameter-location) | string | Location for all resources. |
+| [`lock`](#parameter-lock) | string | Specify the type of lock. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`tags`](#parameter-tags) | object | Tags of the resource. |
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `location`
+
+Location for all resources.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `lock`
+
+Specify the type of lock.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', CanNotDelete, ReadOnly]`
+
+### Parameter: `name`
+
+Name of the DDoS protection plan to assign the VNET to.
+- Required: Yes
+- Type: string
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `tags`
+
+Tags of the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The name of the DDOS protection plan. |
+| `resourceGroupName` | string | The resource group the DDOS protection plan was deployed into. |
+| `resourceId` | string | The resource ID of the DDOS protection plan. |
+
+## Cross-referenced modules
+
+_None_
diff --git a/modules/network/ddos-protection-plan/main.json b/modules/network/ddos-protection-plan/main.json
index da760e0ac6..f67227f30a 100644
--- a/modules/network/ddos-protection-plan/main.json
+++ b/modules/network/ddos-protection-plan/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "4598977816480625428"
+ "version": "0.22.6.54827",
+ "templateHash": "10705912154060159414"
},
"name": "DDoS Protection Plans",
"description": "This module deploys a DDoS Protection Plan.",
@@ -131,8 +131,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "3995691276861378568"
+ "version": "0.22.6.54827",
+ "templateHash": "17533391111719842656"
}
},
"parameters": {
diff --git a/modules/network/dns-forwarding-ruleset/.test/common/main.test.bicep b/modules/network/dns-forwarding-ruleset/.test/common/main.test.bicep
index fb7c7a3a91..1580914504 100644
--- a/modules/network/dns-forwarding-ruleset/.test/common/main.test.bicep
+++ b/modules/network/dns-forwarding-ruleset/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/network/dns-forwarding-ruleset/.test/min/main.test.bicep b/modules/network/dns-forwarding-ruleset/.test/min/main.test.bicep
index 43e250ddf4..0d95972412 100644
--- a/modules/network/dns-forwarding-ruleset/.test/min/main.test.bicep
+++ b/modules/network/dns-forwarding-ruleset/.test/min/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using only defaults'
+metadata description = 'This instance deploys the module with the minimum set of required parameters.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/network/dns-forwarding-ruleset/README.md b/modules/network/dns-forwarding-ruleset/README.md
index c391b29ada..100d91455b 100644
--- a/modules/network/dns-forwarding-ruleset/README.md
+++ b/modules/network/dns-forwarding-ruleset/README.md
@@ -5,10 +5,10 @@ This template deploys an dns forwarding ruleset.
## Navigation
- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
## Resource Types
@@ -20,56 +20,28 @@ This template deploys an dns forwarding ruleset.
| `Microsoft.Network/dnsForwardingRulesets/forwardingRules` | [2022-07-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2022-07-01/dnsForwardingRulesets/forwardingRules) |
| `Microsoft.Network/dnsForwardingRulesets/virtualNetworkLinks` | [2022-07-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2022-07-01/dnsForwardingRulesets/virtualNetworkLinks) |
-## Parameters
-
-**Required parameters**
-
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `dnsResolverOutboundEndpointResourceIds` | array | The reference to the DNS resolver outbound endpoints that are used to route DNS queries matching the forwarding rules in the ruleset to the target DNS servers. |
-| `name` | string | Name of the DNS Forwarding Ruleset. |
-
-**Optional parameters**
-
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `forwardingRules` | array | `[]` | | Array of forwarding rules. |
-| `location` | string | `[resourceGroup().location]` | | Location for all resources. |
-| `lock` | string | `''` | `['', CanNotDelete, ReadOnly]` | Specify the type of lock. |
-| `roleAssignments` | array | `[]` | | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
-| `tags` | object | `{object}` | | Tags of the resource. |
-| `vNetLinks` | array | `[]` | | Array of virtual network links. |
+## Usage examples
+The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository.
-## Outputs
+>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-| Output Name | Type | Description |
-| :-- | :-- | :-- |
-| `location` | string | The location the resource was deployed into. |
-| `name` | string | The name of the DNS Forwarding Ruleset. |
-| `resourceGroupName` | string | The resource group the DNS Forwarding Ruleset was deployed into. |
-| `resourceId` | string | The resource ID of the DNS Forwarding Ruleset. |
+>**Note**: To reference the module, please use the following syntax `br:bicep/modules/network.dns-forwarding-ruleset:1.0.0`.
-## Cross-referenced modules
+- [Using large parameter set](#example-1-using-large-parameter-set)
+- [Using only defaults](#example-2-using-only-defaults)
-_None_
+### Example 1: _Using large parameter set_
-## Deployment examples
+This instance deploys the module with most of its features enabled.
-The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder.
- >**Note**: The name of each example is based on the name of the file from which it is taken.
-
- >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-
-
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`dnsResolverOutboundEndpointResourceIds`](#parameter-dnsresolveroutboundendpointresourceids) | array | The reference to the DNS resolver outbound endpoints that are used to route DNS queries matching the forwarding rules in the ruleset to the target DNS servers. |
+| [`name`](#parameter-name) | string | Name of the DNS Forwarding Ruleset. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`forwardingRules`](#parameter-forwardingrules) | array | Array of forwarding rules. |
+| [`location`](#parameter-location) | string | Location for all resources. |
+| [`lock`](#parameter-lock) | string | Specify the type of lock. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`tags`](#parameter-tags) | object | Tags of the resource. |
+| [`vNetLinks`](#parameter-vnetlinks) | array | Array of virtual network links. |
+
+### Parameter: `dnsResolverOutboundEndpointResourceIds`
+
+The reference to the DNS resolver outbound endpoints that are used to route DNS queries matching the forwarding rules in the ruleset to the target DNS servers.
+- Required: Yes
+- Type: array
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `forwardingRules`
+
+Array of forwarding rules.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `location`
+
+Location for all resources.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `lock`
+
+Specify the type of lock.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', CanNotDelete, ReadOnly]`
+
+### Parameter: `name`
+
+Name of the DNS Forwarding Ruleset.
+- Required: Yes
+- Type: string
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `tags`
+
+Tags of the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `vNetLinks`
+
+Array of virtual network links.
+- Required: No
+- Type: array
+- Default: `[]`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The name of the DNS Forwarding Ruleset. |
+| `resourceGroupName` | string | The resource group the DNS Forwarding Ruleset was deployed into. |
+| `resourceId` | string | The resource ID of the DNS Forwarding Ruleset. |
+
+## Cross-referenced modules
+
+_None_
diff --git a/modules/network/dns-forwarding-ruleset/forwarding-rule/README.md b/modules/network/dns-forwarding-ruleset/forwarding-rule/README.md
index b99f308ee7..7f9b46b23d 100644
--- a/modules/network/dns-forwarding-ruleset/forwarding-rule/README.md
+++ b/modules/network/dns-forwarding-ruleset/forwarding-rule/README.md
@@ -8,7 +8,6 @@ This template deploys Forwarding Rule in a Dns Forwarding Ruleset.
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
## Resource Types
@@ -20,31 +19,84 @@ This template deploys Forwarding Rule in a Dns Forwarding Ruleset.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `domainName` | string | The domain name for the forwarding rule. |
-| `name` | string | Name of the Forwarding Rule. |
-| `targetDnsServers` | array | DNS servers to forward the DNS query to. |
+| [`domainName`](#parameter-domainname) | string | The domain name for the forwarding rule. |
+| [`name`](#parameter-name) | string | Name of the Forwarding Rule. |
+| [`targetDnsServers`](#parameter-targetdnsservers) | array | DNS servers to forward the DNS query to. |
**Conditional parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `dnsForwardingRulesetName` | string | Name of the parent DNS Forwarding Ruleset. Required if the template is used in a standalone deployment. |
+| [`dnsForwardingRulesetName`](#parameter-dnsforwardingrulesetname) | string | Name of the parent DNS Forwarding Ruleset. Required if the template is used in a standalone deployment. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `forwardingRuleState` | string | `'Enabled'` | `[Disabled, Enabled]` | The state of forwarding rule. |
-| `location` | string | `[resourceGroup().location]` | | Location for all resources. |
-| `metadata` | object | `{object}` | | Metadata attached to the forwarding rule. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`forwardingRuleState`](#parameter-forwardingrulestate) | string | The state of forwarding rule. |
+| [`location`](#parameter-location) | string | Location for all resources. |
+| [`metadata`](#parameter-metadata) | object | Metadata attached to the forwarding rule. |
+
+### Parameter: `dnsForwardingRulesetName`
+
+Name of the parent DNS Forwarding Ruleset. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
+
+### Parameter: `domainName`
+
+The domain name for the forwarding rule.
+- Required: Yes
+- Type: string
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `forwardingRuleState`
+
+The state of forwarding rule.
+- Required: No
+- Type: string
+- Default: `'Enabled'`
+- Allowed: `[Disabled, Enabled]`
+
+### Parameter: `location`
+
+Location for all resources.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `metadata`
+
+Metadata attached to the forwarding rule.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `name`
+
+Name of the Forwarding Rule.
+- Required: Yes
+- Type: string
+
+### Parameter: `targetDnsServers`
+
+DNS servers to forward the DNS query to.
+- Required: Yes
+- Type: array
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The name of the Forwarding Rule. |
| `resourceGroupName` | string | The resource group the Forwarding Rule was deployed into. |
@@ -53,69 +105,3 @@ This template deploys Forwarding Rule in a Dns Forwarding Ruleset.
## Cross-referenced modules
_None_
-
-## Deployment examples
-
-The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder.
- >**Note**: The name of each example is based on the name of the file from which it is taken.
-
- >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-
-
-
-
diff --git a/modules/network/dns-forwarding-ruleset/forwarding-rule/main.json b/modules/network/dns-forwarding-ruleset/forwarding-rule/main.json
index 4d23c6d66f..398ba866ee 100644
--- a/modules/network/dns-forwarding-ruleset/forwarding-rule/main.json
+++ b/modules/network/dns-forwarding-ruleset/forwarding-rule/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "9007779430484184440"
+ "version": "0.22.6.54827",
+ "templateHash": "14481617304679147684"
},
"name": "Dns Forwarding Rulesets Forwarding Rules",
"description": "This template deploys Forwarding Rule in a Dns Forwarding Ruleset.",
diff --git a/modules/network/dns-forwarding-ruleset/main.json b/modules/network/dns-forwarding-ruleset/main.json
index e1335f72c5..19ee04a44f 100644
--- a/modules/network/dns-forwarding-ruleset/main.json
+++ b/modules/network/dns-forwarding-ruleset/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "1553146733132520499"
+ "version": "0.22.6.54827",
+ "templateHash": "3259269947258844338"
},
"name": "Dns Forwarding Rulesets",
"description": "This template deploys an dns forwarding ruleset.",
@@ -163,8 +163,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "18119021871235878699"
+ "version": "0.22.6.54827",
+ "templateHash": "14481617304679147684"
},
"name": "Dns Forwarding Rulesets Forwarding Rules",
"description": "This template deploys Forwarding Rule in a Dns Forwarding Ruleset.",
@@ -310,8 +310,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "9549351328560052808"
+ "version": "0.22.6.54827",
+ "templateHash": "13868433916800604215"
},
"name": "Dns Forwarding Rulesets Virtual Network Links",
"description": "This template deploys Virtual Network Link in a Dns Forwarding Ruleset.",
@@ -441,8 +441,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "5837323048310954906"
+ "version": "0.22.6.54827",
+ "templateHash": "8279185746379392662"
}
},
"parameters": {
diff --git a/modules/network/dns-forwarding-ruleset/virtual-network-link/README.md b/modules/network/dns-forwarding-ruleset/virtual-network-link/README.md
index 8fa0d6c219..af8b359da9 100644
--- a/modules/network/dns-forwarding-ruleset/virtual-network-link/README.md
+++ b/modules/network/dns-forwarding-ruleset/virtual-network-link/README.md
@@ -19,28 +19,61 @@ This template deploys Virtual Network Link in a Dns Forwarding Ruleset.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `virtualNetworkResourceId` | string | Link to another virtual network resource ID. |
+| [`virtualNetworkResourceId`](#parameter-virtualnetworkresourceid) | string | Link to another virtual network resource ID. |
**Conditional parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `dnsForwardingRulesetName` | string | The name of the parent DNS Fowarding Rule Set. Required if the template is used in a standalone deployment. |
+| [`dnsForwardingRulesetName`](#parameter-dnsforwardingrulesetname) | string | The name of the parent DNS Fowarding Rule Set. Required if the template is used in a standalone deployment. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `location` | string | `'global'` | The location of the PrivateDNSZone. Should be global. |
-| `name` | string | `[format('{0}-vnetlink', last(split(parameters('virtualNetworkResourceId'), '/')))]` | The name of the virtual network link. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`location`](#parameter-location) | string | The location of the PrivateDNSZone. Should be global. |
+| [`name`](#parameter-name) | string | The name of the virtual network link. |
+
+### Parameter: `dnsForwardingRulesetName`
+
+The name of the parent DNS Fowarding Rule Set. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `location`
+
+The location of the PrivateDNSZone. Should be global.
+- Required: No
+- Type: string
+- Default: `'global'`
+
+### Parameter: `name`
+
+The name of the virtual network link.
+- Required: No
+- Type: string
+- Default: `[format('{0}-vnetlink', last(split(parameters('virtualNetworkResourceId'), '/')))]`
+
+### Parameter: `virtualNetworkResourceId`
+
+Link to another virtual network resource ID.
+- Required: Yes
+- Type: string
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The name of the deployed virtual network link. |
| `resourceGroupName` | string | The resource group of the deployed virtual network link. |
diff --git a/modules/network/dns-forwarding-ruleset/virtual-network-link/main.json b/modules/network/dns-forwarding-ruleset/virtual-network-link/main.json
index f41aa5933d..ac505b8cef 100644
--- a/modules/network/dns-forwarding-ruleset/virtual-network-link/main.json
+++ b/modules/network/dns-forwarding-ruleset/virtual-network-link/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "13969101007511584177"
+ "version": "0.22.6.54827",
+ "templateHash": "13868433916800604215"
},
"name": "Dns Forwarding Rulesets Virtual Network Links",
"description": "This template deploys Virtual Network Link in a Dns Forwarding Ruleset.",
diff --git a/modules/network/dns-resolver/.test/common/main.test.bicep b/modules/network/dns-resolver/.test/common/main.test.bicep
index 87c839c618..10ca18a16f 100644
--- a/modules/network/dns-resolver/.test/common/main.test.bicep
+++ b/modules/network/dns-resolver/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/network/dns-resolver/README.md b/modules/network/dns-resolver/README.md
index cc337017bd..682f0e5b10 100644
--- a/modules/network/dns-resolver/README.md
+++ b/modules/network/dns-resolver/README.md
@@ -5,10 +5,10 @@ This module deploys a DNS Resolver.
## Navigation
- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
## Resource Types
@@ -20,56 +20,27 @@ This module deploys a DNS Resolver.
| `Microsoft.Network/dnsResolvers/inboundEndpoints` | [2022-07-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2022-07-01/dnsResolvers/inboundEndpoints) |
| `Microsoft.Network/dnsResolvers/outboundEndpoints` | [2022-07-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2022-07-01/dnsResolvers/outboundEndpoints) |
-## Parameters
-
-**Required parameters**
-
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | Name of the Private DNS Resolver. |
-| `virtualNetworkId` | string | ResourceId of the virtual network to attach the Private DNS Resolver to. |
-
-**Optional parameters**
-
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `inboundEndpoints` | array | `[]` | | Inbound Endpoints for Private DNS Resolver. |
-| `location` | string | `[resourceGroup().location]` | | Location for all resources. |
-| `lock` | string | `''` | `['', CanNotDelete, ReadOnly]` | Specify the type of lock. |
-| `outboundEndpoints` | array | `[]` | | Outbound Endpoints for Private DNS Resolver. |
-| `roleAssignments` | array | `[]` | | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
-| `tags` | object | `{object}` | | Tags of the resource. |
+## Usage examples
+The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository.
-## Outputs
-
-| Output Name | Type | Description |
-| :-- | :-- | :-- |
-| `location` | string | The location the resource was deployed into. |
-| `name` | string | The name of the Private DNS Resolver. |
-| `resourceGroupName` | string | The resource group the Private DNS Resolver was deployed into. |
-| `resourceId` | string | The resource ID of the Private DNS Resolver. |
-
-## Cross-referenced modules
+>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-_None_
+>**Note**: To reference the module, please use the following syntax `br:bicep/modules/network.dns-resolver:1.0.0`.
-## Deployment examples
+- [Using large parameter set](#example-1-using-large-parameter-set)
-The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder.
- >**Note**: The name of each example is based on the name of the file from which it is taken.
+### Example 1: _Using large parameter set_
- >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
+This instance deploys the module with most of its features enabled.
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | Name of the Private DNS Resolver. |
+| [`virtualNetworkId`](#parameter-virtualnetworkid) | string | ResourceId of the virtual network to attach the Private DNS Resolver to. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`inboundEndpoints`](#parameter-inboundendpoints) | array | Inbound Endpoints for Private DNS Resolver. |
+| [`location`](#parameter-location) | string | Location for all resources. |
+| [`lock`](#parameter-lock) | string | Specify the type of lock. |
+| [`outboundEndpoints`](#parameter-outboundendpoints) | array | Outbound Endpoints for Private DNS Resolver. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`tags`](#parameter-tags) | object | Tags of the resource. |
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `inboundEndpoints`
+
+Inbound Endpoints for Private DNS Resolver.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `location`
+
+Location for all resources.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `lock`
+
+Specify the type of lock.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', CanNotDelete, ReadOnly]`
+
+### Parameter: `name`
+
+Name of the Private DNS Resolver.
+- Required: Yes
+- Type: string
+
+### Parameter: `outboundEndpoints`
+
+Outbound Endpoints for Private DNS Resolver.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `tags`
+
+Tags of the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `virtualNetworkId`
+
+ResourceId of the virtual network to attach the Private DNS Resolver to.
+- Required: Yes
+- Type: string
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The name of the Private DNS Resolver. |
+| `resourceGroupName` | string | The resource group the Private DNS Resolver was deployed into. |
+| `resourceId` | string | The resource ID of the Private DNS Resolver. |
+
+## Cross-referenced modules
+
+_None_
diff --git a/modules/network/dns-resolver/main.json b/modules/network/dns-resolver/main.json
index 0ec0f996bf..f4fde16620 100644
--- a/modules/network/dns-resolver/main.json
+++ b/modules/network/dns-resolver/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "3727820015033589972"
+ "version": "0.22.6.54827",
+ "templateHash": "317150262818676597"
},
"name": "DNS Resolvers",
"description": "This module deploys a DNS Resolver.",
@@ -197,8 +197,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "8749643017224763236"
+ "version": "0.22.6.54827",
+ "templateHash": "14781577945075842659"
}
},
"parameters": {
diff --git a/modules/network/dns-zone/.test/common/main.test.bicep b/modules/network/dns-zone/.test/common/main.test.bicep
index 7fec103202..f23e497864 100644
--- a/modules/network/dns-zone/.test/common/main.test.bicep
+++ b/modules/network/dns-zone/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/network/dns-zone/.test/min/main.test.bicep b/modules/network/dns-zone/.test/min/main.test.bicep
index 096c2d1315..99dd5b9612 100644
--- a/modules/network/dns-zone/.test/min/main.test.bicep
+++ b/modules/network/dns-zone/.test/min/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using only defaults'
+metadata description = 'This instance deploys the module with the minimum set of required parameters.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/network/dns-zone/README.md b/modules/network/dns-zone/README.md
index 4e03141daa..cf007e7fc7 100644
--- a/modules/network/dns-zone/README.md
+++ b/modules/network/dns-zone/README.md
@@ -4,13 +4,13 @@ This module deploys a Public DNS zone.
## Navigation
-- [Resource types](#Resource-types)
+- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
-## Resource types
+## Resource Types
| Resource Type | API Version |
| :-- | :-- |
@@ -28,63 +28,28 @@ This module deploys a Public DNS zone.
| `Microsoft.Network/dnsZones/SRV` | [2018-05-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2018-05-01/dnsZones/SRV) |
| `Microsoft.Network/dnsZones/TXT` | [2018-05-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2018-05-01/dnsZones/TXT) |
-## Parameters
+## Usage examples
-**Required parameters**
+The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository.
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | DNS zone name. |
+>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-**Optional parameters**
+>**Note**: To reference the module, please use the following syntax `br:bicep/modules/network.dns-zone:1.0.0`.
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `a` | _[a](a/README.md)_ array | `[]` | | Array of A records. |
-| `aaaa` | _[aaaa](aaaa/README.md)_ array | `[]` | | Array of AAAA records. |
-| `caa` | _[caa](caa/README.md)_ array | `[]` | | Array of CAA records. |
-| `cname` | _[cname](cname/README.md)_ array | `[]` | | Array of CNAME records. |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `location` | string | `'global'` | | The location of the dnsZone. Should be global. |
-| `lock` | string | `''` | `['', CanNotDelete, ReadOnly]` | Specify the type of lock. |
-| `mx` | _[mx](mx/README.md)_ array | `[]` | | Array of MX records. |
-| `ns` | _[ns](ns/README.md)_ array | `[]` | | Array of NS records. |
-| `ptr` | _[ptr](ptr/README.md)_ array | `[]` | | Array of PTR records. |
-| `roleAssignments` | array | `[]` | | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
-| `soa` | _[soa](soa/README.md)_ array | `[]` | | Array of SOA records. |
-| `srv` | _[srv](srv/README.md)_ array | `[]` | | Array of SRV records. |
-| `tags` | object | `{object}` | | Tags of the resource. |
-| `txt` | _[txt](txt/README.md)_ array | `[]` | | Array of TXT records. |
+- [Using large parameter set](#example-1-using-large-parameter-set)
+- [Using only defaults](#example-2-using-only-defaults)
+### Example 1: _Using large parameter set_
-## Outputs
+This instance deploys the module with most of its features enabled.
-| Output Name | Type | Description |
-| :-- | :-- | :-- |
-| `location` | string | The location the resource was deployed into. |
-| `name` | string | The name of the DNS zone. |
-| `resourceGroupName` | string | The resource group the DNS zone was deployed into. |
-| `resourceId` | string | The resource ID of the DNS zone. |
-
-## Cross-referenced modules
-
-_None_
-
-## Deployment examples
-
-The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder.
- >**Note**: The name of each example is based on the name of the file from which it is taken.
-
- >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-
-
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | DNS zone name. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`a`](#parameter-a) | array | Array of A records. |
+| [`aaaa`](#parameter-aaaa) | array | Array of AAAA records. |
+| [`caa`](#parameter-caa) | array | Array of CAA records. |
+| [`cname`](#parameter-cname) | array | Array of CNAME records. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`location`](#parameter-location) | string | The location of the dnsZone. Should be global. |
+| [`lock`](#parameter-lock) | string | Specify the type of lock. |
+| [`mx`](#parameter-mx) | array | Array of MX records. |
+| [`ns`](#parameter-ns) | array | Array of NS records. |
+| [`ptr`](#parameter-ptr) | array | Array of PTR records. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`soa`](#parameter-soa) | array | Array of SOA records. |
+| [`srv`](#parameter-srv) | array | Array of SRV records. |
+| [`tags`](#parameter-tags) | object | Tags of the resource. |
+| [`txt`](#parameter-txt) | array | Array of TXT records. |
+
+### Parameter: `a`
+
+Array of A records.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `aaaa`
+
+Array of AAAA records.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `caa`
+
+Array of CAA records.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `cname`
+
+Array of CNAME records.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `location`
+
+The location of the dnsZone. Should be global.
+- Required: No
+- Type: string
+- Default: `'global'`
+
+### Parameter: `lock`
+
+Specify the type of lock.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', CanNotDelete, ReadOnly]`
+
+### Parameter: `mx`
+
+Array of MX records.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `name`
+
+DNS zone name.
+- Required: Yes
+- Type: string
+
+### Parameter: `ns`
+
+Array of NS records.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `ptr`
+
+Array of PTR records.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `soa`
+
+Array of SOA records.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `srv`
+
+Array of SRV records.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `tags`
+
+Tags of the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `txt`
+
+Array of TXT records.
+- Required: No
+- Type: array
+- Default: `[]`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The name of the DNS zone. |
+| `resourceGroupName` | string | The resource group the DNS zone was deployed into. |
+| `resourceId` | string | The resource ID of the DNS zone. |
+
+## Cross-referenced modules
+
+_None_
diff --git a/modules/network/dns-zone/a/README.md b/modules/network/dns-zone/a/README.md
index 243741caa9..0929f596ca 100644
--- a/modules/network/dns-zone/a/README.md
+++ b/modules/network/dns-zone/a/README.md
@@ -20,31 +20,85 @@ This module deploys a Public DNS Zone A record.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `name` | string | The name of the A record. |
+| [`name`](#parameter-name) | string | The name of the A record. |
**Conditional parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `dnsZoneName` | string | The name of the parent DNS zone. Required if the template is used in a standalone deployment. |
+| [`dnsZoneName`](#parameter-dnszonename) | string | The name of the parent DNS zone. Required if the template is used in a standalone deployment. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `aRecords` | array | `[]` | The list of A records in the record set. Cannot be used in conjuction with the "targetResource" property. |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `metadata` | object | `{object}` | The metadata attached to the record set. |
-| `roleAssignments` | array | `[]` | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
-| `targetResourceId` | string | `''` | A reference to an azure resource from where the dns resource value is taken. Also known as an alias record sets and are only supported for record types A, AAAA and CNAME. A resource ID can be an Azure Traffic Manager, Azure CDN, Front Door, Static Web App, or a resource ID of a record set of the same type in the DNS zone (i.e. A, AAAA or CNAME). Cannot be used in conjuction with the "aRecords" property. |
-| `ttl` | int | `3600` | The TTL (time-to-live) of the records in the record set. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`aRecords`](#parameter-arecords) | array | The list of A records in the record set. Cannot be used in conjuction with the "targetResource" property. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`metadata`](#parameter-metadata) | object | The metadata attached to the record set. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`targetResourceId`](#parameter-targetresourceid) | string | A reference to an azure resource from where the dns resource value is taken. Also known as an alias record sets and are only supported for record types A, AAAA and CNAME. A resource ID can be an Azure Traffic Manager, Azure CDN, Front Door, Static Web App, or a resource ID of a record set of the same type in the DNS zone (i.e. A, AAAA or CNAME). Cannot be used in conjuction with the "aRecords" property. |
+| [`ttl`](#parameter-ttl) | int | The TTL (time-to-live) of the records in the record set. |
+
+### Parameter: `aRecords`
+
+The list of A records in the record set. Cannot be used in conjuction with the "targetResource" property.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `dnsZoneName`
+
+The name of the parent DNS zone. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `metadata`
+
+The metadata attached to the record set.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `name`
+
+The name of the A record.
+- Required: Yes
+- Type: string
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `targetResourceId`
+
+A reference to an azure resource from where the dns resource value is taken. Also known as an alias record sets and are only supported for record types A, AAAA and CNAME. A resource ID can be an Azure Traffic Manager, Azure CDN, Front Door, Static Web App, or a resource ID of a record set of the same type in the DNS zone (i.e. A, AAAA or CNAME). Cannot be used in conjuction with the "aRecords" property.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `ttl`
+
+The TTL (time-to-live) of the records in the record set.
+- Required: No
+- Type: int
+- Default: `3600`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The name of the deployed A record. |
| `resourceGroupName` | string | The resource group of the deployed A record. |
diff --git a/modules/network/dns-zone/a/main.json b/modules/network/dns-zone/a/main.json
index 003161d55c..9aeb4218f1 100644
--- a/modules/network/dns-zone/a/main.json
+++ b/modules/network/dns-zone/a/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "5170145363622927115"
+ "version": "0.22.6.54827",
+ "templateHash": "6542208080967583866"
},
"name": "Public DNS Zone A record",
"description": "This module deploys a Public DNS Zone A record.",
@@ -127,8 +127,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "3558751375290910792"
+ "version": "0.22.6.54827",
+ "templateHash": "12863297534613170503"
}
},
"parameters": {
diff --git a/modules/network/dns-zone/aaaa/README.md b/modules/network/dns-zone/aaaa/README.md
index 3ced8d13c1..c4e820ffe6 100644
--- a/modules/network/dns-zone/aaaa/README.md
+++ b/modules/network/dns-zone/aaaa/README.md
@@ -20,31 +20,85 @@ This module deploys a Public DNS Zone AAAA record.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `name` | string | The name of the AAAA record. |
+| [`name`](#parameter-name) | string | The name of the AAAA record. |
**Conditional parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `dnsZoneName` | string | The name of the parent DNS zone. Required if the template is used in a standalone deployment. |
+| [`dnsZoneName`](#parameter-dnszonename) | string | The name of the parent DNS zone. Required if the template is used in a standalone deployment. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `aaaaRecords` | array | `[]` | The list of AAAA records in the record set. Cannot be used in conjuction with the "targetResource" property. |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `metadata` | object | `{object}` | The metadata attached to the record set. |
-| `roleAssignments` | array | `[]` | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
-| `targetResourceId` | string | `''` | A reference to an azure resource from where the dns resource value is taken. Also known as an alias record sets and are only supported for record types A, AAAA and CNAME. A resource ID can be an Azure Traffic Manager, Azure CDN, Front Door, Static Web App, or a resource ID of a record set of the same type in the DNS zone (i.e. A, AAAA or CNAME). Cannot be used in conjuction with the "aRecords" property. |
-| `ttl` | int | `3600` | The TTL (time-to-live) of the records in the record set. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`aaaaRecords`](#parameter-aaaarecords) | array | The list of AAAA records in the record set. Cannot be used in conjuction with the "targetResource" property. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`metadata`](#parameter-metadata) | object | The metadata attached to the record set. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`targetResourceId`](#parameter-targetresourceid) | string | A reference to an azure resource from where the dns resource value is taken. Also known as an alias record sets and are only supported for record types A, AAAA and CNAME. A resource ID can be an Azure Traffic Manager, Azure CDN, Front Door, Static Web App, or a resource ID of a record set of the same type in the DNS zone (i.e. A, AAAA or CNAME). Cannot be used in conjuction with the "aRecords" property. |
+| [`ttl`](#parameter-ttl) | int | The TTL (time-to-live) of the records in the record set. |
+
+### Parameter: `aaaaRecords`
+
+The list of AAAA records in the record set. Cannot be used in conjuction with the "targetResource" property.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `dnsZoneName`
+
+The name of the parent DNS zone. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `metadata`
+
+The metadata attached to the record set.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `name`
+
+The name of the AAAA record.
+- Required: Yes
+- Type: string
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `targetResourceId`
+
+A reference to an azure resource from where the dns resource value is taken. Also known as an alias record sets and are only supported for record types A, AAAA and CNAME. A resource ID can be an Azure Traffic Manager, Azure CDN, Front Door, Static Web App, or a resource ID of a record set of the same type in the DNS zone (i.e. A, AAAA or CNAME). Cannot be used in conjuction with the "aRecords" property.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `ttl`
+
+The TTL (time-to-live) of the records in the record set.
+- Required: No
+- Type: int
+- Default: `3600`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The name of the deployed AAAA record. |
| `resourceGroupName` | string | The resource group of the deployed AAAA record. |
diff --git a/modules/network/dns-zone/aaaa/main.json b/modules/network/dns-zone/aaaa/main.json
index 9bcf93a5ff..1a9f64999a 100644
--- a/modules/network/dns-zone/aaaa/main.json
+++ b/modules/network/dns-zone/aaaa/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "14783067103445567469"
+ "version": "0.22.6.54827",
+ "templateHash": "3710520452642205212"
},
"name": "Public DNS Zone AAAA record",
"description": "This module deploys a Public DNS Zone AAAA record.",
@@ -127,8 +127,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "10619447653791643982"
+ "version": "0.22.6.54827",
+ "templateHash": "8289108097363297951"
}
},
"parameters": {
diff --git a/modules/network/dns-zone/caa/README.md b/modules/network/dns-zone/caa/README.md
index 790b850ff9..9bfa2bb020 100644
--- a/modules/network/dns-zone/caa/README.md
+++ b/modules/network/dns-zone/caa/README.md
@@ -20,30 +20,77 @@ This module deploys a Public DNS Zone CAA record.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `name` | string | The name of the CAA record. |
+| [`name`](#parameter-name) | string | The name of the CAA record. |
**Conditional parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `dnsZoneName` | string | The name of the parent DNS zone. Required if the template is used in a standalone deployment. |
+| [`dnsZoneName`](#parameter-dnszonename) | string | The name of the parent DNS zone. Required if the template is used in a standalone deployment. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `caaRecords` | array | `[]` | The list of CAA records in the record set. |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `metadata` | object | `{object}` | The metadata attached to the record set. |
-| `roleAssignments` | array | `[]` | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
-| `ttl` | int | `3600` | The TTL (time-to-live) of the records in the record set. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`caaRecords`](#parameter-caarecords) | array | The list of CAA records in the record set. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`metadata`](#parameter-metadata) | object | The metadata attached to the record set. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`ttl`](#parameter-ttl) | int | The TTL (time-to-live) of the records in the record set. |
+
+### Parameter: `caaRecords`
+
+The list of CAA records in the record set.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `dnsZoneName`
+
+The name of the parent DNS zone. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `metadata`
+
+The metadata attached to the record set.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `name`
+
+The name of the CAA record.
+- Required: Yes
+- Type: string
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `ttl`
+
+The TTL (time-to-live) of the records in the record set.
+- Required: No
+- Type: int
+- Default: `3600`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The name of the deployed CAA record. |
| `resourceGroupName` | string | The resource group of the deployed CAA record. |
diff --git a/modules/network/dns-zone/caa/main.json b/modules/network/dns-zone/caa/main.json
index 01174cacf6..c0b6623111 100644
--- a/modules/network/dns-zone/caa/main.json
+++ b/modules/network/dns-zone/caa/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "4477853461523597510"
+ "version": "0.22.6.54827",
+ "templateHash": "139457689749453308"
},
"name": "Public DNS Zone CAA record",
"description": "This module deploys a Public DNS Zone CAA record.",
@@ -119,8 +119,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "17740559314627874296"
+ "version": "0.22.6.54827",
+ "templateHash": "9470565833545804306"
}
},
"parameters": {
diff --git a/modules/network/dns-zone/cname/README.md b/modules/network/dns-zone/cname/README.md
index 761f346b01..d58c077c0d 100644
--- a/modules/network/dns-zone/cname/README.md
+++ b/modules/network/dns-zone/cname/README.md
@@ -20,31 +20,85 @@ This module deploys a Public DNS Zone CNAME record.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `name` | string | The name of the CNAME record. |
+| [`name`](#parameter-name) | string | The name of the CNAME record. |
**Conditional parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `dnsZoneName` | string | The name of the parent DNS zone. Required if the template is used in a standalone deployment. |
+| [`dnsZoneName`](#parameter-dnszonename) | string | The name of the parent DNS zone. Required if the template is used in a standalone deployment. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `cnameRecord` | object | `{object}` | A CNAME record. Cannot be used in conjuction with the "targetResource" property. |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `metadata` | object | `{object}` | The metadata attached to the record set. |
-| `roleAssignments` | array | `[]` | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
-| `targetResourceId` | string | `''` | A reference to an azure resource from where the dns resource value is taken. Also known as an alias record sets and are only supported for record types A, AAAA and CNAME. A resource ID can be an Azure Traffic Manager, Azure CDN, Front Door, Static Web App, or a resource ID of a record set of the same type in the DNS zone (i.e. A, AAAA or CNAME). Cannot be used in conjuction with the "aRecords" property. |
-| `ttl` | int | `3600` | The TTL (time-to-live) of the records in the record set. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`cnameRecord`](#parameter-cnamerecord) | object | A CNAME record. Cannot be used in conjuction with the "targetResource" property. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`metadata`](#parameter-metadata) | object | The metadata attached to the record set. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`targetResourceId`](#parameter-targetresourceid) | string | A reference to an azure resource from where the dns resource value is taken. Also known as an alias record sets and are only supported for record types A, AAAA and CNAME. A resource ID can be an Azure Traffic Manager, Azure CDN, Front Door, Static Web App, or a resource ID of a record set of the same type in the DNS zone (i.e. A, AAAA or CNAME). Cannot be used in conjuction with the "aRecords" property. |
+| [`ttl`](#parameter-ttl) | int | The TTL (time-to-live) of the records in the record set. |
+
+### Parameter: `cnameRecord`
+
+A CNAME record. Cannot be used in conjuction with the "targetResource" property.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `dnsZoneName`
+
+The name of the parent DNS zone. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `metadata`
+
+The metadata attached to the record set.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `name`
+
+The name of the CNAME record.
+- Required: Yes
+- Type: string
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `targetResourceId`
+
+A reference to an azure resource from where the dns resource value is taken. Also known as an alias record sets and are only supported for record types A, AAAA and CNAME. A resource ID can be an Azure Traffic Manager, Azure CDN, Front Door, Static Web App, or a resource ID of a record set of the same type in the DNS zone (i.e. A, AAAA or CNAME). Cannot be used in conjuction with the "aRecords" property.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `ttl`
+
+The TTL (time-to-live) of the records in the record set.
+- Required: No
+- Type: int
+- Default: `3600`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The name of the deployed CNAME record. |
| `resourceGroupName` | string | The resource group of the deployed CNAME record. |
diff --git a/modules/network/dns-zone/cname/main.json b/modules/network/dns-zone/cname/main.json
index 4f413117dd..78d4dd61c0 100644
--- a/modules/network/dns-zone/cname/main.json
+++ b/modules/network/dns-zone/cname/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "16690614046545500600"
+ "version": "0.22.6.54827",
+ "templateHash": "9638487977820751575"
},
"name": "Public DNS Zone CNAME record",
"description": "This module deploys a Public DNS Zone CNAME record.",
@@ -127,8 +127,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "1579300133069941204"
+ "version": "0.22.6.54827",
+ "templateHash": "9902709125102553327"
}
},
"parameters": {
diff --git a/modules/network/dns-zone/main.json b/modules/network/dns-zone/main.json
index 2cd166e951..2050ccbfa3 100644
--- a/modules/network/dns-zone/main.json
+++ b/modules/network/dns-zone/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "6851549629737338757"
+ "version": "0.22.6.54827",
+ "templateHash": "9774189040753970370"
},
"name": "Public DNS Zones",
"description": "This module deploys a Public DNS zone.",
@@ -208,8 +208,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "68732993276774389"
+ "version": "0.22.6.54827",
+ "templateHash": "6542208080967583866"
},
"name": "Public DNS Zone A record",
"description": "This module deploys a Public DNS Zone A record.",
@@ -331,8 +331,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "5391899014295336127"
+ "version": "0.22.6.54827",
+ "templateHash": "12863297534613170503"
}
},
"parameters": {
@@ -539,8 +539,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "1399420754199725079"
+ "version": "0.22.6.54827",
+ "templateHash": "3710520452642205212"
},
"name": "Public DNS Zone AAAA record",
"description": "This module deploys a Public DNS Zone AAAA record.",
@@ -662,8 +662,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "11088059014224151171"
+ "version": "0.22.6.54827",
+ "templateHash": "8289108097363297951"
}
},
"parameters": {
@@ -870,8 +870,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "1081451111818125712"
+ "version": "0.22.6.54827",
+ "templateHash": "9638487977820751575"
},
"name": "Public DNS Zone CNAME record",
"description": "This module deploys a Public DNS Zone CNAME record.",
@@ -993,8 +993,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "8600790202870820366"
+ "version": "0.22.6.54827",
+ "templateHash": "9902709125102553327"
}
},
"parameters": {
@@ -1200,8 +1200,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "5673527444453988582"
+ "version": "0.22.6.54827",
+ "templateHash": "139457689749453308"
},
"name": "Public DNS Zone CAA record",
"description": "This module deploys a Public DNS Zone CAA record.",
@@ -1315,8 +1315,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "15901517837296662514"
+ "version": "0.22.6.54827",
+ "templateHash": "9470565833545804306"
}
},
"parameters": {
@@ -1522,8 +1522,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "12122627275966612771"
+ "version": "0.22.6.54827",
+ "templateHash": "17935109453553054168"
},
"name": "Public DNS Zone MX record",
"description": "This module deploys a Public DNS Zone MX record.",
@@ -1637,8 +1637,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "12990053881217536027"
+ "version": "0.22.6.54827",
+ "templateHash": "3617371994879925017"
}
},
"parameters": {
@@ -1844,8 +1844,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "1252842746264260293"
+ "version": "0.22.6.54827",
+ "templateHash": "5114862259619051357"
},
"name": "Public DNS Zone NS record",
"description": "This module deploys a Public DNS Zone NS record.",
@@ -1959,8 +1959,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "4203054026416577590"
+ "version": "0.22.6.54827",
+ "templateHash": "14367633254025428198"
}
},
"parameters": {
@@ -2166,8 +2166,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "8254188493299686045"
+ "version": "0.22.6.54827",
+ "templateHash": "10998530599333888745"
},
"name": "Public DNS Zone PTR record",
"description": "This module deploys a Public DNS Zone PTR record.",
@@ -2281,8 +2281,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "3382234855470984930"
+ "version": "0.22.6.54827",
+ "templateHash": "17983831737512612600"
}
},
"parameters": {
@@ -2488,8 +2488,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "9958980921150733070"
+ "version": "0.22.6.54827",
+ "templateHash": "10118634861239112279"
},
"name": "Public DNS Zone SOA record",
"description": "This module deploys a Public DNS Zone SOA record.",
@@ -2603,8 +2603,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "10962387383395206364"
+ "version": "0.22.6.54827",
+ "templateHash": "7383644209973085042"
}
},
"parameters": {
@@ -2810,8 +2810,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "11054274383314435498"
+ "version": "0.22.6.54827",
+ "templateHash": "17870818057963659035"
},
"name": "Public DNS Zone SRV record",
"description": "This module deploys a Public DNS Zone SRV record.",
@@ -2925,8 +2925,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "17186909847958573798"
+ "version": "0.22.6.54827",
+ "templateHash": "1743157605226588693"
}
},
"parameters": {
@@ -3132,8 +3132,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "4896316740645265762"
+ "version": "0.22.6.54827",
+ "templateHash": "13941492299186927650"
},
"name": "Public DNS Zone TXT record",
"description": "This module deploys a Public DNS Zone TXT record.",
@@ -3247,8 +3247,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "2655826582817627242"
+ "version": "0.22.6.54827",
+ "templateHash": "7288997439030042721"
}
},
"parameters": {
@@ -3454,8 +3454,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "14647311365948094297"
+ "version": "0.22.6.54827",
+ "templateHash": "10745925950629635011"
}
},
"parameters": {
diff --git a/modules/network/dns-zone/mx/README.md b/modules/network/dns-zone/mx/README.md
index e6b6a99d5a..2404e76d3a 100644
--- a/modules/network/dns-zone/mx/README.md
+++ b/modules/network/dns-zone/mx/README.md
@@ -20,30 +20,77 @@ This module deploys a Public DNS Zone MX record.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `name` | string | The name of the MX record. |
+| [`name`](#parameter-name) | string | The name of the MX record. |
**Conditional parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `dnsZoneName` | string | The name of the parent DNS zone. Required if the template is used in a standalone deployment. |
+| [`dnsZoneName`](#parameter-dnszonename) | string | The name of the parent DNS zone. Required if the template is used in a standalone deployment. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `metadata` | object | `{object}` | The metadata attached to the record set. |
-| `mxRecords` | array | `[]` | The list of MX records in the record set. |
-| `roleAssignments` | array | `[]` | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
-| `ttl` | int | `3600` | The TTL (time-to-live) of the records in the record set. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`metadata`](#parameter-metadata) | object | The metadata attached to the record set. |
+| [`mxRecords`](#parameter-mxrecords) | array | The list of MX records in the record set. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`ttl`](#parameter-ttl) | int | The TTL (time-to-live) of the records in the record set. |
+
+### Parameter: `dnsZoneName`
+
+The name of the parent DNS zone. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `metadata`
+
+The metadata attached to the record set.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `mxRecords`
+
+The list of MX records in the record set.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `name`
+
+The name of the MX record.
+- Required: Yes
+- Type: string
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `ttl`
+
+The TTL (time-to-live) of the records in the record set.
+- Required: No
+- Type: int
+- Default: `3600`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The name of the deployed MX record. |
| `resourceGroupName` | string | The resource group of the deployed MX record. |
diff --git a/modules/network/dns-zone/mx/main.json b/modules/network/dns-zone/mx/main.json
index 8b13e14708..1c740cd6dc 100644
--- a/modules/network/dns-zone/mx/main.json
+++ b/modules/network/dns-zone/mx/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "14301321817801341159"
+ "version": "0.22.6.54827",
+ "templateHash": "17935109453553054168"
},
"name": "Public DNS Zone MX record",
"description": "This module deploys a Public DNS Zone MX record.",
@@ -119,8 +119,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "9536077061979113211"
+ "version": "0.22.6.54827",
+ "templateHash": "3617371994879925017"
}
},
"parameters": {
diff --git a/modules/network/dns-zone/ns/README.md b/modules/network/dns-zone/ns/README.md
index 411d63a495..f95a252125 100644
--- a/modules/network/dns-zone/ns/README.md
+++ b/modules/network/dns-zone/ns/README.md
@@ -20,30 +20,77 @@ This module deploys a Public DNS Zone NS record.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `name` | string | The name of the NS record. |
+| [`name`](#parameter-name) | string | The name of the NS record. |
**Conditional parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `dnsZoneName` | string | The name of the parent DNS zone. Required if the template is used in a standalone deployment. |
+| [`dnsZoneName`](#parameter-dnszonename) | string | The name of the parent DNS zone. Required if the template is used in a standalone deployment. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `metadata` | object | `{object}` | The metadata attached to the record set. |
-| `nsRecords` | array | `[]` | The list of NS records in the record set. |
-| `roleAssignments` | array | `[]` | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
-| `ttl` | int | `3600` | The TTL (time-to-live) of the records in the record set. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`metadata`](#parameter-metadata) | object | The metadata attached to the record set. |
+| [`nsRecords`](#parameter-nsrecords) | array | The list of NS records in the record set. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`ttl`](#parameter-ttl) | int | The TTL (time-to-live) of the records in the record set. |
+
+### Parameter: `dnsZoneName`
+
+The name of the parent DNS zone. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `metadata`
+
+The metadata attached to the record set.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `name`
+
+The name of the NS record.
+- Required: Yes
+- Type: string
+
+### Parameter: `nsRecords`
+
+The list of NS records in the record set.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `ttl`
+
+The TTL (time-to-live) of the records in the record set.
+- Required: No
+- Type: int
+- Default: `3600`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The name of the deployed NS record. |
| `resourceGroupName` | string | The resource group of the deployed NS record. |
diff --git a/modules/network/dns-zone/ns/main.json b/modules/network/dns-zone/ns/main.json
index 39cbd138f6..0324b74495 100644
--- a/modules/network/dns-zone/ns/main.json
+++ b/modules/network/dns-zone/ns/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "13879924638868874443"
+ "version": "0.22.6.54827",
+ "templateHash": "5114862259619051357"
},
"name": "Public DNS Zone NS record",
"description": "This module deploys a Public DNS Zone NS record.",
@@ -119,8 +119,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "2717382131813837654"
+ "version": "0.22.6.54827",
+ "templateHash": "14367633254025428198"
}
},
"parameters": {
diff --git a/modules/network/dns-zone/ptr/README.md b/modules/network/dns-zone/ptr/README.md
index caf2ea722a..04db682bb4 100644
--- a/modules/network/dns-zone/ptr/README.md
+++ b/modules/network/dns-zone/ptr/README.md
@@ -20,30 +20,77 @@ This module deploys a Public DNS Zone PTR record.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `name` | string | The name of the PTR record. |
+| [`name`](#parameter-name) | string | The name of the PTR record. |
**Conditional parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `dnsZoneName` | string | The name of the parent DNS zone. Required if the template is used in a standalone deployment. |
+| [`dnsZoneName`](#parameter-dnszonename) | string | The name of the parent DNS zone. Required if the template is used in a standalone deployment. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `metadata` | object | `{object}` | The metadata attached to the record set. |
-| `ptrRecords` | array | `[]` | The list of PTR records in the record set. |
-| `roleAssignments` | array | `[]` | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
-| `ttl` | int | `3600` | The TTL (time-to-live) of the records in the record set. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`metadata`](#parameter-metadata) | object | The metadata attached to the record set. |
+| [`ptrRecords`](#parameter-ptrrecords) | array | The list of PTR records in the record set. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`ttl`](#parameter-ttl) | int | The TTL (time-to-live) of the records in the record set. |
+
+### Parameter: `dnsZoneName`
+
+The name of the parent DNS zone. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `metadata`
+
+The metadata attached to the record set.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `name`
+
+The name of the PTR record.
+- Required: Yes
+- Type: string
+
+### Parameter: `ptrRecords`
+
+The list of PTR records in the record set.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `ttl`
+
+The TTL (time-to-live) of the records in the record set.
+- Required: No
+- Type: int
+- Default: `3600`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The name of the deployed PTR record. |
| `resourceGroupName` | string | The resource group of the deployed PTR record. |
diff --git a/modules/network/dns-zone/ptr/main.json b/modules/network/dns-zone/ptr/main.json
index 8e886f5e90..d596d246fc 100644
--- a/modules/network/dns-zone/ptr/main.json
+++ b/modules/network/dns-zone/ptr/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "14950916556855362521"
+ "version": "0.22.6.54827",
+ "templateHash": "10998530599333888745"
},
"name": "Public DNS Zone PTR record",
"description": "This module deploys a Public DNS Zone PTR record.",
@@ -119,8 +119,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "14048540340305231771"
+ "version": "0.22.6.54827",
+ "templateHash": "17983831737512612600"
}
},
"parameters": {
diff --git a/modules/network/dns-zone/soa/README.md b/modules/network/dns-zone/soa/README.md
index 83c0fa4654..ec6efc70ec 100644
--- a/modules/network/dns-zone/soa/README.md
+++ b/modules/network/dns-zone/soa/README.md
@@ -20,30 +20,77 @@ This module deploys a Public DNS Zone SOA record.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `name` | string | The name of the SOA record. |
+| [`name`](#parameter-name) | string | The name of the SOA record. |
**Conditional parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `dnsZoneName` | string | The name of the parent DNS zone. Required if the template is used in a standalone deployment. |
+| [`dnsZoneName`](#parameter-dnszonename) | string | The name of the parent DNS zone. Required if the template is used in a standalone deployment. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `metadata` | object | `{object}` | The metadata attached to the record set. |
-| `roleAssignments` | array | `[]` | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
-| `soaRecord` | object | `{object}` | A SOA record. |
-| `ttl` | int | `3600` | The TTL (time-to-live) of the records in the record set. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`metadata`](#parameter-metadata) | object | The metadata attached to the record set. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`soaRecord`](#parameter-soarecord) | object | A SOA record. |
+| [`ttl`](#parameter-ttl) | int | The TTL (time-to-live) of the records in the record set. |
+
+### Parameter: `dnsZoneName`
+
+The name of the parent DNS zone. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `metadata`
+
+The metadata attached to the record set.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `name`
+
+The name of the SOA record.
+- Required: Yes
+- Type: string
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `soaRecord`
+
+A SOA record.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `ttl`
+
+The TTL (time-to-live) of the records in the record set.
+- Required: No
+- Type: int
+- Default: `3600`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The name of the deployed SOA record. |
| `resourceGroupName` | string | The resource group of the deployed SOA record. |
diff --git a/modules/network/dns-zone/soa/main.json b/modules/network/dns-zone/soa/main.json
index 69744041ff..17ba5d7803 100644
--- a/modules/network/dns-zone/soa/main.json
+++ b/modules/network/dns-zone/soa/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "15092776661272728734"
+ "version": "0.22.6.54827",
+ "templateHash": "10118634861239112279"
},
"name": "Public DNS Zone SOA record",
"description": "This module deploys a Public DNS Zone SOA record.",
@@ -119,8 +119,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "17247816691852004236"
+ "version": "0.22.6.54827",
+ "templateHash": "7383644209973085042"
}
},
"parameters": {
diff --git a/modules/network/dns-zone/srv/README.md b/modules/network/dns-zone/srv/README.md
index fb1f8c35f6..8947cd2a5f 100644
--- a/modules/network/dns-zone/srv/README.md
+++ b/modules/network/dns-zone/srv/README.md
@@ -20,30 +20,77 @@ This module deploys a Public DNS Zone SRV record.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `name` | string | The name of the SRV record. |
+| [`name`](#parameter-name) | string | The name of the SRV record. |
**Conditional parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `dnsZoneName` | string | The name of the parent DNS zone. Required if the template is used in a standalone deployment. |
+| [`dnsZoneName`](#parameter-dnszonename) | string | The name of the parent DNS zone. Required if the template is used in a standalone deployment. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `metadata` | object | `{object}` | The metadata attached to the record set. |
-| `roleAssignments` | array | `[]` | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
-| `srvRecords` | array | `[]` | The list of SRV records in the record set. |
-| `ttl` | int | `3600` | The TTL (time-to-live) of the records in the record set. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`metadata`](#parameter-metadata) | object | The metadata attached to the record set. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`srvRecords`](#parameter-srvrecords) | array | The list of SRV records in the record set. |
+| [`ttl`](#parameter-ttl) | int | The TTL (time-to-live) of the records in the record set. |
+
+### Parameter: `dnsZoneName`
+
+The name of the parent DNS zone. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `metadata`
+
+The metadata attached to the record set.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `name`
+
+The name of the SRV record.
+- Required: Yes
+- Type: string
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `srvRecords`
+
+The list of SRV records in the record set.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `ttl`
+
+The TTL (time-to-live) of the records in the record set.
+- Required: No
+- Type: int
+- Default: `3600`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The name of the deployed SRV record. |
| `resourceGroupName` | string | The resource group of the deployed SRV record. |
diff --git a/modules/network/dns-zone/srv/main.json b/modules/network/dns-zone/srv/main.json
index 6e3933b6ad..d0c3e30324 100644
--- a/modules/network/dns-zone/srv/main.json
+++ b/modules/network/dns-zone/srv/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "2772370204362718864"
+ "version": "0.22.6.54827",
+ "templateHash": "17870818057963659035"
},
"name": "Public DNS Zone SRV record",
"description": "This module deploys a Public DNS Zone SRV record.",
@@ -119,8 +119,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "13880457002928639304"
+ "version": "0.22.6.54827",
+ "templateHash": "1743157605226588693"
}
},
"parameters": {
diff --git a/modules/network/dns-zone/txt/README.md b/modules/network/dns-zone/txt/README.md
index 9db5f6f73e..54111ce95e 100644
--- a/modules/network/dns-zone/txt/README.md
+++ b/modules/network/dns-zone/txt/README.md
@@ -20,30 +20,77 @@ This module deploys a Public DNS Zone TXT record.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `name` | string | The name of the TXT record. |
+| [`name`](#parameter-name) | string | The name of the TXT record. |
**Conditional parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `dnsZoneName` | string | The name of the parent DNS zone. Required if the template is used in a standalone deployment. |
+| [`dnsZoneName`](#parameter-dnszonename) | string | The name of the parent DNS zone. Required if the template is used in a standalone deployment. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `metadata` | object | `{object}` | The metadata attached to the record set. |
-| `roleAssignments` | array | `[]` | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
-| `ttl` | int | `3600` | The TTL (time-to-live) of the records in the record set. |
-| `txtRecords` | array | `[]` | The list of TXT records in the record set. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`metadata`](#parameter-metadata) | object | The metadata attached to the record set. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`ttl`](#parameter-ttl) | int | The TTL (time-to-live) of the records in the record set. |
+| [`txtRecords`](#parameter-txtrecords) | array | The list of TXT records in the record set. |
+
+### Parameter: `dnsZoneName`
+
+The name of the parent DNS zone. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `metadata`
+
+The metadata attached to the record set.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `name`
+
+The name of the TXT record.
+- Required: Yes
+- Type: string
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `ttl`
+
+The TTL (time-to-live) of the records in the record set.
+- Required: No
+- Type: int
+- Default: `3600`
+
+### Parameter: `txtRecords`
+
+The list of TXT records in the record set.
+- Required: No
+- Type: array
+- Default: `[]`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The name of the deployed TXT record. |
| `resourceGroupName` | string | The resource group of the deployed TXT record. |
diff --git a/modules/network/dns-zone/txt/main.json b/modules/network/dns-zone/txt/main.json
index 3cc94f1b0e..d6a56e6411 100644
--- a/modules/network/dns-zone/txt/main.json
+++ b/modules/network/dns-zone/txt/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "16370550186541929198"
+ "version": "0.22.6.54827",
+ "templateHash": "13941492299186927650"
},
"name": "Public DNS Zone TXT record",
"description": "This module deploys a Public DNS Zone TXT record.",
@@ -119,8 +119,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "17843024796725206765"
+ "version": "0.22.6.54827",
+ "templateHash": "7288997439030042721"
}
},
"parameters": {
diff --git a/modules/network/express-route-circuit/.test/common/main.test.bicep b/modules/network/express-route-circuit/.test/common/main.test.bicep
index 054fed2490..58ce2762f0 100644
--- a/modules/network/express-route-circuit/.test/common/main.test.bicep
+++ b/modules/network/express-route-circuit/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/network/express-route-circuit/.test/min/main.test.bicep b/modules/network/express-route-circuit/.test/min/main.test.bicep
index 10ba226791..9023c41dfe 100644
--- a/modules/network/express-route-circuit/.test/min/main.test.bicep
+++ b/modules/network/express-route-circuit/.test/min/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using only defaults'
+metadata description = 'This instance deploys the module with the minimum set of required parameters.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/network/express-route-circuit/README.md b/modules/network/express-route-circuit/README.md
index 679f0b7aa6..3acc1d2f3c 100644
--- a/modules/network/express-route-circuit/README.md
+++ b/modules/network/express-route-circuit/README.md
@@ -4,13 +4,13 @@ This module deploys an Express Route Circuit.
## Navigation
-- [Resource types](#Resource-types)
+- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
-## Resource types
+## Resource Types
| Resource Type | API Version |
| :-- | :-- |
@@ -19,77 +19,28 @@ This module deploys an Express Route Circuit.
| `Microsoft.Insights/diagnosticSettings` | [2021-05-01-preview](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Insights/2021-05-01-preview/diagnosticSettings) |
| `Microsoft.Network/expressRouteCircuits` | [2023-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2023-04-01/expressRouteCircuits) |
-## Parameters
-
-**Required parameters**
-
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `bandwidthInMbps` | int | This is the bandwidth in Mbps of the circuit being created. It must exactly match one of the available bandwidth offers List ExpressRoute Service Providers API call. |
-| `name` | string | This is the name of the ExpressRoute circuit. |
-| `peeringLocation` | string | This is the name of the peering location and not the ARM resource location. It must exactly match one of the available peering locations from List ExpressRoute Service Providers API call. |
-| `serviceProviderName` | string | This is the name of the ExpressRoute Service Provider. It must exactly match one of the Service Providers from List ExpressRoute Service Providers API call. |
-
-**Optional parameters**
-
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `allowClassicOperations` | bool | `False` | | Allow classic operations. You can connect to virtual networks in the classic deployment model by setting allowClassicOperations to true. |
-| `bandwidthInGbps` | int | `0` | | The bandwidth of the circuit when the circuit is provisioned on an ExpressRoutePort resource. Available when configuring Express Route Direct. Default value of 0 will set the property to null. |
-| `diagnosticEventHubAuthorizationRuleId` | string | `''` | | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
-| `diagnosticEventHubName` | string | `''` | | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
-| `diagnosticLogCategoriesToEnable` | array | `[allLogs]` | `['', allLogs, PeeringRouteLog]` | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
-| `diagnosticMetricsToEnable` | array | `[AllMetrics]` | `[AllMetrics]` | The name of metrics that will be streamed. |
-| `diagnosticSettingsName` | string | `''` | | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`bandwidthInMbps`](#parameter-bandwidthinmbps) | int | This is the bandwidth in Mbps of the circuit being created. It must exactly match one of the available bandwidth offers List ExpressRoute Service Providers API call. |
+| [`name`](#parameter-name) | string | This is the name of the ExpressRoute circuit. |
+| [`peeringLocation`](#parameter-peeringlocation) | string | This is the name of the peering location and not the ARM resource location. It must exactly match one of the available peering locations from List ExpressRoute Service Providers API call. |
+| [`serviceProviderName`](#parameter-serviceprovidername) | string | This is the name of the ExpressRoute Service Provider. It must exactly match one of the Service Providers from List ExpressRoute Service Providers API call. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`allowClassicOperations`](#parameter-allowclassicoperations) | bool | Allow classic operations. You can connect to virtual networks in the classic deployment model by setting allowClassicOperations to true. |
+| [`bandwidthInGbps`](#parameter-bandwidthingbps) | int | The bandwidth of the circuit when the circuit is provisioned on an ExpressRoutePort resource. Available when configuring Express Route Direct. Default value of 0 will set the property to null. |
+| [`diagnosticEventHubAuthorizationRuleId`](#parameter-diagnosticeventhubauthorizationruleid) | string | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
+| [`diagnosticEventHubName`](#parameter-diagnosticeventhubname) | string | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
+| [`diagnosticLogCategoriesToEnable`](#parameter-diagnosticlogcategoriestoenable) | array | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
+| [`diagnosticMetricsToEnable`](#parameter-diagnosticmetricstoenable) | array | The name of metrics that will be streamed. |
+| [`diagnosticSettingsName`](#parameter-diagnosticsettingsname) | string | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | Name of the Express Route Gateway. |
+| [`virtualHubId`](#parameter-virtualhubid) | string | Resource ID of the Virtual Wan Hub. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`allowNonVirtualWanTraffic`](#parameter-allownonvirtualwantraffic) | bool | Configures this gateway to accept traffic from non Virtual WAN networks. |
+| [`autoScaleConfigurationBoundsMax`](#parameter-autoscaleconfigurationboundsmax) | int | Maximum number of scale units deployed for ExpressRoute gateway. |
+| [`autoScaleConfigurationBoundsMin`](#parameter-autoscaleconfigurationboundsmin) | int | Minimum number of scale units deployed for ExpressRoute gateway. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`expressRouteConnections`](#parameter-expressrouteconnections) | array | List of ExpressRoute connections to the ExpressRoute gateway. |
+| [`location`](#parameter-location) | string | Location for all resources. |
+| [`lock`](#parameter-lock) | string | Specify the type of lock. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`tags`](#parameter-tags) | object | Tags of the Firewall policy resource. |
+
+### Parameter: `allowNonVirtualWanTraffic`
+
+Configures this gateway to accept traffic from non Virtual WAN networks.
+- Required: No
+- Type: bool
+- Default: `False`
+
+### Parameter: `autoScaleConfigurationBoundsMax`
+
+Maximum number of scale units deployed for ExpressRoute gateway.
+- Required: No
+- Type: int
+- Default: `2`
+
+### Parameter: `autoScaleConfigurationBoundsMin`
+
+Minimum number of scale units deployed for ExpressRoute gateway.
+- Required: No
+- Type: int
+- Default: `2`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `expressRouteConnections`
+
+List of ExpressRoute connections to the ExpressRoute gateway.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `location`
+
+Location for all resources.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `lock`
+
+Specify the type of lock.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', CanNotDelete, ReadOnly]`
+
+### Parameter: `name`
+
+Name of the Express Route Gateway.
+- Required: Yes
+- Type: string
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `tags`
+
+Tags of the Firewall policy resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `virtualHubId`
+
+Resource ID of the Virtual Wan Hub.
+- Required: Yes
+- Type: string
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The name of the ExpressRoute Gateway. |
+| `resourceGroupName` | string | The resource group of the ExpressRoute Gateway was deployed into. |
+| `resourceId` | string | The resource ID of the ExpressRoute Gateway. |
+
+## Cross-referenced modules
+
+_None_
diff --git a/modules/network/express-route-gateway/main.json b/modules/network/express-route-gateway/main.json
index 3431a0aef3..084701ac54 100644
--- a/modules/network/express-route-gateway/main.json
+++ b/modules/network/express-route-gateway/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "4204996721387656228"
+ "version": "0.22.6.54827",
+ "templateHash": "8092497363245159180"
},
"name": "Express Route Gateways",
"description": "This module deploys an Express Route Gateway.",
@@ -176,8 +176,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "13068351482866901446"
+ "version": "0.22.6.54827",
+ "templateHash": "10999249246469924012"
}
},
"parameters": {
diff --git a/modules/network/firewall-policy/.test/common/main.test.bicep b/modules/network/firewall-policy/.test/common/main.test.bicep
index bf8c202a14..b0f3e73de8 100644
--- a/modules/network/firewall-policy/.test/common/main.test.bicep
+++ b/modules/network/firewall-policy/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/network/firewall-policy/.test/min/main.test.bicep b/modules/network/firewall-policy/.test/min/main.test.bicep
index bd06e9e9f4..2efbeaeead 100644
--- a/modules/network/firewall-policy/.test/min/main.test.bicep
+++ b/modules/network/firewall-policy/.test/min/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using only defaults'
+metadata description = 'This instance deploys the module with the minimum set of required parameters.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/network/firewall-policy/README.md b/modules/network/firewall-policy/README.md
index 28a24d3072..6c127c21e5 100644
--- a/modules/network/firewall-policy/README.md
+++ b/modules/network/firewall-policy/README.md
@@ -5,10 +5,10 @@ This module deploys a Firewall Policy.
## Navigation
- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
## Resource Types
@@ -17,72 +17,28 @@ This module deploys a Firewall Policy.
| `Microsoft.Network/firewallPolicies` | [2023-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2023-04-01/firewallPolicies) |
| `Microsoft.Network/firewallPolicies/ruleCollectionGroups` | [2023-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2023-04-01/firewallPolicies/ruleCollectionGroups) |
-## Parameters
-
-**Required parameters**
-
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | Name of the Firewall Policy. |
-
-**Optional parameters**
-
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `allowSqlRedirect` | bool | `False` | | A flag to indicate if SQL Redirect traffic filtering is enabled. Turning on the flag requires no rule using port 11000-11999. |
-| `autoLearnPrivateRanges` | string | `'Disabled'` | `[Disabled, Enabled]` | The operation mode for automatically learning private ranges to not be SNAT. |
-| `basePolicyResourceId` | string | `''` | | Resource ID of the base policy. |
-| `bypassTrafficSettings` | array | `[]` | | List of rules for traffic to bypass. |
-| `certificateName` | string | `''` | | Name of the CA certificate. |
-| `defaultWorkspaceId` | string | `''` | | Default Log Analytics Resource ID for Firewall Policy Insights. |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `enableProxy` | bool | `False` | | Enable DNS Proxy on Firewalls attached to the Firewall Policy. |
-| `fqdns` | array | `[]` | | List of FQDNs for the ThreatIntel Allowlist. |
-| `insightsIsEnabled` | bool | `False` | | A flag to indicate if the insights are enabled on the policy. |
-| `ipAddresses` | array | `[]` | | List of IP addresses for the ThreatIntel Allowlist. |
-| `keyVaultSecretId` | string | `''` | | Secret ID of (base-64 encoded unencrypted PFX) Secret or Certificate object stored in KeyVault. |
-| `location` | string | `[resourceGroup().location]` | | Location for all resources. |
-| `mode` | string | `'Off'` | `[Alert, Deny, Off]` | The configuring of intrusion detection. |
-| `privateRanges` | array | `[]` | | List of private IP addresses/IP address ranges to not be SNAT. |
-| `retentionDays` | int | `365` | | Number of days the insights should be enabled on the policy. |
-| `ruleCollectionGroups` | array | `[]` | | Rule collection groups. |
-| `servers` | array | `[]` | | List of Custom DNS Servers. |
-| `signatureOverrides` | array | `[]` | | List of specific signatures states. |
-| `tags` | object | `{object}` | | Tags of the Firewall policy resource. |
-| `threatIntelMode` | string | `'Off'` | `[Alert, Deny, Off]` | The operation mode for Threat Intel. |
-| `tier` | string | `'Standard'` | `[Premium, Standard]` | Tier of Firewall Policy. |
-| `userAssignedIdentities` | object | `{object}` | | The ID(s) to assign to the resource. |
-| `workspaces` | array | `[]` | | List of workspaces for Firewall Policy Insights. |
-
-
-## Outputs
+## Usage examples
-| Output Name | Type | Description |
-| :-- | :-- | :-- |
-| `location` | string | The location the resource was deployed into. |
-| `name` | string | The name of the deployed firewall policy. |
-| `resourceGroupName` | string | The resource group of the deployed firewall policy. |
-| `resourceId` | string | The resource ID of the deployed firewall policy. |
+The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository.
-## Cross-referenced modules
+>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-_None_
+>**Note**: To reference the module, please use the following syntax `br:bicep/modules/network.firewall-policy:1.0.0`.
-## Deployment examples
+- [Using large parameter set](#example-1-using-large-parameter-set)
+- [Using only defaults](#example-2-using-only-defaults)
-The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder.
- >**Note**: The name of each example is based on the name of the file from which it is taken.
+### Example 1: _Using large parameter set_
- >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
+This instance deploys the module with most of its features enabled.
-
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | Name of the Firewall Policy. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`allowSqlRedirect`](#parameter-allowsqlredirect) | bool | A flag to indicate if SQL Redirect traffic filtering is enabled. Turning on the flag requires no rule using port 11000-11999. |
+| [`autoLearnPrivateRanges`](#parameter-autolearnprivateranges) | string | The operation mode for automatically learning private ranges to not be SNAT. |
+| [`basePolicyResourceId`](#parameter-basepolicyresourceid) | string | Resource ID of the base policy. |
+| [`bypassTrafficSettings`](#parameter-bypasstrafficsettings) | array | List of rules for traffic to bypass. |
+| [`certificateName`](#parameter-certificatename) | string | Name of the CA certificate. |
+| [`defaultWorkspaceId`](#parameter-defaultworkspaceid) | string | Default Log Analytics Resource ID for Firewall Policy Insights. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`enableProxy`](#parameter-enableproxy) | bool | Enable DNS Proxy on Firewalls attached to the Firewall Policy. |
+| [`fqdns`](#parameter-fqdns) | array | List of FQDNs for the ThreatIntel Allowlist. |
+| [`insightsIsEnabled`](#parameter-insightsisenabled) | bool | A flag to indicate if the insights are enabled on the policy. |
+| [`ipAddresses`](#parameter-ipaddresses) | array | List of IP addresses for the ThreatIntel Allowlist. |
+| [`keyVaultSecretId`](#parameter-keyvaultsecretid) | string | Secret ID of (base-64 encoded unencrypted PFX) Secret or Certificate object stored in KeyVault. |
+| [`location`](#parameter-location) | string | Location for all resources. |
+| [`mode`](#parameter-mode) | string | The configuring of intrusion detection. |
+| [`privateRanges`](#parameter-privateranges) | array | List of private IP addresses/IP address ranges to not be SNAT. |
+| [`retentionDays`](#parameter-retentiondays) | int | Number of days the insights should be enabled on the policy. |
+| [`ruleCollectionGroups`](#parameter-rulecollectiongroups) | array | Rule collection groups. |
+| [`servers`](#parameter-servers) | array | List of Custom DNS Servers. |
+| [`signatureOverrides`](#parameter-signatureoverrides) | array | List of specific signatures states. |
+| [`tags`](#parameter-tags) | object | Tags of the Firewall policy resource. |
+| [`threatIntelMode`](#parameter-threatintelmode) | string | The operation mode for Threat Intel. |
+| [`tier`](#parameter-tier) | string | Tier of Firewall Policy. |
+| [`userAssignedIdentities`](#parameter-userassignedidentities) | object | The ID(s) to assign to the resource. |
+| [`workspaces`](#parameter-workspaces) | array | List of workspaces for Firewall Policy Insights. |
+
+### Parameter: `allowSqlRedirect`
+
+A flag to indicate if SQL Redirect traffic filtering is enabled. Turning on the flag requires no rule using port 11000-11999.
+- Required: No
+- Type: bool
+- Default: `False`
+
+### Parameter: `autoLearnPrivateRanges`
+
+The operation mode for automatically learning private ranges to not be SNAT.
+- Required: No
+- Type: string
+- Default: `'Disabled'`
+- Allowed: `[Disabled, Enabled]`
+
+### Parameter: `basePolicyResourceId`
+
+Resource ID of the base policy.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `bypassTrafficSettings`
+
+List of rules for traffic to bypass.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `certificateName`
+
+Name of the CA certificate.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `defaultWorkspaceId`
+
+Default Log Analytics Resource ID for Firewall Policy Insights.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `enableProxy`
+
+Enable DNS Proxy on Firewalls attached to the Firewall Policy.
+- Required: No
+- Type: bool
+- Default: `False`
+
+### Parameter: `fqdns`
+
+List of FQDNs for the ThreatIntel Allowlist.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `insightsIsEnabled`
+
+A flag to indicate if the insights are enabled on the policy.
+- Required: No
+- Type: bool
+- Default: `False`
+
+### Parameter: `ipAddresses`
+
+List of IP addresses for the ThreatIntel Allowlist.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `keyVaultSecretId`
+
+Secret ID of (base-64 encoded unencrypted PFX) Secret or Certificate object stored in KeyVault.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `location`
+
+Location for all resources.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `mode`
+
+The configuring of intrusion detection.
+- Required: No
+- Type: string
+- Default: `'Off'`
+- Allowed: `[Alert, Deny, Off]`
+
+### Parameter: `name`
+
+Name of the Firewall Policy.
+- Required: Yes
+- Type: string
+
+### Parameter: `privateRanges`
+
+List of private IP addresses/IP address ranges to not be SNAT.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `retentionDays`
+
+Number of days the insights should be enabled on the policy.
+- Required: No
+- Type: int
+- Default: `365`
+
+### Parameter: `ruleCollectionGroups`
+
+Rule collection groups.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `servers`
+
+List of Custom DNS Servers.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `signatureOverrides`
+
+List of specific signatures states.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `tags`
+
+Tags of the Firewall policy resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `threatIntelMode`
+
+The operation mode for Threat Intel.
+- Required: No
+- Type: string
+- Default: `'Off'`
+- Allowed: `[Alert, Deny, Off]`
+
+### Parameter: `tier`
+
+Tier of Firewall Policy.
+- Required: No
+- Type: string
+- Default: `'Standard'`
+- Allowed: `[Premium, Standard]`
+
+### Parameter: `userAssignedIdentities`
+
+The ID(s) to assign to the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `workspaces`
+
+List of workspaces for Firewall Policy Insights.
+- Required: No
+- Type: array
+- Default: `[]`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The name of the deployed firewall policy. |
+| `resourceGroupName` | string | The resource group of the deployed firewall policy. |
+| `resourceId` | string | The resource ID of the deployed firewall policy. |
+
+## Cross-referenced modules
+
+_None_
diff --git a/modules/network/firewall-policy/main.json b/modules/network/firewall-policy/main.json
index 17bff00e52..466fff08d7 100644
--- a/modules/network/firewall-policy/main.json
+++ b/modules/network/firewall-policy/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "6554136279481645026"
+ "version": "0.22.6.54827",
+ "templateHash": "18116522930721554549"
},
"name": "Firewall Policies",
"description": "This module deploys a Firewall Policy.",
@@ -290,8 +290,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "6780265410658307445"
+ "version": "0.22.6.54827",
+ "templateHash": "13617778659554817427"
},
"name": "Firewall Policy Rule Collection Groups",
"description": "This module deploys a Firewall Policy Rule Collection Group.",
diff --git a/modules/network/firewall-policy/rule-collection-group/README.md b/modules/network/firewall-policy/rule-collection-group/README.md
index 9be45dfd53..920f33ecd8 100644
--- a/modules/network/firewall-policy/rule-collection-group/README.md
+++ b/modules/network/firewall-policy/rule-collection-group/README.md
@@ -19,28 +19,60 @@ This module deploys a Firewall Policy Rule Collection Group.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `name` | string | The name of the rule collection group to deploy. |
-| `priority` | int | Priority of the Firewall Policy Rule Collection Group resource. |
+| [`name`](#parameter-name) | string | The name of the rule collection group to deploy. |
+| [`priority`](#parameter-priority) | int | Priority of the Firewall Policy Rule Collection Group resource. |
**Conditional parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `firewallPolicyName` | string | The name of the parent Firewall Policy. Required if the template is used in a standalone deployment. |
+| [`firewallPolicyName`](#parameter-firewallpolicyname) | string | The name of the parent Firewall Policy. Required if the template is used in a standalone deployment. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `ruleCollections` | array | `[]` | Group of Firewall Policy rule collections. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`ruleCollections`](#parameter-rulecollections) | array | Group of Firewall Policy rule collections. |
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `firewallPolicyName`
+
+The name of the parent Firewall Policy. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
+
+### Parameter: `name`
+
+The name of the rule collection group to deploy.
+- Required: Yes
+- Type: string
+
+### Parameter: `priority`
+
+Priority of the Firewall Policy Rule Collection Group resource.
+- Required: Yes
+- Type: int
+
+### Parameter: `ruleCollections`
+
+Group of Firewall Policy rule collections.
+- Required: No
+- Type: array
+- Default: `[]`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The name of the deployed rule collection group. |
| `resourceGroupName` | string | The resource group of the deployed rule collection group. |
diff --git a/modules/network/firewall-policy/rule-collection-group/main.json b/modules/network/firewall-policy/rule-collection-group/main.json
index f2abb4caf2..6c26a49d8a 100644
--- a/modules/network/firewall-policy/rule-collection-group/main.json
+++ b/modules/network/firewall-policy/rule-collection-group/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "12741470915279971248"
+ "version": "0.22.6.54827",
+ "templateHash": "13617778659554817427"
},
"name": "Firewall Policy Rule Collection Groups",
"description": "This module deploys a Firewall Policy Rule Collection Group.",
diff --git a/modules/network/front-door-web-application-firewall-policy/.test/common/main.test.bicep b/modules/network/front-door-web-application-firewall-policy/.test/common/main.test.bicep
index 838318de95..a971d68691 100644
--- a/modules/network/front-door-web-application-firewall-policy/.test/common/main.test.bicep
+++ b/modules/network/front-door-web-application-firewall-policy/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/network/front-door-web-application-firewall-policy/.test/min/main.test.bicep b/modules/network/front-door-web-application-firewall-policy/.test/min/main.test.bicep
index 469b740344..e6dc94614a 100644
--- a/modules/network/front-door-web-application-firewall-policy/.test/min/main.test.bicep
+++ b/modules/network/front-door-web-application-firewall-policy/.test/min/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using only defaults'
+metadata description = 'This instance deploys the module with the minimum set of required parameters.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/network/front-door-web-application-firewall-policy/README.md b/modules/network/front-door-web-application-firewall-policy/README.md
index 41570c94cd..8cf0e4a016 100644
--- a/modules/network/front-door-web-application-firewall-policy/README.md
+++ b/modules/network/front-door-web-application-firewall-policy/README.md
@@ -5,10 +5,10 @@ This module deploys a Front Door Web Application Firewall (WAF) Policy.
## Navigation
- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
## Resource Types
@@ -18,57 +18,28 @@ This module deploys a Front Door Web Application Firewall (WAF) Policy.
| `Microsoft.Authorization/roleAssignments` | [2022-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2022-04-01/roleAssignments) |
| `Microsoft.Network/FrontDoorWebApplicationFirewallPolicies` | [2022-05-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2022-05-01/FrontDoorWebApplicationFirewallPolicies) |
-## Parameters
-
-**Required parameters**
-
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | Name of the Front Door WAF policy. |
-
-**Optional parameters**
-
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `customRules` | object | `{object}` | | The custom rules inside the policy. |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `location` | string | `'global'` | | Location for all resources. |
-| `lock` | string | `''` | `['', CanNotDelete, ReadOnly]` | Specify the type of lock. |
-| `managedRules` | object | `{object}` | | Describes the managedRules structure. |
-| `policySettings` | object | `{object}` | | The PolicySettings for policy. |
-| `roleAssignments` | array | `[]` | | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
-| `sku` | string | `'Standard_AzureFrontDoor'` | `[Premium_AzureFrontDoor, Standard_AzureFrontDoor]` | The pricing tier of the WAF profile. |
-| `tags` | object | `{object}` | | Resource tags. |
+## Usage examples
+The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository.
-## Outputs
-
-| Output Name | Type | Description |
-| :-- | :-- | :-- |
-| `location` | string | The location the resource was deployed into. |
-| `name` | string | The name of the Front Door WAF policy. |
-| `resourceGroupName` | string | The resource group the Front Door WAF policy was deployed into. |
-| `resourceId` | string | The resource ID of the Front Door WAF policy. |
-
-## Cross-referenced modules
+>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-_None_
+>**Note**: To reference the module, please use the following syntax `br:bicep/modules/network.front-door-web-application-firewall-policy:1.0.0`.
-## Deployment examples
+- [Using large parameter set](#example-1-using-large-parameter-set)
+- [Using only defaults](#example-2-using-only-defaults)
-The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder.
- >**Note**: The name of each example is based on the name of the file from which it is taken.
+### Example 1: _Using large parameter set_
- >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
+This instance deploys the module with most of its features enabled.
-
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | Name of the Front Door WAF policy. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`customRules`](#parameter-customrules) | object | The custom rules inside the policy. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`location`](#parameter-location) | string | Location for all resources. |
+| [`lock`](#parameter-lock) | string | Specify the type of lock. |
+| [`managedRules`](#parameter-managedrules) | object | Describes the managedRules structure. |
+| [`policySettings`](#parameter-policysettings) | object | The PolicySettings for policy. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`sku`](#parameter-sku) | string | The pricing tier of the WAF profile. |
+| [`tags`](#parameter-tags) | object | Resource tags. |
+
+### Parameter: `customRules`
+
+The custom rules inside the policy.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `location`
+
+Location for all resources.
+- Required: No
+- Type: string
+- Default: `'global'`
+
+### Parameter: `lock`
+
+Specify the type of lock.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', CanNotDelete, ReadOnly]`
+
+### Parameter: `managedRules`
+
+Describes the managedRules structure.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `name`
+
+Name of the Front Door WAF policy.
+- Required: Yes
+- Type: string
+
+### Parameter: `policySettings`
+
+The PolicySettings for policy.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `sku`
+
+The pricing tier of the WAF profile.
+- Required: No
+- Type: string
+- Default: `'Standard_AzureFrontDoor'`
+- Allowed: `[Premium_AzureFrontDoor, Standard_AzureFrontDoor]`
+
+### Parameter: `tags`
+
+Resource tags.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The name of the Front Door WAF policy. |
+| `resourceGroupName` | string | The resource group the Front Door WAF policy was deployed into. |
+| `resourceId` | string | The resource ID of the Front Door WAF policy. |
+
+## Cross-referenced modules
+
+_None_
diff --git a/modules/network/front-door-web-application-firewall-policy/main.json b/modules/network/front-door-web-application-firewall-policy/main.json
index 0d56d79ca8..a2dffd263e 100644
--- a/modules/network/front-door-web-application-firewall-policy/main.json
+++ b/modules/network/front-door-web-application-firewall-policy/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "3252423512239689635"
+ "version": "0.22.6.54827",
+ "templateHash": "9522616710967870505"
},
"name": "Front Door Web Application Firewall (WAF) Policies",
"description": "This module deploys a Front Door Web Application Firewall (WAF) Policy.",
@@ -210,8 +210,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "9019610193929502057"
+ "version": "0.22.6.54827",
+ "templateHash": "15230534892714027949"
}
},
"parameters": {
diff --git a/modules/network/front-door/.test/common/main.test.bicep b/modules/network/front-door/.test/common/main.test.bicep
index c8ce73be84..dfc4e2b726 100644
--- a/modules/network/front-door/.test/common/main.test.bicep
+++ b/modules/network/front-door/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/network/front-door/.test/min/main.test.bicep b/modules/network/front-door/.test/min/main.test.bicep
index 5cde0a04e4..d924dcbb25 100644
--- a/modules/network/front-door/.test/min/main.test.bicep
+++ b/modules/network/front-door/.test/min/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using only defaults'
+metadata description = 'This instance deploys the module with the minimum set of required parameters.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/network/front-door/README.md b/modules/network/front-door/README.md
index 64e78ae5f3..f9b46052f3 100644
--- a/modules/network/front-door/README.md
+++ b/modules/network/front-door/README.md
@@ -5,10 +5,10 @@ This module deploys an Azure Front Door.
## Navigation
- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
## Resource Types
@@ -19,67 +19,28 @@ This module deploys an Azure Front Door.
| `Microsoft.Insights/diagnosticSettings` | [2021-05-01-preview](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Insights/2021-05-01-preview/diagnosticSettings) |
| `Microsoft.Network/frontDoors` | [2020-05-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2020-05-01/frontDoors) |
-## Parameters
+## Usage examples
-**Required parameters**
+The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository.
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `backendPools` | array | Backend address pool of the frontdoor resource. |
-| `frontendEndpoints` | array | Frontend endpoints of the frontdoor resource. |
-| `healthProbeSettings` | array | Heath probe settings of the frontdoor resource. |
-| `loadBalancingSettings` | array | Load balancing settings of the frontdoor resource. |
-| `name` | string | The name of the frontDoor. |
-| `routingRules` | array | Routing rules settings of the frontdoor resource. |
+>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-**Optional parameters**
+>**Note**: To reference the module, please use the following syntax `br:bicep/modules/network.front-door:1.0.0`.
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `diagnosticEventHubAuthorizationRuleId` | string | `''` | | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
-| `diagnosticEventHubName` | string | `''` | | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. For security reasons, it is recommended to set diagnostic settings to send data to either storage account, log analytics workspace or event hub. |
-| `diagnosticLogCategoriesToEnable` | array | `[allLogs]` | `['', allLogs, FrontdoorAccessLog, FrontdoorWebApplicationFirewallLog]` | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
-| `diagnosticStorageAccountId` | string | `''` | | Resource ID of the diagnostic storage account. For security reasons, it is recommended to set diagnostic settings to send data to either storage account, log analytics workspace or event hub. |
-| `diagnosticWorkspaceId` | string | `''` | | Resource ID of the diagnostic log analytics workspace. For security reasons, it is recommended to set diagnostic settings to send data to either storage account, log analytics workspace or event hub. |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `enabledState` | string | `'Enabled'` | | State of the frontdoor resource. |
-| `enforceCertificateNameCheck` | string | `'Disabled'` | | Enforce certificate name check of the frontdoor resource. |
-| `friendlyName` | string | `''` | | Friendly name of the frontdoor resource. |
-| `location` | string | `[resourceGroup().location]` | | Location for all resources. |
-| `lock` | string | `''` | `['', CanNotDelete, ReadOnly]` | Specify the type of lock. |
-| `metricsToEnable` | array | `[AllMetrics]` | `[AllMetrics]` | The name of metrics that will be streamed. |
-| `roleAssignments` | array | `[]` | | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
-| `sendRecvTimeoutSeconds` | int | `240` | | Certificate name check time of the frontdoor resource. |
-| `tags` | object | `{object}` | | Resource tags. |
+- [Using large parameter set](#example-1-using-large-parameter-set)
+- [Using only defaults](#example-2-using-only-defaults)
+### Example 1: _Using large parameter set_
-## Outputs
+This instance deploys the module with most of its features enabled.
-| Output Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | The name of the front door. |
-| `resourceGroupName` | string | The resource group the front door was deployed into. |
-| `resourceId` | string | The resource ID of the front door. |
-
-## Cross-referenced modules
-
-_None_
-
-## Deployment examples
-
-The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder.
- >**Note**: The name of each example is based on the name of the file from which it is taken.
-
- >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-
-
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`backendPools`](#parameter-backendpools) | array | Backend address pool of the frontdoor resource. |
+| [`frontendEndpoints`](#parameter-frontendendpoints) | array | Frontend endpoints of the frontdoor resource. |
+| [`healthProbeSettings`](#parameter-healthprobesettings) | array | Heath probe settings of the frontdoor resource. |
+| [`loadBalancingSettings`](#parameter-loadbalancingsettings) | array | Load balancing settings of the frontdoor resource. |
+| [`name`](#parameter-name) | string | The name of the frontDoor. |
+| [`routingRules`](#parameter-routingrules) | array | Routing rules settings of the frontdoor resource. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`diagnosticEventHubAuthorizationRuleId`](#parameter-diagnosticeventhubauthorizationruleid) | string | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
+| [`diagnosticEventHubName`](#parameter-diagnosticeventhubname) | string | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. For security reasons, it is recommended to set diagnostic settings to send data to either storage account, log analytics workspace or event hub. |
+| [`diagnosticLogCategoriesToEnable`](#parameter-diagnosticlogcategoriestoenable) | array | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
+| [`diagnosticStorageAccountId`](#parameter-diagnosticstorageaccountid) | string | Resource ID of the diagnostic storage account. For security reasons, it is recommended to set diagnostic settings to send data to either storage account, log analytics workspace or event hub. |
+| [`diagnosticWorkspaceId`](#parameter-diagnosticworkspaceid) | string | Resource ID of the diagnostic log analytics workspace. For security reasons, it is recommended to set diagnostic settings to send data to either storage account, log analytics workspace or event hub. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`enabledState`](#parameter-enabledstate) | string | State of the frontdoor resource. |
+| [`enforceCertificateNameCheck`](#parameter-enforcecertificatenamecheck) | string | Enforce certificate name check of the frontdoor resource. |
+| [`friendlyName`](#parameter-friendlyname) | string | Friendly name of the frontdoor resource. |
+| [`location`](#parameter-location) | string | Location for all resources. |
+| [`lock`](#parameter-lock) | string | Specify the type of lock. |
+| [`metricsToEnable`](#parameter-metricstoenable) | array | The name of metrics that will be streamed. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`sendRecvTimeoutSeconds`](#parameter-sendrecvtimeoutseconds) | int | Certificate name check time of the frontdoor resource. |
+| [`tags`](#parameter-tags) | object | Resource tags. |
+
+### Parameter: `backendPools`
+
+Backend address pool of the frontdoor resource.
+- Required: Yes
+- Type: array
+
+### Parameter: `diagnosticEventHubAuthorizationRuleId`
+
+Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `diagnosticEventHubName`
+
+Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. For security reasons, it is recommended to set diagnostic settings to send data to either storage account, log analytics workspace or event hub.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `diagnosticLogCategoriesToEnable`
+
+The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection.
+- Required: No
+- Type: array
+- Default: `[allLogs]`
+- Allowed: `['', allLogs, FrontdoorAccessLog, FrontdoorWebApplicationFirewallLog]`
+
+### Parameter: `diagnosticStorageAccountId`
+
+Resource ID of the diagnostic storage account. For security reasons, it is recommended to set diagnostic settings to send data to either storage account, log analytics workspace or event hub.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `diagnosticWorkspaceId`
+
+Resource ID of the diagnostic log analytics workspace. For security reasons, it is recommended to set diagnostic settings to send data to either storage account, log analytics workspace or event hub.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `enabledState`
+
+State of the frontdoor resource.
+- Required: No
+- Type: string
+- Default: `'Enabled'`
+
+### Parameter: `enforceCertificateNameCheck`
+
+Enforce certificate name check of the frontdoor resource.
+- Required: No
+- Type: string
+- Default: `'Disabled'`
+
+### Parameter: `friendlyName`
+
+Friendly name of the frontdoor resource.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `frontendEndpoints`
+
+Frontend endpoints of the frontdoor resource.
+- Required: Yes
+- Type: array
+
+### Parameter: `healthProbeSettings`
+
+Heath probe settings of the frontdoor resource.
+- Required: Yes
+- Type: array
+
+### Parameter: `loadBalancingSettings`
+
+Load balancing settings of the frontdoor resource.
+- Required: Yes
+- Type: array
+
+### Parameter: `location`
+
+Location for all resources.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `lock`
+
+Specify the type of lock.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', CanNotDelete, ReadOnly]`
+
+### Parameter: `metricsToEnable`
+
+The name of metrics that will be streamed.
+- Required: No
+- Type: array
+- Default: `[AllMetrics]`
+- Allowed: `[AllMetrics]`
+
+### Parameter: `name`
+
+The name of the frontDoor.
+- Required: Yes
+- Type: string
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `routingRules`
+
+Routing rules settings of the frontdoor resource.
+- Required: Yes
+- Type: array
+
+### Parameter: `sendRecvTimeoutSeconds`
+
+Certificate name check time of the frontdoor resource.
+- Required: No
+- Type: int
+- Default: `240`
+
+### Parameter: `tags`
+
+Resource tags.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `name` | string | The name of the front door. |
+| `resourceGroupName` | string | The resource group the front door was deployed into. |
+| `resourceId` | string | The resource ID of the front door. |
+
+## Cross-referenced modules
+
+_None_
diff --git a/modules/network/front-door/main.json b/modules/network/front-door/main.json
index 6d8212300c..3722abf630 100644
--- a/modules/network/front-door/main.json
+++ b/modules/network/front-door/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "18085582863238637831"
+ "version": "0.22.6.54827",
+ "templateHash": "1800137372393005313"
},
"name": "Azure Front Doors",
"description": "This module deploys an Azure Front Door.",
@@ -298,8 +298,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "15530628531766056415"
+ "version": "0.22.6.54827",
+ "templateHash": "9337028153232884606"
}
},
"parameters": {
diff --git a/modules/network/ip-group/.test/common/main.test.bicep b/modules/network/ip-group/.test/common/main.test.bicep
index 3dad1a2400..61476fd930 100644
--- a/modules/network/ip-group/.test/common/main.test.bicep
+++ b/modules/network/ip-group/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/network/ip-group/.test/min/main.test.bicep b/modules/network/ip-group/.test/min/main.test.bicep
index dc0c682523..174c87ae38 100644
--- a/modules/network/ip-group/.test/min/main.test.bicep
+++ b/modules/network/ip-group/.test/min/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using only defaults'
+metadata description = 'This instance deploys the module with the minimum set of required parameters.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/network/ip-group/README.md b/modules/network/ip-group/README.md
index d6481e255f..2de276d682 100644
--- a/modules/network/ip-group/README.md
+++ b/modules/network/ip-group/README.md
@@ -4,13 +4,13 @@ This module deploys an IP Group.
## Navigation
-- [Resource types](#Resource-types)
+- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
-## Resource types
+## Resource Types
| Resource Type | API Version |
| :-- | :-- |
@@ -18,54 +18,28 @@ This module deploys an IP Group.
| `Microsoft.Authorization/roleAssignments` | [2022-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2022-04-01/roleAssignments) |
| `Microsoft.Network/ipGroups` | [2023-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2023-04-01/ipGroups) |
-## Parameters
-
-**Required parameters**
+## Usage examples
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | The name of the ipGroups. |
+The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository.
-**Optional parameters**
+>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `ipAddresses` | array | `[]` | | IpAddresses/IpAddressPrefixes in the IpGroups resource. |
-| `location` | string | `[resourceGroup().location]` | | Location for all resources. |
-| `lock` | string | `''` | `['', CanNotDelete, ReadOnly]` | Specify the type of lock. |
-| `roleAssignments` | array | `[]` | | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
-| `tags` | object | `{object}` | | Resource tags. |
+>**Note**: To reference the module, please use the following syntax `br:bicep/modules/network.ip-group:1.0.0`.
+- [Using large parameter set](#example-1-using-large-parameter-set)
+- [Using only defaults](#example-2-using-only-defaults)
-## Outputs
+### Example 1: _Using large parameter set_
-| Output Name | Type | Description |
-| :-- | :-- | :-- |
-| `location` | string | The location the resource was deployed into. |
-| `name` | string | The name of the IP group. |
-| `resourceGroupName` | string | The resource group of the IP group was deployed into. |
-| `resourceId` | string | The resource ID of the IP group. |
-
-## Cross-referenced modules
-
-_None_
+This instance deploys the module with most of its features enabled.
-## Deployment examples
-
-The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder.
- >**Note**: The name of each example is based on the name of the file from which it is taken.
-
- >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-
-
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | The name of the ipGroups. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`ipAddresses`](#parameter-ipaddresses) | array | IpAddresses/IpAddressPrefixes in the IpGroups resource. |
+| [`location`](#parameter-location) | string | Location for all resources. |
+| [`lock`](#parameter-lock) | string | Specify the type of lock. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`tags`](#parameter-tags) | object | Resource tags. |
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `ipAddresses`
+
+IpAddresses/IpAddressPrefixes in the IpGroups resource.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `location`
+
+Location for all resources.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `lock`
+
+Specify the type of lock.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', CanNotDelete, ReadOnly]`
+
+### Parameter: `name`
+
+The name of the ipGroups.
+- Required: Yes
+- Type: string
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `tags`
+
+Resource tags.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The name of the IP group. |
+| `resourceGroupName` | string | The resource group of the IP group was deployed into. |
+| `resourceId` | string | The resource ID of the IP group. |
+
+## Cross-referenced modules
+
+_None_
diff --git a/modules/network/ip-group/main.json b/modules/network/ip-group/main.json
index 5ab53eaa7a..3d3b61dbe5 100644
--- a/modules/network/ip-group/main.json
+++ b/modules/network/ip-group/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "14113274555296490837"
+ "version": "0.22.6.54827",
+ "templateHash": "3722289923159347480"
},
"name": "IP Groups",
"description": "This module deploys an IP Group.",
@@ -140,8 +140,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "15558620083655583266"
+ "version": "0.22.6.54827",
+ "templateHash": "11934973470926193389"
}
},
"parameters": {
diff --git a/modules/network/load-balancer/.test/common/main.test.bicep b/modules/network/load-balancer/.test/common/main.test.bicep
index 79ce0f2cbd..6efb446ead 100644
--- a/modules/network/load-balancer/.test/common/main.test.bicep
+++ b/modules/network/load-balancer/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/network/load-balancer/.test/min/main.test.bicep b/modules/network/load-balancer/.test/min/main.test.bicep
index de083737e7..dbb4ca6571 100644
--- a/modules/network/load-balancer/.test/min/main.test.bicep
+++ b/modules/network/load-balancer/.test/min/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using only defaults'
+metadata description = 'This instance deploys the module with the minimum set of required parameters.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/network/load-balancer/README.md b/modules/network/load-balancer/README.md
index 5c8c51a3b7..779036371c 100644
--- a/modules/network/load-balancer/README.md
+++ b/modules/network/load-balancer/README.md
@@ -4,14 +4,14 @@ This module deploys a Load Balancer.
## Navigation
-- [Resource types](#Resource-types)
+- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
- [Notes](#Notes)
-## Resource types
+## Resource Types
| Resource Type | API Version |
| :-- | :-- |
@@ -22,67 +22,29 @@ This module deploys a Load Balancer.
| `Microsoft.Network/loadBalancers/backendAddressPools` | [2023-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2023-04-01/loadBalancers/backendAddressPools) |
| `Microsoft.Network/loadBalancers/inboundNatRules` | [2023-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2023-04-01/loadBalancers/inboundNatRules) |
-## Parameters
+## Usage examples
-**Required parameters**
+The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository.
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `frontendIPConfigurations` | array | Array of objects containing all frontend IP configurations. |
-| `name` | string | The Proximity Placement Groups Name. |
+>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-**Optional parameters**
+>**Note**: To reference the module, please use the following syntax `br:bicep/modules/network.load-balancer:1.0.0`.
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `backendAddressPools` | array | `[]` | | Collection of backend address pools used by a load balancer. |
-| `diagnosticEventHubAuthorizationRuleId` | string | `''` | | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
-| `diagnosticEventHubName` | string | `''` | | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
-| `diagnosticMetricsToEnable` | array | `[AllMetrics]` | `[AllMetrics]` | The name of metrics that will be streamed. |
-| `diagnosticSettingsName` | string | `''` | | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
-
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`frontendIPConfigurations`](#parameter-frontendipconfigurations) | array | Array of objects containing all frontend IP configurations. |
+| [`name`](#parameter-name) | string | The Proximity Placement Groups Name. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`backendAddressPools`](#parameter-backendaddresspools) | array | Collection of backend address pools used by a load balancer. |
+| [`diagnosticEventHubAuthorizationRuleId`](#parameter-diagnosticeventhubauthorizationruleid) | string | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
+| [`diagnosticEventHubName`](#parameter-diagnosticeventhubname) | string | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
+| [`diagnosticMetricsToEnable`](#parameter-diagnosticmetricstoenable) | array | The name of metrics that will be streamed. |
+| [`diagnosticSettingsName`](#parameter-diagnosticsettingsname) | string | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`localAddressPrefixes`](#parameter-localaddressprefixes) | array | List of the local (on-premises) IP address ranges. |
+| [`localGatewayPublicIpAddress`](#parameter-localgatewaypublicipaddress) | string | Public IP of the local gateway. |
+| [`name`](#parameter-name) | string | Name of the Local Network Gateway. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`fqdn`](#parameter-fqdn) | string | FQDN of local network gateway. |
+| [`localAsn`](#parameter-localasn) | string | The BGP speaker's ASN. Not providing this value will automatically disable BGP on this Local Network Gateway resource. |
+| [`localBgpPeeringAddress`](#parameter-localbgppeeringaddress) | string | The BGP peering address and BGP identifier of this BGP speaker. Not providing this value will automatically disable BGP on this Local Network Gateway resource. |
+| [`localPeerWeight`](#parameter-localpeerweight) | string | The weight added to routes learned from this BGP speaker. This will only take effect if both the localAsn and the localBgpPeeringAddress values are provided. |
+| [`location`](#parameter-location) | string | Location for all resources. |
+| [`lock`](#parameter-lock) | string | Specify the type of lock. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`tags`](#parameter-tags) | object | Tags of the resource. |
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `fqdn`
+
+FQDN of local network gateway.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `localAddressPrefixes`
+
+List of the local (on-premises) IP address ranges.
+- Required: Yes
+- Type: array
+
+### Parameter: `localAsn`
+
+The BGP speaker's ASN. Not providing this value will automatically disable BGP on this Local Network Gateway resource.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `localBgpPeeringAddress`
+
+The BGP peering address and BGP identifier of this BGP speaker. Not providing this value will automatically disable BGP on this Local Network Gateway resource.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `localGatewayPublicIpAddress`
+
+Public IP of the local gateway.
+- Required: Yes
+- Type: string
+
+### Parameter: `localPeerWeight`
+
+The weight added to routes learned from this BGP speaker. This will only take effect if both the localAsn and the localBgpPeeringAddress values are provided.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `location`
+
+Location for all resources.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `lock`
+
+Specify the type of lock.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', CanNotDelete, ReadOnly]`
+
+### Parameter: `name`
+
+Name of the Local Network Gateway.
+- Required: Yes
+- Type: string
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `tags`
+
+Tags of the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The name of the local network gateway. |
+| `resourceGroupName` | string | The resource group the local network gateway was deployed into. |
+| `resourceId` | string | The resource ID of the local network gateway. |
+
+## Cross-referenced modules
+
+_None_
diff --git a/modules/network/local-network-gateway/main.json b/modules/network/local-network-gateway/main.json
index ab62f612c9..7ddb2effdf 100644
--- a/modules/network/local-network-gateway/main.json
+++ b/modules/network/local-network-gateway/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "12820613470164660088"
+ "version": "0.22.6.54827",
+ "templateHash": "3075207124319652071"
},
"name": "Local Network Gateways",
"description": "This module deploys a Local Network Gateway.",
@@ -185,8 +185,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "12018482118126048951"
+ "version": "0.22.6.54827",
+ "templateHash": "181485081298307705"
}
},
"parameters": {
diff --git a/modules/network/nat-gateway/.test/common/main.test.bicep b/modules/network/nat-gateway/.test/common/main.test.bicep
index 8bb8083fdd..178f58c027 100644
--- a/modules/network/nat-gateway/.test/common/main.test.bicep
+++ b/modules/network/nat-gateway/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/network/nat-gateway/README.md b/modules/network/nat-gateway/README.md
index 2ae5f1ad5c..8d239324a4 100644
--- a/modules/network/nat-gateway/README.md
+++ b/modules/network/nat-gateway/README.md
@@ -4,13 +4,13 @@ This module deploys a NAT Gateway.
## Navigation
-- [Resource types](#Resource-types)
+- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
-## Resource types
+## Resource Types
| Resource Type | API Version |
| :-- | :-- |
@@ -20,72 +20,27 @@ This module deploys a NAT Gateway.
| `Microsoft.Network/natGateways` | [2023-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2023-04-01/natGateways) |
| `Microsoft.Network/publicIPAddresses` | [2023-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2023-04-01/publicIPAddresses) |
-## Parameters
-
-**Required parameters**
+## Usage examples
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | Name of the Azure Bastion resource. |
+The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository.
-**Optional parameters**
+>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `diagnosticEventHubAuthorizationRuleId` | string | `''` | | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
-| `diagnosticEventHubName` | string | `''` | | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
-| `diagnosticLogCategoriesToEnable` | array | `[allLogs]` | `['', allLogs, DDoSMitigationFlowLogs, DDoSMitigationReports, DDoSProtectionNotifications]` | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
-| `diagnosticMetricsToEnable` | array | `[AllMetrics]` | `[AllMetrics]` | The name of metrics that will be streamed. |
-| `diagnosticSettingsName` | string | `''` | | The name of the public IP diagnostic setting, if deployed. If left empty, it defaults to "
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | Name of the Azure Bastion resource. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`diagnosticEventHubAuthorizationRuleId`](#parameter-diagnosticeventhubauthorizationruleid) | string | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
+| [`diagnosticEventHubName`](#parameter-diagnosticeventhubname) | string | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
+| [`diagnosticLogCategoriesToEnable`](#parameter-diagnosticlogcategoriestoenable) | array | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
+| [`diagnosticMetricsToEnable`](#parameter-diagnosticmetricstoenable) | array | The name of metrics that will be streamed. |
+| [`diagnosticSettingsName`](#parameter-diagnosticsettingsname) | string | The name of the public IP diagnostic setting, if deployed. If left empty, it defaults to "
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`ipConfigurations`](#parameter-ipconfigurations) | array | A list of IPConfigurations of the network interface. |
+| [`name`](#parameter-name) | string | The name of the network interface. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`auxiliaryMode`](#parameter-auxiliarymode) | string | Auxiliary mode of Network Interface resource. Not all regions are enabled for Auxiliary Mode Nic. |
+| [`auxiliarySku`](#parameter-auxiliarysku) | string | Auxiliary sku of Network Interface resource. Not all regions are enabled for Auxiliary Mode Nic. |
+| [`diagnosticEventHubAuthorizationRuleId`](#parameter-diagnosticeventhubauthorizationruleid) | string | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
+| [`diagnosticEventHubName`](#parameter-diagnosticeventhubname) | string | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
+| [`diagnosticMetricsToEnable`](#parameter-diagnosticmetricstoenable) | array | The name of metrics that will be streamed. |
+| [`diagnosticSettingsName`](#parameter-diagnosticsettingsname) | string | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | Name of the Network Manager. |
+| [`networkManagerScopeAccesses`](#parameter-networkmanagerscopeaccesses) | array | Scope Access. String array containing any of "Connectivity", "SecurityAdmin". The connectivity feature allows you to create network topologies at scale. The security admin feature lets you create high-priority security rules, which take precedence over NSGs. |
+| [`networkManagerScopes`](#parameter-networkmanagerscopes) | object | Scope of Network Manager. Contains a list of management groups or a list of subscriptions. This defines the boundary of network resources that this Network Manager instance can manage. If using Management Groups, ensure that the "Microsoft.Network" resource provider is registered for those Management Groups prior to deployment. |
+
+**Conditional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`networkGroups`](#parameter-networkgroups) | array | Network Groups and static members to create for the network manager. Required if using "connectivityConfigurations" or "securityAdminConfigurations" parameters. A network group is global container that includes a set of virtual network resources from any region. Then, configurations are applied to target the network group, which applies the configuration to all members of the group. The two types are group memberships are static and dynamic memberships. Static membership allows you to explicitly add virtual networks to a group by manually selecting individual virtual networks, and is available as a child module, while dynamic membership is defined through Azure policy. See [How Azure Policy works with Network Groups](https://learn.microsoft.com/en-us/azure/virtual-network-manager/concept-azure-policy-integration) for more details. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`connectivityConfigurations`](#parameter-connectivityconfigurations) | array | Connectivity Configurations to create for the network manager. Network manager must contain at least one network group in order to define connectivity configurations. |
+| [`description`](#parameter-description) | string | A description of the network manager. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`location`](#parameter-location) | string | Location for all resources. |
+| [`lock`](#parameter-lock) | string | Specify the type of lock. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`scopeConnections`](#parameter-scopeconnections) | array | Scope Connections to create for the network manager. Allows network manager to manage resources from another tenant. Supports management groups or subscriptions from another tenant. |
+| [`securityAdminConfigurations`](#parameter-securityadminconfigurations) | array | Security Admin Configurations, Rule Collections and Rules to create for the network manager. Azure Virtual Network Manager provides two different types of configurations you can deploy across your virtual networks, one of them being a SecurityAdmin configuration. A security admin configuration contains a set of rule collections. Each rule collection contains one or more security admin rules. You then associate the rule collection with the network groups that you want to apply the security admin rules to. |
+| [`tags`](#parameter-tags) | object | Tags of the resource. |
+
+### Parameter: `connectivityConfigurations`
+
+Connectivity Configurations to create for the network manager. Network manager must contain at least one network group in order to define connectivity configurations.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `description`
+
+A description of the network manager.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `location`
+
+Location for all resources.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `lock`
+
+Specify the type of lock.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', CanNotDelete, ReadOnly]`
+
+### Parameter: `name`
+
+Name of the Network Manager.
+- Required: Yes
+- Type: string
+
+### Parameter: `networkGroups`
+
+Network Groups and static members to create for the network manager. Required if using "connectivityConfigurations" or "securityAdminConfigurations" parameters. A network group is global container that includes a set of virtual network resources from any region. Then, configurations are applied to target the network group, which applies the configuration to all members of the group. The two types are group memberships are static and dynamic memberships. Static membership allows you to explicitly add virtual networks to a group by manually selecting individual virtual networks, and is available as a child module, while dynamic membership is defined through Azure policy. See [How Azure Policy works with Network Groups](https://learn.microsoft.com/en-us/azure/virtual-network-manager/concept-azure-policy-integration) for more details.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `networkManagerScopeAccesses`
+
+Scope Access. String array containing any of "Connectivity", "SecurityAdmin". The connectivity feature allows you to create network topologies at scale. The security admin feature lets you create high-priority security rules, which take precedence over NSGs.
+- Required: Yes
+- Type: array
+
+### Parameter: `networkManagerScopes`
+
+Scope of Network Manager. Contains a list of management groups or a list of subscriptions. This defines the boundary of network resources that this Network Manager instance can manage. If using Management Groups, ensure that the "Microsoft.Network" resource provider is registered for those Management Groups prior to deployment.
+- Required: Yes
+- Type: object
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `scopeConnections`
+
+Scope Connections to create for the network manager. Allows network manager to manage resources from another tenant. Supports management groups or subscriptions from another tenant.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `securityAdminConfigurations`
+
+Security Admin Configurations, Rule Collections and Rules to create for the network manager. Azure Virtual Network Manager provides two different types of configurations you can deploy across your virtual networks, one of them being a SecurityAdmin configuration. A security admin configuration contains a set of rule collections. Each rule collection contains one or more security admin rules. You then associate the rule collection with the network groups that you want to apply the security admin rules to.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `tags`
+
+Tags of the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The name of the network manager. |
+| `resourceGroupName` | string | The resource group the network manager was deployed into. |
+| `resourceId` | string | The resource ID of the network manager. |
+
+## Cross-referenced modules
+
+_None_
+
## Notes
### Considerations
diff --git a/modules/network/network-manager/connectivity-configuration/README.md b/modules/network/network-manager/connectivity-configuration/README.md
index 77c750ba1f..cf5ff24e23 100644
--- a/modules/network/network-manager/connectivity-configuration/README.md
+++ b/modules/network/network-manager/connectivity-configuration/README.md
@@ -20,32 +20,95 @@ Connectivity configurations define hub-and-spoke or mesh topologies applied to o
**Required parameters**
-| Parameter Name | Type | Allowed Values | Description |
-| :-- | :-- | :-- | :-- |
-| `appliesToGroups` | array | | Network Groups for the configuration. |
-| `connectivityTopology` | string | `[HubAndSpoke, Mesh]` | Connectivity topology type. |
-| `name` | string | | The name of the connectivity configuration. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`appliesToGroups`](#parameter-appliestogroups) | array | Network Groups for the configuration. |
+| [`connectivityTopology`](#parameter-connectivitytopology) | string | Connectivity topology type. |
+| [`name`](#parameter-name) | string | The name of the connectivity configuration. |
**Conditional parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `hubs` | array | List of hub items. This will create peerings between the specified hub and the virtual networks in the network group specified. Required if connectivityTopology is of type "HubAndSpoke". |
-| `networkManagerName` | string | The name of the parent network manager. Required if the template is used in a standalone deployment. |
+| [`hubs`](#parameter-hubs) | array | List of hub items. This will create peerings between the specified hub and the virtual networks in the network group specified. Required if connectivityTopology is of type "HubAndSpoke". |
+| [`networkManagerName`](#parameter-networkmanagername) | string | The name of the parent network manager. Required if the template is used in a standalone deployment. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `deleteExistingPeering` | string | `'False'` | `[False, True]` | Flag if need to remove current existing peerings. If set to "True", all peerings on virtual networks in selected network groups will be removed and replaced with the peerings defined by this configuration. Optional when connectivityTopology is of type "HubAndSpoke". |
-| `description` | string | `''` | | A description of the connectivity configuration. |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `isGlobal` | string | `'False'` | `[False, True]` | Flag if global mesh is supported. By default, mesh connectivity is applied to virtual networks within the same region. If set to "True", a global mesh enables connectivity across regions. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`deleteExistingPeering`](#parameter-deleteexistingpeering) | string | Flag if need to remove current existing peerings. If set to "True", all peerings on virtual networks in selected network groups will be removed and replaced with the peerings defined by this configuration. Optional when connectivityTopology is of type "HubAndSpoke". |
+| [`description`](#parameter-description) | string | A description of the connectivity configuration. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`isGlobal`](#parameter-isglobal) | string | Flag if global mesh is supported. By default, mesh connectivity is applied to virtual networks within the same region. If set to "True", a global mesh enables connectivity across regions. |
+
+### Parameter: `appliesToGroups`
+
+Network Groups for the configuration.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `connectivityTopology`
+
+Connectivity topology type.
+- Required: Yes
+- Type: string
+- Allowed: `[HubAndSpoke, Mesh]`
+
+### Parameter: `deleteExistingPeering`
+
+Flag if need to remove current existing peerings. If set to "True", all peerings on virtual networks in selected network groups will be removed and replaced with the peerings defined by this configuration. Optional when connectivityTopology is of type "HubAndSpoke".
+- Required: No
+- Type: string
+- Default: `'False'`
+- Allowed: `[False, True]`
+
+### Parameter: `description`
+
+A description of the connectivity configuration.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `hubs`
+
+List of hub items. This will create peerings between the specified hub and the virtual networks in the network group specified. Required if connectivityTopology is of type "HubAndSpoke".
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `isGlobal`
+
+Flag if global mesh is supported. By default, mesh connectivity is applied to virtual networks within the same region. If set to "True", a global mesh enables connectivity across regions.
+- Required: No
+- Type: string
+- Default: `'False'`
+- Allowed: `[False, True]`
+
+### Parameter: `name`
+
+The name of the connectivity configuration.
+- Required: Yes
+- Type: string
+
+### Parameter: `networkManagerName`
+
+The name of the parent network manager. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The name of the deployed connectivity configuration. |
| `resourceGroupName` | string | The resource group the connectivity configuration was deployed into. |
diff --git a/modules/network/network-manager/network-group/README.md b/modules/network/network-manager/network-group/README.md
index b902fd22a1..a5f8dca4a0 100644
--- a/modules/network/network-manager/network-group/README.md
+++ b/modules/network/network-manager/network-group/README.md
@@ -21,28 +21,61 @@ A network group is a collection of same-type network resources that you can asso
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `name` | string | The name of the network group. |
+| [`name`](#parameter-name) | string | The name of the network group. |
**Conditional parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `networkManagerName` | string | The name of the parent network manager. Required if the template is used in a standalone deployment. |
+| [`networkManagerName`](#parameter-networkmanagername) | string | The name of the parent network manager. Required if the template is used in a standalone deployment. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `description` | string | `''` | A description of the network group. |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `staticMembers` | array | `[]` | Static Members to create for the network group. Contains virtual networks to add to the network group. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`description`](#parameter-description) | string | A description of the network group. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`staticMembers`](#parameter-staticmembers) | array | Static Members to create for the network group. Contains virtual networks to add to the network group. |
+
+### Parameter: `description`
+
+A description of the network group.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `name`
+
+The name of the network group.
+- Required: Yes
+- Type: string
+
+### Parameter: `networkManagerName`
+
+The name of the parent network manager. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
+
+### Parameter: `staticMembers`
+
+Static Members to create for the network group. Contains virtual networks to add to the network group.
+- Required: No
+- Type: array
+- Default: `[]`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The name of the deployed network group. |
| `resourceGroupName` | string | The resource group the network group was deployed into. |
diff --git a/modules/network/network-manager/network-group/static-member/README.md b/modules/network/network-manager/network-group/static-member/README.md
index 54989f4a2c..7a10fbc50c 100644
--- a/modules/network/network-manager/network-group/static-member/README.md
+++ b/modules/network/network-manager/network-group/static-member/README.md
@@ -20,28 +20,59 @@ Static membership allows you to explicitly add virtual networks to a group by ma
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `name` | string | The name of the static member. |
-| `resourceId` | string | Resource ID of the virtual network. |
+| [`name`](#parameter-name) | string | The name of the static member. |
+| [`resourceId`](#parameter-resourceid) | string | Resource ID of the virtual network. |
**Conditional parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `networkGroupName` | string | The name of the parent network group. Required if the template is used in a standalone deployment. |
-| `networkManagerName` | string | The name of the parent network manager. Required if the template is used in a standalone deployment. |
+| [`networkGroupName`](#parameter-networkgroupname) | string | The name of the parent network group. Required if the template is used in a standalone deployment. |
+| [`networkManagerName`](#parameter-networkmanagername) | string | The name of the parent network manager. Required if the template is used in a standalone deployment. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `name`
+
+The name of the static member.
+- Required: Yes
+- Type: string
+
+### Parameter: `networkGroupName`
+
+The name of the parent network group. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
+
+### Parameter: `networkManagerName`
+
+The name of the parent network manager. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
+
+### Parameter: `resourceId`
+
+Resource ID of the virtual network.
+- Required: Yes
+- Type: string
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The name of the deployed static member. |
| `resourceGroupName` | string | The resource group the static member was deployed into. |
diff --git a/modules/network/network-manager/scope-connection/README.md b/modules/network/network-manager/scope-connection/README.md
index 3c0ef6d896..b2e6fbf6c5 100644
--- a/modules/network/network-manager/scope-connection/README.md
+++ b/modules/network/network-manager/scope-connection/README.md
@@ -20,29 +20,67 @@ Create a cross-tenant connection to manage a resource from another tenant.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `name` | string | The name of the scope connection. |
-| `resourceId` | string | Enter the subscription or management group resource ID that you want to add to this network manager's scope. |
-| `tenantId` | string | Tenant ID of the subscription or management group that you want to manage. |
+| [`name`](#parameter-name) | string | The name of the scope connection. |
+| [`resourceId`](#parameter-resourceid) | string | Enter the subscription or management group resource ID that you want to add to this network manager's scope. |
+| [`tenantId`](#parameter-tenantid) | string | Tenant ID of the subscription or management group that you want to manage. |
**Conditional parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `networkManagerName` | string | The name of the parent network manager. Required if the template is used in a standalone deployment. |
+| [`networkManagerName`](#parameter-networkmanagername) | string | The name of the parent network manager. Required if the template is used in a standalone deployment. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `description` | string | `''` | A description of the scope connection. |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`description`](#parameter-description) | string | A description of the scope connection. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+
+### Parameter: `description`
+
+A description of the scope connection.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `name`
+
+The name of the scope connection.
+- Required: Yes
+- Type: string
+
+### Parameter: `networkManagerName`
+
+The name of the parent network manager. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
+
+### Parameter: `resourceId`
+
+Enter the subscription or management group resource ID that you want to add to this network manager's scope.
+- Required: Yes
+- Type: string
+
+### Parameter: `tenantId`
+
+Tenant ID of the subscription or management group that you want to manage.
+- Required: Yes
+- Type: string
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The name of the deployed scope connection. |
| `resourceGroupName` | string | The resource group the scope connection was deployed into. |
diff --git a/modules/network/network-manager/security-admin-configuration/README.md b/modules/network/network-manager/security-admin-configuration/README.md
index 10cd562c0a..c6cb473a8a 100644
--- a/modules/network/network-manager/security-admin-configuration/README.md
+++ b/modules/network/network-manager/security-admin-configuration/README.md
@@ -22,29 +22,70 @@ A security admin configuration contains a set of rule collections. Each rule col
**Required parameters**
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `applyOnNetworkIntentPolicyBasedServices` | array | `[None]` | `[All, AllowRulesOnly, None]` | Enum list of network intent policy based services. |
-| `name` | string | | | The name of the security admin configuration. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`applyOnNetworkIntentPolicyBasedServices`](#parameter-applyonnetworkintentpolicybasedservices) | array | Enum list of network intent policy based services. |
+| [`name`](#parameter-name) | string | The name of the security admin configuration. |
**Conditional parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `networkManagerName` | string | The name of the parent network manager. Required if the template is used in a standalone deployment. |
+| [`networkManagerName`](#parameter-networkmanagername) | string | The name of the parent network manager. Required if the template is used in a standalone deployment. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `description` | string | `''` | A description of the security admin configuration. |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `ruleCollections` | array | `[]` | A security admin configuration contains a set of rule collections that are applied to network groups. Each rule collection contains one or more security admin rules. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`description`](#parameter-description) | string | A description of the security admin configuration. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`ruleCollections`](#parameter-rulecollections) | array | A security admin configuration contains a set of rule collections that are applied to network groups. Each rule collection contains one or more security admin rules. |
+
+### Parameter: `applyOnNetworkIntentPolicyBasedServices`
+
+Enum list of network intent policy based services.
+- Required: No
+- Type: array
+- Default: `[None]`
+- Allowed: `[All, AllowRulesOnly, None]`
+
+### Parameter: `description`
+
+A description of the security admin configuration.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `name`
+
+The name of the security admin configuration.
+- Required: Yes
+- Type: string
+
+### Parameter: `networkManagerName`
+
+The name of the parent network manager. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
+
+### Parameter: `ruleCollections`
+
+A security admin configuration contains a set of rule collections that are applied to network groups. Each rule collection contains one or more security admin rules.
+- Required: No
+- Type: array
+- Default: `[]`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The name of the deployed security admin configuration. |
| `resourceGroupName` | string | The resource group the security admin configuration was deployed into. |
diff --git a/modules/network/network-manager/security-admin-configuration/rule-collection/README.md b/modules/network/network-manager/security-admin-configuration/rule-collection/README.md
index 33bd75c517..8f8dbcef8f 100644
--- a/modules/network/network-manager/security-admin-configuration/rule-collection/README.md
+++ b/modules/network/network-manager/security-admin-configuration/rule-collection/README.md
@@ -21,30 +21,74 @@ A security admin configuration contains a set of rule collections. Each rule col
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `appliesToGroups` | array | List of network groups for configuration. An admin rule collection must be associated to at least one network group. |
-| `name` | string | The name of the admin rule collection. |
+| [`appliesToGroups`](#parameter-appliestogroups) | array | List of network groups for configuration. An admin rule collection must be associated to at least one network group. |
+| [`name`](#parameter-name) | string | The name of the admin rule collection. |
**Conditional parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `networkManagerName` | string | The name of the parent network manager. Required if the template is used in a standalone deployment. |
-| `securityAdminConfigurationName` | string | The name of the parent security admin configuration. Required if the template is used in a standalone deployment. |
+| [`networkManagerName`](#parameter-networkmanagername) | string | The name of the parent network manager. Required if the template is used in a standalone deployment. |
+| [`securityAdminConfigurationName`](#parameter-securityadminconfigurationname) | string | The name of the parent security admin configuration. Required if the template is used in a standalone deployment. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `description` | string | `''` | A description of the admin rule collection. |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `rules` | array | | List of rules for the admin rules collection. Security admin rules allows enforcing security policy criteria that matches the conditions set. Warning: A rule collection without rule will cause a deployment configuration for security admin goal state in network manager to fail. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`description`](#parameter-description) | string | A description of the admin rule collection. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`rules`](#parameter-rules) | array | List of rules for the admin rules collection. Security admin rules allows enforcing security policy criteria that matches the conditions set. Warning: A rule collection without rule will cause a deployment configuration for security admin goal state in network manager to fail. |
+
+### Parameter: `appliesToGroups`
+
+List of network groups for configuration. An admin rule collection must be associated to at least one network group.
+- Required: Yes
+- Type: array
+
+### Parameter: `description`
+
+A description of the admin rule collection.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `name`
+
+The name of the admin rule collection.
+- Required: Yes
+- Type: string
+
+### Parameter: `networkManagerName`
+
+The name of the parent network manager. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
+
+### Parameter: `rules`
+
+List of rules for the admin rules collection. Security admin rules allows enforcing security policy criteria that matches the conditions set. Warning: A rule collection without rule will cause a deployment configuration for security admin goal state in network manager to fail.
+- Required: Yes
+- Type: array
+
+### Parameter: `securityAdminConfigurationName`
+
+The name of the parent security admin configuration. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The name of the deployed admin rule collection. |
| `resourceGroupName` | string | The resource group the admin rule collection was deployed into. |
diff --git a/modules/network/network-manager/security-admin-configuration/rule-collection/rule/README.md b/modules/network/network-manager/security-admin-configuration/rule-collection/rule/README.md
index f053a1c8ee..6f0eb7a62f 100644
--- a/modules/network/network-manager/security-admin-configuration/rule-collection/rule/README.md
+++ b/modules/network/network-manager/security-admin-configuration/rule-collection/rule/README.md
@@ -20,37 +20,130 @@ A security admin configuration contains a set of rule collections. Each rule col
**Required parameters**
-| Parameter Name | Type | Allowed Values | Description |
-| :-- | :-- | :-- | :-- |
-| `access` | string | `[Allow, AlwaysAllow, Deny]` | Indicates the access allowed for this particular rule. "Allow" means traffic matching this rule will be allowed. "Deny" means traffic matching this rule will be blocked. "AlwaysAllow" means that traffic matching this rule will be allowed regardless of other rules with lower priority or user-defined NSGs. |
-| `direction` | string | `[Inbound, Outbound]` | Indicates if the traffic matched against the rule in inbound or outbound. |
-| `name` | string | | The name of the rule. |
-| `priority` | int | | The priority of the rule. The value can be between 1 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule. |
-| `protocol` | string | `[Ah, Any, Esp, Icmp, Tcp, Udp]` | Network protocol this rule applies to. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`access`](#parameter-access) | string | Indicates the access allowed for this particular rule. "Allow" means traffic matching this rule will be allowed. "Deny" means traffic matching this rule will be blocked. "AlwaysAllow" means that traffic matching this rule will be allowed regardless of other rules with lower priority or user-defined NSGs. |
+| [`direction`](#parameter-direction) | string | Indicates if the traffic matched against the rule in inbound or outbound. |
+| [`name`](#parameter-name) | string | The name of the rule. |
+| [`priority`](#parameter-priority) | int | The priority of the rule. The value can be between 1 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule. |
+| [`protocol`](#parameter-protocol) | string | Network protocol this rule applies to. |
**Conditional parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `networkManagerName` | string | The name of the parent network manager. Required if the template is used in a standalone deployment. |
-| `ruleCollectionName` | string | The name of the parent rule collection. Required if the template is used in a standalone deployment. |
-| `securityAdminConfigurationName` | string | The name of the parent security admin configuration. Required if the template is used in a standalone deployment. |
+| [`networkManagerName`](#parameter-networkmanagername) | string | The name of the parent network manager. Required if the template is used in a standalone deployment. |
+| [`ruleCollectionName`](#parameter-rulecollectionname) | string | The name of the parent rule collection. Required if the template is used in a standalone deployment. |
+| [`securityAdminConfigurationName`](#parameter-securityadminconfigurationname) | string | The name of the parent security admin configuration. Required if the template is used in a standalone deployment. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `description` | string | `''` | A description of the rule. |
-| `destinationPortRanges` | array | `[]` | List of destination port ranges. This specifies on which ports traffic will be allowed or denied by this rule. Provide an (*) to allow traffic on any port. Port ranges are between 1-65535. |
-| `destinations` | array | `[]` | The destnations filter can be an IP Address or a service tag. Each filter contains the properties AddressPrefixType (IPPrefix or ServiceTag) and AddressPrefix (using CIDR notation (e.g. 192.168.99.0/24 or 2001:1234::/64) or a service tag (e.g. AppService.WestEurope)). Combining CIDR and Service tags in one rule filter is not permitted. |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `sourcePortRanges` | array | `[]` | List of destination port ranges. This specifies on which ports traffic will be allowed or denied by this rule. Provide an (*) to allow traffic on any port. Port ranges are between 1-65535. |
-| `sources` | array | `[]` | The source filter can be an IP Address or a service tag. Each filter contains the properties AddressPrefixType (IPPrefix or ServiceTag) and AddressPrefix (using CIDR notation (e.g. 192.168.99.0/24 or 2001:1234::/64) or a service tag (e.g. AppService.WestEurope)). Combining CIDR and Service tags in one rule filter is not permitted. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`description`](#parameter-description) | string | A description of the rule. |
+| [`destinationPortRanges`](#parameter-destinationportranges) | array | List of destination port ranges. This specifies on which ports traffic will be allowed or denied by this rule. Provide an (*) to allow traffic on any port. Port ranges are between 1-65535. |
+| [`destinations`](#parameter-destinations) | array | The destnations filter can be an IP Address or a service tag. Each filter contains the properties AddressPrefixType (IPPrefix or ServiceTag) and AddressPrefix (using CIDR notation (e.g. 192.168.99.0/24 or 2001:1234::/64) or a service tag (e.g. AppService.WestEurope)). Combining CIDR and Service tags in one rule filter is not permitted. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`sourcePortRanges`](#parameter-sourceportranges) | array | List of destination port ranges. This specifies on which ports traffic will be allowed or denied by this rule. Provide an (*) to allow traffic on any port. Port ranges are between 1-65535. |
+| [`sources`](#parameter-sources) | array | The source filter can be an IP Address or a service tag. Each filter contains the properties AddressPrefixType (IPPrefix or ServiceTag) and AddressPrefix (using CIDR notation (e.g. 192.168.99.0/24 or 2001:1234::/64) or a service tag (e.g. AppService.WestEurope)). Combining CIDR and Service tags in one rule filter is not permitted. |
+
+### Parameter: `access`
+
+Indicates the access allowed for this particular rule. "Allow" means traffic matching this rule will be allowed. "Deny" means traffic matching this rule will be blocked. "AlwaysAllow" means that traffic matching this rule will be allowed regardless of other rules with lower priority or user-defined NSGs.
+- Required: Yes
+- Type: string
+- Allowed: `[Allow, AlwaysAllow, Deny]`
+
+### Parameter: `description`
+
+A description of the rule.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `destinationPortRanges`
+
+List of destination port ranges. This specifies on which ports traffic will be allowed or denied by this rule. Provide an (*) to allow traffic on any port. Port ranges are between 1-65535.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `destinations`
+
+The destnations filter can be an IP Address or a service tag. Each filter contains the properties AddressPrefixType (IPPrefix or ServiceTag) and AddressPrefix (using CIDR notation (e.g. 192.168.99.0/24 or 2001:1234::/64) or a service tag (e.g. AppService.WestEurope)). Combining CIDR and Service tags in one rule filter is not permitted.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `direction`
+
+Indicates if the traffic matched against the rule in inbound or outbound.
+- Required: Yes
+- Type: string
+- Allowed: `[Inbound, Outbound]`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `name`
+
+The name of the rule.
+- Required: Yes
+- Type: string
+
+### Parameter: `networkManagerName`
+
+The name of the parent network manager. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
+
+### Parameter: `priority`
+
+The priority of the rule. The value can be between 1 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule.
+- Required: Yes
+- Type: int
+
+### Parameter: `protocol`
+
+Network protocol this rule applies to.
+- Required: Yes
+- Type: string
+- Allowed: `[Ah, Any, Esp, Icmp, Tcp, Udp]`
+
+### Parameter: `ruleCollectionName`
+
+The name of the parent rule collection. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
+
+### Parameter: `securityAdminConfigurationName`
+
+The name of the parent security admin configuration. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
+
+### Parameter: `sourcePortRanges`
+
+List of destination port ranges. This specifies on which ports traffic will be allowed or denied by this rule. Provide an (*) to allow traffic on any port. Port ranges are between 1-65535.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `sources`
+
+The source filter can be an IP Address or a service tag. Each filter contains the properties AddressPrefixType (IPPrefix or ServiceTag) and AddressPrefix (using CIDR notation (e.g. 192.168.99.0/24 or 2001:1234::/64) or a service tag (e.g. AppService.WestEurope)). Combining CIDR and Service tags in one rule filter is not permitted.
+- Required: No
+- Type: array
+- Default: `[]`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The name of the deployed rule. |
| `resourceGroupName` | string | The resource group the rule was deployed into. |
diff --git a/modules/network/network-security-group/.test/common/main.test.bicep b/modules/network/network-security-group/.test/common/main.test.bicep
index e527049267..b3d3aa351f 100644
--- a/modules/network/network-security-group/.test/common/main.test.bicep
+++ b/modules/network/network-security-group/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/network/network-security-group/.test/min/main.test.bicep b/modules/network/network-security-group/.test/min/main.test.bicep
index 744ad53a8c..225b630945 100644
--- a/modules/network/network-security-group/.test/min/main.test.bicep
+++ b/modules/network/network-security-group/.test/min/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using only defaults'
+metadata description = 'This instance deploys the module with the minimum set of required parameters.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/network/network-security-group/README.md b/modules/network/network-security-group/README.md
index 306ed08855..9cc85e94be 100644
--- a/modules/network/network-security-group/README.md
+++ b/modules/network/network-security-group/README.md
@@ -5,10 +5,10 @@ This module deploys a Network security Group (NSG).
## Navigation
- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
## Resource Types
@@ -20,61 +20,28 @@ This module deploys a Network security Group (NSG).
| `Microsoft.Network/networkSecurityGroups` | [2023-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2023-04-01/networkSecurityGroups) |
| `Microsoft.Network/networkSecurityGroups/securityRules` | [2023-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2023-04-01/networkSecurityGroups/securityRules) |
-## Parameters
-
-**Required parameters**
-
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | Name of the Network Security Group. |
-
-**Optional parameters**
-
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `diagnosticEventHubAuthorizationRuleId` | string | `''` | | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
-| `diagnosticEventHubName` | string | `''` | | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
-| `diagnosticLogCategoriesToEnable` | array | `[allLogs]` | `['', allLogs, NetworkSecurityGroupEvent, NetworkSecurityGroupRuleCounter]` | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
-| `diagnosticSettingsName` | string | `''` | | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | Name of the Network Security Group. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`diagnosticEventHubAuthorizationRuleId`](#parameter-diagnosticeventhubauthorizationruleid) | string | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
+| [`diagnosticEventHubName`](#parameter-diagnosticeventhubname) | string | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
+| [`diagnosticLogCategoriesToEnable`](#parameter-diagnosticlogcategoriestoenable) | array | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
+| [`diagnosticSettingsName`](#parameter-diagnosticsettingsname) | string | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
+
+
+## Parameters
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`connectionMonitors`](#parameter-connectionmonitors) | array | Array that contains the Connection Monitors. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`flowLogs`](#parameter-flowlogs) | array | Array that contains the Flow Logs. |
+| [`location`](#parameter-location) | string | Location for all resources. |
+| [`lock`](#parameter-lock) | string | Specify the type of lock. |
+| [`name`](#parameter-name) | string | Name of the Network Watcher resource (hidden). |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`tags`](#parameter-tags) | object | Tags of the resource. |
+
+### Parameter: `connectionMonitors`
+
+Array that contains the Connection Monitors.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `flowLogs`
+
+Array that contains the Flow Logs.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `location`
+
+Location for all resources.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `lock`
+
+Specify the type of lock.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', CanNotDelete, ReadOnly]`
+
+### Parameter: `name`
+
+Name of the Network Watcher resource (hidden).
+- Required: No
+- Type: string
+- Default: `[format('NetworkWatcher_{0}', parameters('location'))]`
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `tags`
+
+Tags of the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The name of the deployed network watcher. |
+| `resourceGroupName` | string | The resource group the network watcher was deployed into. |
+| `resourceId` | string | The resource ID of the deployed network watcher. |
+
+## Cross-referenced modules
+
+_None_
diff --git a/modules/network/network-watcher/connection-monitor/README.md b/modules/network/network-watcher/connection-monitor/README.md
index d066d55387..efd44e1102 100644
--- a/modules/network/network-watcher/connection-monitor/README.md
+++ b/modules/network/network-watcher/connection-monitor/README.md
@@ -19,27 +19,89 @@ This module deploys a Network Watcher Connection Monitor.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `name` | string | Name of the resource. |
+| [`name`](#parameter-name) | string | Name of the resource. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `endpoints` | array | `[]` | List of connection monitor endpoints. |
-| `location` | string | `[resourceGroup().location]` | Location for all resources. |
-| `networkWatcherName` | string | `[format('NetworkWatcher_{0}', resourceGroup().location)]` | Name of the network watcher resource. Must be in the resource group where the Flow log will be created and same region as the NSG. |
-| `tags` | object | `{object}` | Tags of the resource. |
-| `testConfigurations` | array | `[]` | List of connection monitor test configurations. |
-| `testGroups` | array | `[]` | List of connection monitor test groups. |
-| `workspaceResourceId` | string | `''` | Specify the Log Analytics Workspace Resource ID. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`endpoints`](#parameter-endpoints) | array | List of connection monitor endpoints. |
+| [`location`](#parameter-location) | string | Location for all resources. |
+| [`networkWatcherName`](#parameter-networkwatchername) | string | Name of the network watcher resource. Must be in the resource group where the Flow log will be created and same region as the NSG. |
+| [`tags`](#parameter-tags) | object | Tags of the resource. |
+| [`testConfigurations`](#parameter-testconfigurations) | array | List of connection monitor test configurations. |
+| [`testGroups`](#parameter-testgroups) | array | List of connection monitor test groups. |
+| [`workspaceResourceId`](#parameter-workspaceresourceid) | string | Specify the Log Analytics Workspace Resource ID. |
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `endpoints`
+
+List of connection monitor endpoints.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `location`
+
+Location for all resources.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `name`
+
+Name of the resource.
+- Required: Yes
+- Type: string
+
+### Parameter: `networkWatcherName`
+
+Name of the network watcher resource. Must be in the resource group where the Flow log will be created and same region as the NSG.
+- Required: No
+- Type: string
+- Default: `[format('NetworkWatcher_{0}', resourceGroup().location)]`
+
+### Parameter: `tags`
+
+Tags of the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `testConfigurations`
+
+List of connection monitor test configurations.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `testGroups`
+
+List of connection monitor test groups.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `workspaceResourceId`
+
+Specify the Log Analytics Workspace Resource ID.
+- Required: No
+- Type: string
+- Default: `''`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `location` | string | The location the resource was deployed into. |
| `name` | string | The name of the deployed connection monitor. |
diff --git a/modules/network/network-watcher/connection-monitor/main.json b/modules/network/network-watcher/connection-monitor/main.json
index e76438a305..c7df0ada6e 100644
--- a/modules/network/network-watcher/connection-monitor/main.json
+++ b/modules/network/network-watcher/connection-monitor/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "9435199226792787351"
+ "version": "0.22.6.54827",
+ "templateHash": "11763235795280157018"
},
"name": "Network Watchers Connection Monitors",
"description": "This module deploys a Network Watcher Connection Monitor.",
diff --git a/modules/network/network-watcher/flow-log/README.md b/modules/network/network-watcher/flow-log/README.md
index 0dacbbb823..1afef915fc 100644
--- a/modules/network/network-watcher/flow-log/README.md
+++ b/modules/network/network-watcher/flow-log/README.md
@@ -5,12 +5,12 @@ This module controls the Network Security Group Flow Logs and analytics settings
## Navigation
-- [Resource types](#Resource-types)
+- [Resource Types](#Resource-Types)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-## Resource types
+## Resource Types
| Resource Type | API Version |
| :-- | :-- |
@@ -20,30 +20,114 @@ This module controls the Network Security Group Flow Logs and analytics settings
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `storageId` | string | Resource ID of the diagnostic storage account. |
-| `targetResourceId` | string | Resource ID of the NSG that must be enabled for Flow Logs. |
+| [`storageId`](#parameter-storageid) | string | Resource ID of the diagnostic storage account. |
+| [`targetResourceId`](#parameter-targetresourceid) | string | Resource ID of the NSG that must be enabled for Flow Logs. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `enabled` | bool | `True` | | If the flow log should be enabled. |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `formatVersion` | int | `2` | `[1, 2]` | The flow log format version. |
-| `location` | string | `[resourceGroup().location]` | | Location for all resources. |
-| `name` | string | `[format('{0}-{1}-flowlog', last(split(parameters('targetResourceId'), '/')), split(parameters('targetResourceId'), '/')[4])]` | | Name of the resource. |
-| `networkWatcherName` | string | `[format('NetworkWatcher_{0}', resourceGroup().location)]` | | Name of the network watcher resource. Must be in the resource group where the Flow log will be created and same region as the NSG. |
-| `retentionInDays` | int | `365` | | Specifies the number of days that logs will be kept for; a value of 0 will retain data indefinitely. |
-| `tags` | object | `{object}` | | Tags of the resource. |
-| `trafficAnalyticsInterval` | int | `60` | `[10, 60]` | The interval in minutes which would decide how frequently TA service should do flow analytics. |
-| `workspaceResourceId` | string | `''` | | Specify the Log Analytics Workspace Resource ID. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enabled`](#parameter-enabled) | bool | If the flow log should be enabled. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`formatVersion`](#parameter-formatversion) | int | The flow log format version. |
+| [`location`](#parameter-location) | string | Location for all resources. |
+| [`name`](#parameter-name) | string | Name of the resource. |
+| [`networkWatcherName`](#parameter-networkwatchername) | string | Name of the network watcher resource. Must be in the resource group where the Flow log will be created and same region as the NSG. |
+| [`retentionInDays`](#parameter-retentionindays) | int | Specifies the number of days that logs will be kept for; a value of 0 will retain data indefinitely. |
+| [`tags`](#parameter-tags) | object | Tags of the resource. |
+| [`trafficAnalyticsInterval`](#parameter-trafficanalyticsinterval) | int | The interval in minutes which would decide how frequently TA service should do flow analytics. |
+| [`workspaceResourceId`](#parameter-workspaceresourceid) | string | Specify the Log Analytics Workspace Resource ID. |
+
+### Parameter: `enabled`
+
+If the flow log should be enabled.
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `formatVersion`
+
+The flow log format version.
+- Required: No
+- Type: int
+- Default: `2`
+- Allowed: `[1, 2]`
+
+### Parameter: `location`
+
+Location for all resources.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `name`
+
+Name of the resource.
+- Required: No
+- Type: string
+- Default: `[format('{0}-{1}-flowlog', last(split(parameters('targetResourceId'), '/')), split(parameters('targetResourceId'), '/')[4])]`
+
+### Parameter: `networkWatcherName`
+
+Name of the network watcher resource. Must be in the resource group where the Flow log will be created and same region as the NSG.
+- Required: No
+- Type: string
+- Default: `[format('NetworkWatcher_{0}', resourceGroup().location)]`
+
+### Parameter: `retentionInDays`
+
+Specifies the number of days that logs will be kept for; a value of 0 will retain data indefinitely.
+- Required: No
+- Type: int
+- Default: `365`
+
+### Parameter: `storageId`
+
+Resource ID of the diagnostic storage account.
+- Required: Yes
+- Type: string
+
+### Parameter: `tags`
+
+Tags of the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `targetResourceId`
+
+Resource ID of the NSG that must be enabled for Flow Logs.
+- Required: Yes
+- Type: string
+
+### Parameter: `trafficAnalyticsInterval`
+
+The interval in minutes which would decide how frequently TA service should do flow analytics.
+- Required: No
+- Type: int
+- Default: `60`
+- Allowed: `[10, 60]`
+
+### Parameter: `workspaceResourceId`
+
+Specify the Log Analytics Workspace Resource ID.
+- Required: No
+- Type: string
+- Default: `''`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `location` | string | The location the resource was deployed into. |
| `name` | string | The name of the flow log. |
diff --git a/modules/network/network-watcher/flow-log/main.json b/modules/network/network-watcher/flow-log/main.json
index 1a9023a4ba..0d737f5dce 100644
--- a/modules/network/network-watcher/flow-log/main.json
+++ b/modules/network/network-watcher/flow-log/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "11308204478162486459"
+ "version": "0.22.6.54827",
+ "templateHash": "17949647288095694070"
},
"name": "NSG Flow Logs",
"description": "This module controls the Network Security Group Flow Logs and analytics settings.\r\n**Note: this module must be run on the Resource Group where Network Watcher is deployed**",
diff --git a/modules/network/network-watcher/main.json b/modules/network/network-watcher/main.json
index 076bf236c0..7d746b120d 100644
--- a/modules/network/network-watcher/main.json
+++ b/modules/network/network-watcher/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "3813984795397304605"
+ "version": "0.22.6.54827",
+ "templateHash": "3515911577845014451"
},
"name": "Network Watchers",
"description": "This module deploys a Network Watcher.",
@@ -149,8 +149,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "4655888316956810002"
+ "version": "0.22.6.54827",
+ "templateHash": "9894011822541177112"
}
},
"parameters": {
@@ -326,8 +326,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "4201838654770127390"
+ "version": "0.22.6.54827",
+ "templateHash": "11763235795280157018"
},
"name": "Network Watchers Connection Monitors",
"description": "This module deploys a Network Watcher Connection Monitor.",
@@ -505,8 +505,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "11547142807846840674"
+ "version": "0.22.6.54827",
+ "templateHash": "17949647288095694070"
},
"name": "NSG Flow Logs",
"description": "This module controls the Network Security Group Flow Logs and analytics settings.\r\n**Note: this module must be run on the Resource Group where Network Watcher is deployed**",
diff --git a/modules/network/private-dns-zone/.test/common/main.test.bicep b/modules/network/private-dns-zone/.test/common/main.test.bicep
index 175acecf7f..d3e5ad38db 100644
--- a/modules/network/private-dns-zone/.test/common/main.test.bicep
+++ b/modules/network/private-dns-zone/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/network/private-dns-zone/.test/min/main.test.bicep b/modules/network/private-dns-zone/.test/min/main.test.bicep
index f32a389c03..db60e58143 100644
--- a/modules/network/private-dns-zone/.test/min/main.test.bicep
+++ b/modules/network/private-dns-zone/.test/min/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using only defaults'
+metadata description = 'This instance deploys the module with the minimum set of required parameters.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/network/private-dns-zone/README.md b/modules/network/private-dns-zone/README.md
index a6d1f62e04..54fc9873d1 100644
--- a/modules/network/private-dns-zone/README.md
+++ b/modules/network/private-dns-zone/README.md
@@ -4,13 +4,13 @@ This module deploys a Private DNS zone.
## Navigation
-- [Resource types](#Resource-types)
+- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
-## Resource types
+## Resource Types
| Resource Type | API Version |
| :-- | :-- |
@@ -27,62 +27,28 @@ This module deploys a Private DNS zone.
| `Microsoft.Network/privateDnsZones/TXT` | [2020-06-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2020-06-01/privateDnsZones/TXT) |
| `Microsoft.Network/privateDnsZones/virtualNetworkLinks` | [2020-06-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2020-06-01/privateDnsZones/virtualNetworkLinks) |
-## Parameters
+## Usage examples
-**Required parameters**
+The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository.
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | Private DNS zone name. |
+>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-**Optional parameters**
+>**Note**: To reference the module, please use the following syntax `br:bicep/modules/network.private-dns-zone:1.0.0`.
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `a` | _[a](a/README.md)_ array | `[]` | | Array of A records. |
-| `aaaa` | _[aaaa](aaaa/README.md)_ array | `[]` | | Array of AAAA records. |
-| `cname` | _[cname](cname/README.md)_ array | `[]` | | Array of CNAME records. |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `location` | string | `'global'` | | The location of the PrivateDNSZone. Should be global. |
-| `lock` | string | `''` | `['', CanNotDelete, ReadOnly]` | Specify the type of lock. |
-| `mx` | _[mx](mx/README.md)_ array | `[]` | | Array of MX records. |
-| `ptr` | _[ptr](ptr/README.md)_ array | `[]` | | Array of PTR records. |
-| `roleAssignments` | array | `[]` | | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
-| `soa` | _[soa](soa/README.md)_ array | `[]` | | Array of SOA records. |
-| `srv` | _[srv](srv/README.md)_ array | `[]` | | Array of SRV records. |
-| `tags` | object | `{object}` | | Tags of the resource. |
-| `txt` | _[txt](txt/README.md)_ array | `[]` | | Array of TXT records. |
-| `virtualNetworkLinks` | array | `[]` | | Array of custom objects describing vNet links of the DNS zone. Each object should contain properties 'vnetResourceId' and 'registrationEnabled'. The 'vnetResourceId' is a resource ID of a vNet to link, 'registrationEnabled' (bool) enables automatic DNS registration in the zone for the linked vNet. |
+- [Using large parameter set](#example-1-using-large-parameter-set)
+- [Using only defaults](#example-2-using-only-defaults)
+### Example 1: _Using large parameter set_
-## Outputs
+This instance deploys the module with most of its features enabled.
-| Output Name | Type | Description |
-| :-- | :-- | :-- |
-| `location` | string | The location the resource was deployed into. |
-| `name` | string | The name of the private DNS zone. |
-| `resourceGroupName` | string | The resource group the private DNS zone was deployed into. |
-| `resourceId` | string | The resource ID of the private DNS zone. |
-
-## Cross-referenced modules
-
-_None_
-
-## Deployment examples
-
-The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder.
- >**Note**: The name of each example is based on the name of the file from which it is taken.
-
- >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-
-
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | Private DNS zone name. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`a`](#parameter-a) | array | Array of A records. |
+| [`aaaa`](#parameter-aaaa) | array | Array of AAAA records. |
+| [`cname`](#parameter-cname) | array | Array of CNAME records. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`location`](#parameter-location) | string | The location of the PrivateDNSZone. Should be global. |
+| [`lock`](#parameter-lock) | string | Specify the type of lock. |
+| [`mx`](#parameter-mx) | array | Array of MX records. |
+| [`ptr`](#parameter-ptr) | array | Array of PTR records. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`soa`](#parameter-soa) | array | Array of SOA records. |
+| [`srv`](#parameter-srv) | array | Array of SRV records. |
+| [`tags`](#parameter-tags) | object | Tags of the resource. |
+| [`txt`](#parameter-txt) | array | Array of TXT records. |
+| [`virtualNetworkLinks`](#parameter-virtualnetworklinks) | array | Array of custom objects describing vNet links of the DNS zone. Each object should contain properties 'vnetResourceId' and 'registrationEnabled'. The 'vnetResourceId' is a resource ID of a vNet to link, 'registrationEnabled' (bool) enables automatic DNS registration in the zone for the linked vNet. |
+
+### Parameter: `a`
+
+Array of A records.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `aaaa`
+
+Array of AAAA records.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `cname`
+
+Array of CNAME records.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `location`
+
+The location of the PrivateDNSZone. Should be global.
+- Required: No
+- Type: string
+- Default: `'global'`
+
+### Parameter: `lock`
+
+Specify the type of lock.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', CanNotDelete, ReadOnly]`
+
+### Parameter: `mx`
+
+Array of MX records.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `name`
+
+Private DNS zone name.
+- Required: Yes
+- Type: string
+
+### Parameter: `ptr`
+
+Array of PTR records.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `soa`
+
+Array of SOA records.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `srv`
+
+Array of SRV records.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `tags`
+
+Tags of the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `txt`
+
+Array of TXT records.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `virtualNetworkLinks`
+
+Array of custom objects describing vNet links of the DNS zone. Each object should contain properties 'vnetResourceId' and 'registrationEnabled'. The 'vnetResourceId' is a resource ID of a vNet to link, 'registrationEnabled' (bool) enables automatic DNS registration in the zone for the linked vNet.
+- Required: No
+- Type: array
+- Default: `[]`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The name of the private DNS zone. |
+| `resourceGroupName` | string | The resource group the private DNS zone was deployed into. |
+| `resourceId` | string | The resource ID of the private DNS zone. |
+
+## Cross-referenced modules
+
+_None_
diff --git a/modules/network/private-dns-zone/a/README.md b/modules/network/private-dns-zone/a/README.md
index 54ae836063..c3368e5187 100644
--- a/modules/network/private-dns-zone/a/README.md
+++ b/modules/network/private-dns-zone/a/README.md
@@ -20,30 +20,77 @@ This module deploys a Private DNS Zone A record.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `name` | string | The name of the A record. |
+| [`name`](#parameter-name) | string | The name of the A record. |
**Conditional parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `privateDnsZoneName` | string | The name of the parent Private DNS zone. Required if the template is used in a standalone deployment. |
+| [`privateDnsZoneName`](#parameter-privatednszonename) | string | The name of the parent Private DNS zone. Required if the template is used in a standalone deployment. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `aRecords` | array | `[]` | The list of A records in the record set. |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `metadata` | object | `{object}` | The metadata attached to the record set. |
-| `roleAssignments` | array | `[]` | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
-| `ttl` | int | `3600` | The TTL (time-to-live) of the records in the record set. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`aRecords`](#parameter-arecords) | array | The list of A records in the record set. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`metadata`](#parameter-metadata) | object | The metadata attached to the record set. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`ttl`](#parameter-ttl) | int | The TTL (time-to-live) of the records in the record set. |
+
+### Parameter: `aRecords`
+
+The list of A records in the record set.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `metadata`
+
+The metadata attached to the record set.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `name`
+
+The name of the A record.
+- Required: Yes
+- Type: string
+
+### Parameter: `privateDnsZoneName`
+
+The name of the parent Private DNS zone. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `ttl`
+
+The TTL (time-to-live) of the records in the record set.
+- Required: No
+- Type: int
+- Default: `3600`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The name of the deployed A record. |
| `resourceGroupName` | string | The resource group of the deployed A record. |
diff --git a/modules/network/private-dns-zone/a/main.json b/modules/network/private-dns-zone/a/main.json
index 413cc464b5..a6c913362e 100644
--- a/modules/network/private-dns-zone/a/main.json
+++ b/modules/network/private-dns-zone/a/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "2464749993448285338"
+ "version": "0.22.6.54827",
+ "templateHash": "3286674755199812485"
},
"name": "Private DNS Zone A record",
"description": "This module deploys a Private DNS Zone A record.",
@@ -119,8 +119,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "16462248861146180112"
+ "version": "0.22.6.54827",
+ "templateHash": "13885309482367640092"
}
},
"parameters": {
diff --git a/modules/network/private-dns-zone/aaaa/README.md b/modules/network/private-dns-zone/aaaa/README.md
index 10dbc0d92d..8519032b83 100644
--- a/modules/network/private-dns-zone/aaaa/README.md
+++ b/modules/network/private-dns-zone/aaaa/README.md
@@ -20,30 +20,77 @@ This module deploys a Private DNS Zone AAAA record.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `name` | string | The name of the AAAA record. |
+| [`name`](#parameter-name) | string | The name of the AAAA record. |
**Conditional parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `privateDnsZoneName` | string | The name of the parent Private DNS zone. Required if the template is used in a standalone deployment. |
+| [`privateDnsZoneName`](#parameter-privatednszonename) | string | The name of the parent Private DNS zone. Required if the template is used in a standalone deployment. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `aaaaRecords` | array | `[]` | The list of AAAA records in the record set. |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `metadata` | object | `{object}` | The metadata attached to the record set. |
-| `roleAssignments` | array | `[]` | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
-| `ttl` | int | `3600` | The TTL (time-to-live) of the records in the record set. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`aaaaRecords`](#parameter-aaaarecords) | array | The list of AAAA records in the record set. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`metadata`](#parameter-metadata) | object | The metadata attached to the record set. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`ttl`](#parameter-ttl) | int | The TTL (time-to-live) of the records in the record set. |
+
+### Parameter: `aaaaRecords`
+
+The list of AAAA records in the record set.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `metadata`
+
+The metadata attached to the record set.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `name`
+
+The name of the AAAA record.
+- Required: Yes
+- Type: string
+
+### Parameter: `privateDnsZoneName`
+
+The name of the parent Private DNS zone. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `ttl`
+
+The TTL (time-to-live) of the records in the record set.
+- Required: No
+- Type: int
+- Default: `3600`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The name of the deployed AAAA record. |
| `resourceGroupName` | string | The resource group of the deployed AAAA record. |
diff --git a/modules/network/private-dns-zone/aaaa/main.json b/modules/network/private-dns-zone/aaaa/main.json
index 506b619a23..5d0169ad3e 100644
--- a/modules/network/private-dns-zone/aaaa/main.json
+++ b/modules/network/private-dns-zone/aaaa/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "2479547994885250676"
+ "version": "0.22.6.54827",
+ "templateHash": "17200265918515224034"
},
"name": "Private DNS Zone AAAA record",
"description": "This module deploys a Private DNS Zone AAAA record.",
@@ -119,8 +119,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "8284082844313029952"
+ "version": "0.22.6.54827",
+ "templateHash": "370590810970469037"
}
},
"parameters": {
diff --git a/modules/network/private-dns-zone/cname/README.md b/modules/network/private-dns-zone/cname/README.md
index 274c08ff98..258427ccc4 100644
--- a/modules/network/private-dns-zone/cname/README.md
+++ b/modules/network/private-dns-zone/cname/README.md
@@ -20,30 +20,77 @@ This module deploys a Private DNS Zone CNAME record.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `name` | string | The name of the CNAME record. |
+| [`name`](#parameter-name) | string | The name of the CNAME record. |
**Conditional parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `privateDnsZoneName` | string | The name of the parent Private DNS zone. Required if the template is used in a standalone deployment. |
+| [`privateDnsZoneName`](#parameter-privatednszonename) | string | The name of the parent Private DNS zone. Required if the template is used in a standalone deployment. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `cnameRecord` | object | `{object}` | A CNAME record. |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `metadata` | object | `{object}` | The metadata attached to the record set. |
-| `roleAssignments` | array | `[]` | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
-| `ttl` | int | `3600` | The TTL (time-to-live) of the records in the record set. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`cnameRecord`](#parameter-cnamerecord) | object | A CNAME record. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`metadata`](#parameter-metadata) | object | The metadata attached to the record set. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`ttl`](#parameter-ttl) | int | The TTL (time-to-live) of the records in the record set. |
+
+### Parameter: `cnameRecord`
+
+A CNAME record.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `metadata`
+
+The metadata attached to the record set.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `name`
+
+The name of the CNAME record.
+- Required: Yes
+- Type: string
+
+### Parameter: `privateDnsZoneName`
+
+The name of the parent Private DNS zone. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `ttl`
+
+The TTL (time-to-live) of the records in the record set.
+- Required: No
+- Type: int
+- Default: `3600`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The name of the deployed CNAME record. |
| `resourceGroupName` | string | The resource group of the deployed CNAME record. |
diff --git a/modules/network/private-dns-zone/cname/main.json b/modules/network/private-dns-zone/cname/main.json
index ac82b9556b..a5b1b40592 100644
--- a/modules/network/private-dns-zone/cname/main.json
+++ b/modules/network/private-dns-zone/cname/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "3131685819107198557"
+ "version": "0.22.6.54827",
+ "templateHash": "1218346372201244802"
},
"name": "Private DNS Zone CNAME record",
"description": "This module deploys a Private DNS Zone CNAME record.",
@@ -119,8 +119,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "14977392232463085529"
+ "version": "0.22.6.54827",
+ "templateHash": "3701509590842402185"
}
},
"parameters": {
diff --git a/modules/network/private-dns-zone/main.json b/modules/network/private-dns-zone/main.json
index 67a605e5c0..575b535727 100644
--- a/modules/network/private-dns-zone/main.json
+++ b/modules/network/private-dns-zone/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "13683700730440109473"
+ "version": "0.22.6.54827",
+ "templateHash": "7094231343264488816"
},
"name": "Private DNS Zones",
"description": "This module deploys a Private DNS zone.",
@@ -195,8 +195,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "3023625235674916080"
+ "version": "0.22.6.54827",
+ "templateHash": "3286674755199812485"
},
"name": "Private DNS Zone A record",
"description": "This module deploys a Private DNS Zone A record.",
@@ -310,8 +310,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "3091185834162670777"
+ "version": "0.22.6.54827",
+ "templateHash": "13885309482367640092"
}
},
"parameters": {
@@ -517,8 +517,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "9619664849560898729"
+ "version": "0.22.6.54827",
+ "templateHash": "17200265918515224034"
},
"name": "Private DNS Zone AAAA record",
"description": "This module deploys a Private DNS Zone AAAA record.",
@@ -632,8 +632,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "16612032211561905990"
+ "version": "0.22.6.54827",
+ "templateHash": "370590810970469037"
}
},
"parameters": {
@@ -839,8 +839,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "18350416636780213220"
+ "version": "0.22.6.54827",
+ "templateHash": "1218346372201244802"
},
"name": "Private DNS Zone CNAME record",
"description": "This module deploys a Private DNS Zone CNAME record.",
@@ -954,8 +954,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "12449188823441255969"
+ "version": "0.22.6.54827",
+ "templateHash": "3701509590842402185"
}
},
"parameters": {
@@ -1167,8 +1167,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "5407325770336305290"
+ "version": "0.22.6.54827",
+ "templateHash": "498719698216860438"
},
"name": "Private DNS Zone MX record",
"description": "This module deploys a Private DNS Zone MX record.",
@@ -1282,8 +1282,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "5166139968688256157"
+ "version": "0.22.6.54827",
+ "templateHash": "3875667684091614842"
}
},
"parameters": {
@@ -1489,8 +1489,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "7429124351513910459"
+ "version": "0.22.6.54827",
+ "templateHash": "15278019758073479253"
},
"name": "Private DNS Zone PTR record",
"description": "This module deploys a Private DNS Zone PTR record.",
@@ -1604,8 +1604,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "9774124555582341628"
+ "version": "0.22.6.54827",
+ "templateHash": "1115653551360161833"
}
},
"parameters": {
@@ -1811,8 +1811,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "6237133824894088471"
+ "version": "0.22.6.54827",
+ "templateHash": "2312801328936888366"
},
"name": "Private DNS Zone SOA record",
"description": "This module deploys a Private DNS Zone SOA record.",
@@ -1926,8 +1926,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "13019341765980531210"
+ "version": "0.22.6.54827",
+ "templateHash": "7407904296801266090"
}
},
"parameters": {
@@ -2133,8 +2133,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "8022373880556162081"
+ "version": "0.22.6.54827",
+ "templateHash": "5952665052269893806"
},
"name": "Private DNS Zone SRV record",
"description": "This module deploys a Private DNS Zone SRV record.",
@@ -2248,8 +2248,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "18406157225832506146"
+ "version": "0.22.6.54827",
+ "templateHash": "7603100820795358011"
}
},
"parameters": {
@@ -2455,8 +2455,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "9882979825935476673"
+ "version": "0.22.6.54827",
+ "templateHash": "1124215030878784014"
},
"name": "Private DNS Zone TXT record",
"description": "This module deploys a Private DNS Zone TXT record.",
@@ -2570,8 +2570,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "3370209117297708556"
+ "version": "0.22.6.54827",
+ "templateHash": "16791864516622438253"
}
},
"parameters": {
@@ -2777,8 +2777,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "2352064432983921161"
+ "version": "0.22.6.54827",
+ "templateHash": "12342244725180262876"
},
"name": "Private DNS Zone Virtual Network Link",
"description": "This module deploys a Private DNS Zone Virtual Network Link.",
@@ -2932,8 +2932,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "13504974986686820957"
+ "version": "0.22.6.54827",
+ "templateHash": "2044377995221762227"
}
},
"parameters": {
diff --git a/modules/network/private-dns-zone/mx/README.md b/modules/network/private-dns-zone/mx/README.md
index 2e235dc3a0..66a893a225 100644
--- a/modules/network/private-dns-zone/mx/README.md
+++ b/modules/network/private-dns-zone/mx/README.md
@@ -20,30 +20,77 @@ This module deploys a Private DNS Zone MX record.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `name` | string | The name of the MX record. |
+| [`name`](#parameter-name) | string | The name of the MX record. |
**Conditional parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `privateDnsZoneName` | string | The name of the parent Private DNS zone. Required if the template is used in a standalone deployment. |
+| [`privateDnsZoneName`](#parameter-privatednszonename) | string | The name of the parent Private DNS zone. Required if the template is used in a standalone deployment. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `metadata` | object | `{object}` | The metadata attached to the record set. |
-| `mxRecords` | array | `[]` | The list of MX records in the record set. |
-| `roleAssignments` | array | `[]` | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
-| `ttl` | int | `3600` | The TTL (time-to-live) of the records in the record set. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`metadata`](#parameter-metadata) | object | The metadata attached to the record set. |
+| [`mxRecords`](#parameter-mxrecords) | array | The list of MX records in the record set. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`ttl`](#parameter-ttl) | int | The TTL (time-to-live) of the records in the record set. |
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `metadata`
+
+The metadata attached to the record set.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `mxRecords`
+
+The list of MX records in the record set.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `name`
+
+The name of the MX record.
+- Required: Yes
+- Type: string
+
+### Parameter: `privateDnsZoneName`
+
+The name of the parent Private DNS zone. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `ttl`
+
+The TTL (time-to-live) of the records in the record set.
+- Required: No
+- Type: int
+- Default: `3600`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The name of the deployed MX record. |
| `resourceGroupName` | string | The resource group of the deployed MX record. |
diff --git a/modules/network/private-dns-zone/mx/main.json b/modules/network/private-dns-zone/mx/main.json
index 418f721f60..1e0f858136 100644
--- a/modules/network/private-dns-zone/mx/main.json
+++ b/modules/network/private-dns-zone/mx/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "6965287962374254577"
+ "version": "0.22.6.54827",
+ "templateHash": "498719698216860438"
},
"name": "Private DNS Zone MX record",
"description": "This module deploys a Private DNS Zone MX record.",
@@ -119,8 +119,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "11594799085721281275"
+ "version": "0.22.6.54827",
+ "templateHash": "3875667684091614842"
}
},
"parameters": {
diff --git a/modules/network/private-dns-zone/ptr/README.md b/modules/network/private-dns-zone/ptr/README.md
index 1af2199b1e..f680fea464 100644
--- a/modules/network/private-dns-zone/ptr/README.md
+++ b/modules/network/private-dns-zone/ptr/README.md
@@ -20,30 +20,77 @@ This module deploys a Private DNS Zone PTR record.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `name` | string | The name of the PTR record. |
+| [`name`](#parameter-name) | string | The name of the PTR record. |
**Conditional parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `privateDnsZoneName` | string | The name of the parent Private DNS zone. Required if the template is used in a standalone deployment. |
+| [`privateDnsZoneName`](#parameter-privatednszonename) | string | The name of the parent Private DNS zone. Required if the template is used in a standalone deployment. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `metadata` | object | `{object}` | The metadata attached to the record set. |
-| `ptrRecords` | array | `[]` | The list of PTR records in the record set. |
-| `roleAssignments` | array | `[]` | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
-| `ttl` | int | `3600` | The TTL (time-to-live) of the records in the record set. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`metadata`](#parameter-metadata) | object | The metadata attached to the record set. |
+| [`ptrRecords`](#parameter-ptrrecords) | array | The list of PTR records in the record set. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`ttl`](#parameter-ttl) | int | The TTL (time-to-live) of the records in the record set. |
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `metadata`
+
+The metadata attached to the record set.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `name`
+
+The name of the PTR record.
+- Required: Yes
+- Type: string
+
+### Parameter: `privateDnsZoneName`
+
+The name of the parent Private DNS zone. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
+
+### Parameter: `ptrRecords`
+
+The list of PTR records in the record set.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `ttl`
+
+The TTL (time-to-live) of the records in the record set.
+- Required: No
+- Type: int
+- Default: `3600`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The name of the deployed PTR record. |
| `resourceGroupName` | string | The resource group of the deployed PTR record. |
diff --git a/modules/network/private-dns-zone/ptr/main.json b/modules/network/private-dns-zone/ptr/main.json
index 06a5084efd..fd96b1c0b3 100644
--- a/modules/network/private-dns-zone/ptr/main.json
+++ b/modules/network/private-dns-zone/ptr/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "13259276818307387958"
+ "version": "0.22.6.54827",
+ "templateHash": "15278019758073479253"
},
"name": "Private DNS Zone PTR record",
"description": "This module deploys a Private DNS Zone PTR record.",
@@ -119,8 +119,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "11481493487541604106"
+ "version": "0.22.6.54827",
+ "templateHash": "1115653551360161833"
}
},
"parameters": {
diff --git a/modules/network/private-dns-zone/soa/README.md b/modules/network/private-dns-zone/soa/README.md
index d67c893c38..67fd6e00e6 100644
--- a/modules/network/private-dns-zone/soa/README.md
+++ b/modules/network/private-dns-zone/soa/README.md
@@ -20,30 +20,77 @@ This module deploys a Private DNS Zone SOA record.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `name` | string | The name of the SOA record. |
+| [`name`](#parameter-name) | string | The name of the SOA record. |
**Conditional parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `privateDnsZoneName` | string | The name of the parent Private DNS zone. Required if the template is used in a standalone deployment. |
+| [`privateDnsZoneName`](#parameter-privatednszonename) | string | The name of the parent Private DNS zone. Required if the template is used in a standalone deployment. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `metadata` | object | `{object}` | The metadata attached to the record set. |
-| `roleAssignments` | array | `[]` | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
-| `soaRecord` | object | `{object}` | A SOA record. |
-| `ttl` | int | `3600` | The TTL (time-to-live) of the records in the record set. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`metadata`](#parameter-metadata) | object | The metadata attached to the record set. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`soaRecord`](#parameter-soarecord) | object | A SOA record. |
+| [`ttl`](#parameter-ttl) | int | The TTL (time-to-live) of the records in the record set. |
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `metadata`
+
+The metadata attached to the record set.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `name`
+
+The name of the SOA record.
+- Required: Yes
+- Type: string
+
+### Parameter: `privateDnsZoneName`
+
+The name of the parent Private DNS zone. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `soaRecord`
+
+A SOA record.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `ttl`
+
+The TTL (time-to-live) of the records in the record set.
+- Required: No
+- Type: int
+- Default: `3600`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The name of the deployed SOA record. |
| `resourceGroupName` | string | The resource group of the deployed SOA record. |
diff --git a/modules/network/private-dns-zone/soa/main.json b/modules/network/private-dns-zone/soa/main.json
index e3427de316..0cb2fbaa4c 100644
--- a/modules/network/private-dns-zone/soa/main.json
+++ b/modules/network/private-dns-zone/soa/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "1534736495493771844"
+ "version": "0.22.6.54827",
+ "templateHash": "2312801328936888366"
},
"name": "Private DNS Zone SOA record",
"description": "This module deploys a Private DNS Zone SOA record.",
@@ -119,8 +119,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "13036989829941135965"
+ "version": "0.22.6.54827",
+ "templateHash": "7407904296801266090"
}
},
"parameters": {
diff --git a/modules/network/private-dns-zone/srv/README.md b/modules/network/private-dns-zone/srv/README.md
index fbddcefda1..9fddfb9099 100644
--- a/modules/network/private-dns-zone/srv/README.md
+++ b/modules/network/private-dns-zone/srv/README.md
@@ -20,30 +20,77 @@ This module deploys a Private DNS Zone SRV record.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `name` | string | The name of the SRV record. |
+| [`name`](#parameter-name) | string | The name of the SRV record. |
**Conditional parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `privateDnsZoneName` | string | The name of the parent Private DNS zone. Required if the template is used in a standalone deployment. |
+| [`privateDnsZoneName`](#parameter-privatednszonename) | string | The name of the parent Private DNS zone. Required if the template is used in a standalone deployment. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `metadata` | object | `{object}` | The metadata attached to the record set. |
-| `roleAssignments` | array | `[]` | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
-| `srvRecords` | array | `[]` | The list of SRV records in the record set. |
-| `ttl` | int | `3600` | The TTL (time-to-live) of the records in the record set. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`metadata`](#parameter-metadata) | object | The metadata attached to the record set. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`srvRecords`](#parameter-srvrecords) | array | The list of SRV records in the record set. |
+| [`ttl`](#parameter-ttl) | int | The TTL (time-to-live) of the records in the record set. |
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `metadata`
+
+The metadata attached to the record set.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `name`
+
+The name of the SRV record.
+- Required: Yes
+- Type: string
+
+### Parameter: `privateDnsZoneName`
+
+The name of the parent Private DNS zone. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `srvRecords`
+
+The list of SRV records in the record set.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `ttl`
+
+The TTL (time-to-live) of the records in the record set.
+- Required: No
+- Type: int
+- Default: `3600`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The name of the deployed SRV record. |
| `resourceGroupName` | string | The resource group of the deployed SRV record. |
diff --git a/modules/network/private-dns-zone/srv/main.json b/modules/network/private-dns-zone/srv/main.json
index f52d859ff7..0380f2b5a4 100644
--- a/modules/network/private-dns-zone/srv/main.json
+++ b/modules/network/private-dns-zone/srv/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "6444239705368252849"
+ "version": "0.22.6.54827",
+ "templateHash": "5952665052269893806"
},
"name": "Private DNS Zone SRV record",
"description": "This module deploys a Private DNS Zone SRV record.",
@@ -119,8 +119,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "17805809595422297514"
+ "version": "0.22.6.54827",
+ "templateHash": "7603100820795358011"
}
},
"parameters": {
diff --git a/modules/network/private-dns-zone/txt/README.md b/modules/network/private-dns-zone/txt/README.md
index 62fe57a009..10472d8fbd 100644
--- a/modules/network/private-dns-zone/txt/README.md
+++ b/modules/network/private-dns-zone/txt/README.md
@@ -20,30 +20,77 @@ This module deploys a Private DNS Zone TXT record.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `name` | string | The name of the TXT record. |
+| [`name`](#parameter-name) | string | The name of the TXT record. |
**Conditional parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `privateDnsZoneName` | string | The name of the parent Private DNS zone. Required if the template is used in a standalone deployment. |
+| [`privateDnsZoneName`](#parameter-privatednszonename) | string | The name of the parent Private DNS zone. Required if the template is used in a standalone deployment. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `metadata` | object | `{object}` | The metadata attached to the record set. |
-| `roleAssignments` | array | `[]` | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
-| `ttl` | int | `3600` | The TTL (time-to-live) of the records in the record set. |
-| `txtRecords` | array | `[]` | The list of TXT records in the record set. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`metadata`](#parameter-metadata) | object | The metadata attached to the record set. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`ttl`](#parameter-ttl) | int | The TTL (time-to-live) of the records in the record set. |
+| [`txtRecords`](#parameter-txtrecords) | array | The list of TXT records in the record set. |
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `metadata`
+
+The metadata attached to the record set.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `name`
+
+The name of the TXT record.
+- Required: Yes
+- Type: string
+
+### Parameter: `privateDnsZoneName`
+
+The name of the parent Private DNS zone. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `ttl`
+
+The TTL (time-to-live) of the records in the record set.
+- Required: No
+- Type: int
+- Default: `3600`
+
+### Parameter: `txtRecords`
+
+The list of TXT records in the record set.
+- Required: No
+- Type: array
+- Default: `[]`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The name of the deployed TXT record. |
| `resourceGroupName` | string | The resource group of the deployed TXT record. |
diff --git a/modules/network/private-dns-zone/txt/main.json b/modules/network/private-dns-zone/txt/main.json
index 9bc41b0ee0..49da878984 100644
--- a/modules/network/private-dns-zone/txt/main.json
+++ b/modules/network/private-dns-zone/txt/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "11503781556355030458"
+ "version": "0.22.6.54827",
+ "templateHash": "1124215030878784014"
},
"name": "Private DNS Zone TXT record",
"description": "This module deploys a Private DNS Zone TXT record.",
@@ -119,8 +119,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "9559644743323745935"
+ "version": "0.22.6.54827",
+ "templateHash": "16791864516622438253"
}
},
"parameters": {
diff --git a/modules/network/private-dns-zone/virtual-network-link/README.md b/modules/network/private-dns-zone/virtual-network-link/README.md
index 44f61227f6..b745342815 100644
--- a/modules/network/private-dns-zone/virtual-network-link/README.md
+++ b/modules/network/private-dns-zone/virtual-network-link/README.md
@@ -19,30 +19,77 @@ This module deploys a Private DNS Zone Virtual Network Link.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `virtualNetworkResourceId` | string | Link to another virtual network resource ID. |
+| [`virtualNetworkResourceId`](#parameter-virtualnetworkresourceid) | string | Link to another virtual network resource ID. |
**Conditional parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `privateDnsZoneName` | string | The name of the parent Private DNS zone. Required if the template is used in a standalone deployment. |
+| [`privateDnsZoneName`](#parameter-privatednszonename) | string | The name of the parent Private DNS zone. Required if the template is used in a standalone deployment. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `location` | string | `'global'` | The location of the PrivateDNSZone. Should be global. |
-| `name` | string | `[format('{0}-vnetlink', last(split(parameters('virtualNetworkResourceId'), '/')))]` | The name of the virtual network link. |
-| `registrationEnabled` | bool | `False` | Is auto-registration of virtual machine records in the virtual network in the Private DNS zone enabled?. |
-| `tags` | object | `{object}` | Tags of the resource. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`location`](#parameter-location) | string | The location of the PrivateDNSZone. Should be global. |
+| [`name`](#parameter-name) | string | The name of the virtual network link. |
+| [`registrationEnabled`](#parameter-registrationenabled) | bool | Is auto-registration of virtual machine records in the virtual network in the Private DNS zone enabled?. |
+| [`tags`](#parameter-tags) | object | Tags of the resource. |
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `location`
+
+The location of the PrivateDNSZone. Should be global.
+- Required: No
+- Type: string
+- Default: `'global'`
+
+### Parameter: `name`
+
+The name of the virtual network link.
+- Required: No
+- Type: string
+- Default: `[format('{0}-vnetlink', last(split(parameters('virtualNetworkResourceId'), '/')))]`
+
+### Parameter: `privateDnsZoneName`
+
+The name of the parent Private DNS zone. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
+
+### Parameter: `registrationEnabled`
+
+Is auto-registration of virtual machine records in the virtual network in the Private DNS zone enabled?.
+- Required: No
+- Type: bool
+- Default: `False`
+
+### Parameter: `tags`
+
+Tags of the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `virtualNetworkResourceId`
+
+Link to another virtual network resource ID.
+- Required: Yes
+- Type: string
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `location` | string | The location the resource was deployed into. |
| `name` | string | The name of the deployed virtual network link. |
diff --git a/modules/network/private-dns-zone/virtual-network-link/main.json b/modules/network/private-dns-zone/virtual-network-link/main.json
index 7d0bc4e594..51d922b079 100644
--- a/modules/network/private-dns-zone/virtual-network-link/main.json
+++ b/modules/network/private-dns-zone/virtual-network-link/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "8504562326898440676"
+ "version": "0.22.6.54827",
+ "templateHash": "12342244725180262876"
},
"name": "Private DNS Zone Virtual Network Link",
"description": "This module deploys a Private DNS Zone Virtual Network Link.",
diff --git a/modules/network/private-endpoint/.test/common/main.test.bicep b/modules/network/private-endpoint/.test/common/main.test.bicep
index 548ffb6f74..856807277f 100644
--- a/modules/network/private-endpoint/.test/common/main.test.bicep
+++ b/modules/network/private-endpoint/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/network/private-endpoint/.test/min/main.test.bicep b/modules/network/private-endpoint/.test/min/main.test.bicep
index f858091d54..6d5c80f1b3 100644
--- a/modules/network/private-endpoint/.test/min/main.test.bicep
+++ b/modules/network/private-endpoint/.test/min/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using only defaults'
+metadata description = 'This instance deploys the module with the minimum set of required parameters.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/network/private-endpoint/README.md b/modules/network/private-endpoint/README.md
index 86ea2dc1c5..241b1e441a 100644
--- a/modules/network/private-endpoint/README.md
+++ b/modules/network/private-endpoint/README.md
@@ -4,13 +4,13 @@ This module deploys a Private Endpoint.
## Navigation
-- [Resource types](#Resource-types)
+- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
-## Resource types
+## Resource Types
| Resource Type | API Version |
| :-- | :-- |
@@ -19,62 +19,28 @@ This module deploys a Private Endpoint.
| `Microsoft.Network/privateEndpoints` | [2023-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2023-04-01/privateEndpoints) |
| `Microsoft.Network/privateEndpoints/privateDnsZoneGroups` | [2023-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2023-04-01/privateEndpoints/privateDnsZoneGroups) |
-## Parameters
+## Usage examples
-**Required parameters**
+The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository.
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `groupIds` | array | Subtype(s) of the connection to be created. The allowed values depend on the type serviceResourceId refers to. |
-| `name` | string | Name of the private endpoint resource to create. |
-| `serviceResourceId` | string | Resource ID of the resource that needs to be connected to the network. |
-| `subnetResourceId` | string | Resource ID of the subnet where the endpoint needs to be created. |
+>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-**Optional parameters**
+>**Note**: To reference the module, please use the following syntax `br:bicep/modules/network.private-endpoint:1.0.0`.
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `applicationSecurityGroups` | array | `[]` | | Application security groups in which the private endpoint IP configuration is included. |
-| `customDnsConfigs` | array | `[]` | | Custom DNS configurations. |
-| `customNetworkInterfaceName` | string | `''` | | The custom name of the network interface attached to the private endpoint. |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `ipConfigurations` | array | `[]` | | A list of IP configurations of the private endpoint. This will be used to map to the First Party Service endpoints. |
-| `location` | string | `[resourceGroup().location]` | | Location for all Resources. |
-| `lock` | string | `''` | `['', CanNotDelete, ReadOnly]` | Specify the type of lock. |
-| `manualPrivateLinkServiceConnections` | array | `[]` | | Manual PrivateLink Service Connections. |
-| `privateDnsZoneGroup` | _[privateDnsZoneGroup](private-dns-zone-group/README.md)_ object | `{object}` | | The private DNS zone group configuration used to associate the private endpoint with one or multiple private DNS zones. A DNS zone group can support up to 5 DNS zones. |
-| `roleAssignments` | array | `[]` | | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
-| `tags` | object | `{object}` | | Tags to be applied on all resources/resource groups in this deployment. |
+- [Using large parameter set](#example-1-using-large-parameter-set)
+- [Using only defaults](#example-2-using-only-defaults)
+### Example 1: _Using large parameter set_
-## Outputs
+This instance deploys the module with most of its features enabled.
-| Output Name | Type | Description |
-| :-- | :-- | :-- |
-| `location` | string | The location the resource was deployed into. |
-| `name` | string | The name of the private endpoint. |
-| `resourceGroupName` | string | The resource group the private endpoint was deployed into. |
-| `resourceId` | string | The resource ID of the private endpoint. |
-
-## Cross-referenced modules
-
-_None_
-
-## Deployment examples
-
-The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder.
- >**Note**: The name of each example is based on the name of the file from which it is taken.
-
- >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-
-
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`groupIds`](#parameter-groupids) | array | Subtype(s) of the connection to be created. The allowed values depend on the type serviceResourceId refers to. |
+| [`name`](#parameter-name) | string | Name of the private endpoint resource to create. |
+| [`serviceResourceId`](#parameter-serviceresourceid) | string | Resource ID of the resource that needs to be connected to the network. |
+| [`subnetResourceId`](#parameter-subnetresourceid) | string | Resource ID of the subnet where the endpoint needs to be created. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`applicationSecurityGroups`](#parameter-applicationsecuritygroups) | array | Application security groups in which the private endpoint IP configuration is included. |
+| [`customDnsConfigs`](#parameter-customdnsconfigs) | array | Custom DNS configurations. |
+| [`customNetworkInterfaceName`](#parameter-customnetworkinterfacename) | string | The custom name of the network interface attached to the private endpoint. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`ipConfigurations`](#parameter-ipconfigurations) | array | A list of IP configurations of the private endpoint. This will be used to map to the First Party Service endpoints. |
+| [`location`](#parameter-location) | string | Location for all Resources. |
+| [`lock`](#parameter-lock) | string | Specify the type of lock. |
+| [`manualPrivateLinkServiceConnections`](#parameter-manualprivatelinkserviceconnections) | array | Manual PrivateLink Service Connections. |
+| [`privateDnsZoneGroup`](#parameter-privatednszonegroup) | object | The private DNS zone group configuration used to associate the private endpoint with one or multiple private DNS zones. A DNS zone group can support up to 5 DNS zones. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`tags`](#parameter-tags) | object | Tags to be applied on all resources/resource groups in this deployment. |
+
+### Parameter: `applicationSecurityGroups`
+
+Application security groups in which the private endpoint IP configuration is included.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `customDnsConfigs`
+
+Custom DNS configurations.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `customNetworkInterfaceName`
+
+The custom name of the network interface attached to the private endpoint.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `groupIds`
+
+Subtype(s) of the connection to be created. The allowed values depend on the type serviceResourceId refers to.
+- Required: Yes
+- Type: array
+
+### Parameter: `ipConfigurations`
+
+A list of IP configurations of the private endpoint. This will be used to map to the First Party Service endpoints.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `location`
+
+Location for all Resources.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `lock`
+
+Specify the type of lock.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', CanNotDelete, ReadOnly]`
+
+### Parameter: `manualPrivateLinkServiceConnections`
+
+Manual PrivateLink Service Connections.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `name`
+
+Name of the private endpoint resource to create.
+- Required: Yes
+- Type: string
+
+### Parameter: `privateDnsZoneGroup`
+
+The private DNS zone group configuration used to associate the private endpoint with one or multiple private DNS zones. A DNS zone group can support up to 5 DNS zones.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `serviceResourceId`
+
+Resource ID of the resource that needs to be connected to the network.
+- Required: Yes
+- Type: string
+
+### Parameter: `subnetResourceId`
+
+Resource ID of the subnet where the endpoint needs to be created.
+- Required: Yes
+- Type: string
+
+### Parameter: `tags`
+
+Tags to be applied on all resources/resource groups in this deployment.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The name of the private endpoint. |
+| `resourceGroupName` | string | The resource group the private endpoint was deployed into. |
+| `resourceId` | string | The resource ID of the private endpoint. |
+
+## Cross-referenced modules
+
+_None_
diff --git a/modules/network/private-endpoint/main.json b/modules/network/private-endpoint/main.json
index ec5e636ac3..afc81174b1 100644
--- a/modules/network/private-endpoint/main.json
+++ b/modules/network/private-endpoint/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "14580007913383558904"
+ "version": "0.22.6.54827",
+ "templateHash": "2884140170473394983"
},
"name": "Private Endpoints",
"description": "This module deploys a Private Endpoint.",
@@ -204,8 +204,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "2469208411936339153"
+ "version": "0.22.6.54827",
+ "templateHash": "5610247137574346230"
},
"name": "Private Endpoint Private DNS Zone Groups",
"description": "This module deploys a Private Endpoint Private DNS Zone Group.",
@@ -342,8 +342,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "13032708393704093995"
+ "version": "0.22.6.54827",
+ "templateHash": "14351187799927334028"
}
},
"parameters": {
diff --git a/modules/network/private-endpoint/private-dns-zone-group/README.md b/modules/network/private-endpoint/private-dns-zone-group/README.md
index e1d46b8986..2aebf21298 100644
--- a/modules/network/private-endpoint/private-dns-zone-group/README.md
+++ b/modules/network/private-endpoint/private-dns-zone-group/README.md
@@ -19,27 +19,53 @@ This module deploys a Private Endpoint Private DNS Zone Group.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `privateDNSResourceIds` | array | Array of private DNS zone resource IDs. A DNS zone group can support up to 5 DNS zones. |
+| [`privateDNSResourceIds`](#parameter-privatednsresourceids) | array | Array of private DNS zone resource IDs. A DNS zone group can support up to 5 DNS zones. |
**Conditional parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `privateEndpointName` | string | The name of the parent private endpoint. Required if the template is used in a standalone deployment. |
+| [`privateEndpointName`](#parameter-privateendpointname) | string | The name of the parent private endpoint. Required if the template is used in a standalone deployment. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `name` | string | `'default'` | The name of the private DNS zone group. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`name`](#parameter-name) | string | The name of the private DNS zone group. |
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `name`
+
+The name of the private DNS zone group.
+- Required: No
+- Type: string
+- Default: `'default'`
+
+### Parameter: `privateDNSResourceIds`
+
+Array of private DNS zone resource IDs. A DNS zone group can support up to 5 DNS zones.
+- Required: Yes
+- Type: array
+
+### Parameter: `privateEndpointName`
+
+The name of the parent private endpoint. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The name of the private endpoint DNS zone group. |
| `resourceGroupName` | string | The resource group the private endpoint DNS zone group was deployed into. |
diff --git a/modules/network/private-endpoint/private-dns-zone-group/main.json b/modules/network/private-endpoint/private-dns-zone-group/main.json
index 93baa64a6d..a631f45296 100644
--- a/modules/network/private-endpoint/private-dns-zone-group/main.json
+++ b/modules/network/private-endpoint/private-dns-zone-group/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "17831763001460207830"
+ "version": "0.22.6.54827",
+ "templateHash": "5610247137574346230"
},
"name": "Private Endpoint Private DNS Zone Groups",
"description": "This module deploys a Private Endpoint Private DNS Zone Group.",
diff --git a/modules/network/private-link-service/.test/common/main.test.bicep b/modules/network/private-link-service/.test/common/main.test.bicep
index 76599c870e..2566dda08b 100644
--- a/modules/network/private-link-service/.test/common/main.test.bicep
+++ b/modules/network/private-link-service/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/network/private-link-service/.test/min/main.test.bicep b/modules/network/private-link-service/.test/min/main.test.bicep
index 7e1e9580f8..d56543c89b 100644
--- a/modules/network/private-link-service/.test/min/main.test.bicep
+++ b/modules/network/private-link-service/.test/min/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using only defaults'
+metadata description = 'This instance deploys the module with the minimum set of required parameters.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/network/private-link-service/README.md b/modules/network/private-link-service/README.md
index 779847dd62..a1182c3ce1 100644
--- a/modules/network/private-link-service/README.md
+++ b/modules/network/private-link-service/README.md
@@ -4,14 +4,14 @@ This module deploys a Private Link Service.
## Navigation
-- [Resource types](#Resource-types)
+- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
- [Notes](#Notes)
-## Resource types
+## Resource Types
| Resource Type | API Version |
| :-- | :-- |
@@ -19,60 +19,28 @@ This module deploys a Private Link Service.
| `Microsoft.Authorization/roleAssignments` | [2022-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2022-04-01/roleAssignments) |
| `Microsoft.Network/privateLinkServices` | [2022-11-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2022-11-01/privateLinkServices) |
-## Parameters
-
-**Required parameters**
-
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | Name of the private link service to create. |
-
-**Optional parameters**
-
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `autoApproval` | object | `{object}` | | The auto-approval list of the private link service. |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `enableProxyProtocol` | bool | `False` | | Lets the service provider use tcp proxy v2 to retrieve connection information about the service consumer. Service Provider is responsible for setting up receiver configs to be able to parse the proxy protocol v2 header. |
-| `extendedLocation` | object | `{object}` | | The extended location of the load balancer. |
-| `fqdns` | array | `[]` | | The list of Fqdn. |
-| `ipConfigurations` | array | `[]` | | An array of private link service IP configurations. |
-| `loadBalancerFrontendIpConfigurations` | array | `[]` | | An array of references to the load balancer IP configurations. The Private Link service is tied to the frontend IP address of a Standard Load Balancer. All traffic destined for the service will reach the frontend of the SLB. You can configure SLB rules to direct this traffic to appropriate backend pools where your applications are running. Load balancer frontend IP configurations are different than NAT IP configurations. |
-| `location` | string | `[resourceGroup().location]` | | Location for all Resources. |
-| `lock` | string | `''` | `['', CanNotDelete, ReadOnly]` | Specify the type of lock. |
-| `roleAssignments` | array | `[]` | | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
-| `tags` | object | `{object}` | | Tags to be applied on all resources/resource groups in this deployment. |
-| `visibility` | object | `{object}` | | Controls the exposure settings for your Private Link service. Service providers can choose to limit the exposure to their service to subscriptions with Azure role-based access control (Azure RBAC) permissions, a restricted set of subscriptions, or all Azure subscriptions. |
-
+## Usage examples
-## Outputs
+The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository.
-| Output Name | Type | Description |
-| :-- | :-- | :-- |
-| `location` | string | The location the resource was deployed into. |
-| `name` | string | The name of the private link service. |
-| `resourceGroupName` | string | The resource group the private link service was deployed into. |
-| `resourceId` | string | The resource ID of the private link service. |
-
-## Cross-referenced modules
+>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-_None_
+>**Note**: To reference the module, please use the following syntax `br:bicep/modules/network.private-link-service:1.0.0`.
-## Deployment examples
+- [Using large parameter set](#example-1-using-large-parameter-set)
+- [Using only defaults](#example-2-using-only-defaults)
-The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder.
- >**Note**: The name of each example is based on the name of the file from which it is taken.
+### Example 1: _Using large parameter set_
- >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
+This instance deploys the module with most of its features enabled.
-
-
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | Name of the private link service to create. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`autoApproval`](#parameter-autoapproval) | object | The auto-approval list of the private link service. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`enableProxyProtocol`](#parameter-enableproxyprotocol) | bool | Lets the service provider use tcp proxy v2 to retrieve connection information about the service consumer. Service Provider is responsible for setting up receiver configs to be able to parse the proxy protocol v2 header. |
+| [`extendedLocation`](#parameter-extendedlocation) | object | The extended location of the load balancer. |
+| [`fqdns`](#parameter-fqdns) | array | The list of Fqdn. |
+| [`ipConfigurations`](#parameter-ipconfigurations) | array | An array of private link service IP configurations. |
+| [`loadBalancerFrontendIpConfigurations`](#parameter-loadbalancerfrontendipconfigurations) | array | An array of references to the load balancer IP configurations. The Private Link service is tied to the frontend IP address of a Standard Load Balancer. All traffic destined for the service will reach the frontend of the SLB. You can configure SLB rules to direct this traffic to appropriate backend pools where your applications are running. Load balancer frontend IP configurations are different than NAT IP configurations. |
+| [`location`](#parameter-location) | string | Location for all Resources. |
+| [`lock`](#parameter-lock) | string | Specify the type of lock. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`tags`](#parameter-tags) | object | Tags to be applied on all resources/resource groups in this deployment. |
+| [`visibility`](#parameter-visibility) | object | Controls the exposure settings for your Private Link service. Service providers can choose to limit the exposure to their service to subscriptions with Azure role-based access control (Azure RBAC) permissions, a restricted set of subscriptions, or all Azure subscriptions. |
+
+### Parameter: `autoApproval`
+
+The auto-approval list of the private link service.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `enableProxyProtocol`
+
+Lets the service provider use tcp proxy v2 to retrieve connection information about the service consumer. Service Provider is responsible for setting up receiver configs to be able to parse the proxy protocol v2 header.
+- Required: No
+- Type: bool
+- Default: `False`
+
+### Parameter: `extendedLocation`
+
+The extended location of the load balancer.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `fqdns`
+
+The list of Fqdn.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `ipConfigurations`
+
+An array of private link service IP configurations.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `loadBalancerFrontendIpConfigurations`
+
+An array of references to the load balancer IP configurations. The Private Link service is tied to the frontend IP address of a Standard Load Balancer. All traffic destined for the service will reach the frontend of the SLB. You can configure SLB rules to direct this traffic to appropriate backend pools where your applications are running. Load balancer frontend IP configurations are different than NAT IP configurations.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `location`
+
+Location for all Resources.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `lock`
+
+Specify the type of lock.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', CanNotDelete, ReadOnly]`
+
+### Parameter: `name`
+
+Name of the private link service to create.
+- Required: Yes
+- Type: string
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `tags`
+
+Tags to be applied on all resources/resource groups in this deployment.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `visibility`
+
+Controls the exposure settings for your Private Link service. Service providers can choose to limit the exposure to their service to subscriptions with Azure role-based access control (Azure RBAC) permissions, a restricted set of subscriptions, or all Azure subscriptions.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The name of the private link service. |
+| `resourceGroupName` | string | The resource group the private link service was deployed into. |
+| `resourceId` | string | The resource ID of the private link service. |
+
+## Cross-referenced modules
+
+_None_
+
## Notes
### Parameter Usage: `ipConfigurations`
diff --git a/modules/network/public-ip-address/.test/common/main.test.bicep b/modules/network/public-ip-address/.test/common/main.test.bicep
index abe179fbf3..73fe5bb4a5 100644
--- a/modules/network/public-ip-address/.test/common/main.test.bicep
+++ b/modules/network/public-ip-address/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/network/public-ip-address/.test/min/main.test.bicep b/modules/network/public-ip-address/.test/min/main.test.bicep
index dbcf0b97fc..e0f4f0d87d 100644
--- a/modules/network/public-ip-address/.test/min/main.test.bicep
+++ b/modules/network/public-ip-address/.test/min/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using only defaults'
+metadata description = 'This instance deploys the module with the minimum set of required parameters.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/network/public-ip-address/README.md b/modules/network/public-ip-address/README.md
index f9fbb64201..d66c035af4 100644
--- a/modules/network/public-ip-address/README.md
+++ b/modules/network/public-ip-address/README.md
@@ -4,13 +4,13 @@ This module deploys a Public IP Address.
## Navigation
-- [Resource types](#Resource-types)
+- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
-## Resource types
+## Resource Types
| Resource Type | API Version |
| :-- | :-- |
@@ -19,71 +19,28 @@ This module deploys a Public IP Address.
| `Microsoft.Insights/diagnosticSettings` | [2021-05-01-preview](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Insights/2021-05-01-preview/diagnosticSettings) |
| `Microsoft.Network/publicIPAddresses` | [2023-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2023-04-01/publicIPAddresses) |
-## Parameters
-
-**Required parameters**
-
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | The name of the Public IP Address. |
+## Usage examples
-**Optional parameters**
-
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `diagnosticEventHubAuthorizationRuleId` | string | `''` | | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
-| `diagnosticEventHubName` | string | `''` | | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
-| `diagnosticLogCategoriesToEnable` | array | `[allLogs]` | `['', allLogs, DDoSMitigationFlowLogs, DDoSMitigationReports, DDoSProtectionNotifications]` | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
-| `diagnosticMetricsToEnable` | array | `[AllMetrics]` | `[AllMetrics]` | The name of metrics that will be streamed. |
-| `diagnosticSettingsName` | string | `''` | | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | The name of the Public IP Address. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`diagnosticEventHubAuthorizationRuleId`](#parameter-diagnosticeventhubauthorizationruleid) | string | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
+| [`diagnosticEventHubName`](#parameter-diagnosticeventhubname) | string | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
+| [`diagnosticLogCategoriesToEnable`](#parameter-diagnosticlogcategoriestoenable) | array | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
+| [`diagnosticMetricsToEnable`](#parameter-diagnosticmetricstoenable) | array | The name of metrics that will be streamed. |
+| [`diagnosticSettingsName`](#parameter-diagnosticsettingsname) | string | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | Name of the Public IP Prefix. |
+| [`prefixLength`](#parameter-prefixlength) | int | Length of the Public IP Prefix. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`customIPPrefix`](#parameter-customipprefix) | object | The customIpPrefix that this prefix is associated with. A custom IP address prefix is a contiguous range of IP addresses owned by an external customer and provisioned into a subscription. When a custom IP prefix is in Provisioned, Commissioning, or Commissioned state, a linked public IP prefix can be created. Either as a subset of the custom IP prefix range or the entire range. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`location`](#parameter-location) | string | Location for all resources. |
+| [`lock`](#parameter-lock) | string | Specify the type of lock. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`tags`](#parameter-tags) | object | Tags of the resource. |
+
+### Parameter: `customIPPrefix`
+
+The customIpPrefix that this prefix is associated with. A custom IP address prefix is a contiguous range of IP addresses owned by an external customer and provisioned into a subscription. When a custom IP prefix is in Provisioned, Commissioning, or Commissioned state, a linked public IP prefix can be created. Either as a subset of the custom IP prefix range or the entire range.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `location`
+
+Location for all resources.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `lock`
+
+Specify the type of lock.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', CanNotDelete, ReadOnly]`
+
+### Parameter: `name`
+
+Name of the Public IP Prefix.
+- Required: Yes
+- Type: string
+
+### Parameter: `prefixLength`
+
+Length of the Public IP Prefix.
+- Required: Yes
+- Type: int
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `tags`
+
+Tags of the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The name of the public IP prefix. |
+| `resourceGroupName` | string | The resource group the public IP prefix was deployed into. |
+| `resourceId` | string | The resource ID of the public IP prefix. |
+
+## Cross-referenced modules
+
+_None_
diff --git a/modules/network/public-ip-prefix/main.json b/modules/network/public-ip-prefix/main.json
index 6c4991917a..be4b9e2e6f 100644
--- a/modules/network/public-ip-prefix/main.json
+++ b/modules/network/public-ip-prefix/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "8483631788691370434"
+ "version": "0.22.6.54827",
+ "templateHash": "823818284337127737"
},
"name": "Public IP Prefixes",
"description": "This module deploys a Public IP Prefix.",
@@ -153,8 +153,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "12600348536826609497"
+ "version": "0.22.6.54827",
+ "templateHash": "11602921617847310411"
}
},
"parameters": {
diff --git a/modules/network/route-table/.test/common/main.test.bicep b/modules/network/route-table/.test/common/main.test.bicep
index 4fafb95fe9..760b5c2741 100644
--- a/modules/network/route-table/.test/common/main.test.bicep
+++ b/modules/network/route-table/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/network/route-table/.test/min/main.test.bicep b/modules/network/route-table/.test/min/main.test.bicep
index 1171694e3e..1515b9a8fb 100644
--- a/modules/network/route-table/.test/min/main.test.bicep
+++ b/modules/network/route-table/.test/min/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using only defaults'
+metadata description = 'This instance deploys the module with the minimum set of required parameters.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/network/route-table/README.md b/modules/network/route-table/README.md
index cc9d1fc7b2..ce2ec44629 100644
--- a/modules/network/route-table/README.md
+++ b/modules/network/route-table/README.md
@@ -4,13 +4,13 @@ This module deploys a User Defined Route Table (UDR).
## Navigation
-- [Resource types](#Resource-types)
+- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
-## Resource types
+## Resource Types
| Resource Type | API Version |
| :-- | :-- |
@@ -18,55 +18,28 @@ This module deploys a User Defined Route Table (UDR).
| `Microsoft.Authorization/roleAssignments` | [2022-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2022-04-01/roleAssignments) |
| `Microsoft.Network/routeTables` | [2023-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2023-04-01/routeTables) |
-## Parameters
-
-**Required parameters**
-
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | Name given for the hub route table. |
-
-**Optional parameters**
-
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `disableBgpRoutePropagation` | bool | `False` | | Switch to disable BGP route propagation. |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `location` | string | `[resourceGroup().location]` | | Location for all resources. |
-| `lock` | string | `''` | `['', CanNotDelete, ReadOnly]` | Specify the type of lock. |
-| `roleAssignments` | array | `[]` | | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
-| `routes` | array | `[]` | | An Array of Routes to be established within the hub route table. |
-| `tags` | object | `{object}` | | Tags of the resource. |
+## Usage examples
+The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository.
-## Outputs
-
-| Output Name | Type | Description |
-| :-- | :-- | :-- |
-| `location` | string | The location the resource was deployed into. |
-| `name` | string | The name of the route table. |
-| `resourceGroupName` | string | The resource group the route table was deployed into. |
-| `resourceId` | string | The resource ID of the route table. |
-
-## Cross-referenced modules
+>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-_None_
+>**Note**: To reference the module, please use the following syntax `br:bicep/modules/network.route-table:1.0.0`.
-## Deployment examples
+- [Using large parameter set](#example-1-using-large-parameter-set)
+- [Using only defaults](#example-2-using-only-defaults)
-The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder.
- >**Note**: The name of each example is based on the name of the file from which it is taken.
+### Example 1: _Using large parameter set_
- >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
+This instance deploys the module with most of its features enabled.
-
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | Name given for the hub route table. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`disableBgpRoutePropagation`](#parameter-disablebgproutepropagation) | bool | Switch to disable BGP route propagation. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`location`](#parameter-location) | string | Location for all resources. |
+| [`lock`](#parameter-lock) | string | Specify the type of lock. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`routes`](#parameter-routes) | array | An Array of Routes to be established within the hub route table. |
+| [`tags`](#parameter-tags) | object | Tags of the resource. |
+
+### Parameter: `disableBgpRoutePropagation`
+
+Switch to disable BGP route propagation.
+- Required: No
+- Type: bool
+- Default: `False`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `location`
+
+Location for all resources.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `lock`
+
+Specify the type of lock.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', CanNotDelete, ReadOnly]`
+
+### Parameter: `name`
+
+Name given for the hub route table.
+- Required: Yes
+- Type: string
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `routes`
+
+An Array of Routes to be established within the hub route table.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `tags`
+
+Tags of the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The name of the route table. |
+| `resourceGroupName` | string | The resource group the route table was deployed into. |
+| `resourceId` | string | The resource ID of the route table. |
+
+## Cross-referenced modules
+
+_None_
diff --git a/modules/network/route-table/main.json b/modules/network/route-table/main.json
index 88ee39b935..af2f4acac1 100644
--- a/modules/network/route-table/main.json
+++ b/modules/network/route-table/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "16901020059432572250"
+ "version": "0.22.6.54827",
+ "templateHash": "14175124869769293837"
},
"name": "Route Tables",
"description": "This module deploys a User Defined Route Table (UDR).",
@@ -147,8 +147,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "15918129007023123856"
+ "version": "0.22.6.54827",
+ "templateHash": "5854028200493831551"
}
},
"parameters": {
diff --git a/modules/network/service-endpoint-policy/.test/common/main.test.bicep b/modules/network/service-endpoint-policy/.test/common/main.test.bicep
index a558092313..ef6675cda3 100644
--- a/modules/network/service-endpoint-policy/.test/common/main.test.bicep
+++ b/modules/network/service-endpoint-policy/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/network/service-endpoint-policy/.test/min/main.test.bicep b/modules/network/service-endpoint-policy/.test/min/main.test.bicep
index 24e0f500a5..7ac8d7747a 100644
--- a/modules/network/service-endpoint-policy/.test/min/main.test.bicep
+++ b/modules/network/service-endpoint-policy/.test/min/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using only defaults'
+metadata description = 'This instance deploys the module with the minimum set of required parameters.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/network/service-endpoint-policy/README.md b/modules/network/service-endpoint-policy/README.md
index 38a9157321..f58b19c384 100644
--- a/modules/network/service-endpoint-policy/README.md
+++ b/modules/network/service-endpoint-policy/README.md
@@ -5,10 +5,10 @@ This module deploys a Service Endpoint Policy.
## Navigation
- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
## Resource Types
@@ -18,56 +18,28 @@ This module deploys a Service Endpoint Policy.
| `Microsoft.Authorization/roleAssignments` | [2022-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2022-04-01/roleAssignments) |
| `Microsoft.Network/serviceEndpointPolicies` | [2023-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2023-04-01/serviceEndpointPolicies) |
-## Parameters
-
-**Required parameters**
-
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | The Service Endpoint Policy name. |
-
-**Optional parameters**
-
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `contextualServiceEndpointPolicies` | array | `[]` | | An Array of contextual service endpoint policy. |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `location` | string | `[resourceGroup().location]` | | Location for all resources. |
-| `lock` | string | `''` | `['', CanNotDelete, ReadOnly]` | Specify the type of lock. |
-| `roleAssignments` | array | `[]` | | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
-| `serviceAlias` | string | `''` | | The alias indicating if the policy belongs to a service. |
-| `serviceEndpointPolicyDefinitions` | array | `[]` | | An Array of service endpoint policy definitions. |
-| `tags` | object | `{object}` | | Tags of the resource. |
+## Usage examples
+The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository.
-## Outputs
+>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-| Output Name | Type | Description |
-| :-- | :-- | :-- |
-| `location` | string | The location the resource was deployed into. |
-| `name` | string | The name of the Service Endpoint Policy. |
-| `resourceGroupName` | string | The resource group the Service Endpoint Policy was deployed into. |
-| `resourceId` | string | The resource ID of the Service Endpoint Policy. |
+>**Note**: To reference the module, please use the following syntax `br:bicep/modules/network.service-endpoint-policy:1.0.0`.
-## Cross-referenced modules
+- [Using large parameter set](#example-1-using-large-parameter-set)
+- [Using only defaults](#example-2-using-only-defaults)
-_None_
+### Example 1: _Using large parameter set_
-## Deployment examples
+This instance deploys the module with most of its features enabled.
-The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder.
- >**Note**: The name of each example is based on the name of the file from which it is taken.
-
- >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-
-
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | The Service Endpoint Policy name. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`contextualServiceEndpointPolicies`](#parameter-contextualserviceendpointpolicies) | array | An Array of contextual service endpoint policy. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`location`](#parameter-location) | string | Location for all resources. |
+| [`lock`](#parameter-lock) | string | Specify the type of lock. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`serviceAlias`](#parameter-servicealias) | string | The alias indicating if the policy belongs to a service. |
+| [`serviceEndpointPolicyDefinitions`](#parameter-serviceendpointpolicydefinitions) | array | An Array of service endpoint policy definitions. |
+| [`tags`](#parameter-tags) | object | Tags of the resource. |
+
+### Parameter: `contextualServiceEndpointPolicies`
+
+An Array of contextual service endpoint policy.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `location`
+
+Location for all resources.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `lock`
+
+Specify the type of lock.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', CanNotDelete, ReadOnly]`
+
+### Parameter: `name`
+
+The Service Endpoint Policy name.
+- Required: Yes
+- Type: string
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `serviceAlias`
+
+The alias indicating if the policy belongs to a service.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `serviceEndpointPolicyDefinitions`
+
+An Array of service endpoint policy definitions.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `tags`
+
+Tags of the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The name of the Service Endpoint Policy. |
+| `resourceGroupName` | string | The resource group the Service Endpoint Policy was deployed into. |
+| `resourceId` | string | The resource ID of the Service Endpoint Policy. |
+
+## Cross-referenced modules
+
+_None_
diff --git a/modules/network/service-endpoint-policy/main.json b/modules/network/service-endpoint-policy/main.json
index 46c01805d0..da6271e05c 100644
--- a/modules/network/service-endpoint-policy/main.json
+++ b/modules/network/service-endpoint-policy/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "7581628455026938381"
+ "version": "0.22.6.54827",
+ "templateHash": "702238259297546605"
},
"name": "Service Endpoint Policies",
"description": "This module deploys a Service Endpoint Policy.",
@@ -155,8 +155,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "15055971962075100955"
+ "version": "0.22.6.54827",
+ "templateHash": "1377119003389114371"
}
},
"parameters": {
diff --git a/modules/network/trafficmanagerprofile/.test/common/main.test.bicep b/modules/network/trafficmanagerprofile/.test/common/main.test.bicep
index 7111fdb6dd..14ba90e0c3 100644
--- a/modules/network/trafficmanagerprofile/.test/common/main.test.bicep
+++ b/modules/network/trafficmanagerprofile/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/network/trafficmanagerprofile/.test/min/main.test.bicep b/modules/network/trafficmanagerprofile/.test/min/main.test.bicep
index d34573ba6c..b0100513d4 100644
--- a/modules/network/trafficmanagerprofile/.test/min/main.test.bicep
+++ b/modules/network/trafficmanagerprofile/.test/min/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using only defaults'
+metadata description = 'This instance deploys the module with the minimum set of required parameters.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/network/trafficmanagerprofile/README.md b/modules/network/trafficmanagerprofile/README.md
index d9db9a5dbe..614ac693bf 100644
--- a/modules/network/trafficmanagerprofile/README.md
+++ b/modules/network/trafficmanagerprofile/README.md
@@ -4,14 +4,14 @@ This module deploys a Traffic Manager Profile.
## Navigation
-- [Resource types](#Resource-types)
+- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
- [Notes](#Notes)
-## Resource types
+## Resource Types
| Resource Type | API Version |
| :-- | :-- |
@@ -20,66 +20,28 @@ This module deploys a Traffic Manager Profile.
| `Microsoft.Insights/diagnosticSettings` | [2021-05-01-preview](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Insights/2021-05-01-preview/diagnosticSettings) |
| `Microsoft.Network/trafficmanagerprofiles` | [2018-08-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2018-08-01/trafficmanagerprofiles) |
-## Parameters
-
-**Required parameters**
-
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | Name of the Traffic Manager. |
-| `relativeName` | string | The relative DNS name provided by this Traffic Manager profile. This value is combined with the DNS domain name used by Azure Traffic Manager to form the fully-qualified domain name (FQDN) of the profile. |
-
-**Optional parameters**
-
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `diagnosticEventHubAuthorizationRuleId` | string | `''` | | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
-| `diagnosticEventHubName` | string | `''` | | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
-| `diagnosticLogCategoriesToEnable` | array | `[allLogs]` | `['', allLogs, ProbeHealthStatusEvents]` | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
-| `diagnosticMetricsToEnable` | array | `[AllMetrics]` | `[AllMetrics]` | The name of metrics that will be streamed. |
-| `diagnosticSettingsName` | string | `''` | | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | Name of the Traffic Manager. |
+| [`relativeName`](#parameter-relativename) | string | The relative DNS name provided by this Traffic Manager profile. This value is combined with the DNS domain name used by Azure Traffic Manager to form the fully-qualified domain name (FQDN) of the profile. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`diagnosticEventHubAuthorizationRuleId`](#parameter-diagnosticeventhubauthorizationruleid) | string | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
+| [`diagnosticEventHubName`](#parameter-diagnosticeventhubname) | string | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
+| [`diagnosticLogCategoriesToEnable`](#parameter-diagnosticlogcategoriestoenable) | array | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
+| [`diagnosticMetricsToEnable`](#parameter-diagnosticmetricstoenable) | array | The name of metrics that will be streamed. |
+| [`diagnosticSettingsName`](#parameter-diagnosticsettingsname) | string | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`addressPrefix`](#parameter-addressprefix) | string | Address-prefix for this VirtualHub. |
+| [`name`](#parameter-name) | string | The virtual hub name. |
+| [`virtualWanId`](#parameter-virtualwanid) | string | Resource ID of the virtual WAN to link to. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`allowBranchToBranchTraffic`](#parameter-allowbranchtobranchtraffic) | bool | Flag to control transit for VirtualRouter hub. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`expressRouteGatewayId`](#parameter-expressroutegatewayid) | string | Resource ID of the Express Route Gateway to link to. |
+| [`hubRouteTables`](#parameter-hubroutetables) | array | Route tables to create for the virtual hub. |
+| [`hubVirtualNetworkConnections`](#parameter-hubvirtualnetworkconnections) | array | Virtual network connections to create for the virtual hub. |
+| [`location`](#parameter-location) | string | Location for all resources. |
+| [`lock`](#parameter-lock) | string | Specify the type of lock. |
+| [`p2SVpnGatewayId`](#parameter-p2svpngatewayid) | string | Resource ID of the Point-to-Site VPN Gateway to link to. |
+| [`preferredRoutingGateway`](#parameter-preferredroutinggateway) | string | The preferred routing gateway types. |
+| [`routeTableRoutes`](#parameter-routetableroutes) | array | VirtualHub route tables. |
+| [`securityPartnerProviderId`](#parameter-securitypartnerproviderid) | string | ID of the Security Partner Provider to link to. |
+| [`securityProviderName`](#parameter-securityprovidername) | string | The Security Provider name. |
+| [`sku`](#parameter-sku) | string | The sku of this VirtualHub. |
+| [`tags`](#parameter-tags) | object | Tags of the resource. |
+| [`virtualHubRouteTableV2s`](#parameter-virtualhubroutetablev2s) | array | List of all virtual hub route table v2s associated with this VirtualHub. |
+| [`virtualRouterAsn`](#parameter-virtualrouterasn) | int | VirtualRouter ASN. |
+| [`virtualRouterIps`](#parameter-virtualrouterips) | array | VirtualRouter IPs. |
+| [`vpnGatewayId`](#parameter-vpngatewayid) | string | Resource ID of the VPN Gateway to link to. |
+
+### Parameter: `addressPrefix`
+
+Address-prefix for this VirtualHub.
+- Required: Yes
+- Type: string
+
+### Parameter: `allowBranchToBranchTraffic`
+
+Flag to control transit for VirtualRouter hub.
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `expressRouteGatewayId`
+
+Resource ID of the Express Route Gateway to link to.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `hubRouteTables`
+
+Route tables to create for the virtual hub.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `hubVirtualNetworkConnections`
+
+Virtual network connections to create for the virtual hub.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `location`
+
+Location for all resources.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `lock`
+
+Specify the type of lock.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', CanNotDelete, ReadOnly]`
+
+### Parameter: `name`
+
+The virtual hub name.
+- Required: Yes
+- Type: string
+
+### Parameter: `p2SVpnGatewayId`
+
+Resource ID of the Point-to-Site VPN Gateway to link to.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `preferredRoutingGateway`
+
+The preferred routing gateway types.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', ExpressRoute, None, VpnGateway]`
+
+### Parameter: `routeTableRoutes`
+
+VirtualHub route tables.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `securityPartnerProviderId`
+
+ID of the Security Partner Provider to link to.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `securityProviderName`
+
+The Security Provider name.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `sku`
+
+The sku of this VirtualHub.
+- Required: No
+- Type: string
+- Default: `'Standard'`
+- Allowed: `[Basic, Standard]`
+
+### Parameter: `tags`
+
+Tags of the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `virtualHubRouteTableV2s`
+
+List of all virtual hub route table v2s associated with this VirtualHub.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `virtualRouterAsn`
+
+VirtualRouter ASN.
+- Required: No
+- Type: int
+- Default: `-1`
+
+### Parameter: `virtualRouterIps`
+
+VirtualRouter IPs.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `virtualWanId`
+
+Resource ID of the virtual WAN to link to.
+- Required: Yes
+- Type: string
+
+### Parameter: `vpnGatewayId`
+
+Resource ID of the VPN Gateway to link to.
+- Required: No
+- Type: string
+- Default: `''`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The name of the virtual hub. |
+| `resourceGroupName` | string | The resource group the virtual hub was deployed into. |
+| `resourceId` | string | The resource ID of the virtual hub. |
+
+## Cross-referenced modules
+
+_None_
diff --git a/modules/network/virtual-hub/hub-route-table/README.md b/modules/network/virtual-hub/hub-route-table/README.md
index dd27e32016..37e065b3e2 100644
--- a/modules/network/virtual-hub/hub-route-table/README.md
+++ b/modules/network/virtual-hub/hub-route-table/README.md
@@ -19,28 +19,61 @@ This module deploys a Virtual Hub Route Table.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `name` | string | The route table name. |
+| [`name`](#parameter-name) | string | The route table name. |
**Conditional parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `virtualHubName` | string | The name of the parent virtual hub. Required if the template is used in a standalone deployment. |
+| [`virtualHubName`](#parameter-virtualhubname) | string | The name of the parent virtual hub. Required if the template is used in a standalone deployment. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `labels` | array | `[]` | List of labels associated with this route table. |
-| `routes` | array | `[]` | List of all routes. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`labels`](#parameter-labels) | array | List of labels associated with this route table. |
+| [`routes`](#parameter-routes) | array | List of all routes. |
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `labels`
+
+List of labels associated with this route table.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `name`
+
+The route table name.
+- Required: Yes
+- Type: string
+
+### Parameter: `routes`
+
+List of all routes.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `virtualHubName`
+
+The name of the parent virtual hub. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The name of the deployed virtual hub route table. |
| `resourceGroupName` | string | The resource group the virtual hub route table was deployed into. |
diff --git a/modules/network/virtual-hub/hub-route-table/main.json b/modules/network/virtual-hub/hub-route-table/main.json
index 895c3a3a4f..801ad71e30 100644
--- a/modules/network/virtual-hub/hub-route-table/main.json
+++ b/modules/network/virtual-hub/hub-route-table/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "14518513912380539716"
+ "version": "0.22.6.54827",
+ "templateHash": "16158603795616593379"
},
"name": "Virtual Hub Route Tables",
"description": "This module deploys a Virtual Hub Route Table.",
diff --git a/modules/network/virtual-hub/hub-virtual-network-connection/README.md b/modules/network/virtual-hub/hub-virtual-network-connection/README.md
index bd663aeb43..91988c38ee 100644
--- a/modules/network/virtual-hub/hub-virtual-network-connection/README.md
+++ b/modules/network/virtual-hub/hub-virtual-network-connection/README.md
@@ -19,29 +19,68 @@ This module deploys a Virtual Hub Virtual Network Connection.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `name` | string | The connection name. |
-| `remoteVirtualNetworkId` | string | Resource ID of the virtual network to link to. |
+| [`name`](#parameter-name) | string | The connection name. |
+| [`remoteVirtualNetworkId`](#parameter-remotevirtualnetworkid) | string | Resource ID of the virtual network to link to. |
**Conditional parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `virtualHubName` | string | The name of the parent virtual hub. Required if the template is used in a standalone deployment. |
+| [`virtualHubName`](#parameter-virtualhubname) | string | The name of the parent virtual hub. Required if the template is used in a standalone deployment. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `enableInternetSecurity` | bool | `True` | Enable internet security. |
-| `routingConfiguration` | object | `{object}` | Routing Configuration indicating the associated and propagated route tables for this connection. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`enableInternetSecurity`](#parameter-enableinternetsecurity) | bool | Enable internet security. |
+| [`routingConfiguration`](#parameter-routingconfiguration) | object | Routing Configuration indicating the associated and propagated route tables for this connection. |
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `enableInternetSecurity`
+
+Enable internet security.
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `name`
+
+The connection name.
+- Required: Yes
+- Type: string
+
+### Parameter: `remoteVirtualNetworkId`
+
+Resource ID of the virtual network to link to.
+- Required: Yes
+- Type: string
+
+### Parameter: `routingConfiguration`
+
+Routing Configuration indicating the associated and propagated route tables for this connection.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `virtualHubName`
+
+The name of the parent virtual hub. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The name of the virtual hub connection. |
| `resourceGroupName` | string | The resource group the virtual hub connection was deployed into. |
diff --git a/modules/network/virtual-hub/hub-virtual-network-connection/main.json b/modules/network/virtual-hub/hub-virtual-network-connection/main.json
index 3fe3471be2..c514e9baaa 100644
--- a/modules/network/virtual-hub/hub-virtual-network-connection/main.json
+++ b/modules/network/virtual-hub/hub-virtual-network-connection/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "5767473063979797254"
+ "version": "0.22.6.54827",
+ "templateHash": "16334618854228578572"
},
"name": "Virtual Hub Virtual Network Connections",
"description": "This module deploys a Virtual Hub Virtual Network Connection.",
diff --git a/modules/network/virtual-hub/main.json b/modules/network/virtual-hub/main.json
index 2b0279e698..5e0c591d00 100644
--- a/modules/network/virtual-hub/main.json
+++ b/modules/network/virtual-hub/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "4151058169679427361"
+ "version": "0.22.6.54827",
+ "templateHash": "6969570927166088400"
},
"name": "Virtual Hubs",
"description": "This module deploys a Virtual Hub.\r\nIf you are planning to deploy a Secure Virtual Hub (with an Azure Firewall integrated), please refer to the Azure Firewall module.",
@@ -261,8 +261,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "7824851023582113714"
+ "version": "0.22.6.54827",
+ "templateHash": "16158603795616593379"
},
"name": "Virtual Hub Route Tables",
"description": "This module deploys a Virtual Hub Route Table.",
@@ -392,8 +392,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "9197169920166780501"
+ "version": "0.22.6.54827",
+ "templateHash": "16334618854228578572"
},
"name": "Virtual Hub Virtual Network Connections",
"description": "This module deploys a Virtual Hub Virtual Network Connection.",
diff --git a/modules/network/virtual-network-gateway/README.md b/modules/network/virtual-network-gateway/README.md
index 31e33bd461..98a0acccc9 100644
--- a/modules/network/virtual-network-gateway/README.md
+++ b/modules/network/virtual-network-gateway/README.md
@@ -4,13 +4,13 @@ This module deploys a Virtual Network Gateway.
## Navigation
-- [Resource types](#Resource-types)
+- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
-## Resource types
+## Resource Types
| Resource Type | API Version |
| :-- | :-- |
@@ -21,92 +21,26 @@ This module deploys a Virtual Network Gateway.
| `Microsoft.Network/virtualNetworkGateways` | [2023-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2023-04-01/virtualNetworkGateways) |
| `Microsoft.Network/virtualNetworkGateways/natRules` | [2023-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2023-04-01/virtualNetworkGateways/natRules) |
-## Parameters
-
-**Required parameters**
-
-| Parameter Name | Type | Allowed Values | Description |
-| :-- | :-- | :-- | :-- |
-| `gatewayType` | string | `[ExpressRoute, Vpn]` | Specifies the gateway type. E.g. VPN, ExpressRoute. |
-| `name` | string | | Specifies the Virtual Network Gateway name. |
-| `skuName` | string | `[Basic, ErGw1AZ, ErGw2AZ, ErGw3AZ, HighPerformance, Standard, UltraPerformance, VpnGw1, VpnGw1AZ, VpnGw2, VpnGw2AZ, VpnGw3, VpnGw3AZ, VpnGw4, VpnGw4AZ, VpnGw5, VpnGw5AZ]` | The SKU of the Gateway. |
-| `vNetResourceId` | string | | Virtual Network resource ID. |
-
-**Optional parameters**
-
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `activeActive` | bool | `True` | | Value to specify if the Gateway should be deployed in active-active or active-passive configuration. |
-| `activeGatewayPipName` | string | `[format('{0}-pip2', parameters('name'))]` | | Specifies the name of the Public IP used by the Virtual Network Gateway when active-active configuration is required. If it's not provided, a '-pip' suffix will be appended to the gateway's name. |
-| `allowRemoteVnetTraffic` | bool | `False` | | Configure this gateway to accept traffic from other Azure Virtual Networks. This configuration does not support connectivity to Azure Virtual WAN. |
-| `allowVirtualWanTraffic` | bool | `False` | | Configures this gateway to accept traffic from remote Virtual WAN networks. |
-| `asn` | int | `65815` | | ASN value. |
-| `clientRevokedCertThumbprint` | string | `''` | | Thumbprint of the revoked certificate. This would revoke VPN client certificates matching this thumbprint from connecting to the VNet. |
-| `clientRootCertData` | string | `''` | | Client root certificate data used to authenticate VPN clients. Cannot be configured if vpnClientAadConfiguration is provided. |
-| `diagnosticEventHubAuthorizationRuleId` | string | `''` | | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
-| `diagnosticEventHubName` | string | `''` | | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
-| `diagnosticMetricsToEnable` | array | `[AllMetrics]` | `[AllMetrics]` | The name of metrics that will be streamed. |
-| `diagnosticSettingsName` | string | `''` | | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`gatewayType`](#parameter-gatewaytype) | string | Specifies the gateway type. E.g. VPN, ExpressRoute. |
+| [`name`](#parameter-name) | string | Specifies the Virtual Network Gateway name. |
+| [`skuName`](#parameter-skuname) | string | The SKU of the Gateway. |
+| [`vNetResourceId`](#parameter-vnetresourceid) | string | Virtual Network resource ID. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`activeActive`](#parameter-activeactive) | bool | Value to specify if the Gateway should be deployed in active-active or active-passive configuration. |
+| [`activeGatewayPipName`](#parameter-activegatewaypipname) | string | Specifies the name of the Public IP used by the Virtual Network Gateway when active-active configuration is required. If it's not provided, a '-pip' suffix will be appended to the gateway's name. |
+| [`allowRemoteVnetTraffic`](#parameter-allowremotevnettraffic) | bool | Configure this gateway to accept traffic from other Azure Virtual Networks. This configuration does not support connectivity to Azure Virtual WAN. |
+| [`allowVirtualWanTraffic`](#parameter-allowvirtualwantraffic) | bool | Configures this gateway to accept traffic from remote Virtual WAN networks. |
+| [`asn`](#parameter-asn) | int | ASN value. |
+| [`clientRevokedCertThumbprint`](#parameter-clientrevokedcertthumbprint) | string | Thumbprint of the revoked certificate. This would revoke VPN client certificates matching this thumbprint from connecting to the VNet. |
+| [`clientRootCertData`](#parameter-clientrootcertdata) | string | Client root certificate data used to authenticate VPN clients. Cannot be configured if vpnClientAadConfiguration is provided. |
+| [`diagnosticEventHubAuthorizationRuleId`](#parameter-diagnosticeventhubauthorizationruleid) | string | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
+| [`diagnosticEventHubName`](#parameter-diagnosticeventhubname) | string | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
+| [`diagnosticMetricsToEnable`](#parameter-diagnosticmetricstoenable) | array | The name of metrics that will be streamed. |
+| [`diagnosticSettingsName`](#parameter-diagnosticsettingsname) | string | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
-
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`addressPrefixes`](#parameter-addressprefixes) | array | An Array of 1 or more IP Address Prefixes for the Virtual Network. |
+| [`name`](#parameter-name) | string | The Virtual Network (vNet) Name. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`ddosProtectionPlanId`](#parameter-ddosprotectionplanid) | string | Resource ID of the DDoS protection plan to assign the VNET to. If it's left blank, DDoS protection will not be configured. If it's provided, the VNET created by this template will be attached to the referenced DDoS protection plan. The DDoS protection plan can exist in the same or in a different subscription. |
+| [`diagnosticEventHubAuthorizationRuleId`](#parameter-diagnosticeventhubauthorizationruleid) | string | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
+| [`diagnosticEventHubName`](#parameter-diagnosticeventhubname) | string | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
+| [`diagnosticLogCategoriesToEnable`](#parameter-diagnosticlogcategoriestoenable) | array | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
+| [`diagnosticMetricsToEnable`](#parameter-diagnosticmetricstoenable) | array | The name of metrics that will be streamed. |
+| [`diagnosticSettingsName`](#parameter-diagnosticsettingsname) | string | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | Name of the Virtual WAN. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`allowBranchToBranchTraffic`](#parameter-allowbranchtobranchtraffic) | bool | True if branch to branch traffic is allowed. |
+| [`allowVnetToVnetTraffic`](#parameter-allowvnettovnettraffic) | bool | True if VNET to VNET traffic is allowed. |
+| [`disableVpnEncryption`](#parameter-disablevpnencryption) | bool | VPN encryption to be disabled or not. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`location`](#parameter-location) | string | Location where all resources will be created. |
+| [`lock`](#parameter-lock) | string | Specify the type of lock. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`tags`](#parameter-tags) | object | Tags of the resource. |
+| [`type`](#parameter-type) | string | The type of the Virtual WAN. |
+
+### Parameter: `allowBranchToBranchTraffic`
+
+True if branch to branch traffic is allowed.
+- Required: No
+- Type: bool
+- Default: `False`
+
+### Parameter: `allowVnetToVnetTraffic`
+
+True if VNET to VNET traffic is allowed.
+- Required: No
+- Type: bool
+- Default: `False`
+
+### Parameter: `disableVpnEncryption`
+
+VPN encryption to be disabled or not.
+- Required: No
+- Type: bool
+- Default: `False`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `location`
+
+Location where all resources will be created.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `lock`
+
+Specify the type of lock.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', CanNotDelete, ReadOnly]`
+
+### Parameter: `name`
+
+Name of the Virtual WAN.
+- Required: Yes
+- Type: string
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `tags`
+
+Tags of the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `type`
+
+The type of the Virtual WAN.
+- Required: No
+- Type: string
+- Default: `'Standard'`
+- Allowed: `[Basic, Standard]`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The name of the virtual WAN. |
+| `resourceGroupName` | string | The resource group the virtual WAN was deployed into. |
+| `resourceId` | string | The resource ID of the virtual WAN. |
+
+## Cross-referenced modules
+
+_None_
diff --git a/modules/network/virtual-wan/main.json b/modules/network/virtual-wan/main.json
index 7d82f973b8..f7c0e84e62 100644
--- a/modules/network/virtual-wan/main.json
+++ b/modules/network/virtual-wan/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "2653906358986045673"
+ "version": "0.22.6.54827",
+ "templateHash": "6166970702359791938"
},
"name": "Virtual WANs",
"description": "This module deploys a Virtual WAN.",
@@ -167,8 +167,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "6282617647386769433"
+ "version": "0.22.6.54827",
+ "templateHash": "2713904896388571012"
}
},
"parameters": {
diff --git a/modules/network/vpn-gateway/.test/common/main.test.bicep b/modules/network/vpn-gateway/.test/common/main.test.bicep
index 757556890f..7496548a25 100644
--- a/modules/network/vpn-gateway/.test/common/main.test.bicep
+++ b/modules/network/vpn-gateway/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/network/vpn-gateway/.test/min/main.test.bicep b/modules/network/vpn-gateway/.test/min/main.test.bicep
index 4e11cce7a9..f050ca9adc 100644
--- a/modules/network/vpn-gateway/.test/min/main.test.bicep
+++ b/modules/network/vpn-gateway/.test/min/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using only defaults'
+metadata description = 'This instance deploys the module with the minimum set of required parameters.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/network/vpn-gateway/README.md b/modules/network/vpn-gateway/README.md
index 8fd26e019d..67cfe344a8 100644
--- a/modules/network/vpn-gateway/README.md
+++ b/modules/network/vpn-gateway/README.md
@@ -5,10 +5,10 @@ This module deploys a VPN Gateway.
## Navigation
- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
- [Notes](#Notes)
## Resource Types
@@ -20,59 +20,28 @@ This module deploys a VPN Gateway.
| `Microsoft.Network/vpnGateways/natRules` | [2023-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2023-04-01/vpnGateways/natRules) |
| `Microsoft.Network/vpnGateways/vpnConnections` | [2023-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2023-04-01/vpnGateways/vpnConnections) |
-## Parameters
+## Usage examples
-**Required parameters**
+The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository.
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | Name of the VPN gateway. |
-| `virtualHubResourceId` | string | The resource ID of a virtual Hub to connect to. Note: The virtual Hub and Gateway must be deployed into the same location. |
-
-**Optional parameters**
-
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `bgpSettings` | object | `{object}` | | BGP settings details. |
-| `enableBgpRouteTranslationForNat` | bool | `False` | | Enable BGP routes translation for NAT on this VPN gateway. |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `isRoutingPreferenceInternet` | bool | `False` | | Enable routing preference property for the public IP interface of the VPN gateway. |
-| `location` | string | `[resourceGroup().location]` | | Location where all resources will be created. |
-| `lock` | string | `''` | `['', CanNotDelete, ReadOnly]` | Specify the type of lock. |
-| `natRules` | array | `[]` | | List of all the NAT Rules to associate with the gateway. |
-| `tags` | object | `{object}` | | Tags of the resource. |
-| `vpnConnections` | array | `[]` | | The VPN connections to create in the VPN gateway. |
-| `vpnGatewayScaleUnit` | int | `2` | | The scale unit for this VPN gateway. |
-
-
-## Outputs
-
-| Output Name | Type | Description |
-| :-- | :-- | :-- |
-| `location` | string | The location the resource was deployed into. |
-| `name` | string | The name of the VPN gateway. |
-| `resourceGroupName` | string | The name of the resource group the VPN gateway was deployed into. |
-| `resourceId` | string | The resource ID of the VPN gateway. |
-
-## Cross-referenced modules
+>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-_None_
+>**Note**: To reference the module, please use the following syntax `br:bicep/modules/network.vpn-gateway:1.0.0`.
-## Deployment examples
+- [Using large parameter set](#example-1-using-large-parameter-set)
+- [Using only defaults](#example-2-using-only-defaults)
-The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder.
- >**Note**: The name of each example is based on the name of the file from which it is taken.
+### Example 1: _Using large parameter set_
- >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
+This instance deploys the module with most of its features enabled.
-
-
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | Name of the VPN gateway. |
+| [`virtualHubResourceId`](#parameter-virtualhubresourceid) | string | The resource ID of a virtual Hub to connect to. Note: The virtual Hub and Gateway must be deployed into the same location. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`bgpSettings`](#parameter-bgpsettings) | object | BGP settings details. |
+| [`enableBgpRouteTranslationForNat`](#parameter-enablebgproutetranslationfornat) | bool | Enable BGP routes translation for NAT on this VPN gateway. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`isRoutingPreferenceInternet`](#parameter-isroutingpreferenceinternet) | bool | Enable routing preference property for the public IP interface of the VPN gateway. |
+| [`location`](#parameter-location) | string | Location where all resources will be created. |
+| [`lock`](#parameter-lock) | string | Specify the type of lock. |
+| [`natRules`](#parameter-natrules) | array | List of all the NAT Rules to associate with the gateway. |
+| [`tags`](#parameter-tags) | object | Tags of the resource. |
+| [`vpnConnections`](#parameter-vpnconnections) | array | The VPN connections to create in the VPN gateway. |
+| [`vpnGatewayScaleUnit`](#parameter-vpngatewayscaleunit) | int | The scale unit for this VPN gateway. |
+
+### Parameter: `bgpSettings`
+
+BGP settings details.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `enableBgpRouteTranslationForNat`
+
+Enable BGP routes translation for NAT on this VPN gateway.
+- Required: No
+- Type: bool
+- Default: `False`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `isRoutingPreferenceInternet`
+
+Enable routing preference property for the public IP interface of the VPN gateway.
+- Required: No
+- Type: bool
+- Default: `False`
+
+### Parameter: `location`
+
+Location where all resources will be created.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `lock`
+
+Specify the type of lock.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', CanNotDelete, ReadOnly]`
+
+### Parameter: `name`
+
+Name of the VPN gateway.
+- Required: Yes
+- Type: string
+
+### Parameter: `natRules`
+
+List of all the NAT Rules to associate with the gateway.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `tags`
+
+Tags of the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `virtualHubResourceId`
+
+The resource ID of a virtual Hub to connect to. Note: The virtual Hub and Gateway must be deployed into the same location.
+- Required: Yes
+- Type: string
+
+### Parameter: `vpnConnections`
+
+The VPN connections to create in the VPN gateway.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `vpnGatewayScaleUnit`
+
+The scale unit for this VPN gateway.
+- Required: No
+- Type: int
+- Default: `2`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The name of the VPN gateway. |
+| `resourceGroupName` | string | The name of the resource group the VPN gateway was deployed into. |
+| `resourceId` | string | The resource ID of the VPN gateway. |
+
+## Cross-referenced modules
+
+_None_
+
## Notes
### Parameter Usage: `bgpSettings`
diff --git a/modules/network/vpn-gateway/main.json b/modules/network/vpn-gateway/main.json
index d3ab277ddd..16bd090a25 100644
--- a/modules/network/vpn-gateway/main.json
+++ b/modules/network/vpn-gateway/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "7609266096220214410"
+ "version": "0.22.6.54827",
+ "templateHash": "9631635231747205865"
},
"name": "VPN Gateways",
"description": "This module deploys a VPN Gateway.",
@@ -183,8 +183,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "6459241670864504569"
+ "version": "0.22.6.54827",
+ "templateHash": "4165642550711844737"
},
"name": "VPN Gateway NAT Rules",
"description": "This module deploys a VPN Gateway NAT Rule.",
@@ -357,8 +357,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "9210756491180563718"
+ "version": "0.22.6.54827",
+ "templateHash": "13660788048333105050"
},
"name": "VPN Gateway VPN Connections",
"description": "This module deploys a VPN Gateway VPN Connection.",
diff --git a/modules/network/vpn-gateway/nat-rule/README.md b/modules/network/vpn-gateway/nat-rule/README.md
index 6155ca0fc1..8ce3c4b7a9 100644
--- a/modules/network/vpn-gateway/nat-rule/README.md
+++ b/modules/network/vpn-gateway/nat-rule/README.md
@@ -19,31 +19,87 @@ This module deploys a VPN Gateway NAT Rule.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `name` | string | The name of the NAT rule. |
+| [`name`](#parameter-name) | string | The name of the NAT rule. |
**Conditional parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `vpnGatewayName` | string | The name of the parent VPN gateway this NAT rule is associated with. Required if the template is used in a standalone deployment. |
+| [`vpnGatewayName`](#parameter-vpngatewayname) | string | The name of the parent VPN gateway this NAT rule is associated with. Required if the template is used in a standalone deployment. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `externalMappings` | array | `[]` | | An address prefix range of destination IPs on the outside network that source IPs will be mapped to. In other words, your post-NAT address prefix range. |
-| `internalMappings` | array | `[]` | | An address prefix range of source IPs on the inside network that will be mapped to a set of external IPs. In other words, your pre-NAT address prefix range. |
-| `ipConfigurationId` | string | `''` | | A NAT rule must be configured to a specific VPN Gateway instance. This is applicable to Dynamic NAT only. Static NAT rules are automatically applied to both VPN Gateway instances. |
-| `mode` | string | `''` | `['', EgressSnat, IngressSnat]` | The type of NAT rule for VPN NAT. IngressSnat mode (also known as Ingress Source NAT) is applicable to traffic entering the Azure hub's site-to-site VPN gateway. EgressSnat mode (also known as Egress Source NAT) is applicable to traffic leaving the Azure hub's Site-to-site VPN gateway. |
-| `type` | string | `''` | `['', Dynamic, Static]` | The type of NAT rule for VPN NAT. Static one-to-one NAT establishes a one-to-one relationship between an internal address and an external address while Dynamic NAT assigns an IP and port based on availability. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`externalMappings`](#parameter-externalmappings) | array | An address prefix range of destination IPs on the outside network that source IPs will be mapped to. In other words, your post-NAT address prefix range. |
+| [`internalMappings`](#parameter-internalmappings) | array | An address prefix range of source IPs on the inside network that will be mapped to a set of external IPs. In other words, your pre-NAT address prefix range. |
+| [`ipConfigurationId`](#parameter-ipconfigurationid) | string | A NAT rule must be configured to a specific VPN Gateway instance. This is applicable to Dynamic NAT only. Static NAT rules are automatically applied to both VPN Gateway instances. |
+| [`mode`](#parameter-mode) | string | The type of NAT rule for VPN NAT. IngressSnat mode (also known as Ingress Source NAT) is applicable to traffic entering the Azure hub's site-to-site VPN gateway. EgressSnat mode (also known as Egress Source NAT) is applicable to traffic leaving the Azure hub's Site-to-site VPN gateway. |
+| [`type`](#parameter-type) | string | The type of NAT rule for VPN NAT. Static one-to-one NAT establishes a one-to-one relationship between an internal address and an external address while Dynamic NAT assigns an IP and port based on availability. |
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `externalMappings`
+
+An address prefix range of destination IPs on the outside network that source IPs will be mapped to. In other words, your post-NAT address prefix range.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `internalMappings`
+
+An address prefix range of source IPs on the inside network that will be mapped to a set of external IPs. In other words, your pre-NAT address prefix range.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `ipConfigurationId`
+
+A NAT rule must be configured to a specific VPN Gateway instance. This is applicable to Dynamic NAT only. Static NAT rules are automatically applied to both VPN Gateway instances.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `mode`
+
+The type of NAT rule for VPN NAT. IngressSnat mode (also known as Ingress Source NAT) is applicable to traffic entering the Azure hub's site-to-site VPN gateway. EgressSnat mode (also known as Egress Source NAT) is applicable to traffic leaving the Azure hub's Site-to-site VPN gateway.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', EgressSnat, IngressSnat]`
+
+### Parameter: `name`
+
+The name of the NAT rule.
+- Required: Yes
+- Type: string
+
+### Parameter: `type`
+
+The type of NAT rule for VPN NAT. Static one-to-one NAT establishes a one-to-one relationship between an internal address and an external address while Dynamic NAT assigns an IP and port based on availability.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', Dynamic, Static]`
+
+### Parameter: `vpnGatewayName`
+
+The name of the parent VPN gateway this NAT rule is associated with. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The name of the NAT rule. |
| `resourceGroupName` | string | The name of the resource group the NAT rule was deployed into. |
diff --git a/modules/network/vpn-gateway/nat-rule/main.json b/modules/network/vpn-gateway/nat-rule/main.json
index 2bf42881b7..9be53d2e0d 100644
--- a/modules/network/vpn-gateway/nat-rule/main.json
+++ b/modules/network/vpn-gateway/nat-rule/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "6991949008498259337"
+ "version": "0.22.6.54827",
+ "templateHash": "4165642550711844737"
},
"name": "VPN Gateway NAT Rules",
"description": "This module deploys a VPN Gateway NAT Rule.",
diff --git a/modules/network/vpn-gateway/vpn-connection/README.md b/modules/network/vpn-gateway/vpn-connection/README.md
index 624aacd235..76988787ad 100644
--- a/modules/network/vpn-gateway/vpn-connection/README.md
+++ b/modules/network/vpn-gateway/vpn-connection/README.md
@@ -20,40 +20,158 @@ This module deploys a VPN Gateway VPN Connection.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `name` | string | The name of the VPN connection. |
+| [`name`](#parameter-name) | string | The name of the VPN connection. |
**Conditional parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `vpnGatewayName` | string | The name of the parent VPN gateway this VPN connection is associated with. Required if the template is used in a standalone deployment. |
+| [`vpnGatewayName`](#parameter-vpngatewayname) | string | The name of the parent VPN gateway this VPN connection is associated with. Required if the template is used in a standalone deployment. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `connectionBandwidth` | int | `10` | | Expected bandwidth in MBPS. |
-| `enableBgp` | bool | `False` | | Enable BGP flag. |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `enableInternetSecurity` | bool | `False` | | Enable internet security. |
-| `enableRateLimiting` | bool | `False` | | Enable rate limiting. |
-| `ipsecPolicies` | array | `[]` | | The IPSec policies to be considered by this connection. |
-| `remoteVpnSiteResourceId` | string | `''` | | Reference to a VPN site to link to. |
-| `routingConfiguration` | object | `{object}` | | Routing configuration indicating the associated and propagated route tables for this connection. |
-| `routingWeight` | int | `0` | | Routing weight for VPN connection. |
-| `sharedKey` | securestring | `''` | | SharedKey for the VPN connection. |
-| `trafficSelectorPolicies` | array | `[]` | | The traffic selector policies to be considered by this connection. |
-| `useLocalAzureIpAddress` | bool | `False` | | Use local Azure IP to initiate connection. |
-| `usePolicyBasedTrafficSelectors` | bool | `False` | | Enable policy-based traffic selectors. |
-| `vpnConnectionProtocolType` | string | `'IKEv2'` | `[IKEv1, IKEv2]` | Gateway connection protocol. |
-| `vpnLinkConnections` | array | `[]` | | List of all VPN site link connections to the gateway. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`connectionBandwidth`](#parameter-connectionbandwidth) | int | Expected bandwidth in MBPS. |
+| [`enableBgp`](#parameter-enablebgp) | bool | Enable BGP flag. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`enableInternetSecurity`](#parameter-enableinternetsecurity) | bool | Enable internet security. |
+| [`enableRateLimiting`](#parameter-enableratelimiting) | bool | Enable rate limiting. |
+| [`ipsecPolicies`](#parameter-ipsecpolicies) | array | The IPSec policies to be considered by this connection. |
+| [`remoteVpnSiteResourceId`](#parameter-remotevpnsiteresourceid) | string | Reference to a VPN site to link to. |
+| [`routingConfiguration`](#parameter-routingconfiguration) | object | Routing configuration indicating the associated and propagated route tables for this connection. |
+| [`routingWeight`](#parameter-routingweight) | int | Routing weight for VPN connection. |
+| [`sharedKey`](#parameter-sharedkey) | securestring | SharedKey for the VPN connection. |
+| [`trafficSelectorPolicies`](#parameter-trafficselectorpolicies) | array | The traffic selector policies to be considered by this connection. |
+| [`useLocalAzureIpAddress`](#parameter-uselocalazureipaddress) | bool | Use local Azure IP to initiate connection. |
+| [`usePolicyBasedTrafficSelectors`](#parameter-usepolicybasedtrafficselectors) | bool | Enable policy-based traffic selectors. |
+| [`vpnConnectionProtocolType`](#parameter-vpnconnectionprotocoltype) | string | Gateway connection protocol. |
+| [`vpnLinkConnections`](#parameter-vpnlinkconnections) | array | List of all VPN site link connections to the gateway. |
+
+### Parameter: `connectionBandwidth`
+
+Expected bandwidth in MBPS.
+- Required: No
+- Type: int
+- Default: `10`
+
+### Parameter: `enableBgp`
+
+Enable BGP flag.
+- Required: No
+- Type: bool
+- Default: `False`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `enableInternetSecurity`
+
+Enable internet security.
+- Required: No
+- Type: bool
+- Default: `False`
+
+### Parameter: `enableRateLimiting`
+
+Enable rate limiting.
+- Required: No
+- Type: bool
+- Default: `False`
+
+### Parameter: `ipsecPolicies`
+
+The IPSec policies to be considered by this connection.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `name`
+
+The name of the VPN connection.
+- Required: Yes
+- Type: string
+
+### Parameter: `remoteVpnSiteResourceId`
+
+Reference to a VPN site to link to.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `routingConfiguration`
+
+Routing configuration indicating the associated and propagated route tables for this connection.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `routingWeight`
+
+Routing weight for VPN connection.
+- Required: No
+- Type: int
+- Default: `0`
+
+### Parameter: `sharedKey`
+
+SharedKey for the VPN connection.
+- Required: No
+- Type: securestring
+- Default: `''`
+
+### Parameter: `trafficSelectorPolicies`
+
+The traffic selector policies to be considered by this connection.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `useLocalAzureIpAddress`
+
+Use local Azure IP to initiate connection.
+- Required: No
+- Type: bool
+- Default: `False`
+
+### Parameter: `usePolicyBasedTrafficSelectors`
+
+Enable policy-based traffic selectors.
+- Required: No
+- Type: bool
+- Default: `False`
+
+### Parameter: `vpnConnectionProtocolType`
+
+Gateway connection protocol.
+- Required: No
+- Type: string
+- Default: `'IKEv2'`
+- Allowed: `[IKEv1, IKEv2]`
+
+### Parameter: `vpnGatewayName`
+
+The name of the parent VPN gateway this VPN connection is associated with. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
+
+### Parameter: `vpnLinkConnections`
+
+List of all VPN site link connections to the gateway.
+- Required: No
+- Type: array
+- Default: `[]`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The name of the VPN connection. |
| `resourceGroupName` | string | The name of the resource group the VPN connection was deployed into. |
diff --git a/modules/network/vpn-gateway/vpn-connection/main.json b/modules/network/vpn-gateway/vpn-connection/main.json
index e626d18b2a..a4ad3b7923 100644
--- a/modules/network/vpn-gateway/vpn-connection/main.json
+++ b/modules/network/vpn-gateway/vpn-connection/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "9210756491180563718"
+ "version": "0.22.6.54827",
+ "templateHash": "13660788048333105050"
},
"name": "VPN Gateway VPN Connections",
"description": "This module deploys a VPN Gateway VPN Connection.",
diff --git a/modules/network/vpn-site/.test/common/main.test.bicep b/modules/network/vpn-site/.test/common/main.test.bicep
index e1b0470cd9..bfcbcbb6ad 100644
--- a/modules/network/vpn-site/.test/common/main.test.bicep
+++ b/modules/network/vpn-site/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/network/vpn-site/.test/min/main.test.bicep b/modules/network/vpn-site/.test/min/main.test.bicep
index f20486d112..7a564ddcfa 100644
--- a/modules/network/vpn-site/.test/min/main.test.bicep
+++ b/modules/network/vpn-site/.test/min/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using only defaults'
+metadata description = 'This instance deploys the module with the minimum set of required parameters.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/network/vpn-site/README.md b/modules/network/vpn-site/README.md
index ea575095be..d231248df9 100644
--- a/modules/network/vpn-site/README.md
+++ b/modules/network/vpn-site/README.md
@@ -5,10 +5,10 @@ This module deploys a VPN Site.
## Navigation
- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
- [Notes](#Notes)
## Resource Types
@@ -19,66 +19,28 @@ This module deploys a VPN Site.
| `Microsoft.Authorization/roleAssignments` | [2022-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2022-04-01/roleAssignments) |
| `Microsoft.Network/vpnSites` | [2023-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2023-04-01/vpnSites) |
-## Parameters
-
-**Required parameters**
-
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | Name of the VPN Site. |
-| `virtualWanId` | string | Resource ID of the virtual WAN to link to. |
-
-**Conditional parameters**
-
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `addressPrefixes` | array | An array of IP address ranges that can be used by subnets of the virtual network. Required if no bgpProperties or VPNSiteLinks are configured. |
-| `bgpProperties` | object | BGP settings details. Note: This is a deprecated property, please use the corresponding VpnSiteLinks property instead. Required if no addressPrefixes or VPNSiteLinks are configured. |
-
-**Optional parameters**
-
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `deviceProperties` | object | `{object}` | | List of properties of the device. |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `ipAddress` | string | `''` | | The IP-address for the VPN-site. Note: This is a deprecated property, please use the corresponding VpnSiteLinks property instead. |
-| `isSecuritySite` | bool | `False` | | IsSecuritySite flag. |
-| `location` | string | `[resourceGroup().location]` | | Location where all resources will be created. |
-| `lock` | string | `''` | `['', CanNotDelete, ReadOnly]` | Specify the type of lock. |
-| `o365Policy` | object | `{object}` | | The Office365 breakout policy. |
-| `roleAssignments` | array | `[]` | | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
-| `tags` | object | `{object}` | | Tags of the resource. |
-| `vpnSiteLinks` | array | `[]` | | List of all VPN site links. |
-
-
-## Outputs
+## Usage examples
-| Output Name | Type | Description |
-| :-- | :-- | :-- |
-| `location` | string | The location the resource was deployed into. |
-| `name` | string | The name of the VPN site. |
-| `resourceGroupName` | string | The resource group the VPN site was deployed into. |
-| `resourceId` | string | The resource ID of the VPN site. |
+The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository.
-## Cross-referenced modules
+>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-_None_
+>**Note**: To reference the module, please use the following syntax `br:bicep/modules/network.vpn-site:1.0.0`.
-## Deployment examples
+- [Using large parameter set](#example-1-using-large-parameter-set)
+- [Using only defaults](#example-2-using-only-defaults)
-The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder.
- >**Note**: The name of each example is based on the name of the file from which it is taken.
+### Example 1: _Using large parameter set_
- >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
+This instance deploys the module with most of its features enabled.
-
-
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | Name of the VPN Site. |
+| [`virtualWanId`](#parameter-virtualwanid) | string | Resource ID of the virtual WAN to link to. |
+
+**Conditional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`addressPrefixes`](#parameter-addressprefixes) | array | An array of IP address ranges that can be used by subnets of the virtual network. Required if no bgpProperties or VPNSiteLinks are configured. |
+| [`bgpProperties`](#parameter-bgpproperties) | object | BGP settings details. Note: This is a deprecated property, please use the corresponding VpnSiteLinks property instead. Required if no addressPrefixes or VPNSiteLinks are configured. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`deviceProperties`](#parameter-deviceproperties) | object | List of properties of the device. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`ipAddress`](#parameter-ipaddress) | string | The IP-address for the VPN-site. Note: This is a deprecated property, please use the corresponding VpnSiteLinks property instead. |
+| [`isSecuritySite`](#parameter-issecuritysite) | bool | IsSecuritySite flag. |
+| [`location`](#parameter-location) | string | Location where all resources will be created. |
+| [`lock`](#parameter-lock) | string | Specify the type of lock. |
+| [`o365Policy`](#parameter-o365policy) | object | The Office365 breakout policy. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`tags`](#parameter-tags) | object | Tags of the resource. |
+| [`vpnSiteLinks`](#parameter-vpnsitelinks) | array | List of all VPN site links. |
+
+### Parameter: `addressPrefixes`
+
+An array of IP address ranges that can be used by subnets of the virtual network. Required if no bgpProperties or VPNSiteLinks are configured.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `bgpProperties`
+
+BGP settings details. Note: This is a deprecated property, please use the corresponding VpnSiteLinks property instead. Required if no addressPrefixes or VPNSiteLinks are configured.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `deviceProperties`
+
+List of properties of the device.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `ipAddress`
+
+The IP-address for the VPN-site. Note: This is a deprecated property, please use the corresponding VpnSiteLinks property instead.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `isSecuritySite`
+
+IsSecuritySite flag.
+- Required: No
+- Type: bool
+- Default: `False`
+
+### Parameter: `location`
+
+Location where all resources will be created.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `lock`
+
+Specify the type of lock.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', CanNotDelete, ReadOnly]`
+
+### Parameter: `name`
+
+Name of the VPN Site.
+- Required: Yes
+- Type: string
+
+### Parameter: `o365Policy`
+
+The Office365 breakout policy.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `tags`
+
+Tags of the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `virtualWanId`
+
+Resource ID of the virtual WAN to link to.
+- Required: Yes
+- Type: string
+
+### Parameter: `vpnSiteLinks`
+
+List of all VPN site links.
+- Required: No
+- Type: array
+- Default: `[]`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The name of the VPN site. |
+| `resourceGroupName` | string | The resource group the VPN site was deployed into. |
+| `resourceId` | string | The resource ID of the VPN site. |
+
+## Cross-referenced modules
+
+_None_
+
## Notes
### Parameter Usage `deviceProperties`
diff --git a/modules/network/vpn-site/main.json b/modules/network/vpn-site/main.json
index b90f743722..859ddc6ba1 100644
--- a/modules/network/vpn-site/main.json
+++ b/modules/network/vpn-site/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "13056643175492466003"
+ "version": "0.22.6.54827",
+ "templateHash": "1375112363272688444"
},
"name": "VPN Sites",
"description": "This module deploys a VPN Site.",
@@ -192,8 +192,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "7148202566959237079"
+ "version": "0.22.6.54827",
+ "templateHash": "13348048560732484926"
}
},
"parameters": {
diff --git a/modules/operational-insights/workspace/.test/common/main.test.bicep b/modules/operational-insights/workspace/.test/common/main.test.bicep
index 3831bb5238..2e994d7fed 100644
--- a/modules/operational-insights/workspace/.test/common/main.test.bicep
+++ b/modules/operational-insights/workspace/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/operational-insights/workspace/.test/min/main.test.bicep b/modules/operational-insights/workspace/.test/min/main.test.bicep
index 365f381b19..cb56d8a1a8 100644
--- a/modules/operational-insights/workspace/.test/min/main.test.bicep
+++ b/modules/operational-insights/workspace/.test/min/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using only defaults'
+metadata description = 'This instance deploys the module with the minimum set of required parameters.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/operational-insights/workspace/README.md b/modules/operational-insights/workspace/README.md
index 1d36c0d1b3..b0e47dc105 100644
--- a/modules/operational-insights/workspace/README.md
+++ b/modules/operational-insights/workspace/README.md
@@ -4,13 +4,13 @@ This module deploys a Log Analytics Workspace.
## Navigation
-- [Resource types](#Resource-types)
+- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
-## Resource types
+## Resource Types
| Resource Type | API Version |
| :-- | :-- |
@@ -27,89 +27,26 @@ This module deploys a Log Analytics Workspace.
| `Microsoft.OperationalInsights/workspaces/tables` | [2022-10-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.OperationalInsights/2022-10-01/workspaces/tables) |
| `Microsoft.OperationsManagement/solutions` | [2015-11-01-preview](https://learn.microsoft.com/en-us/azure/templates/Microsoft.OperationsManagement/2015-11-01-preview/solutions) |
-## Parameters
-
-**Required parameters**
-
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | Name of the Log Analytics workspace. |
-
-**Conditional parameters**
-
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `linkedStorageAccounts` | array | List of Storage Accounts to be linked. Required if 'forceCmkForQuery' is set to 'true' and 'savedSearches' is not empty. |
-
-**Optional parameters**
-
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `dailyQuotaGb` | int | `-1` | | The workspace daily quota for ingestion. |
-| `dataExports` | array | `[]` | | LAW data export instances to be deployed. |
-| `dataRetention` | int | `365` | | Number of days data will be retained for. |
-| `dataSources` | array | `[]` | | LAW data sources to configure. |
-| `diagnosticEventHubAuthorizationRuleId` | string | `''` | | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
-| `diagnosticEventHubName` | string | `''` | | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
-| `diagnosticLogCategoriesToEnable` | array | `[allLogs]` | `['', allLogs, Audit]` | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
-| `diagnosticMetricsToEnable` | array | `[AllMetrics]` | `[AllMetrics]` | The name of metrics that will be streamed. |
-| `diagnosticSettingsName` | string | `''` | | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | Name of the Log Analytics workspace. |
+
+**Conditional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`linkedStorageAccounts`](#parameter-linkedstorageaccounts) | array | List of Storage Accounts to be linked. Required if 'forceCmkForQuery' is set to 'true' and 'savedSearches' is not empty. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`dailyQuotaGb`](#parameter-dailyquotagb) | int | The workspace daily quota for ingestion. |
+| [`dataExports`](#parameter-dataexports) | array | LAW data export instances to be deployed. |
+| [`dataRetention`](#parameter-dataretention) | int | Number of days data will be retained for. |
+| [`dataSources`](#parameter-datasources) | array | LAW data sources to configure. |
+| [`diagnosticEventHubAuthorizationRuleId`](#parameter-diagnosticeventhubauthorizationruleid) | string | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
+| [`diagnosticEventHubName`](#parameter-diagnosticeventhubname) | string | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
+| [`diagnosticLogCategoriesToEnable`](#parameter-diagnosticlogcategoriestoenable) | array | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
+| [`diagnosticMetricsToEnable`](#parameter-diagnosticmetricstoenable) | array | The name of metrics that will be streamed. |
+| [`diagnosticSettingsName`](#parameter-diagnosticsettingsname) | string | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`logAnalyticsWorkspaceName`](#parameter-loganalyticsworkspacename) | string | Name of the Log Analytics workspace where the solution will be deployed/enabled. |
+| [`name`](#parameter-name) | string | Name of the solution. For Microsoft published gallery solution the target solution resource name will be composed as `{name}({logAnalyticsWorkspaceName})`. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`location`](#parameter-location) | string | Location for all resources. |
+| [`product`](#parameter-product) | string | The product of the deployed solution. For Microsoft published gallery solution it should be `OMSGallery` and the target solution resource product will be composed as `OMSGallery/{name}`. For third party solution, it can be anything. This is case sensitive. |
+| [`publisher`](#parameter-publisher) | string | The publisher name of the deployed solution. For Microsoft published gallery solution, it is `Microsoft`. |
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `location`
+
+Location for all resources.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `logAnalyticsWorkspaceName`
+
+Name of the Log Analytics workspace where the solution will be deployed/enabled.
+- Required: Yes
+- Type: string
+
+### Parameter: `name`
+
+Name of the solution. For Microsoft published gallery solution the target solution resource name will be composed as `{name}({logAnalyticsWorkspaceName})`.
+- Required: Yes
+- Type: string
+
+### Parameter: `product`
+
+The product of the deployed solution. For Microsoft published gallery solution it should be `OMSGallery` and the target solution resource product will be composed as `OMSGallery/{name}`. For third party solution, it can be anything. This is case sensitive.
+- Required: No
+- Type: string
+- Default: `'OMSGallery'`
+
+### Parameter: `publisher`
+
+The publisher name of the deployed solution. For Microsoft published gallery solution, it is `Microsoft`.
+- Required: No
+- Type: string
+- Default: `'Microsoft'`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The name of the deployed solution. |
+| `resourceGroupName` | string | The resource group where the solution is deployed. |
+| `resourceId` | string | The resource ID of the deployed solution. |
+
+## Cross-referenced modules
+
+_None_
diff --git a/modules/operations-management/solution/main.json b/modules/operations-management/solution/main.json
index 6ff5586ce1..a2c344b5ad 100644
--- a/modules/operations-management/solution/main.json
+++ b/modules/operations-management/solution/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "9052763253522380709"
+ "version": "0.22.6.54827",
+ "templateHash": "2318608107759137473"
},
"name": "Operations Management Solutions",
"description": "This module deploys an Operations Management Solution.",
diff --git a/modules/policy-insights/remediation/README.md b/modules/policy-insights/remediation/README.md
index cb7a763830..58d11035d5 100644
--- a/modules/policy-insights/remediation/README.md
+++ b/modules/policy-insights/remediation/README.md
@@ -5,10 +5,10 @@ This module deploys a Policy Insights Remediation.
## Navigation
- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
- [Notes](#Notes)
## Resource Types
@@ -17,59 +17,29 @@ This module deploys a Policy Insights Remediation.
| :-- | :-- |
| `Microsoft.PolicyInsights/remediations` | [2021-10-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.PolicyInsights/2021-10-01/remediations) |
-## Parameters
-
-**Required parameters**
-
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | Specifies the name of the policy remediation. |
-| `policyAssignmentId` | string | The resource ID of the policy assignment that should be remediated. |
-
-**Optional parameters**
-
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `failureThresholdPercentage` | string | `'1'` | | The remediation failure threshold settings. A number between 0.0 to 1.0 representing the percentage failure threshold. The remediation will fail if the percentage of failed remediation operations (i.e. failed deployments) exceeds this threshold. 0 means that the remediation will stop after the first failure. 1 means that the remediation will not stop even if all deployments fail. |
-| `filtersLocations` | array | `[]` | | The filters that will be applied to determine which resources to remediate. |
-| `location` | string | `[deployment().location]` | | Location deployment metadata. |
-| `managementGroupId` | string | `[managementGroup().name]` | | The target scope for the remediation. The name of the management group for the policy assignment. If not provided, will use the current scope for deployment. |
-| `parallelDeployments` | int | `10` | | Determines how many resources to remediate at any given time. Can be used to increase or reduce the pace of the remediation. Can be between 1-30. Higher values will cause the remediation to complete more quickly, but increase the risk of throttling. If not provided, the default parallel deployments value is used. |
-| `policyDefinitionReferenceId` | string | `''` | | The policy definition reference ID of the individual definition that should be remediated. Required when the policy assignment being remediated assigns a policy set definition. |
-| `resourceCount` | int | `500` | | Determines the max number of resources that can be remediated by the remediation job. Can be between 1-50000. If not provided, the default resource count is used. |
-| `resourceDiscoveryMode` | string | `'ExistingNonCompliant'` | `[ExistingNonCompliant, ReEvaluateCompliance]` | The way resources to remediate are discovered. Defaults to ExistingNonCompliant if not specified. |
-| `resourceGroupName` | string | `''` | | The target scope for the remediation. The name of the resource group for the policy assignment. |
-| `subscriptionId` | string | `''` | | The target scope for the remediation. The subscription ID of the subscription for the policy assignment. |
-
-
-## Outputs
-
-| Output Name | Type | Description |
-| :-- | :-- | :-- |
-| `location` | string | The location the resource was deployed into. |
-| `name` | string | The name of the remediation. |
-| `resourceId` | string | The resource ID of the remediation. |
-
-## Cross-referenced modules
+## Usage examples
-_None_
+The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository.
-## Deployment examples
+>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder.
- >**Note**: The name of each example is based on the name of the file from which it is taken.
+>**Note**: To reference the module, please use the following syntax `br:bicep/modules/policy-insights.remediation:1.0.0`.
- >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
+- [Mg.Common](#example-1-mgcommon)
+- [Mg.Min](#example-2-mgmin)
+- [Rg.Common](#example-3-rgcommon)
+- [Rg.Min](#example-4-rgmin)
+- [Sub.Common](#example-5-subcommon)
+- [Sub.Min](#example-6-submin)
-
-
-
-
-
-
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | Specifies the name of the policy remediation. |
+| [`policyAssignmentId`](#parameter-policyassignmentid) | string | The resource ID of the policy assignment that should be remediated. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`failureThresholdPercentage`](#parameter-failurethresholdpercentage) | string | The remediation failure threshold settings. A number between 0.0 to 1.0 representing the percentage failure threshold. The remediation will fail if the percentage of failed remediation operations (i.e. failed deployments) exceeds this threshold. 0 means that the remediation will stop after the first failure. 1 means that the remediation will not stop even if all deployments fail. |
+| [`filtersLocations`](#parameter-filterslocations) | array | The filters that will be applied to determine which resources to remediate. |
+| [`location`](#parameter-location) | string | Location deployment metadata. |
+| [`managementGroupId`](#parameter-managementgroupid) | string | The target scope for the remediation. The name of the management group for the policy assignment. If not provided, will use the current scope for deployment. |
+| [`parallelDeployments`](#parameter-paralleldeployments) | int | Determines how many resources to remediate at any given time. Can be used to increase or reduce the pace of the remediation. Can be between 1-30. Higher values will cause the remediation to complete more quickly, but increase the risk of throttling. If not provided, the default parallel deployments value is used. |
+| [`policyDefinitionReferenceId`](#parameter-policydefinitionreferenceid) | string | The policy definition reference ID of the individual definition that should be remediated. Required when the policy assignment being remediated assigns a policy set definition. |
+| [`resourceCount`](#parameter-resourcecount) | int | Determines the max number of resources that can be remediated by the remediation job. Can be between 1-50000. If not provided, the default resource count is used. |
+| [`resourceDiscoveryMode`](#parameter-resourcediscoverymode) | string | The way resources to remediate are discovered. Defaults to ExistingNonCompliant if not specified. |
+| [`resourceGroupName`](#parameter-resourcegroupname) | string | The target scope for the remediation. The name of the resource group for the policy assignment. |
+| [`subscriptionId`](#parameter-subscriptionid) | string | The target scope for the remediation. The subscription ID of the subscription for the policy assignment. |
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `failureThresholdPercentage`
+
+The remediation failure threshold settings. A number between 0.0 to 1.0 representing the percentage failure threshold. The remediation will fail if the percentage of failed remediation operations (i.e. failed deployments) exceeds this threshold. 0 means that the remediation will stop after the first failure. 1 means that the remediation will not stop even if all deployments fail.
+- Required: No
+- Type: string
+- Default: `'1'`
+
+### Parameter: `filtersLocations`
+
+The filters that will be applied to determine which resources to remediate.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `location`
+
+Location deployment metadata.
+- Required: No
+- Type: string
+- Default: `[deployment().location]`
+
+### Parameter: `managementGroupId`
+
+The target scope for the remediation. The name of the management group for the policy assignment. If not provided, will use the current scope for deployment.
+- Required: No
+- Type: string
+- Default: `[managementGroup().name]`
+
+### Parameter: `name`
+
+Specifies the name of the policy remediation.
+- Required: Yes
+- Type: string
+
+### Parameter: `parallelDeployments`
+
+Determines how many resources to remediate at any given time. Can be used to increase or reduce the pace of the remediation. Can be between 1-30. Higher values will cause the remediation to complete more quickly, but increase the risk of throttling. If not provided, the default parallel deployments value is used.
+- Required: No
+- Type: int
+- Default: `10`
+
+### Parameter: `policyAssignmentId`
+
+The resource ID of the policy assignment that should be remediated.
+- Required: Yes
+- Type: string
+
+### Parameter: `policyDefinitionReferenceId`
+
+The policy definition reference ID of the individual definition that should be remediated. Required when the policy assignment being remediated assigns a policy set definition.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `resourceCount`
+
+Determines the max number of resources that can be remediated by the remediation job. Can be between 1-50000. If not provided, the default resource count is used.
+- Required: No
+- Type: int
+- Default: `500`
+
+### Parameter: `resourceDiscoveryMode`
+
+The way resources to remediate are discovered. Defaults to ExistingNonCompliant if not specified.
+- Required: No
+- Type: string
+- Default: `'ExistingNonCompliant'`
+- Allowed: `[ExistingNonCompliant, ReEvaluateCompliance]`
+
+### Parameter: `resourceGroupName`
+
+The target scope for the remediation. The name of the resource group for the policy assignment.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `subscriptionId`
+
+The target scope for the remediation. The subscription ID of the subscription for the policy assignment.
+- Required: No
+- Type: string
+- Default: `''`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The name of the remediation. |
+| `resourceId` | string | The resource ID of the remediation. |
+
+## Cross-referenced modules
+
+_None_
+
## Notes
### Parameter Usage: `managementGroupId`
diff --git a/modules/policy-insights/remediation/main.json b/modules/policy-insights/remediation/main.json
index c87b56a9bd..cc27386cb2 100644
--- a/modules/policy-insights/remediation/main.json
+++ b/modules/policy-insights/remediation/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "9470777729167902898"
+ "version": "0.22.6.54827",
+ "templateHash": "4742101117506662139"
},
"name": "Policy Insights Remediations",
"description": "This module deploys a Policy Insights Remediation.",
@@ -179,8 +179,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "5184556478687760186"
+ "version": "0.22.6.54827",
+ "templateHash": "9807832589850582654"
},
"name": "Policy Insights Remediations (Management Group scope)",
"description": "This module deploys a Policy Insights Remediation on a Management Group scope.",
@@ -375,8 +375,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "9797290259140842527"
+ "version": "0.22.6.54827",
+ "templateHash": "8491362450892267233"
},
"name": "Policy Insights Remediations (Subscription scope)",
"description": "This module deploys a Policy Insights Remediation on a Subscription scope.",
@@ -571,8 +571,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "15508810300941948916"
+ "version": "0.22.6.54827",
+ "templateHash": "1603868954809777625"
},
"name": "Policy Insights Remediations (Resource Group scope)",
"description": "This module deploys a Policy Insights Remediation on a Resource Group scope.",
diff --git a/modules/policy-insights/remediation/management-group/README.md b/modules/policy-insights/remediation/management-group/README.md
index 7a747eb168..f7bb79c449 100644
--- a/modules/policy-insights/remediation/management-group/README.md
+++ b/modules/policy-insights/remediation/management-group/README.md
@@ -19,28 +19,97 @@ This module deploys a Policy Insights Remediation on a Management Group scope.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `name` | string | Specifies the name of the policy remediation. |
-| `policyAssignmentId` | string | The resource ID of the policy assignment that should be remediated. |
+| [`name`](#parameter-name) | string | Specifies the name of the policy remediation. |
+| [`policyAssignmentId`](#parameter-policyassignmentid) | string | The resource ID of the policy assignment that should be remediated. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `failureThresholdPercentage` | string | `'1'` | | The remediation failure threshold settings. A number between 0.0 to 1.0 representing the percentage failure threshold. The remediation will fail if the percentage of failed remediation operations (i.e. failed deployments) exceeds this threshold. 0 means that the remediation will stop after the first failure. 1 means that the remediation will not stop even if all deployments fail. |
-| `filtersLocations` | array | `[]` | | The filters that will be applied to determine which resources to remediate. |
-| `location` | string | `[deployment().location]` | | Location deployment metadata. |
-| `parallelDeployments` | int | `10` | | Determines how many resources to remediate at any given time. Can be used to increase or reduce the pace of the remediation. Can be between 1-30. Higher values will cause the remediation to complete more quickly, but increase the risk of throttling. If not provided, the default parallel deployments value is used. |
-| `policyDefinitionReferenceId` | string | `''` | | The policy definition reference ID of the individual definition that should be remediated. Required when the policy assignment being remediated assigns a policy set definition. |
-| `resourceCount` | int | `500` | | Determines the max number of resources that can be remediated by the remediation job. Can be between 1-50000. If not provided, the default resource count is used. |
-| `resourceDiscoveryMode` | string | `'ExistingNonCompliant'` | `[ExistingNonCompliant, ReEvaluateCompliance]` | The way resources to remediate are discovered. Defaults to ExistingNonCompliant if not specified. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`failureThresholdPercentage`](#parameter-failurethresholdpercentage) | string | The remediation failure threshold settings. A number between 0.0 to 1.0 representing the percentage failure threshold. The remediation will fail if the percentage of failed remediation operations (i.e. failed deployments) exceeds this threshold. 0 means that the remediation will stop after the first failure. 1 means that the remediation will not stop even if all deployments fail. |
+| [`filtersLocations`](#parameter-filterslocations) | array | The filters that will be applied to determine which resources to remediate. |
+| [`location`](#parameter-location) | string | Location deployment metadata. |
+| [`parallelDeployments`](#parameter-paralleldeployments) | int | Determines how many resources to remediate at any given time. Can be used to increase or reduce the pace of the remediation. Can be between 1-30. Higher values will cause the remediation to complete more quickly, but increase the risk of throttling. If not provided, the default parallel deployments value is used. |
+| [`policyDefinitionReferenceId`](#parameter-policydefinitionreferenceid) | string | The policy definition reference ID of the individual definition that should be remediated. Required when the policy assignment being remediated assigns a policy set definition. |
+| [`resourceCount`](#parameter-resourcecount) | int | Determines the max number of resources that can be remediated by the remediation job. Can be between 1-50000. If not provided, the default resource count is used. |
+| [`resourceDiscoveryMode`](#parameter-resourcediscoverymode) | string | The way resources to remediate are discovered. Defaults to ExistingNonCompliant if not specified. |
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `failureThresholdPercentage`
+
+The remediation failure threshold settings. A number between 0.0 to 1.0 representing the percentage failure threshold. The remediation will fail if the percentage of failed remediation operations (i.e. failed deployments) exceeds this threshold. 0 means that the remediation will stop after the first failure. 1 means that the remediation will not stop even if all deployments fail.
+- Required: No
+- Type: string
+- Default: `'1'`
+
+### Parameter: `filtersLocations`
+
+The filters that will be applied to determine which resources to remediate.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `location`
+
+Location deployment metadata.
+- Required: No
+- Type: string
+- Default: `[deployment().location]`
+
+### Parameter: `name`
+
+Specifies the name of the policy remediation.
+- Required: Yes
+- Type: string
+
+### Parameter: `parallelDeployments`
+
+Determines how many resources to remediate at any given time. Can be used to increase or reduce the pace of the remediation. Can be between 1-30. Higher values will cause the remediation to complete more quickly, but increase the risk of throttling. If not provided, the default parallel deployments value is used.
+- Required: No
+- Type: int
+- Default: `10`
+
+### Parameter: `policyAssignmentId`
+
+The resource ID of the policy assignment that should be remediated.
+- Required: Yes
+- Type: string
+
+### Parameter: `policyDefinitionReferenceId`
+
+The policy definition reference ID of the individual definition that should be remediated. Required when the policy assignment being remediated assigns a policy set definition.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `resourceCount`
+
+Determines the max number of resources that can be remediated by the remediation job. Can be between 1-50000. If not provided, the default resource count is used.
+- Required: No
+- Type: int
+- Default: `500`
+
+### Parameter: `resourceDiscoveryMode`
+
+The way resources to remediate are discovered. Defaults to ExistingNonCompliant if not specified.
+- Required: No
+- Type: string
+- Default: `'ExistingNonCompliant'`
+- Allowed: `[ExistingNonCompliant, ReEvaluateCompliance]`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `location` | string | The location the resource was deployed into. |
| `name` | string | The name of the remediation. |
diff --git a/modules/policy-insights/remediation/management-group/main.json b/modules/policy-insights/remediation/management-group/main.json
index 0a87c250c0..bc27183d72 100644
--- a/modules/policy-insights/remediation/management-group/main.json
+++ b/modules/policy-insights/remediation/management-group/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "1304798094791157917"
+ "version": "0.22.6.54827",
+ "templateHash": "9807832589850582654"
},
"name": "Policy Insights Remediations (Management Group scope)",
"description": "This module deploys a Policy Insights Remediation on a Management Group scope.",
diff --git a/modules/policy-insights/remediation/resource-group/README.md b/modules/policy-insights/remediation/resource-group/README.md
index 88c4aa8f58..a354a06627 100644
--- a/modules/policy-insights/remediation/resource-group/README.md
+++ b/modules/policy-insights/remediation/resource-group/README.md
@@ -19,28 +19,97 @@ This module deploys a Policy Insights Remediation on a Resource Group scope.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `name` | string | Specifies the name of the policy remediation. |
-| `policyAssignmentId` | string | The resource ID of the policy assignment that should be remediated. |
+| [`name`](#parameter-name) | string | Specifies the name of the policy remediation. |
+| [`policyAssignmentId`](#parameter-policyassignmentid) | string | The resource ID of the policy assignment that should be remediated. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `failureThresholdPercentage` | string | `'1'` | | The remediation failure threshold settings. A number between 0.0 to 1.0 representing the percentage failure threshold. The remediation will fail if the percentage of failed remediation operations (i.e. failed deployments) exceeds this threshold. 0 means that the remediation will stop after the first failure. 1 means that the remediation will not stop even if all deployments fail. |
-| `filtersLocations` | array | `[]` | | The filters that will be applied to determine which resources to remediate. |
-| `location` | string | `[resourceGroup().location]` | | Location deployment metadata. |
-| `parallelDeployments` | int | `10` | | Determines how many resources to remediate at any given time. Can be used to increase or reduce the pace of the remediation. Can be between 1-30. Higher values will cause the remediation to complete more quickly, but increase the risk of throttling. If not provided, the default parallel deployments value is used. |
-| `policyDefinitionReferenceId` | string | `''` | | The policy definition reference ID of the individual definition that should be remediated. Required when the policy assignment being remediated assigns a policy set definition. |
-| `resourceCount` | int | `500` | | Determines the max number of resources that can be remediated by the remediation job. Can be between 1-50000. If not provided, the default resource count is used. |
-| `resourceDiscoveryMode` | string | `'ExistingNonCompliant'` | `[ExistingNonCompliant, ReEvaluateCompliance]` | The way resources to remediate are discovered. Defaults to ExistingNonCompliant if not specified. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`failureThresholdPercentage`](#parameter-failurethresholdpercentage) | string | The remediation failure threshold settings. A number between 0.0 to 1.0 representing the percentage failure threshold. The remediation will fail if the percentage of failed remediation operations (i.e. failed deployments) exceeds this threshold. 0 means that the remediation will stop after the first failure. 1 means that the remediation will not stop even if all deployments fail. |
+| [`filtersLocations`](#parameter-filterslocations) | array | The filters that will be applied to determine which resources to remediate. |
+| [`location`](#parameter-location) | string | Location deployment metadata. |
+| [`parallelDeployments`](#parameter-paralleldeployments) | int | Determines how many resources to remediate at any given time. Can be used to increase or reduce the pace of the remediation. Can be between 1-30. Higher values will cause the remediation to complete more quickly, but increase the risk of throttling. If not provided, the default parallel deployments value is used. |
+| [`policyDefinitionReferenceId`](#parameter-policydefinitionreferenceid) | string | The policy definition reference ID of the individual definition that should be remediated. Required when the policy assignment being remediated assigns a policy set definition. |
+| [`resourceCount`](#parameter-resourcecount) | int | Determines the max number of resources that can be remediated by the remediation job. Can be between 1-50000. If not provided, the default resource count is used. |
+| [`resourceDiscoveryMode`](#parameter-resourcediscoverymode) | string | The way resources to remediate are discovered. Defaults to ExistingNonCompliant if not specified. |
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `failureThresholdPercentage`
+
+The remediation failure threshold settings. A number between 0.0 to 1.0 representing the percentage failure threshold. The remediation will fail if the percentage of failed remediation operations (i.e. failed deployments) exceeds this threshold. 0 means that the remediation will stop after the first failure. 1 means that the remediation will not stop even if all deployments fail.
+- Required: No
+- Type: string
+- Default: `'1'`
+
+### Parameter: `filtersLocations`
+
+The filters that will be applied to determine which resources to remediate.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `location`
+
+Location deployment metadata.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `name`
+
+Specifies the name of the policy remediation.
+- Required: Yes
+- Type: string
+
+### Parameter: `parallelDeployments`
+
+Determines how many resources to remediate at any given time. Can be used to increase or reduce the pace of the remediation. Can be between 1-30. Higher values will cause the remediation to complete more quickly, but increase the risk of throttling. If not provided, the default parallel deployments value is used.
+- Required: No
+- Type: int
+- Default: `10`
+
+### Parameter: `policyAssignmentId`
+
+The resource ID of the policy assignment that should be remediated.
+- Required: Yes
+- Type: string
+
+### Parameter: `policyDefinitionReferenceId`
+
+The policy definition reference ID of the individual definition that should be remediated. Required when the policy assignment being remediated assigns a policy set definition.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `resourceCount`
+
+Determines the max number of resources that can be remediated by the remediation job. Can be between 1-50000. If not provided, the default resource count is used.
+- Required: No
+- Type: int
+- Default: `500`
+
+### Parameter: `resourceDiscoveryMode`
+
+The way resources to remediate are discovered. Defaults to ExistingNonCompliant if not specified.
+- Required: No
+- Type: string
+- Default: `'ExistingNonCompliant'`
+- Allowed: `[ExistingNonCompliant, ReEvaluateCompliance]`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `location` | string | The location the resource was deployed into. |
| `name` | string | The name of the remediation. |
diff --git a/modules/policy-insights/remediation/resource-group/main.json b/modules/policy-insights/remediation/resource-group/main.json
index be6c9e58b0..ec8b34293a 100644
--- a/modules/policy-insights/remediation/resource-group/main.json
+++ b/modules/policy-insights/remediation/resource-group/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "16839903448259241444"
+ "version": "0.22.6.54827",
+ "templateHash": "1603868954809777625"
},
"name": "Policy Insights Remediations (Resource Group scope)",
"description": "This module deploys a Policy Insights Remediation on a Resource Group scope.",
diff --git a/modules/policy-insights/remediation/subscription/README.md b/modules/policy-insights/remediation/subscription/README.md
index 82a91bb72b..0ed9328e97 100644
--- a/modules/policy-insights/remediation/subscription/README.md
+++ b/modules/policy-insights/remediation/subscription/README.md
@@ -19,28 +19,97 @@ This module deploys a Policy Insights Remediation on a Subscription scope.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `name` | string | Specifies the name of the policy remediation. |
-| `policyAssignmentId` | string | The resource ID of the policy assignment that should be remediated. |
+| [`name`](#parameter-name) | string | Specifies the name of the policy remediation. |
+| [`policyAssignmentId`](#parameter-policyassignmentid) | string | The resource ID of the policy assignment that should be remediated. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `failureThresholdPercentage` | string | `'1'` | | The remediation failure threshold settings. A number between 0.0 to 1.0 representing the percentage failure threshold. The remediation will fail if the percentage of failed remediation operations (i.e. failed deployments) exceeds this threshold. 0 means that the remediation will stop after the first failure. 1 means that the remediation will not stop even if all deployments fail. |
-| `filtersLocations` | array | `[]` | | The filters that will be applied to determine which resources to remediate. |
-| `location` | string | `[deployment().location]` | | Location deployment metadata. |
-| `parallelDeployments` | int | `10` | | Determines how many resources to remediate at any given time. Can be used to increase or reduce the pace of the remediation. Can be between 1-30. Higher values will cause the remediation to complete more quickly, but increase the risk of throttling. If not provided, the default parallel deployments value is used. |
-| `policyDefinitionReferenceId` | string | `''` | | The policy definition reference ID of the individual definition that should be remediated. Required when the policy assignment being remediated assigns a policy set definition. |
-| `resourceCount` | int | `500` | | Determines the max number of resources that can be remediated by the remediation job. Can be between 1-50000. If not provided, the default resource count is used. |
-| `resourceDiscoveryMode` | string | `'ExistingNonCompliant'` | `[ExistingNonCompliant, ReEvaluateCompliance]` | The way resources to remediate are discovered. Defaults to ExistingNonCompliant if not specified. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`failureThresholdPercentage`](#parameter-failurethresholdpercentage) | string | The remediation failure threshold settings. A number between 0.0 to 1.0 representing the percentage failure threshold. The remediation will fail if the percentage of failed remediation operations (i.e. failed deployments) exceeds this threshold. 0 means that the remediation will stop after the first failure. 1 means that the remediation will not stop even if all deployments fail. |
+| [`filtersLocations`](#parameter-filterslocations) | array | The filters that will be applied to determine which resources to remediate. |
+| [`location`](#parameter-location) | string | Location deployment metadata. |
+| [`parallelDeployments`](#parameter-paralleldeployments) | int | Determines how many resources to remediate at any given time. Can be used to increase or reduce the pace of the remediation. Can be between 1-30. Higher values will cause the remediation to complete more quickly, but increase the risk of throttling. If not provided, the default parallel deployments value is used. |
+| [`policyDefinitionReferenceId`](#parameter-policydefinitionreferenceid) | string | The policy definition reference ID of the individual definition that should be remediated. Required when the policy assignment being remediated assigns a policy set definition. |
+| [`resourceCount`](#parameter-resourcecount) | int | Determines the max number of resources that can be remediated by the remediation job. Can be between 1-50000. If not provided, the default resource count is used. |
+| [`resourceDiscoveryMode`](#parameter-resourcediscoverymode) | string | The way resources to remediate are discovered. Defaults to ExistingNonCompliant if not specified. |
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `failureThresholdPercentage`
+
+The remediation failure threshold settings. A number between 0.0 to 1.0 representing the percentage failure threshold. The remediation will fail if the percentage of failed remediation operations (i.e. failed deployments) exceeds this threshold. 0 means that the remediation will stop after the first failure. 1 means that the remediation will not stop even if all deployments fail.
+- Required: No
+- Type: string
+- Default: `'1'`
+
+### Parameter: `filtersLocations`
+
+The filters that will be applied to determine which resources to remediate.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `location`
+
+Location deployment metadata.
+- Required: No
+- Type: string
+- Default: `[deployment().location]`
+
+### Parameter: `name`
+
+Specifies the name of the policy remediation.
+- Required: Yes
+- Type: string
+
+### Parameter: `parallelDeployments`
+
+Determines how many resources to remediate at any given time. Can be used to increase or reduce the pace of the remediation. Can be between 1-30. Higher values will cause the remediation to complete more quickly, but increase the risk of throttling. If not provided, the default parallel deployments value is used.
+- Required: No
+- Type: int
+- Default: `10`
+
+### Parameter: `policyAssignmentId`
+
+The resource ID of the policy assignment that should be remediated.
+- Required: Yes
+- Type: string
+
+### Parameter: `policyDefinitionReferenceId`
+
+The policy definition reference ID of the individual definition that should be remediated. Required when the policy assignment being remediated assigns a policy set definition.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `resourceCount`
+
+Determines the max number of resources that can be remediated by the remediation job. Can be between 1-50000. If not provided, the default resource count is used.
+- Required: No
+- Type: int
+- Default: `500`
+
+### Parameter: `resourceDiscoveryMode`
+
+The way resources to remediate are discovered. Defaults to ExistingNonCompliant if not specified.
+- Required: No
+- Type: string
+- Default: `'ExistingNonCompliant'`
+- Allowed: `[ExistingNonCompliant, ReEvaluateCompliance]`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `location` | string | The location the resource was deployed into. |
| `name` | string | The name of the remediation. |
diff --git a/modules/policy-insights/remediation/subscription/main.json b/modules/policy-insights/remediation/subscription/main.json
index 499c963670..b7d7bb8b13 100644
--- a/modules/policy-insights/remediation/subscription/main.json
+++ b/modules/policy-insights/remediation/subscription/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "16781098206548824638"
+ "version": "0.22.6.54827",
+ "templateHash": "8491362450892267233"
},
"name": "Policy Insights Remediations (Subscription scope)",
"description": "This module deploys a Policy Insights Remediation on a Subscription scope.",
diff --git a/modules/power-bi-dedicated/capacity/.test/common/main.test.bicep b/modules/power-bi-dedicated/capacity/.test/common/main.test.bicep
index 8a9b62ee77..e2222db5b8 100644
--- a/modules/power-bi-dedicated/capacity/.test/common/main.test.bicep
+++ b/modules/power-bi-dedicated/capacity/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/power-bi-dedicated/capacity/.test/min/main.test.bicep b/modules/power-bi-dedicated/capacity/.test/min/main.test.bicep
index fee53d9951..dea599ae13 100644
--- a/modules/power-bi-dedicated/capacity/.test/min/main.test.bicep
+++ b/modules/power-bi-dedicated/capacity/.test/min/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using only defaults'
+metadata description = 'This instance deploys the module with the minimum set of required parameters.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/power-bi-dedicated/capacity/README.md b/modules/power-bi-dedicated/capacity/README.md
index a5f670d0ad..8257071543 100644
--- a/modules/power-bi-dedicated/capacity/README.md
+++ b/modules/power-bi-dedicated/capacity/README.md
@@ -5,10 +5,10 @@ This module deploys a Power BI Dedicated Capacity.
## Navigation
- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
## Resource Types
@@ -18,58 +18,28 @@ This module deploys a Power BI Dedicated Capacity.
| `Microsoft.Authorization/roleAssignments` | [2022-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2022-04-01/roleAssignments) |
| `Microsoft.PowerBIDedicated/capacities` | [2021-01-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.PowerBIDedicated/2021-01-01/capacities) |
-## Parameters
+## Usage examples
-**Required parameters**
+The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository.
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `members` | array | Members of the resource. |
-| `name` | string | Name of the PowerBI Embedded. |
-| `skuCapacity` | int | SkuCapacity of the resource. |
-
-**Optional parameters**
+>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `location` | string | `[resourceGroup().location]` | | Location for all Resources. |
-| `lock` | string | `''` | `['', CanNotDelete, NotSpecified, ReadOnly]` | Specify the type of lock. |
-| `mode` | string | `'Gen2'` | `[Gen1, Gen2]` | Mode of the resource. |
-| `roleAssignments` | array | `[]` | | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
-| `skuName` | string | `'A1'` | `[A1, A2, A3, A4, A5, A6]` | SkuCapacity of the resource. |
-| `skuTier` | string | `'PBIE_Azure'` | `[AutoPremiumHost, PBIE_Azure, Premium]` | SkuCapacity of the resource. |
-| `tags` | object | `{object}` | | Tags of the resource. |
+>**Note**: To reference the module, please use the following syntax `br:bicep/modules/power-bi-dedicated.capacity:1.0.0`.
+- [Using large parameter set](#example-1-using-large-parameter-set)
+- [Using only defaults](#example-2-using-only-defaults)
-## Outputs
-
-| Output Name | Type | Description |
-| :-- | :-- | :-- |
-| `location` | string | The location the resource was deployed into. |
-| `name` | string | The Name of the PowerBi Embedded. |
-| `resourceGroupName` | string | The name of the resource group the PowerBi Embedded was created in. |
-| `resourceId` | string | The resource ID of the PowerBi Embedded. |
-
-## Cross-referenced modules
-
-_None_
-
-## Deployment examples
+### Example 1: _Using large parameter set_
-The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder.
- >**Note**: The name of each example is based on the name of the file from which it is taken.
+This instance deploys the module with most of its features enabled.
- >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-
-
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`members`](#parameter-members) | array | Members of the resource. |
+| [`name`](#parameter-name) | string | Name of the PowerBI Embedded. |
+| [`skuCapacity`](#parameter-skucapacity) | int | SkuCapacity of the resource. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`location`](#parameter-location) | string | Location for all Resources. |
+| [`lock`](#parameter-lock) | string | Specify the type of lock. |
+| [`mode`](#parameter-mode) | string | Mode of the resource. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`skuName`](#parameter-skuname) | string | SkuCapacity of the resource. |
+| [`skuTier`](#parameter-skutier) | string | SkuCapacity of the resource. |
+| [`tags`](#parameter-tags) | object | Tags of the resource. |
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `location`
+
+Location for all Resources.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `lock`
+
+Specify the type of lock.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', CanNotDelete, NotSpecified, ReadOnly]`
+
+### Parameter: `members`
+
+Members of the resource.
+- Required: Yes
+- Type: array
+
+### Parameter: `mode`
+
+Mode of the resource.
+- Required: No
+- Type: string
+- Default: `'Gen2'`
+- Allowed: `[Gen1, Gen2]`
+
+### Parameter: `name`
+
+Name of the PowerBI Embedded.
+- Required: Yes
+- Type: string
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `skuCapacity`
+
+SkuCapacity of the resource.
+- Required: Yes
+- Type: int
+
+### Parameter: `skuName`
+
+SkuCapacity of the resource.
+- Required: No
+- Type: string
+- Default: `'A1'`
+- Allowed: `[A1, A2, A3, A4, A5, A6]`
+
+### Parameter: `skuTier`
+
+SkuCapacity of the resource.
+- Required: No
+- Type: string
+- Default: `'PBIE_Azure'`
+- Allowed: `[AutoPremiumHost, PBIE_Azure, Premium]`
+
+### Parameter: `tags`
+
+Tags of the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The Name of the PowerBi Embedded. |
+| `resourceGroupName` | string | The name of the resource group the PowerBi Embedded was created in. |
+| `resourceId` | string | The resource ID of the PowerBi Embedded. |
+
+## Cross-referenced modules
+
+_None_
diff --git a/modules/power-bi-dedicated/capacity/main.json b/modules/power-bi-dedicated/capacity/main.json
index 7e34e223ae..aafdb27cf3 100644
--- a/modules/power-bi-dedicated/capacity/main.json
+++ b/modules/power-bi-dedicated/capacity/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "924797605355156375"
+ "version": "0.22.6.54827",
+ "templateHash": "9399428020393768552"
},
"name": "Power BI Dedicated Capacities",
"description": "This module deploys a Power BI Dedicated Capacity.",
@@ -184,8 +184,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "18119555403422726514"
+ "version": "0.22.6.54827",
+ "templateHash": "4655209444733495279"
}
},
"parameters": {
diff --git a/modules/purview/account/.test/common/main.test.bicep b/modules/purview/account/.test/common/main.test.bicep
index c716eb8807..e2746b7ebf 100644
--- a/modules/purview/account/.test/common/main.test.bicep
+++ b/modules/purview/account/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/purview/account/.test/min/main.test.bicep b/modules/purview/account/.test/min/main.test.bicep
index bdafc9b679..8cf13684b3 100644
--- a/modules/purview/account/.test/min/main.test.bicep
+++ b/modules/purview/account/.test/min/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using only defaults'
+metadata description = 'This instance deploys the module with the minimum set of required parameters.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/purview/account/README.md b/modules/purview/account/README.md
index ea412e85c2..78a48d77ad 100644
--- a/modules/purview/account/README.md
+++ b/modules/purview/account/README.md
@@ -5,10 +5,10 @@ This module deploys a Purview Account.
## Navigation
- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
## Resource Types
@@ -21,77 +21,28 @@ This module deploys a Purview Account.
| `Microsoft.Network/privateEndpoints/privateDnsZoneGroups` | [2023-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2023-04-01/privateEndpoints/privateDnsZoneGroups) |
| `Microsoft.Purview/accounts` | [2021-07-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Purview/2021-07-01/accounts) |
-## Parameters
-
-**Required parameters**
-
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | Name of the Purview Account. |
-
-**Optional parameters**
-
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `accountPrivateEndpoints` | array | `[]` | | Configuration details for Purview Account private endpoints. For security reasons, it is recommended to use private endpoints whenever possible. Make sure the service property is set to 'account'. |
-| `diagnosticEventHubAuthorizationRuleId` | string | `''` | | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
-| `diagnosticEventHubName` | string | `''` | | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. For security reasons, it is recommended to set diagnostic settings to send data to either storage account, log analytics workspace or event hub. |
-| `diagnosticLogCategoriesToEnable` | array | `[allLogs]` | `['', allLogs, DataSensitivity, PurviewAccountAuditEvents, ScanStatus]` | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
-| `diagnosticMetricsToEnable` | array | `[AllMetrics]` | `[AllMetrics]` | The name of metrics that will be streamed. |
-| `diagnosticSettingsName` | string | `''` | | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | Name of the Purview Account. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`accountPrivateEndpoints`](#parameter-accountprivateendpoints) | array | Configuration details for Purview Account private endpoints. For security reasons, it is recommended to use private endpoints whenever possible. Make sure the service property is set to 'account'. |
+| [`diagnosticEventHubAuthorizationRuleId`](#parameter-diagnosticeventhubauthorizationruleid) | string | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
+| [`diagnosticEventHubName`](#parameter-diagnosticeventhubname) | string | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. For security reasons, it is recommended to set diagnostic settings to send data to either storage account, log analytics workspace or event hub. |
+| [`diagnosticLogCategoriesToEnable`](#parameter-diagnosticlogcategoriestoenable) | array | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
+| [`diagnosticMetricsToEnable`](#parameter-diagnosticmetricstoenable) | array | The name of metrics that will be streamed. |
+| [`diagnosticSettingsName`](#parameter-diagnosticsettingsname) | string | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | Name of the Azure Recovery Service Vault. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`backupConfig`](#parameter-backupconfig) | object | The backup configuration. |
+| [`backupPolicies`](#parameter-backuppolicies) | array | List of all backup policies. |
+| [`backupStorageConfig`](#parameter-backupstorageconfig) | object | The storage configuration for the Azure Recovery Service Vault. |
+| [`diagnosticEventHubAuthorizationRuleId`](#parameter-diagnosticeventhubauthorizationruleid) | string | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
+| [`diagnosticEventHubName`](#parameter-diagnosticeventhubname) | string | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
+| [`diagnosticLogCategoriesToEnable`](#parameter-diagnosticlogcategoriestoenable) | array | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
+| [`diagnosticMetricsToEnable`](#parameter-diagnosticmetricstoenable) | array | The name of metrics that will be streamed. |
+| [`diagnosticSettingsName`](#parameter-diagnosticsettingsname) | string | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | Name of the Relay Namespace. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`authorizationRules`](#parameter-authorizationrules) | array | Authorization Rules for the Relay namespace. |
+| [`diagnosticEventHubAuthorizationRuleId`](#parameter-diagnosticeventhubauthorizationruleid) | string | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
+| [`diagnosticEventHubName`](#parameter-diagnosticeventhubname) | string | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
+| [`diagnosticLogCategoriesToEnable`](#parameter-diagnosticlogcategoriestoenable) | array | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
+| [`diagnosticMetricsToEnable`](#parameter-diagnosticmetricstoenable) | array | The name of metrics that will be streamed. |
+| [`diagnosticSettingsName`](#parameter-diagnosticsettingsname) | string | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | Name of the Resource Graph Query. |
+| [`query`](#parameter-query) | string | KQL query that will be graph. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`location`](#parameter-location) | string | Location for all resources. |
+| [`lock`](#parameter-lock) | string | Specify the type of lock. |
+| [`queryDescription`](#parameter-querydescription) | string | The description of a graph query. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`tags`](#parameter-tags) | object | Tags of the resource. |
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `location`
+
+Location for all resources.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `lock`
+
+Specify the type of lock.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', CanNotDelete, ReadOnly]`
+
+### Parameter: `name`
+
+Name of the Resource Graph Query.
+- Required: Yes
+- Type: string
+
+### Parameter: `query`
+
+KQL query that will be graph.
+- Required: Yes
+- Type: string
+
+### Parameter: `queryDescription`
+
+The description of a graph query.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `tags`
+
+Tags of the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The name of the query. |
+| `resourceGroupName` | string | The resource group the query was deployed into. |
+| `resourceId` | string | The resource ID of the query. |
+
+## Cross-referenced modules
+
+_None_
diff --git a/modules/resource-graph/query/main.json b/modules/resource-graph/query/main.json
index 301af9810f..637ac21f0a 100644
--- a/modules/resource-graph/query/main.json
+++ b/modules/resource-graph/query/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "15324622694106945222"
+ "version": "0.22.6.54827",
+ "templateHash": "5318766686585928680"
},
"name": "Resource Graph Queries",
"description": "This module deploys a Resource Graph Query.",
@@ -146,8 +146,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "5203431571109680712"
+ "version": "0.22.6.54827",
+ "templateHash": "11432335123187448929"
}
},
"parameters": {
diff --git a/modules/resources/deployment-script/README.md b/modules/resources/deployment-script/README.md
index 98aca51078..16d4b28844 100644
--- a/modules/resources/deployment-script/README.md
+++ b/modules/resources/deployment-script/README.md
@@ -4,87 +4,38 @@ This module deploys a Deployment Script.
## Navigation
-- [Resource types](#Resource-types)
+- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
-## Resource types
+## Resource Types
| Resource Type | API Version |
| :-- | :-- |
| `Microsoft.Authorization/locks` | [2020-05-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2020-05-01/locks) |
| `Microsoft.Resources/deploymentScripts` | [2020-10-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Resources/2020-10-01/deploymentScripts) |
-## Parameters
-
-**Required parameters**
-
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | Display name of the script to be run. |
-
-**Optional parameters**
-
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `arguments` | string | `''` | | Command-line arguments to pass to the script. Arguments are separated by spaces. |
-| `azCliVersion` | string | `''` | | Azure CLI module version to be used. |
-| `azPowerShellVersion` | string | `'3.0'` | | Azure PowerShell module version to be used. |
-| `cleanupPreference` | string | `'Always'` | `[Always, OnExpiration, OnSuccess]` | The clean up preference when the script execution gets in a terminal state. Specify the preference on when to delete the deployment script resources. The default value is Always, which means the deployment script resources are deleted despite the terminal state (Succeeded, Failed, canceled). |
-| `containerGroupName` | string | `''` | | Container group name, if not specified then the name will get auto-generated. Not specifying a 'containerGroupName' indicates the system to generate a unique name which might end up flagging an Azure Policy as non-compliant. Use 'containerGroupName' when you have an Azure Policy that expects a specific naming convention or when you want to fully control the name. 'containerGroupName' property must be between 1 and 63 characters long, must contain only lowercase letters, numbers, and dashes and it cannot start or end with a dash and consecutive dashes are not allowed. |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `environmentVariables` | secureObject | `{object}` | | The environment variables to pass over to the script. The list is passed as an object with a key name "secureList" and the value is the list of environment variables (array). The list must have a 'name' and a 'value' or a 'secretValue' property for each object. |
-| `kind` | string | `'AzurePowerShell'` | `[AzureCLI, AzurePowerShell]` | Type of the script. AzurePowerShell, AzureCLI. |
-| `location` | string | `[resourceGroup().location]` | | Location for all resources. |
-| `lock` | string | `''` | `['', CanNotDelete, ReadOnly]` | Specify the type of lock. |
-| `primaryScriptUri` | string | `''` | | Uri for the external script. This is the entry point for the external script. To run an internal script, use the scriptContent instead. |
-| `retentionInterval` | string | `'P1D'` | | Interval for which the service retains the script resource after it reaches a terminal state. Resource will be deleted when this duration expires. Duration is based on ISO 8601 pattern (for example P7D means one week). |
-| `runOnce` | bool | `False` | | When set to false, script will run every time the template is deployed. When set to true, the script will only run once. |
-| `scriptContent` | string | `''` | | Script body. Max length: 32000 characters. To run an external script, use primaryScriptURI instead. |
-| `storageAccountResourceId` | string | `''` | | The resource ID of the storage account to use for this deployment script. If none is provided, the deployment script uses a temporary, managed storage account. |
-| `supportingScriptUris` | array | `[]` | | List of supporting files for the external script (defined in primaryScriptUri). Does not work with internal scripts (code defined in scriptContent). |
-| `tags` | object | `{object}` | | Tags of the resource. |
-| `timeout` | string | `'PT1H'` | | Maximum allowed script execution time specified in ISO 8601 format. Default value is PT1H - 1 hour; 'PT30M' - 30 minutes; 'P5D' - 5 days; 'P1Y' 1 year. |
-| `userAssignedIdentities` | object | `{object}` | | The ID(s) to assign to the resource. |
-
-**Generated parameters**
-
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `baseTime` | string | `[utcNow('yyyy-MM-dd-HH-mm-ss')]` | Do not provide a value! This date value is used to make sure the script run every time the template is deployed. |
-
+## Usage examples
-## Outputs
-
-| Output Name | Type | Description |
-| :-- | :-- | :-- |
-| `location` | string | The location the resource was deployed into. |
-| `name` | string | The name of the deployment script. |
-| `outputs` | object | The output of the deployment script. |
-| `resourceGroupName` | string | The resource group the deployment script was deployed into. |
-| `resourceId` | string | The resource ID of the deployment script. |
-
-## Cross-referenced modules
-
-_None_
+The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository.
-## Deployment examples
+>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder.
- >**Note**: The name of each example is based on the name of the file from which it is taken.
+>**Note**: To reference the module, please use the following syntax `br:bicep/modules/resources.deployment-script:1.0.0`.
- >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
+- [Cli](#example-1-cli)
+- [Ps](#example-2-ps)
-
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | Display name of the script to be run. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`arguments`](#parameter-arguments) | string | Command-line arguments to pass to the script. Arguments are separated by spaces. |
+| [`azCliVersion`](#parameter-azcliversion) | string | Azure CLI module version to be used. |
+| [`azPowerShellVersion`](#parameter-azpowershellversion) | string | Azure PowerShell module version to be used. |
+| [`cleanupPreference`](#parameter-cleanuppreference) | string | The clean up preference when the script execution gets in a terminal state. Specify the preference on when to delete the deployment script resources. The default value is Always, which means the deployment script resources are deleted despite the terminal state (Succeeded, Failed, canceled). |
+| [`containerGroupName`](#parameter-containergroupname) | string | Container group name, if not specified then the name will get auto-generated. Not specifying a 'containerGroupName' indicates the system to generate a unique name which might end up flagging an Azure Policy as non-compliant. Use 'containerGroupName' when you have an Azure Policy that expects a specific naming convention or when you want to fully control the name. 'containerGroupName' property must be between 1 and 63 characters long, must contain only lowercase letters, numbers, and dashes and it cannot start or end with a dash and consecutive dashes are not allowed. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`environmentVariables`](#parameter-environmentvariables) | secureObject | The environment variables to pass over to the script. The list is passed as an object with a key name "secureList" and the value is the list of environment variables (array). The list must have a 'name' and a 'value' or a 'secretValue' property for each object. |
+| [`kind`](#parameter-kind) | string | Type of the script. AzurePowerShell, AzureCLI. |
+| [`location`](#parameter-location) | string | Location for all resources. |
+| [`lock`](#parameter-lock) | string | Specify the type of lock. |
+| [`primaryScriptUri`](#parameter-primaryscripturi) | string | Uri for the external script. This is the entry point for the external script. To run an internal script, use the scriptContent instead. |
+| [`retentionInterval`](#parameter-retentioninterval) | string | Interval for which the service retains the script resource after it reaches a terminal state. Resource will be deleted when this duration expires. Duration is based on ISO 8601 pattern (for example P7D means one week). |
+| [`runOnce`](#parameter-runonce) | bool | When set to false, script will run every time the template is deployed. When set to true, the script will only run once. |
+| [`scriptContent`](#parameter-scriptcontent) | string | Script body. Max length: 32000 characters. To run an external script, use primaryScriptURI instead. |
+| [`storageAccountResourceId`](#parameter-storageaccountresourceid) | string | The resource ID of the storage account to use for this deployment script. If none is provided, the deployment script uses a temporary, managed storage account. |
+| [`supportingScriptUris`](#parameter-supportingscripturis) | array | List of supporting files for the external script (defined in primaryScriptUri). Does not work with internal scripts (code defined in scriptContent). |
+| [`tags`](#parameter-tags) | object | Tags of the resource. |
+| [`timeout`](#parameter-timeout) | string | Maximum allowed script execution time specified in ISO 8601 format. Default value is PT1H - 1 hour; 'PT30M' - 30 minutes; 'P5D' - 5 days; 'P1Y' 1 year. |
+| [`userAssignedIdentities`](#parameter-userassignedidentities) | object | The ID(s) to assign to the resource. |
+
+**Generated parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`baseTime`](#parameter-basetime) | string | Do not provide a value! This date value is used to make sure the script run every time the template is deployed. |
+
+### Parameter: `arguments`
+
+Command-line arguments to pass to the script. Arguments are separated by spaces.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `azCliVersion`
+
+Azure CLI module version to be used.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `azPowerShellVersion`
+
+Azure PowerShell module version to be used.
+- Required: No
+- Type: string
+- Default: `'3.0'`
+
+### Parameter: `baseTime`
+
+Do not provide a value! This date value is used to make sure the script run every time the template is deployed.
+- Required: No
+- Type: string
+- Default: `[utcNow('yyyy-MM-dd-HH-mm-ss')]`
+
+### Parameter: `cleanupPreference`
+
+The clean up preference when the script execution gets in a terminal state. Specify the preference on when to delete the deployment script resources. The default value is Always, which means the deployment script resources are deleted despite the terminal state (Succeeded, Failed, canceled).
+- Required: No
+- Type: string
+- Default: `'Always'`
+- Allowed: `[Always, OnExpiration, OnSuccess]`
+
+### Parameter: `containerGroupName`
+
+Container group name, if not specified then the name will get auto-generated. Not specifying a 'containerGroupName' indicates the system to generate a unique name which might end up flagging an Azure Policy as non-compliant. Use 'containerGroupName' when you have an Azure Policy that expects a specific naming convention or when you want to fully control the name. 'containerGroupName' property must be between 1 and 63 characters long, must contain only lowercase letters, numbers, and dashes and it cannot start or end with a dash and consecutive dashes are not allowed.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `environmentVariables`
+
+The environment variables to pass over to the script. The list is passed as an object with a key name "secureList" and the value is the list of environment variables (array). The list must have a 'name' and a 'value' or a 'secretValue' property for each object.
+- Required: No
+- Type: secureObject
+- Default: `{object}`
+
+### Parameter: `kind`
+
+Type of the script. AzurePowerShell, AzureCLI.
+- Required: No
+- Type: string
+- Default: `'AzurePowerShell'`
+- Allowed: `[AzureCLI, AzurePowerShell]`
+
+### Parameter: `location`
+
+Location for all resources.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `lock`
+
+Specify the type of lock.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', CanNotDelete, ReadOnly]`
+
+### Parameter: `name`
+
+Display name of the script to be run.
+- Required: Yes
+- Type: string
+
+### Parameter: `primaryScriptUri`
+
+Uri for the external script. This is the entry point for the external script. To run an internal script, use the scriptContent instead.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `retentionInterval`
+
+Interval for which the service retains the script resource after it reaches a terminal state. Resource will be deleted when this duration expires. Duration is based on ISO 8601 pattern (for example P7D means one week).
+- Required: No
+- Type: string
+- Default: `'P1D'`
+
+### Parameter: `runOnce`
+
+When set to false, script will run every time the template is deployed. When set to true, the script will only run once.
+- Required: No
+- Type: bool
+- Default: `False`
+
+### Parameter: `scriptContent`
+
+Script body. Max length: 32000 characters. To run an external script, use primaryScriptURI instead.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `storageAccountResourceId`
+
+The resource ID of the storage account to use for this deployment script. If none is provided, the deployment script uses a temporary, managed storage account.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `supportingScriptUris`
+
+List of supporting files for the external script (defined in primaryScriptUri). Does not work with internal scripts (code defined in scriptContent).
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `tags`
+
+Tags of the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `timeout`
+
+Maximum allowed script execution time specified in ISO 8601 format. Default value is PT1H - 1 hour; 'PT30M' - 30 minutes; 'P5D' - 5 days; 'P1Y' 1 year.
+- Required: No
+- Type: string
+- Default: `'PT1H'`
+
+### Parameter: `userAssignedIdentities`
+
+The ID(s) to assign to the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The name of the deployment script. |
+| `outputs` | object | The output of the deployment script. |
+| `resourceGroupName` | string | The resource group the deployment script was deployed into. |
+| `resourceId` | string | The resource ID of the deployment script. |
+
+## Cross-referenced modules
+
+_None_
diff --git a/modules/resources/deployment-script/main.json b/modules/resources/deployment-script/main.json
index 0a7d0d9090..2f4d4f4a0d 100644
--- a/modules/resources/deployment-script/main.json
+++ b/modules/resources/deployment-script/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "8110228844611454639"
+ "version": "0.22.6.54827",
+ "templateHash": "13171333688007785690"
},
"name": "Deployment Scripts",
"description": "This module deploys a Deployment Script.",
diff --git a/modules/resources/resource-group/.test/common/main.test.bicep b/modules/resources/resource-group/.test/common/main.test.bicep
index 7cbc7f6c16..0090211eb1 100644
--- a/modules/resources/resource-group/.test/common/main.test.bicep
+++ b/modules/resources/resource-group/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/resources/resource-group/.test/min/main.test.bicep b/modules/resources/resource-group/.test/min/main.test.bicep
index dc9625823a..04d75955c0 100644
--- a/modules/resources/resource-group/.test/min/main.test.bicep
+++ b/modules/resources/resource-group/.test/min/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using only defaults'
+metadata description = 'This instance deploys the module with the minimum set of required parameters.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/resources/resource-group/README.md b/modules/resources/resource-group/README.md
index 4c341910e3..e57cc52c30 100644
--- a/modules/resources/resource-group/README.md
+++ b/modules/resources/resource-group/README.md
@@ -4,13 +4,13 @@ This module deploys a Resource Group.
## Navigation
-- [Resource types](#Resource-types)
+- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
-## Resource types
+## Resource Types
| Resource Type | API Version |
| :-- | :-- |
@@ -18,57 +18,28 @@ This module deploys a Resource Group.
| `Microsoft.Authorization/roleAssignments` | [2022-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2022-04-01/roleAssignments) |
| `Microsoft.Resources/resourceGroups` | [2021-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Resources/2021-04-01/resourceGroups) |
-## Parameters
-
-**Required parameters**
-
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | The name of the Resource Group. |
-
-**Optional parameters**
+## Usage examples
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `location` | string | `[deployment().location]` | | Location of the Resource Group. It uses the deployment's location when not provided. |
-| `lock` | string | `''` | `['', CanNotDelete, ReadOnly]` | Specify the type of lock. |
-| `managedBy` | string | `''` | | The ID of the resource that manages this resource group. |
-| `roleAssignments` | array | `[]` | | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
-| `tags` | object | `{object}` | | Tags of the storage account resource. |
+The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository.
+>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-## Outputs
+>**Note**: To reference the module, please use the following syntax `br:bicep/modules/resources.resource-group:1.0.0`.
-| Output Name | Type | Description |
-| :-- | :-- | :-- |
-| `location` | string | The location the resource was deployed into. |
-| `name` | string | The name of the resource group. |
-| `resourceId` | string | The resource ID of the resource group. |
+- [Using large parameter set](#example-1-using-large-parameter-set)
+- [Using only defaults](#example-2-using-only-defaults)
-## Cross-referenced modules
+### Example 1: _Using large parameter set_
-This section gives you an overview of all local-referenced module files (i.e., other CARML modules that are referenced in this module) and all remote-referenced files (i.e., Bicep modules that are referenced from a Bicep Registry or Template Specs).
+This instance deploys the module with most of its features enabled.
-| Reference | Type |
-| :-- | :-- |
-| `authorization/lock/resource-group` | Local reference |
-
-## Deployment examples
-
-The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder.
- >**Note**: The name of each example is based on the name of the file from which it is taken.
-
- >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-
-
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | The name of the Resource Group. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`location`](#parameter-location) | string | Location of the Resource Group. It uses the deployment's location when not provided. |
+| [`lock`](#parameter-lock) | string | Specify the type of lock. |
+| [`managedBy`](#parameter-managedby) | string | The ID of the resource that manages this resource group. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`tags`](#parameter-tags) | object | Tags of the storage account resource. |
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `location`
+
+Location of the Resource Group. It uses the deployment's location when not provided.
+- Required: No
+- Type: string
+- Default: `[deployment().location]`
+
+### Parameter: `lock`
+
+Specify the type of lock.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', CanNotDelete, ReadOnly]`
+
+### Parameter: `managedBy`
+
+The ID of the resource that manages this resource group.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `name`
+
+The name of the Resource Group.
+- Required: Yes
+- Type: string
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `tags`
+
+Tags of the storage account resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The name of the resource group. |
+| `resourceId` | string | The resource ID of the resource group. |
+
+## Cross-referenced modules
+
+This section gives you an overview of all local-referenced module files (i.e., other CARML modules that are referenced in this module) and all remote-referenced files (i.e., Bicep modules that are referenced from a Bicep Registry or Template Specs).
+
+| Reference | Type |
+| :-- | :-- |
+| `modules/authorization/lock/resource-group` | Local reference |
diff --git a/modules/resources/resource-group/main.json b/modules/resources/resource-group/main.json
index 2e9a71ba0e..311d143451 100644
--- a/modules/resources/resource-group/main.json
+++ b/modules/resources/resource-group/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "3729995632350323768"
+ "version": "0.22.6.54827",
+ "templateHash": "698589074683460032"
},
"name": "Resource Groups",
"description": "This module deploys a Resource Group.",
@@ -116,8 +116,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "10420976827552614779"
+ "version": "0.22.6.54827",
+ "templateHash": "8961143332409950444"
},
"name": "Authorization Locks (Resource Group scope)",
"description": "This module deploys an Authorization Lock at a Resource Group scope.",
@@ -249,8 +249,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "1146156557420886689"
+ "version": "0.22.6.54827",
+ "templateHash": "9238529270860750175"
}
},
"parameters": {
diff --git a/modules/resources/tags/.test/min/main.test.bicep b/modules/resources/tags/.test/min/main.test.bicep
index bd4d81cfe3..4afd22e26f 100644
--- a/modules/resources/tags/.test/min/main.test.bicep
+++ b/modules/resources/tags/.test/min/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using only defaults'
+metadata description = 'This instance deploys the module with the minimum set of required parameters.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/resources/tags/README.md b/modules/resources/tags/README.md
index 8c84394fa8..9135bfb176 100644
--- a/modules/resources/tags/README.md
+++ b/modules/resources/tags/README.md
@@ -5,10 +5,10 @@ This module deploys a Resource Tag at a Subscription or Resource Group scope.
## Navigation
- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
## Resource Types
@@ -16,47 +16,29 @@ This module deploys a Resource Tag at a Subscription or Resource Group scope.
| :-- | :-- |
| `Microsoft.Resources/tags` | [2021-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Resources/2021-04-01/tags) |
-## Parameters
-
-**Optional parameters**
+## Usage examples
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `location` | string | `[deployment().location]` | Location deployment metadata. |
-| `onlyUpdate` | bool | `False` | Instead of overwriting the existing tags, combine them with the new tags. |
-| `resourceGroupName` | string | `''` | Name of the Resource Group to assign the tags to. If no Resource Group name is provided, and Subscription ID is provided, the module deploys at subscription level, therefore assigns the provided tags to the subscription. |
-| `subscriptionId` | string | `[subscription().id]` | Subscription ID of the subscription to assign the tags to. If no Resource Group name is provided, the module deploys at subscription level, therefore assigns the provided tags to the subscription. |
-| `tags` | object | `{object}` | Tags for the resource group. If not provided, removes existing tags. |
-
-
-## Outputs
-
-| Output Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | The name of the tags resource. |
-| `resourceId` | string | The resource ID of the applied tags. |
-| `tags` | object | The applied tags. |
+The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository.
-## Cross-referenced modules
+>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-_None_
+>**Note**: To reference the module, please use the following syntax `br:bicep/modules/resources.tags:1.0.0`.
-## Deployment examples
+- [Using only defaults](#example-1-using-only-defaults)
+- [Rg](#example-2-rg)
+- [Sub](#example-3-sub)
-The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder.
- >**Note**: The name of each example is based on the name of the file from which it is taken.
+### Example 1: _Using only defaults_
- >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
+This instance deploys the module with the minimum set of required parameters.
-
-
-
+
+
+## Parameters
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`location`](#parameter-location) | string | Location deployment metadata. |
+| [`onlyUpdate`](#parameter-onlyupdate) | bool | Instead of overwriting the existing tags, combine them with the new tags. |
+| [`resourceGroupName`](#parameter-resourcegroupname) | string | Name of the Resource Group to assign the tags to. If no Resource Group name is provided, and Subscription ID is provided, the module deploys at subscription level, therefore assigns the provided tags to the subscription. |
+| [`subscriptionId`](#parameter-subscriptionid) | string | Subscription ID of the subscription to assign the tags to. If no Resource Group name is provided, the module deploys at subscription level, therefore assigns the provided tags to the subscription. |
+| [`tags`](#parameter-tags) | object | Tags for the resource group. If not provided, removes existing tags. |
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `location`
+
+Location deployment metadata.
+- Required: No
+- Type: string
+- Default: `[deployment().location]`
+
+### Parameter: `onlyUpdate`
+
+Instead of overwriting the existing tags, combine them with the new tags.
+- Required: No
+- Type: bool
+- Default: `False`
+
+### Parameter: `resourceGroupName`
+
+Name of the Resource Group to assign the tags to. If no Resource Group name is provided, and Subscription ID is provided, the module deploys at subscription level, therefore assigns the provided tags to the subscription.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `subscriptionId`
+
+Subscription ID of the subscription to assign the tags to. If no Resource Group name is provided, the module deploys at subscription level, therefore assigns the provided tags to the subscription.
+- Required: No
+- Type: string
+- Default: `[subscription().id]`
+
+### Parameter: `tags`
+
+Tags for the resource group. If not provided, removes existing tags.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `name` | string | The name of the tags resource. |
+| `resourceId` | string | The resource ID of the applied tags. |
+| `tags` | object | The applied tags. |
+
+## Cross-referenced modules
+
+_None_
diff --git a/modules/resources/tags/main.json b/modules/resources/tags/main.json
index 4458dbbe53..85a73c4674 100644
--- a/modules/resources/tags/main.json
+++ b/modules/resources/tags/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "15623552838363512630"
+ "version": "0.22.6.54827",
+ "templateHash": "17959459334247355830"
},
"name": "Resources Tags",
"description": "This module deploys a Resource Tag at a Subscription or Resource Group scope.",
@@ -105,8 +105,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "791889452516757013"
+ "version": "0.22.6.54827",
+ "templateHash": "17975356792950377604"
},
"name": "Resources Tags Subscription Scope",
"description": "This module deploys a Resource Tag on a Subscription scope.",
@@ -186,8 +186,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "9008008606560089334"
+ "version": "0.22.6.54827",
+ "templateHash": "18269006446765776342"
}
},
"parameters": {
@@ -267,8 +267,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "11114375852398740809"
+ "version": "0.22.6.54827",
+ "templateHash": "8701740381622545052"
},
"name": "Resources Tags Resource Group",
"description": "This module deploys a Resource Tag on a Resource Group scope.",
@@ -339,8 +339,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "4678848348426348914"
+ "version": "0.22.6.54827",
+ "templateHash": "8737749583083645128"
}
},
"parameters": {
diff --git a/modules/resources/tags/resource-group/README.md b/modules/resources/tags/resource-group/README.md
index b01512e657..678fc74561 100644
--- a/modules/resources/tags/resource-group/README.md
+++ b/modules/resources/tags/resource-group/README.md
@@ -19,16 +19,37 @@ This module deploys a Resource Tag on a Resource Group scope.
**Optional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `onlyUpdate` | bool | `False` | Instead of overwriting the existing tags, combine them with the new tags. |
-| `tags` | object | `{object}` | Tags for the resource group. If not provided, removes existing tags. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`onlyUpdate`](#parameter-onlyupdate) | bool | Instead of overwriting the existing tags, combine them with the new tags. |
+| [`tags`](#parameter-tags) | object | Tags for the resource group. If not provided, removes existing tags. |
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `onlyUpdate`
+
+Instead of overwriting the existing tags, combine them with the new tags.
+- Required: No
+- Type: bool
+- Default: `False`
+
+### Parameter: `tags`
+
+Tags for the resource group. If not provided, removes existing tags.
+- Required: No
+- Type: object
+- Default: `{object}`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The name of the tags resource. |
| `resourceGroupName` | string | The name of the resource group the tags were applied to. |
diff --git a/modules/resources/tags/resource-group/main.json b/modules/resources/tags/resource-group/main.json
index fabaa09756..8e1a7b8b39 100644
--- a/modules/resources/tags/resource-group/main.json
+++ b/modules/resources/tags/resource-group/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "4275347865908810280"
+ "version": "0.22.6.54827",
+ "templateHash": "8701740381622545052"
},
"name": "Resources Tags Resource Group",
"description": "This module deploys a Resource Tag on a Resource Group scope.",
@@ -76,8 +76,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "5447313974004996573"
+ "version": "0.22.6.54827",
+ "templateHash": "8737749583083645128"
}
},
"parameters": {
diff --git a/modules/resources/tags/subscription/README.md b/modules/resources/tags/subscription/README.md
index 384fb2c7e9..48c7d355a0 100644
--- a/modules/resources/tags/subscription/README.md
+++ b/modules/resources/tags/subscription/README.md
@@ -19,17 +19,45 @@ This module deploys a Resource Tag on a Subscription scope.
**Optional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `location` | string | `[deployment().location]` | Location deployment metadata. |
-| `onlyUpdate` | bool | `False` | Instead of overwriting the existing tags, combine them with the new tags. |
-| `tags` | object | `{object}` | Tags for the resource group. If not provided, removes existing tags. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`location`](#parameter-location) | string | Location deployment metadata. |
+| [`onlyUpdate`](#parameter-onlyupdate) | bool | Instead of overwriting the existing tags, combine them with the new tags. |
+| [`tags`](#parameter-tags) | object | Tags for the resource group. If not provided, removes existing tags. |
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `location`
+
+Location deployment metadata.
+- Required: No
+- Type: string
+- Default: `[deployment().location]`
+
+### Parameter: `onlyUpdate`
+
+Instead of overwriting the existing tags, combine them with the new tags.
+- Required: No
+- Type: bool
+- Default: `False`
+
+### Parameter: `tags`
+
+Tags for the resource group. If not provided, removes existing tags.
+- Required: No
+- Type: object
+- Default: `{object}`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The name of the tags resource. |
| `resourceId` | string | The resource ID of the applied tags. |
diff --git a/modules/resources/tags/subscription/main.json b/modules/resources/tags/subscription/main.json
index 615fd9ce66..467d62828b 100644
--- a/modules/resources/tags/subscription/main.json
+++ b/modules/resources/tags/subscription/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "17445460813956994133"
+ "version": "0.22.6.54827",
+ "templateHash": "17975356792950377604"
},
"name": "Resources Tags Subscription Scope",
"description": "This module deploys a Resource Tag on a Subscription scope.",
@@ -85,8 +85,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "373680921396677494"
+ "version": "0.22.6.54827",
+ "templateHash": "18269006446765776342"
}
},
"parameters": {
diff --git a/modules/search/search-service/.test/common/main.test.bicep b/modules/search/search-service/.test/common/main.test.bicep
index a57241f341..299cc6438a 100644
--- a/modules/search/search-service/.test/common/main.test.bicep
+++ b/modules/search/search-service/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/search/search-service/.test/min/main.test.bicep b/modules/search/search-service/.test/min/main.test.bicep
index 6a2b1474fb..4f66e7b2e4 100644
--- a/modules/search/search-service/.test/min/main.test.bicep
+++ b/modules/search/search-service/.test/min/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using only defaults'
+metadata description = 'This instance deploys the module with the minimum set of required parameters.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/search/search-service/README.md b/modules/search/search-service/README.md
index ab526edefb..3cc54ce756 100644
--- a/modules/search/search-service/README.md
+++ b/modules/search/search-service/README.md
@@ -5,10 +5,10 @@ This module deploys a Search Service.
## Navigation
- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
## Resource Types
@@ -22,76 +22,29 @@ This module deploys a Search Service.
| `Microsoft.Search/searchServices` | [2022-09-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Search/2022-09-01/searchServices) |
| `Microsoft.Search/searchServices/sharedPrivateLinkResources` | [2022-09-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Search/2022-09-01/searchServices/sharedPrivateLinkResources) |
-## Parameters
-
-**Required parameters**
-
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | The name of the Azure Cognitive Search service to create or update. Search service names must only contain lowercase letters, digits or dashes, cannot use dash as the first two or last one characters, cannot contain consecutive dashes, and must be between 2 and 60 characters in length. Search service names must be globally unique since they are part of the service URI (https://
-
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | The name of the Azure Cognitive Search service to create or update. Search service names must only contain lowercase letters, digits or dashes, cannot use dash as the first two or last one characters, cannot contain consecutive dashes, and must be between 2 and 60 characters in length. Search service names must be globally unique since they are part of the service URI (https://
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`scope`](#parameter-scope) | string | All the VMs in this scope will send their security data to the mentioned workspace unless overridden by a setting with more specific scope. |
+| [`workspaceId`](#parameter-workspaceid) | string | The full Azure ID of the workspace to save the data in. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`appServicesPricingTier`](#parameter-appservicespricingtier) | string | The pricing tier value for AppServices. Azure Security Center is provided in two pricing tiers: free and standard, with the standard tier available with a trial period. The standard tier offers advanced security capabilities, while the free tier offers basic security features. - Free or Standard. |
+| [`armPricingTier`](#parameter-armpricingtier) | string | The pricing tier value for ARM. Azure Security Center is provided in two pricing tiers: free and standard, with the standard tier available with a trial period. The standard tier offers advanced security capabilities, while the free tier offers basic security features. - Free or Standard. |
+| [`autoProvision`](#parameter-autoprovision) | string | Describes what kind of security agent provisioning action to take. - On or Off. |
+| [`containerRegistryPricingTier`](#parameter-containerregistrypricingtier) | string | The pricing tier value for ContainerRegistry. Azure Security Center is provided in two pricing tiers: free and standard, with the standard tier available with a trial period. The standard tier offers advanced security capabilities, while the free tier offers basic security features. - Free or Standard. |
+| [`containersTier`](#parameter-containerstier) | string | The pricing tier value for containers. Azure Security Center is provided in two pricing tiers: free and standard, with the standard tier available with a trial period. The standard tier offers advanced security capabilities, while the free tier offers basic security features. - Free or Standard. |
+| [`cosmosDbsTier`](#parameter-cosmosdbstier) | string | The pricing tier value for CosmosDbs. Azure Security Center is provided in two pricing tiers: free and standard, with the standard tier available with a trial period. The standard tier offers advanced security capabilities, while the free tier offers basic security features. - Free or Standard. |
+| [`deviceSecurityGroupProperties`](#parameter-devicesecuritygroupproperties) | object | Device Security group data. |
+| [`dnsPricingTier`](#parameter-dnspricingtier) | string | The pricing tier value for DNS. Azure Security Center is provided in two pricing tiers: free and standard, with the standard tier available with a trial period. The standard tier offers advanced security capabilities, while the free tier offers basic security features. - Free or Standard. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`ioTSecuritySolutionProperties`](#parameter-iotsecuritysolutionproperties) | object | Security Solution data. |
+| [`keyVaultsPricingTier`](#parameter-keyvaultspricingtier) | string | The pricing tier value for KeyVaults. Azure Security Center is provided in two pricing tiers: free and standard, with the standard tier available with a trial period. The standard tier offers advanced security capabilities, while the free tier offers basic security features. - Free or Standard. |
+| [`kubernetesServicePricingTier`](#parameter-kubernetesservicepricingtier) | string | The pricing tier value for KubernetesService. Azure Security Center is provided in two pricing tiers: free and standard, with the standard tier available with a trial period. The standard tier offers advanced security capabilities, while the free tier offers basic security features. - Free or Standard. |
+| [`location`](#parameter-location) | string | Location deployment metadata. |
+| [`openSourceRelationalDatabasesTier`](#parameter-opensourcerelationaldatabasestier) | string | The pricing tier value for OpenSourceRelationalDatabases. Azure Security Center is provided in two pricing tiers: free and standard, with the standard tier available with a trial period. The standard tier offers advanced security capabilities, while the free tier offers basic security features. - Free or Standard. |
+| [`securityContactProperties`](#parameter-securitycontactproperties) | object | Security contact data. |
+| [`sqlServersPricingTier`](#parameter-sqlserverspricingtier) | string | The pricing tier value for SqlServers. Azure Security Center is provided in two pricing tiers: free and standard, with the standard tier available with a trial period. The standard tier offers advanced security capabilities, while the free tier offers basic security features. - Free or Standard. |
+| [`sqlServerVirtualMachinesPricingTier`](#parameter-sqlservervirtualmachinespricingtier) | string | The pricing tier value for SqlServerVirtualMachines. Azure Security Center is provided in two pricing tiers: free and standard, with the standard tier available with a trial period. The standard tier offers advanced security capabilities, while the free tier offers basic security features. - Free or Standard. |
+| [`storageAccountsPricingTier`](#parameter-storageaccountspricingtier) | string | The pricing tier value for StorageAccounts. Azure Security Center is provided in two pricing tiers: free and standard, with the standard tier available with a trial period. The standard tier offers advanced security capabilities, while the free tier offers basic security features. - Free or Standard. |
+| [`virtualMachinesPricingTier`](#parameter-virtualmachinespricingtier) | string | The pricing tier value for VMs. Azure Security Center is provided in two pricing tiers: free and standard, with the standard tier available with a trial period. The standard tier offers advanced security capabilities, while the free tier offers basic security features. - Free or Standard. |
+
+### Parameter: `appServicesPricingTier`
+
+The pricing tier value for AppServices. Azure Security Center is provided in two pricing tiers: free and standard, with the standard tier available with a trial period. The standard tier offers advanced security capabilities, while the free tier offers basic security features. - Free or Standard.
+- Required: No
+- Type: string
+- Default: `'Free'`
+- Allowed: `[Free, Standard]`
+
+### Parameter: `armPricingTier`
+
+The pricing tier value for ARM. Azure Security Center is provided in two pricing tiers: free and standard, with the standard tier available with a trial period. The standard tier offers advanced security capabilities, while the free tier offers basic security features. - Free or Standard.
+- Required: No
+- Type: string
+- Default: `'Free'`
+- Allowed: `[Free, Standard]`
+
+### Parameter: `autoProvision`
+
+Describes what kind of security agent provisioning action to take. - On or Off.
+- Required: No
+- Type: string
+- Default: `'On'`
+- Allowed: `[Off, On]`
+
+### Parameter: `containerRegistryPricingTier`
+
+The pricing tier value for ContainerRegistry. Azure Security Center is provided in two pricing tiers: free and standard, with the standard tier available with a trial period. The standard tier offers advanced security capabilities, while the free tier offers basic security features. - Free or Standard.
+- Required: No
+- Type: string
+- Default: `'Free'`
+- Allowed: `[Free, Standard]`
+
+### Parameter: `containersTier`
+
+The pricing tier value for containers. Azure Security Center is provided in two pricing tiers: free and standard, with the standard tier available with a trial period. The standard tier offers advanced security capabilities, while the free tier offers basic security features. - Free or Standard.
+- Required: No
+- Type: string
+- Default: `'Free'`
+- Allowed: `[Free, Standard]`
+
+### Parameter: `cosmosDbsTier`
+
+The pricing tier value for CosmosDbs. Azure Security Center is provided in two pricing tiers: free and standard, with the standard tier available with a trial period. The standard tier offers advanced security capabilities, while the free tier offers basic security features. - Free or Standard.
+- Required: No
+- Type: string
+- Default: `'Free'`
+- Allowed: `[Free, Standard]`
+
+### Parameter: `deviceSecurityGroupProperties`
+
+Device Security group data.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `dnsPricingTier`
+
+The pricing tier value for DNS. Azure Security Center is provided in two pricing tiers: free and standard, with the standard tier available with a trial period. The standard tier offers advanced security capabilities, while the free tier offers basic security features. - Free or Standard.
+- Required: No
+- Type: string
+- Default: `'Free'`
+- Allowed: `[Free, Standard]`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `ioTSecuritySolutionProperties`
+
+Security Solution data.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `keyVaultsPricingTier`
+
+The pricing tier value for KeyVaults. Azure Security Center is provided in two pricing tiers: free and standard, with the standard tier available with a trial period. The standard tier offers advanced security capabilities, while the free tier offers basic security features. - Free or Standard.
+- Required: No
+- Type: string
+- Default: `'Free'`
+- Allowed: `[Free, Standard]`
+
+### Parameter: `kubernetesServicePricingTier`
+
+The pricing tier value for KubernetesService. Azure Security Center is provided in two pricing tiers: free and standard, with the standard tier available with a trial period. The standard tier offers advanced security capabilities, while the free tier offers basic security features. - Free or Standard.
+- Required: No
+- Type: string
+- Default: `'Free'`
+- Allowed: `[Free, Standard]`
+
+### Parameter: `location`
+
+Location deployment metadata.
+- Required: No
+- Type: string
+- Default: `[deployment().location]`
+
+### Parameter: `openSourceRelationalDatabasesTier`
+
+The pricing tier value for OpenSourceRelationalDatabases. Azure Security Center is provided in two pricing tiers: free and standard, with the standard tier available with a trial period. The standard tier offers advanced security capabilities, while the free tier offers basic security features. - Free or Standard.
+- Required: No
+- Type: string
+- Default: `'Free'`
+- Allowed: `[Free, Standard]`
+
+### Parameter: `scope`
+
+All the VMs in this scope will send their security data to the mentioned workspace unless overridden by a setting with more specific scope.
+- Required: Yes
+- Type: string
+
+### Parameter: `securityContactProperties`
+
+Security contact data.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `sqlServersPricingTier`
+
+The pricing tier value for SqlServers. Azure Security Center is provided in two pricing tiers: free and standard, with the standard tier available with a trial period. The standard tier offers advanced security capabilities, while the free tier offers basic security features. - Free or Standard.
+- Required: No
+- Type: string
+- Default: `'Free'`
+- Allowed: `[Free, Standard]`
+
+### Parameter: `sqlServerVirtualMachinesPricingTier`
+
+The pricing tier value for SqlServerVirtualMachines. Azure Security Center is provided in two pricing tiers: free and standard, with the standard tier available with a trial period. The standard tier offers advanced security capabilities, while the free tier offers basic security features. - Free or Standard.
+- Required: No
+- Type: string
+- Default: `'Free'`
+- Allowed: `[Free, Standard]`
+
+### Parameter: `storageAccountsPricingTier`
+
+The pricing tier value for StorageAccounts. Azure Security Center is provided in two pricing tiers: free and standard, with the standard tier available with a trial period. The standard tier offers advanced security capabilities, while the free tier offers basic security features. - Free or Standard.
+- Required: No
+- Type: string
+- Default: `'Free'`
+- Allowed: `[Free, Standard]`
+
+### Parameter: `virtualMachinesPricingTier`
+
+The pricing tier value for VMs. Azure Security Center is provided in two pricing tiers: free and standard, with the standard tier available with a trial period. The standard tier offers advanced security capabilities, while the free tier offers basic security features. - Free or Standard.
+- Required: No
+- Type: string
+- Default: `'Free'`
+- Allowed: `[Free, Standard]`
+
+### Parameter: `workspaceId`
+
+The full Azure ID of the workspace to save the data in.
+- Required: Yes
+- Type: string
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `name` | string | The name of the security center. |
+| `workspaceId` | string | The resource ID of the used log analytics workspace. |
+
+## Cross-referenced modules
+
+_None_
diff --git a/modules/security/azure-security-center/main.json b/modules/security/azure-security-center/main.json
index d9d382b69c..cf4fce1f0b 100644
--- a/modules/security/azure-security-center/main.json
+++ b/modules/security/azure-security-center/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "11416260825097629257"
+ "version": "0.22.6.54827",
+ "templateHash": "5337788890835022528"
},
"name": "Azure Security Center (Defender for Cloud)",
"description": "This module deploys an Azure Security Center (Defender for Cloud) Configuration.",
@@ -364,8 +364,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "13016057569340125747"
+ "version": "0.22.6.54827",
+ "templateHash": "15519935694361963633"
}
},
"parameters": {
diff --git a/modules/service-bus/namespace/.test/common/main.test.bicep b/modules/service-bus/namespace/.test/common/main.test.bicep
index e0ad9fc570..b7ffb57b2a 100644
--- a/modules/service-bus/namespace/.test/common/main.test.bicep
+++ b/modules/service-bus/namespace/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/service-bus/namespace/.test/min/main.test.bicep b/modules/service-bus/namespace/.test/min/main.test.bicep
index 0656221b4e..81c5af272a 100644
--- a/modules/service-bus/namespace/.test/min/main.test.bicep
+++ b/modules/service-bus/namespace/.test/min/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using only defaults'
+metadata description = 'This instance deploys the module with the minimum set of required parameters.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/service-bus/namespace/README.md b/modules/service-bus/namespace/README.md
index eb97303df4..67765a898b 100644
--- a/modules/service-bus/namespace/README.md
+++ b/modules/service-bus/namespace/README.md
@@ -4,13 +4,13 @@ This module deploys a Service Bus Namespace.
## Navigation
-- [Resource types](#Resource-types)
+- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
-## Resource types
+## Resource Types
| Resource Type | API Version |
| :-- | :-- |
@@ -29,92 +29,30 @@ This module deploys a Service Bus Namespace.
| `Microsoft.ServiceBus/namespaces/topics` | [2022-10-01-preview](https://learn.microsoft.com/en-us/azure/templates/Microsoft.ServiceBus/2022-10-01-preview/namespaces/topics) |
| `Microsoft.ServiceBus/namespaces/topics/authorizationRules` | [2022-10-01-preview](https://learn.microsoft.com/en-us/azure/templates/Microsoft.ServiceBus/2022-10-01-preview/namespaces/topics/authorizationRules) |
-## Parameters
+## Usage examples
-**Required parameters**
+The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository.
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | Name of the Service Bus Namespace. |
+>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-**Conditional parameters**
+>**Note**: To reference the module, please use the following syntax `br:bicep/modules/service-bus.namespace:1.0.0`.
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `cMKKeyVaultResourceId` | string | `''` | The resource ID of a key vault to reference a customer managed key for encryption from. Required if 'cMKKeyName' is not empty. |
+- [Using large parameter set](#example-1-using-large-parameter-set)
+- [Encr](#example-2-encr)
+- [Using only defaults](#example-3-using-only-defaults)
+- [Pe](#example-4-pe)
-**Optional parameters**
+### Example 1: _Using large parameter set_
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `alternateName` | string | `''` | | Alternate name for namespace. |
-| `authorizationRules` | array | `[System.Management.Automation.OrderedHashtable]` | | Authorization Rules for the Service Bus namespace. |
-| `cMKKeyName` | string | `''` | | The name of the customer managed key to use for encryption. If not provided, encryption is automatically enabled with a Microsoft-managed key. |
-| `cMKKeyVersion` | string | `''` | | The version of the customer managed key to reference for encryption. If not provided, the latest key version is used. |
-| `cMKUserAssignedIdentityResourceId` | string | `''` | | User assigned identity to use when fetching the customer managed key. If not provided, a system-assigned identity can be used - but must be given access to the referenced key vault first. |
-| `diagnosticEventHubAuthorizationRuleId` | string | `''` | | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
-| `diagnosticEventHubName` | string | `''` | | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
-| `diagnosticLogCategoriesToEnable` | array | `[allLogs]` | `['', allLogs, OperationalLogs]` | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
-| `diagnosticMetricsToEnable` | array | `[AllMetrics]` | `[AllMetrics]` | The name of metrics that will be streamed. |
-| `diagnosticSettingsName` | string | `''` | | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
-
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | Name of the Service Bus Namespace. |
+
+**Conditional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`cMKKeyVaultResourceId`](#parameter-cmkkeyvaultresourceid) | string | The resource ID of a key vault to reference a customer managed key for encryption from. Required if 'cMKKeyName' is not empty. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`alternateName`](#parameter-alternatename) | string | Alternate name for namespace. |
+| [`authorizationRules`](#parameter-authorizationrules) | array | Authorization Rules for the Service Bus namespace. |
+| [`cMKKeyName`](#parameter-cmkkeyname) | string | The name of the customer managed key to use for encryption. If not provided, encryption is automatically enabled with a Microsoft-managed key. |
+| [`cMKKeyVersion`](#parameter-cmkkeyversion) | string | The version of the customer managed key to reference for encryption. If not provided, the latest key version is used. |
+| [`cMKUserAssignedIdentityResourceId`](#parameter-cmkuserassignedidentityresourceid) | string | User assigned identity to use when fetching the customer managed key. If not provided, a system-assigned identity can be used - but must be given access to the referenced key vault first. |
+| [`diagnosticEventHubAuthorizationRuleId`](#parameter-diagnosticeventhubauthorizationruleid) | string | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
+| [`diagnosticEventHubName`](#parameter-diagnosticeventhubname) | string | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
+| [`diagnosticLogCategoriesToEnable`](#parameter-diagnosticlogcategoriestoenable) | array | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
+| [`diagnosticMetricsToEnable`](#parameter-diagnosticmetricstoenable) | array | The name of metrics that will be streamed. |
+| [`diagnosticSettingsName`](#parameter-diagnosticsettingsname) | string | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
-
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`managementEndpoint`](#parameter-managementendpoint) | string | The http management endpoint of the cluster. |
+| [`name`](#parameter-name) | string | Name of the Service Fabric cluster. |
+| [`nodeTypes`](#parameter-nodetypes) | array | The list of node types in the cluster. |
+| [`reliabilityLevel`](#parameter-reliabilitylevel) | string | The reliability level sets the replica set size of system services. Learn about ReliabilityLevel (https://learn.microsoft.com/en-us/azure/service-fabric/service-fabric-cluster-capacity). - None - Run the System services with a target replica set count of 1. This should only be used for test clusters. - Bronze - Run the System services with a target replica set count of 3. This should only be used for test clusters. - Silver - Run the System services with a target replica set count of 5. - Gold - Run the System services with a target replica set count of 7. - Platinum - Run the System services with a target replica set count of 9. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`addOnFeatures`](#parameter-addonfeatures) | array | The list of add-on features to enable in the cluster. |
+| [`applicationTypes`](#parameter-applicationtypes) | array | Array of Service Fabric cluster application types. |
+| [`azureActiveDirectory`](#parameter-azureactivedirectory) | object | The settings to enable AAD authentication on the cluster. |
+| [`certificate`](#parameter-certificate) | object | Describes the certificate details like thumbprint of the primary certificate, thumbprint of the secondary certificate and the local certificate store location. |
+| [`certificateCommonNames`](#parameter-certificatecommonnames) | object | Describes a list of server certificates referenced by common name that are used to secure the cluster. |
+| [`clientCertificateCommonNames`](#parameter-clientcertificatecommonnames) | array | The list of client certificates referenced by common name that are allowed to manage the cluster. |
+| [`clientCertificateThumbprints`](#parameter-clientcertificatethumbprints) | array | The list of client certificates referenced by thumbprint that are allowed to manage the cluster. |
+| [`clusterCodeVersion`](#parameter-clustercodeversion) | string | The Service Fabric runtime version of the cluster. This property can only by set the user when upgradeMode is set to "Manual". To get list of available Service Fabric versions for new clusters use ClusterVersion API. To get the list of available version for existing clusters use availableClusterVersions. |
+| [`diagnosticsStorageAccountConfig`](#parameter-diagnosticsstorageaccountconfig) | object | The storage account information for storing Service Fabric diagnostic logs. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`eventStoreServiceEnabled`](#parameter-eventstoreserviceenabled) | bool | Indicates if the event store service is enabled. |
+| [`fabricSettings`](#parameter-fabricsettings) | array | The list of custom fabric settings to configure the cluster. |
+| [`infrastructureServiceManager`](#parameter-infrastructureservicemanager) | bool | Indicates if infrastructure service manager is enabled. |
+| [`location`](#parameter-location) | string | Location for all resources. |
+| [`lock`](#parameter-lock) | string | Specify the type of lock. |
+| [`maxUnusedVersionsToKeep`](#parameter-maxunusedversionstokeep) | int | Number of unused versions per application type to keep. |
+| [`notifications`](#parameter-notifications) | array | Indicates a list of notification channels for cluster events. |
+| [`reverseProxyCertificate`](#parameter-reverseproxycertificate) | object | Describes the certificate details. |
+| [`reverseProxyCertificateCommonNames`](#parameter-reverseproxycertificatecommonnames) | object | Describes a list of server certificates referenced by common name that are used to secure the cluster. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`sfZonalUpgradeMode`](#parameter-sfzonalupgrademode) | string | This property controls the logical grouping of VMs in upgrade domains (UDs). This property cannot be modified if a node type with multiple Availability Zones is already present in the cluster. |
+| [`tags`](#parameter-tags) | object | Tags of the resource. |
+| [`upgradeDescription`](#parameter-upgradedescription) | object | Describes the policy used when upgrading the cluster. |
+| [`upgradeMode`](#parameter-upgrademode) | string | The upgrade mode of the cluster when new Service Fabric runtime version is available. |
+| [`upgradePauseEndTimestampUtc`](#parameter-upgradepauseendtimestamputc) | string | Indicates the end date and time to pause automatic runtime version upgrades on the cluster for an specific period of time on the cluster (UTC). |
+| [`upgradePauseStartTimestampUtc`](#parameter-upgradepausestarttimestamputc) | string | Indicates the start date and time to pause automatic runtime version upgrades on the cluster for an specific period of time on the cluster (UTC). |
+| [`upgradeWave`](#parameter-upgradewave) | string | Indicates when new cluster runtime version upgrades will be applied after they are released. By default is Wave0. |
+| [`vmImage`](#parameter-vmimage) | string | The VM image VMSS has been configured with. Generic names such as Windows or Linux can be used. |
+| [`vmssZonalUpgradeMode`](#parameter-vmsszonalupgrademode) | string | This property defines the upgrade mode for the virtual machine scale set, it is mandatory if a node type with multiple Availability Zones is added. |
+| [`waveUpgradePaused`](#parameter-waveupgradepaused) | bool | Boolean to pause automatic runtime version upgrades to the cluster. |
+
+### Parameter: `addOnFeatures`
+
+The list of add-on features to enable in the cluster.
+- Required: No
+- Type: array
+- Default: `[]`
+- Allowed: `[BackupRestoreService, DnsService, RepairManager, ResourceMonitorService]`
+
+### Parameter: `applicationTypes`
+
+Array of Service Fabric cluster application types.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `azureActiveDirectory`
+
+The settings to enable AAD authentication on the cluster.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `certificate`
+
+Describes the certificate details like thumbprint of the primary certificate, thumbprint of the secondary certificate and the local certificate store location.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `certificateCommonNames`
+
+Describes a list of server certificates referenced by common name that are used to secure the cluster.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `clientCertificateCommonNames`
+
+The list of client certificates referenced by common name that are allowed to manage the cluster.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `clientCertificateThumbprints`
+
+The list of client certificates referenced by thumbprint that are allowed to manage the cluster.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `clusterCodeVersion`
+
+The Service Fabric runtime version of the cluster. This property can only by set the user when upgradeMode is set to "Manual". To get list of available Service Fabric versions for new clusters use ClusterVersion API. To get the list of available version for existing clusters use availableClusterVersions.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `diagnosticsStorageAccountConfig`
+
+The storage account information for storing Service Fabric diagnostic logs.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `eventStoreServiceEnabled`
+
+Indicates if the event store service is enabled.
+- Required: No
+- Type: bool
+- Default: `False`
+
+### Parameter: `fabricSettings`
+
+The list of custom fabric settings to configure the cluster.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `infrastructureServiceManager`
+
+Indicates if infrastructure service manager is enabled.
+- Required: No
+- Type: bool
+- Default: `False`
+
+### Parameter: `location`
+
+Location for all resources.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `lock`
+
+Specify the type of lock.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', CanNotDelete, ReadOnly]`
+
+### Parameter: `managementEndpoint`
+
+The http management endpoint of the cluster.
+- Required: Yes
+- Type: string
+
+### Parameter: `maxUnusedVersionsToKeep`
+
+Number of unused versions per application type to keep.
+- Required: No
+- Type: int
+- Default: `3`
+
+### Parameter: `name`
+
+Name of the Service Fabric cluster.
+- Required: Yes
+- Type: string
+
+### Parameter: `nodeTypes`
+
+The list of node types in the cluster.
+- Required: Yes
+- Type: array
+
+### Parameter: `notifications`
+
+Indicates a list of notification channels for cluster events.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `reliabilityLevel`
+
+The reliability level sets the replica set size of system services. Learn about ReliabilityLevel (https://learn.microsoft.com/en-us/azure/service-fabric/service-fabric-cluster-capacity). - None - Run the System services with a target replica set count of 1. This should only be used for test clusters. - Bronze - Run the System services with a target replica set count of 3. This should only be used for test clusters. - Silver - Run the System services with a target replica set count of 5. - Gold - Run the System services with a target replica set count of 7. - Platinum - Run the System services with a target replica set count of 9.
+- Required: Yes
+- Type: string
+- Allowed: `[Bronze, Gold, None, Platinum, Silver]`
+
+### Parameter: `reverseProxyCertificate`
+
+Describes the certificate details.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `reverseProxyCertificateCommonNames`
+
+Describes a list of server certificates referenced by common name that are used to secure the cluster.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `sfZonalUpgradeMode`
+
+This property controls the logical grouping of VMs in upgrade domains (UDs). This property cannot be modified if a node type with multiple Availability Zones is already present in the cluster.
+- Required: No
+- Type: string
+- Default: `'Hierarchical'`
+- Allowed: `[Hierarchical, Parallel]`
+
+### Parameter: `tags`
+
+Tags of the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `upgradeDescription`
+
+Describes the policy used when upgrading the cluster.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `upgradeMode`
+
+The upgrade mode of the cluster when new Service Fabric runtime version is available.
+- Required: No
+- Type: string
+- Default: `'Automatic'`
+- Allowed: `[Automatic, Manual]`
+
+### Parameter: `upgradePauseEndTimestampUtc`
+
+Indicates the end date and time to pause automatic runtime version upgrades on the cluster for an specific period of time on the cluster (UTC).
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `upgradePauseStartTimestampUtc`
+
+Indicates the start date and time to pause automatic runtime version upgrades on the cluster for an specific period of time on the cluster (UTC).
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `upgradeWave`
+
+Indicates when new cluster runtime version upgrades will be applied after they are released. By default is Wave0.
+- Required: No
+- Type: string
+- Default: `'Wave0'`
+- Allowed: `[Wave0, Wave1, Wave2]`
+
+### Parameter: `vmImage`
+
+The VM image VMSS has been configured with. Generic names such as Windows or Linux can be used.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `vmssZonalUpgradeMode`
+
+This property defines the upgrade mode for the virtual machine scale set, it is mandatory if a node type with multiple Availability Zones is added.
+- Required: No
+- Type: string
+- Default: `'Hierarchical'`
+- Allowed: `[Hierarchical, Parallel]`
+
+### Parameter: `waveUpgradePaused`
+
+Boolean to pause automatic runtime version upgrades to the cluster.
+- Required: No
+- Type: bool
+- Default: `False`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `endpoint` | string | The Service Fabric Cluster endpoint. |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The Service Fabric Cluster name. |
+| `resourceGroupName` | string | The Service Fabric Cluster resource group. |
+| `resourceId` | string | The Service Fabric Cluster resource ID. |
+
+## Cross-referenced modules
+
+_None_
+
## Notes
### Parameter Usage: `notifications`
diff --git a/modules/service-fabric/cluster/application-type/README.md b/modules/service-fabric/cluster/application-type/README.md
index 5694135918..1fd40f7308 100644
--- a/modules/service-fabric/cluster/application-type/README.md
+++ b/modules/service-fabric/cluster/application-type/README.md
@@ -19,22 +19,49 @@ This module deploys a Service Fabric Cluster Application Type.
**Conditional parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `serviceFabricClusterName` | string | The name of the parent Service Fabric cluster. Required if the template is used in a standalone deployment. |
+| [`serviceFabricClusterName`](#parameter-servicefabricclustername) | string | The name of the parent Service Fabric cluster. Required if the template is used in a standalone deployment. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `name` | string | `'defaultApplicationType'` | Application type name. |
-| `tags` | object | `{object}` | Tags of the resource. |
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`name`](#parameter-name) | string | Application type name. |
+| [`tags`](#parameter-tags) | object | Tags of the resource. |
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `name`
+
+Application type name.
+- Required: No
+- Type: string
+- Default: `'defaultApplicationType'`
+
+### Parameter: `serviceFabricClusterName`
+
+The name of the parent Service Fabric cluster. Required if the template is used in a standalone deployment.
+- Required: Yes
+- Type: string
+
+### Parameter: `tags`
+
+Tags of the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
## Outputs
-| Output Name | Type | Description |
+| Output | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The resource name of the Application type. |
| `resourceGroupName` | string | The resource group of the Application type. |
diff --git a/modules/service-fabric/cluster/application-type/main.json b/modules/service-fabric/cluster/application-type/main.json
index 4b21e5e00d..ed0f9dfa6d 100644
--- a/modules/service-fabric/cluster/application-type/main.json
+++ b/modules/service-fabric/cluster/application-type/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "18125415207616023954"
+ "version": "0.22.6.54827",
+ "templateHash": "3441501457466891361"
},
"name": "Service Fabric Cluster Application Types",
"description": "This module deploys a Service Fabric Cluster Application Type.",
diff --git a/modules/service-fabric/cluster/main.json b/modules/service-fabric/cluster/main.json
index e24955a9f4..66d8a1770e 100644
--- a/modules/service-fabric/cluster/main.json
+++ b/modules/service-fabric/cluster/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "4531061772881706732"
+ "version": "0.22.6.54827",
+ "templateHash": "212662749954902934"
},
"name": "Service Fabric Clusters",
"description": "This module deploys a Service Fabric Cluster.",
@@ -443,8 +443,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "4382638068628666696"
+ "version": "0.22.6.54827",
+ "templateHash": "6506040938777455648"
}
},
"parameters": {
@@ -588,8 +588,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "14898826188473594106"
+ "version": "0.22.6.54827",
+ "templateHash": "3441501457466891361"
},
"name": "Service Fabric Cluster Application Types",
"description": "This module deploys a Service Fabric Cluster Application Type.",
diff --git a/modules/signal-r-service/signal-r/.test/common/main.test.bicep b/modules/signal-r-service/signal-r/.test/common/main.test.bicep
index 45b2ef7a66..433523a64f 100644
--- a/modules/signal-r-service/signal-r/.test/common/main.test.bicep
+++ b/modules/signal-r-service/signal-r/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/signal-r-service/signal-r/.test/min/main.test.bicep b/modules/signal-r-service/signal-r/.test/min/main.test.bicep
index f262b7c91b..3f7d469ad1 100644
--- a/modules/signal-r-service/signal-r/.test/min/main.test.bicep
+++ b/modules/signal-r-service/signal-r/.test/min/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using only defaults'
+metadata description = 'This instance deploys the module with the minimum set of required parameters.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/signal-r-service/signal-r/README.md b/modules/signal-r-service/signal-r/README.md
index 2f25ef7491..3a6b8ee2c8 100644
--- a/modules/signal-r-service/signal-r/README.md
+++ b/modules/signal-r-service/signal-r/README.md
@@ -5,10 +5,10 @@ This module deploys a SignalR Service SignalR.
## Navigation
- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
## Resource Types
@@ -20,71 +20,28 @@ This module deploys a SignalR Service SignalR.
| `Microsoft.Network/privateEndpoints/privateDnsZoneGroups` | [2023-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2023-04-01/privateEndpoints/privateDnsZoneGroups) |
| `Microsoft.SignalRService/signalR` | [2022-02-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.SignalRService/2022-02-01/signalR) |
-## Parameters
-
-**Required parameters**
-
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | The name of the SignalR Service resource. |
-
-**Optional parameters**
-
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `allowedOrigins` | array | `[*]` | | The allowed origin settings of the resource. |
-| `capacity` | int | `1` | | The unit count of the resource. |
-| `clientCertEnabled` | bool | `False` | | Request client certificate during TLS handshake if enabled. |
-| `disableAadAuth` | bool | `False` | | The disable Azure AD auth settings of the resource. |
-| `disableLocalAuth` | bool | `True` | | The disable local auth settings of the resource. |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `features` | array | `[System.Management.Automation.OrderedHashtable]` | | The features settings of the resource, `ServiceMode` is the only required feature. See https://learn.microsoft.com/en-us/azure/templates/microsoft.signalrservice/signalr?pivots=deployment-language-bicep#signalrfeature for more information. |
-| `kind` | string | `'SignalR'` | `[RawWebSockets, SignalR]` | The kind of the service. |
-| `liveTraceCatagoriesToEnable` | array | `[ConnectivityLogs, MessagingLogs]` | `[ConnectivityLogs, MessagingLogs]` | Control permission for data plane traffic coming from public networks while private endpoint is enabled. |
-| `location` | string | `[resourceGroup().location]` | | The location for the resource. |
-| `lock` | string | `''` | `['', CanNotDelete, ReadOnly]` | Specify the type of lock. |
-| `networkAcls` | object | `{object}` | | Networks ACLs, this value contains IPs to allow and/or Subnet information. Can only be set if the 'SKU' is not 'Free_F1'. For security reasons, it is recommended to set the DefaultAction Deny. |
-| `privateEndpoints` | array | `[]` | | Configuration details for private endpoints. For security reasons, it is recommended to use private endpoints whenever possible. |
-| `publicNetworkAccess` | string | `''` | `['', Disabled, Enabled]` | Whether or not public network access is allowed for this resource. For security reasons it should be disabled. If not specified, it will be disabled by default if private endpoints are set. |
-| `resourceLogConfigurationsToEnable` | array | `[ConnectivityLogs, MessagingLogs]` | `[ConnectivityLogs, MessagingLogs]` | Control permission for data plane traffic coming from public networks while private endpoint is enabled. |
-| `roleAssignments` | array | `[]` | | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
-| `sku` | string | `'Standard_S1'` | `[Free_F1, Premium_P1, Premium_P2, Premium_P3, Standard_S1, Standard_S2, Standard_S3]` | The SKU of the service. |
-| `tags` | object | `{object}` | | The tags of the resource. |
-| `upstreamTemplatesToEnable` | array | `[]` | | Upstream templates to enable. For more information, see https://learn.microsoft.com/en-us/azure/templates/microsoft.signalrservice/2022-02-01/signalr?pivots=deployment-language-bicep#upstreamtemplate. |
-
-
-## Outputs
-
-| Output Name | Type | Description |
-| :-- | :-- | :-- |
-| `location` | string | The location the resource was deployed into. |
-| `name` | string | The SignalR name. |
-| `resourceGroupName` | string | The SignalR resource group. |
-| `resourceId` | string | The SignalR resource ID. |
+## Usage examples
-## Cross-referenced modules
+The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository.
-This section gives you an overview of all local-referenced module files (i.e., other CARML modules that are referenced in this module) and all remote-referenced files (i.e., Bicep modules that are referenced from a Bicep Registry or Template Specs).
+>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-| Reference | Type |
-| :-- | :-- |
-| `network/private-endpoint` | Local reference |
+>**Note**: To reference the module, please use the following syntax `br:bicep/modules/signal-r-service.signal-r:1.0.0`.
-## Deployment examples
+- [Using large parameter set](#example-1-using-large-parameter-set)
+- [Using only defaults](#example-2-using-only-defaults)
-The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder.
- >**Note**: The name of each example is based on the name of the file from which it is taken.
+### Example 1: _Using large parameter set_
- >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
+This instance deploys the module with most of its features enabled.
-
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | The name of the SignalR Service resource. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`allowedOrigins`](#parameter-allowedorigins) | array | The allowed origin settings of the resource. |
+| [`capacity`](#parameter-capacity) | int | The unit count of the resource. |
+| [`clientCertEnabled`](#parameter-clientcertenabled) | bool | Request client certificate during TLS handshake if enabled. |
+| [`disableAadAuth`](#parameter-disableaadauth) | bool | The disable Azure AD auth settings of the resource. |
+| [`disableLocalAuth`](#parameter-disablelocalauth) | bool | The disable local auth settings of the resource. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`features`](#parameter-features) | array | The features settings of the resource, `ServiceMode` is the only required feature. See https://learn.microsoft.com/en-us/azure/templates/microsoft.signalrservice/signalr?pivots=deployment-language-bicep#signalrfeature for more information. |
+| [`kind`](#parameter-kind) | string | The kind of the service. |
+| [`liveTraceCatagoriesToEnable`](#parameter-livetracecatagoriestoenable) | array | Control permission for data plane traffic coming from public networks while private endpoint is enabled. |
+| [`location`](#parameter-location) | string | The location for the resource. |
+| [`lock`](#parameter-lock) | string | Specify the type of lock. |
+| [`networkAcls`](#parameter-networkacls) | object | Networks ACLs, this value contains IPs to allow and/or Subnet information. Can only be set if the 'SKU' is not 'Free_F1'. For security reasons, it is recommended to set the DefaultAction Deny. |
+| [`privateEndpoints`](#parameter-privateendpoints) | array | Configuration details for private endpoints. For security reasons, it is recommended to use private endpoints whenever possible. |
+| [`publicNetworkAccess`](#parameter-publicnetworkaccess) | string | Whether or not public network access is allowed for this resource. For security reasons it should be disabled. If not specified, it will be disabled by default if private endpoints are set. |
+| [`resourceLogConfigurationsToEnable`](#parameter-resourcelogconfigurationstoenable) | array | Control permission for data plane traffic coming from public networks while private endpoint is enabled. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`sku`](#parameter-sku) | string | The SKU of the service. |
+| [`tags`](#parameter-tags) | object | The tags of the resource. |
+| [`upstreamTemplatesToEnable`](#parameter-upstreamtemplatestoenable) | array | Upstream templates to enable. For more information, see https://learn.microsoft.com/en-us/azure/templates/microsoft.signalrservice/2022-02-01/signalr?pivots=deployment-language-bicep#upstreamtemplate. |
+
+### Parameter: `allowedOrigins`
+
+The allowed origin settings of the resource.
+- Required: No
+- Type: array
+- Default: `[*]`
+
+### Parameter: `capacity`
+
+The unit count of the resource.
+- Required: No
+- Type: int
+- Default: `1`
+
+### Parameter: `clientCertEnabled`
+
+Request client certificate during TLS handshake if enabled.
+- Required: No
+- Type: bool
+- Default: `False`
+
+### Parameter: `disableAadAuth`
+
+The disable Azure AD auth settings of the resource.
+- Required: No
+- Type: bool
+- Default: `False`
+
+### Parameter: `disableLocalAuth`
+
+The disable local auth settings of the resource.
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `features`
+
+The features settings of the resource, `ServiceMode` is the only required feature. See https://learn.microsoft.com/en-us/azure/templates/microsoft.signalrservice/signalr?pivots=deployment-language-bicep#signalrfeature for more information.
+- Required: No
+- Type: array
+- Default: `[System.Management.Automation.OrderedHashtable]`
+
+### Parameter: `kind`
+
+The kind of the service.
+- Required: No
+- Type: string
+- Default: `'SignalR'`
+- Allowed: `[RawWebSockets, SignalR]`
+
+### Parameter: `liveTraceCatagoriesToEnable`
+
+Control permission for data plane traffic coming from public networks while private endpoint is enabled.
+- Required: No
+- Type: array
+- Default: `[ConnectivityLogs, MessagingLogs]`
+- Allowed: `[ConnectivityLogs, MessagingLogs]`
+
+### Parameter: `location`
+
+The location for the resource.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `lock`
+
+Specify the type of lock.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', CanNotDelete, ReadOnly]`
+
+### Parameter: `name`
+
+The name of the SignalR Service resource.
+- Required: Yes
+- Type: string
+
+### Parameter: `networkAcls`
+
+Networks ACLs, this value contains IPs to allow and/or Subnet information. Can only be set if the 'SKU' is not 'Free_F1'. For security reasons, it is recommended to set the DefaultAction Deny.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `privateEndpoints`
+
+Configuration details for private endpoints. For security reasons, it is recommended to use private endpoints whenever possible.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `publicNetworkAccess`
+
+Whether or not public network access is allowed for this resource. For security reasons it should be disabled. If not specified, it will be disabled by default if private endpoints are set.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', Disabled, Enabled]`
+
+### Parameter: `resourceLogConfigurationsToEnable`
+
+Control permission for data plane traffic coming from public networks while private endpoint is enabled.
+- Required: No
+- Type: array
+- Default: `[ConnectivityLogs, MessagingLogs]`
+- Allowed: `[ConnectivityLogs, MessagingLogs]`
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `sku`
+
+The SKU of the service.
+- Required: No
+- Type: string
+- Default: `'Standard_S1'`
+- Allowed: `[Free_F1, Premium_P1, Premium_P2, Premium_P3, Standard_S1, Standard_S2, Standard_S3]`
+
+### Parameter: `tags`
+
+The tags of the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `upstreamTemplatesToEnable`
+
+Upstream templates to enable. For more information, see https://learn.microsoft.com/en-us/azure/templates/microsoft.signalrservice/2022-02-01/signalr?pivots=deployment-language-bicep#upstreamtemplate.
+- Required: No
+- Type: array
+- Default: `[]`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The SignalR name. |
+| `resourceGroupName` | string | The SignalR resource group. |
+| `resourceId` | string | The SignalR resource ID. |
+
+## Cross-referenced modules
+
+This section gives you an overview of all local-referenced module files (i.e., other CARML modules that are referenced in this module) and all remote-referenced files (i.e., Bicep modules that are referenced from a Bicep Registry or Template Specs).
+
+| Reference | Type |
+| :-- | :-- |
+| `modules/network/private-endpoint` | Local reference |
diff --git a/modules/signal-r-service/signal-r/main.json b/modules/signal-r-service/signal-r/main.json
index 7362a1c79f..9936aee029 100644
--- a/modules/signal-r-service/signal-r/main.json
+++ b/modules/signal-r-service/signal-r/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "18397814531819646365"
+ "version": "0.22.6.54827",
+ "templateHash": "1694197592231434947"
},
"name": "SignalR Service SignalR",
"description": "This module deploys a SignalR Service SignalR.",
@@ -319,8 +319,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "14580007913383558904"
+ "version": "0.22.6.54827",
+ "templateHash": "2884140170473394983"
},
"name": "Private Endpoints",
"description": "This module deploys a Private Endpoint.",
@@ -519,8 +519,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "2469208411936339153"
+ "version": "0.22.6.54827",
+ "templateHash": "5610247137574346230"
},
"name": "Private Endpoint Private DNS Zone Groups",
"description": "This module deploys a Private Endpoint Private DNS Zone Group.",
@@ -657,8 +657,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "13032708393704093995"
+ "version": "0.22.6.54827",
+ "templateHash": "14351187799927334028"
}
},
"parameters": {
@@ -871,8 +871,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "7310613966426306151"
+ "version": "0.22.6.54827",
+ "templateHash": "15833181325335121682"
}
},
"parameters": {
diff --git a/modules/signal-r-service/web-pub-sub/.test/common/main.test.bicep b/modules/signal-r-service/web-pub-sub/.test/common/main.test.bicep
index 1e4498f8da..841d4abf2d 100644
--- a/modules/signal-r-service/web-pub-sub/.test/common/main.test.bicep
+++ b/modules/signal-r-service/web-pub-sub/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/signal-r-service/web-pub-sub/.test/min/main.test.bicep b/modules/signal-r-service/web-pub-sub/.test/min/main.test.bicep
index 229caafb2b..0afc1a7936 100644
--- a/modules/signal-r-service/web-pub-sub/.test/min/main.test.bicep
+++ b/modules/signal-r-service/web-pub-sub/.test/min/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using only defaults'
+metadata description = 'This instance deploys the module with the minimum set of required parameters.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/signal-r-service/web-pub-sub/README.md b/modules/signal-r-service/web-pub-sub/README.md
index 2fdf5cb244..834852ff3f 100644
--- a/modules/signal-r-service/web-pub-sub/README.md
+++ b/modules/signal-r-service/web-pub-sub/README.md
@@ -5,10 +5,10 @@ This module deploys a SignalR Web PubSub Service.
## Navigation
- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
## Resource Types
@@ -20,72 +20,29 @@ This module deploys a SignalR Web PubSub Service.
| `Microsoft.Network/privateEndpoints/privateDnsZoneGroups` | [2023-04-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Network/2023-04-01/privateEndpoints/privateDnsZoneGroups) |
| `Microsoft.SignalRService/webPubSub` | [2021-10-01](https://learn.microsoft.com/en-us/azure/templates/Microsoft.SignalRService/2021-10-01/webPubSub) |
-## Parameters
-
-**Required parameters**
+## Usage examples
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | The name of the Web PubSub Service resource. |
-
-**Optional parameters**
+The following section provides usage examples for the module, which were used to validate and deploy the module successfully. For a full reference, please review the module's test folder in its repository.
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `capacity` | int | `1` | | The unit count of the resource. 1 by default. |
-| `clientCertEnabled` | bool | `False` | | Request client certificate during TLS handshake if enabled. |
-| `disableAadAuth` | bool | `False` | | When set as true, connection with AuthType=aad won't work. |
-| `disableLocalAuth` | bool | `True` | | Disables all authentication methods other than AAD authentication. For security reasons, this value should be set to `true`. |
-| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `location` | string | `[resourceGroup().location]` | | The location for the resource. |
-| `lock` | string | `''` | `['', CanNotDelete, ReadOnly]` | Specify the type of lock. |
-| `networkAcls` | object | `{object}` | | Networks ACLs, this value contains IPs to allow and/or Subnet information. Can only be set if the 'SKU' is not 'Free_F1'. For security reasons, it is recommended to set the DefaultAction Deny. |
-| `privateEndpoints` | array | `[]` | | Configuration details for private endpoints. For security reasons, it is recommended to use private endpoints whenever possible. |
-| `publicNetworkAccess` | string | `''` | `['', Disabled, Enabled]` | Whether or not public network access is allowed for this resource. For security reasons it should be disabled. If not specified, it will be disabled by default if private endpoints are set. |
-| `resourceLogConfigurationsToEnable` | array | `[ConnectivityLogs, MessagingLogs]` | `[ConnectivityLogs, MessagingLogs]` | Control permission for data plane traffic coming from public networks while private endpoint is enabled. |
-| `roleAssignments` | array | `[]` | | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
-| `sku` | string | `'Standard_S1'` | `[Free_F1, Standard_S1]` | Pricing tier of the resource. |
-| `systemAssignedIdentity` | bool | `False` | | Enables system assigned managed identity on the resource. |
-| `tags` | object | `{object}` | | Tags of the resource. |
-| `userAssignedIdentities` | object | `{object}` | | The ID(s) to assign to the resource. |
+>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
+>**Note**: To reference the module, please use the following syntax `br:bicep/modules/signal-r-service.web-pub-sub:1.0.0`.
-## Outputs
+- [Using large parameter set](#example-1-using-large-parameter-set)
+- [Using only defaults](#example-2-using-only-defaults)
+- [Pe](#example-3-pe)
-| Output Name | Type | Description |
-| :-- | :-- | :-- |
-| `externalIP` | string | The Web PubSub externalIP. |
-| `hostName` | string | The Web PubSub hostName. |
-| `location` | string | The location the resource was deployed into. |
-| `name` | string | The Web PubSub name. |
-| `publicPort` | int | The Web PubSub publicPort. |
-| `resourceGroupName` | string | The Web PubSub resource group. |
-| `resourceId` | string | The Web PubSub resource ID. |
-| `serverPort` | int | The Web PubSub serverPort. |
-
-## Cross-referenced modules
-
-This section gives you an overview of all local-referenced module files (i.e., other CARML modules that are referenced in this module) and all remote-referenced files (i.e., Bicep modules that are referenced from a Bicep Registry or Template Specs).
-
-| Reference | Type |
-| :-- | :-- |
-| `network/private-endpoint` | Local reference |
+### Example 1: _Using large parameter set_
-## Deployment examples
+This instance deploys the module with most of its features enabled.
-The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder.
- >**Note**: The name of each example is based on the name of the file from which it is taken.
-
- >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.
-
-
-
-
+
+
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | The name of the Web PubSub Service resource. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`capacity`](#parameter-capacity) | int | The unit count of the resource. 1 by default. |
+| [`clientCertEnabled`](#parameter-clientcertenabled) | bool | Request client certificate during TLS handshake if enabled. |
+| [`disableAadAuth`](#parameter-disableaadauth) | bool | When set as true, connection with AuthType=aad won't work. |
+| [`disableLocalAuth`](#parameter-disablelocalauth) | bool | Disables all authentication methods other than AAD authentication. For security reasons, this value should be set to `true`. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`location`](#parameter-location) | string | The location for the resource. |
+| [`lock`](#parameter-lock) | string | Specify the type of lock. |
+| [`networkAcls`](#parameter-networkacls) | object | Networks ACLs, this value contains IPs to allow and/or Subnet information. Can only be set if the 'SKU' is not 'Free_F1'. For security reasons, it is recommended to set the DefaultAction Deny. |
+| [`privateEndpoints`](#parameter-privateendpoints) | array | Configuration details for private endpoints. For security reasons, it is recommended to use private endpoints whenever possible. |
+| [`publicNetworkAccess`](#parameter-publicnetworkaccess) | string | Whether or not public network access is allowed for this resource. For security reasons it should be disabled. If not specified, it will be disabled by default if private endpoints are set. |
+| [`resourceLogConfigurationsToEnable`](#parameter-resourcelogconfigurationstoenable) | array | Control permission for data plane traffic coming from public networks while private endpoint is enabled. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`sku`](#parameter-sku) | string | Pricing tier of the resource. |
+| [`systemAssignedIdentity`](#parameter-systemassignedidentity) | bool | Enables system assigned managed identity on the resource. |
+| [`tags`](#parameter-tags) | object | Tags of the resource. |
+| [`userAssignedIdentities`](#parameter-userassignedidentities) | object | The ID(s) to assign to the resource. |
+
+### Parameter: `capacity`
+
+The unit count of the resource. 1 by default.
+- Required: No
+- Type: int
+- Default: `1`
+
+### Parameter: `clientCertEnabled`
+
+Request client certificate during TLS handshake if enabled.
+- Required: No
+- Type: bool
+- Default: `False`
+
+### Parameter: `disableAadAuth`
+
+When set as true, connection with AuthType=aad won't work.
+- Required: No
+- Type: bool
+- Default: `False`
+
+### Parameter: `disableLocalAuth`
+
+Disables all authentication methods other than AAD authentication. For security reasons, this value should be set to `true`.
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `location`
+
+The location for the resource.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `lock`
+
+Specify the type of lock.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', CanNotDelete, ReadOnly]`
+
+### Parameter: `name`
+
+The name of the Web PubSub Service resource.
+- Required: Yes
+- Type: string
+
+### Parameter: `networkAcls`
+
+Networks ACLs, this value contains IPs to allow and/or Subnet information. Can only be set if the 'SKU' is not 'Free_F1'. For security reasons, it is recommended to set the DefaultAction Deny.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `privateEndpoints`
+
+Configuration details for private endpoints. For security reasons, it is recommended to use private endpoints whenever possible.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `publicNetworkAccess`
+
+Whether or not public network access is allowed for this resource. For security reasons it should be disabled. If not specified, it will be disabled by default if private endpoints are set.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', Disabled, Enabled]`
+
+### Parameter: `resourceLogConfigurationsToEnable`
+
+Control permission for data plane traffic coming from public networks while private endpoint is enabled.
+- Required: No
+- Type: array
+- Default: `[ConnectivityLogs, MessagingLogs]`
+- Allowed: `[ConnectivityLogs, MessagingLogs]`
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `sku`
+
+Pricing tier of the resource.
+- Required: No
+- Type: string
+- Default: `'Standard_S1'`
+- Allowed: `[Free_F1, Standard_S1]`
+
+### Parameter: `systemAssignedIdentity`
+
+Enables system assigned managed identity on the resource.
+- Required: No
+- Type: bool
+- Default: `False`
+
+### Parameter: `tags`
+
+Tags of the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `userAssignedIdentities`
+
+The ID(s) to assign to the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `externalIP` | string | The Web PubSub externalIP. |
+| `hostName` | string | The Web PubSub hostName. |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The Web PubSub name. |
+| `publicPort` | int | The Web PubSub publicPort. |
+| `resourceGroupName` | string | The Web PubSub resource group. |
+| `resourceId` | string | The Web PubSub resource ID. |
+| `serverPort` | int | The Web PubSub serverPort. |
+
+## Cross-referenced modules
+
+This section gives you an overview of all local-referenced module files (i.e., other CARML modules that are referenced in this module) and all remote-referenced files (i.e., Bicep modules that are referenced from a Bicep Registry or Template Specs).
+
+| Reference | Type |
+| :-- | :-- |
+| `modules/network/private-endpoint` | Local reference |
diff --git a/modules/signal-r-service/web-pub-sub/main.json b/modules/signal-r-service/web-pub-sub/main.json
index c4d4b11904..ac949dffda 100644
--- a/modules/signal-r-service/web-pub-sub/main.json
+++ b/modules/signal-r-service/web-pub-sub/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "10139309088616173208"
+ "version": "0.22.6.54827",
+ "templateHash": "16709379153478427185"
},
"name": "SignalR Web PubSub Services",
"description": "This module deploys a SignalR Web PubSub Service.",
@@ -266,8 +266,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "14580007913383558904"
+ "version": "0.22.6.54827",
+ "templateHash": "2884140170473394983"
},
"name": "Private Endpoints",
"description": "This module deploys a Private Endpoint.",
@@ -466,8 +466,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "2469208411936339153"
+ "version": "0.22.6.54827",
+ "templateHash": "5610247137574346230"
},
"name": "Private Endpoint Private DNS Zone Groups",
"description": "This module deploys a Private Endpoint Private DNS Zone Group.",
@@ -604,8 +604,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "13032708393704093995"
+ "version": "0.22.6.54827",
+ "templateHash": "14351187799927334028"
}
},
"parameters": {
@@ -818,8 +818,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "6690413318542204402"
+ "version": "0.22.6.54827",
+ "templateHash": "2385173204571615101"
}
},
"parameters": {
diff --git a/modules/sql/managed-instance/.test/common/main.test.bicep b/modules/sql/managed-instance/.test/common/main.test.bicep
index 954bb2175c..f13416a55e 100644
--- a/modules/sql/managed-instance/.test/common/main.test.bicep
+++ b/modules/sql/managed-instance/.test/common/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using large parameter set'
+metadata description = 'This instance deploys the module with most of its features enabled.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/sql/managed-instance/.test/min/main.test.bicep b/modules/sql/managed-instance/.test/min/main.test.bicep
index 0602f61a0b..0c9d4bbe75 100644
--- a/modules/sql/managed-instance/.test/min/main.test.bicep
+++ b/modules/sql/managed-instance/.test/min/main.test.bicep
@@ -1,5 +1,8 @@
targetScope = 'subscription'
+metadata name = 'Using only defaults'
+metadata description = 'This instance deploys the module with the minimum set of required parameters.'
+
// ========== //
// Parameters //
// ========== //
diff --git a/modules/sql/managed-instance/README.md b/modules/sql/managed-instance/README.md
index cb696de727..8fcdbe6649 100644
--- a/modules/sql/managed-instance/README.md
+++ b/modules/sql/managed-instance/README.md
@@ -4,14 +4,14 @@ This module deploys a SQL Managed Instance.
## Navigation
-- [Resource types](#Resource-types)
+- [Resource Types](#Resource-Types)
+- [Usage examples](#Usage-examples)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-- [Deployment examples](#Deployment-examples)
- [Notes](#Notes)
-## Resource types
+## Resource Types
| Resource Type | API Version |
| :-- | :-- |
@@ -28,97 +28,29 @@ This module deploys a SQL Managed Instance.
| `Microsoft.Sql/managedInstances/securityAlertPolicies` | [2022-02-01-preview](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Sql/2022-02-01-preview/managedInstances/securityAlertPolicies) |
| `Microsoft.Sql/managedInstances/vulnerabilityAssessments` | [2022-02-01-preview](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Sql/2022-02-01-preview/managedInstances/vulnerabilityAssessments) |
-## Parameters
-
-**Required parameters**
-
-| Parameter Name | Type | Description |
-| :-- | :-- | :-- |
-| `administratorLogin` | string | The username used to establish jumpbox VMs. |
-| `administratorLoginPassword` | securestring | The password given to the admin user. |
-| `name` | string | The name of the SQL managed instance. |
-| `subnetId` | string | The fully qualified resource ID of the subnet on which the SQL managed instance will be placed. |
-
-**Conditional parameters**
-
-| Parameter Name | Type | Default Value | Description |
-| :-- | :-- | :-- | :-- |
-| `primaryUserAssignedIdentityId` | string | `''` | The resource ID of a user assigned identity to be used by default. Required if "userAssignedIdentities" is not empty. |
+## Usage examples
-**Optional parameters**
-
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `administratorsObj` | object | `{object}` | | The administrator configuration. |
-| `collation` | string | `'SQL_Latin1_General_CP1_CI_AS'` | | Collation of the managed instance. |
-| `databases` | array | `[]` | | Databases to create in this server. |
-| `diagnosticEventHubAuthorizationRuleId` | string | `''` | | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
-| `diagnosticEventHubName` | string | `''` | | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
-| `diagnosticLogCategoriesToEnable` | array | `[allLogs]` | `['', allLogs, ResourceUsageStats, SQLSecurityAuditEvents]` | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
-| `diagnosticMetricsToEnable` | array | `[AllMetrics]` | `[AllMetrics]` | The name of metrics that will be streamed. |
-| `diagnosticSettingsName` | string | `''` | | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
-
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`administratorLogin`](#parameter-administratorlogin) | string | The username used to establish jumpbox VMs. |
+| [`administratorLoginPassword`](#parameter-administratorloginpassword) | securestring | The password given to the admin user. |
+| [`name`](#parameter-name) | string | The name of the SQL managed instance. |
+| [`subnetId`](#parameter-subnetid) | string | The fully qualified resource ID of the subnet on which the SQL managed instance will be placed. |
+
+**Conditional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`primaryUserAssignedIdentityId`](#parameter-primaryuserassignedidentityid) | string | The resource ID of a user assigned identity to be used by default. Required if "userAssignedIdentities" is not empty. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`administratorsObj`](#parameter-administratorsobj) | object | The administrator configuration. |
+| [`collation`](#parameter-collation) | string | Collation of the managed instance. |
+| [`databases`](#parameter-databases) | array | Databases to create in this server. |
+| [`diagnosticEventHubAuthorizationRuleId`](#parameter-diagnosticeventhubauthorizationruleid) | string | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
+| [`diagnosticEventHubName`](#parameter-diagnosticeventhubname) | string | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
+| [`diagnosticLogCategoriesToEnable`](#parameter-diagnosticlogcategoriestoenable) | array | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
+| [`diagnosticMetricsToEnable`](#parameter-diagnosticmetricstoenable) | array | The name of metrics that will be streamed. |
+| [`diagnosticSettingsName`](#parameter-diagnosticsettingsname) | string | The name of the diagnostic setting, if deployed. If left empty, it defaults to "
-
-
-
+## Parameters
+
+**Required parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`name`](#parameter-name) | string | The name of the server. |
+
+**Conditional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`administratorLogin`](#parameter-administratorlogin) | string | The administrator username for the server. Required if no `administrators` object for AAD authentication is provided. |
+| [`administratorLoginPassword`](#parameter-administratorloginpassword) | securestring | The administrator login password. Required if no `administrators` object for AAD authentication is provided. |
+| [`administrators`](#parameter-administrators) | object | The Azure Active Directory (AAD) administrator authentication. Required if no `administratorLogin` & `administratorLoginPassword` is provided. |
+| [`primaryUserAssignedIdentityId`](#parameter-primaryuserassignedidentityid) | string | The resource ID of a user assigned identity to be used by default. Required if "userAssignedIdentities" is not empty. |
+
+**Optional parameters**
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| [`databases`](#parameter-databases) | array | The databases to create in the server. |
+| [`elasticPools`](#parameter-elasticpools) | array | The Elastic Pools to create in the server. |
+| [`enableDefaultTelemetry`](#parameter-enabledefaulttelemetry) | bool | Enable telemetry via a Globally Unique Identifier (GUID). |
+| [`encryptionProtectorObj`](#parameter-encryptionprotectorobj) | object | The encryption protection configuration. |
+| [`firewallRules`](#parameter-firewallrules) | array | The firewall rules to create in the server. |
+| [`keys`](#parameter-keys) | array | The keys to configure. |
+| [`location`](#parameter-location) | string | Location for all resources. |
+| [`lock`](#parameter-lock) | string | Specify the type of lock. |
+| [`minimalTlsVersion`](#parameter-minimaltlsversion) | string | Minimal TLS version allowed. |
+| [`privateEndpoints`](#parameter-privateendpoints) | array | Configuration details for private endpoints. For security reasons, it is recommended to use private endpoints whenever possible. |
+| [`publicNetworkAccess`](#parameter-publicnetworkaccess) | string | Whether or not public network access is allowed for this resource. For security reasons it should be disabled. If not specified, it will be disabled by default if private endpoints are set and neither firewall rules nor virtual network rules are set. |
+| [`restrictOutboundNetworkAccess`](#parameter-restrictoutboundnetworkaccess) | string | Whether or not to restrict outbound network access for this server. |
+| [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. |
+| [`securityAlertPolicies`](#parameter-securityalertpolicies) | array | The security alert policies to create in the server. |
+| [`systemAssignedIdentity`](#parameter-systemassignedidentity) | bool | Enables system assigned managed identity on the resource. |
+| [`tags`](#parameter-tags) | object | Tags of the resource. |
+| [`userAssignedIdentities`](#parameter-userassignedidentities) | object | The ID(s) to assign to the resource. |
+| [`virtualNetworkRules`](#parameter-virtualnetworkrules) | array | The virtual network rules to create in the server. |
+| [`vulnerabilityAssessmentsObj`](#parameter-vulnerabilityassessmentsobj) | object | The vulnerability assessment configuration. |
+
+### Parameter: `administratorLogin`
+
+The administrator username for the server. Required if no `administrators` object for AAD authentication is provided.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `administratorLoginPassword`
+
+The administrator login password. Required if no `administrators` object for AAD authentication is provided.
+- Required: No
+- Type: securestring
+- Default: `''`
+
+### Parameter: `administrators`
+
+The Azure Active Directory (AAD) administrator authentication. Required if no `administratorLogin` & `administratorLoginPassword` is provided.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `databases`
+
+The databases to create in the server.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `elasticPools`
+
+The Elastic Pools to create in the server.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `enableDefaultTelemetry`
+
+Enable telemetry via a Globally Unique Identifier (GUID).
+- Required: No
+- Type: bool
+- Default: `True`
+
+### Parameter: `encryptionProtectorObj`
+
+The encryption protection configuration.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `firewallRules`
+
+The firewall rules to create in the server.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `keys`
+
+The keys to configure.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `location`
+
+Location for all resources.
+- Required: No
+- Type: string
+- Default: `[resourceGroup().location]`
+
+### Parameter: `lock`
+
+Specify the type of lock.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', CanNotDelete, ReadOnly]`
+
+### Parameter: `minimalTlsVersion`
+
+Minimal TLS version allowed.
+- Required: No
+- Type: string
+- Default: `'1.2'`
+- Allowed: `[1.0, 1.1, 1.2]`
+
+### Parameter: `name`
+
+The name of the server.
+- Required: Yes
+- Type: string
+
+### Parameter: `primaryUserAssignedIdentityId`
+
+The resource ID of a user assigned identity to be used by default. Required if "userAssignedIdentities" is not empty.
+- Required: No
+- Type: string
+- Default: `''`
+
+### Parameter: `privateEndpoints`
+
+Configuration details for private endpoints. For security reasons, it is recommended to use private endpoints whenever possible.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `publicNetworkAccess`
+
+Whether or not public network access is allowed for this resource. For security reasons it should be disabled. If not specified, it will be disabled by default if private endpoints are set and neither firewall rules nor virtual network rules are set.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', Disabled, Enabled]`
+
+### Parameter: `restrictOutboundNetworkAccess`
+
+Whether or not to restrict outbound network access for this server.
+- Required: No
+- Type: string
+- Default: `''`
+- Allowed: `['', Disabled, Enabled]`
+
+### Parameter: `roleAssignments`
+
+Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `securityAlertPolicies`
+
+The security alert policies to create in the server.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `systemAssignedIdentity`
+
+Enables system assigned managed identity on the resource.
+- Required: No
+- Type: bool
+- Default: `False`
+
+### Parameter: `tags`
+
+Tags of the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `userAssignedIdentities`
+
+The ID(s) to assign to the resource.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+### Parameter: `virtualNetworkRules`
+
+The virtual network rules to create in the server.
+- Required: No
+- Type: array
+- Default: `[]`
+
+### Parameter: `vulnerabilityAssessmentsObj`
+
+The vulnerability assessment configuration.
+- Required: No
+- Type: object
+- Default: `{object}`
+
+
+## Outputs
+
+| Output | Type | Description |
+| :-- | :-- | :-- |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The name of the deployed SQL server. |
+| `resourceGroupName` | string | The resource group of the deployed SQL server. |
+| `resourceId` | string | The resource ID of the deployed SQL server. |
+| `systemAssignedPrincipalId` | string | The principal ID of the system assigned identity. |
+
+## Cross-referenced modules
+
+This section gives you an overview of all local-referenced module files (i.e., other CARML modules that are referenced in this module) and all remote-referenced files (i.e., Bicep modules that are referenced from a Bicep Registry or Template Specs).
+
+| Reference | Type |
+| :-- | :-- |
+| `modules/network/private-endpoint` | Local reference |
+
## Notes
### Parameter Usage: `administrators`
diff --git a/modules/sql/server/database/README.md b/modules/sql/server/database/README.md
index 772edc8f0e..e6ac170a59 100644
--- a/modules/sql/server/database/README.md
+++ b/modules/sql/server/database/README.md
@@ -4,12 +4,12 @@ This module deploys an Azure SQL Server Database.
## Navigation
-- [Resource types](#Resource-types)
+- [Resource Types](#Resource-Types)
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
-## Resource types
+## Resource Types
| Resource Type | API Version |
| :-- | :-- |
@@ -22,60 +22,322 @@ This module deploys an Azure SQL Server Database.
**Required parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `name` | string | The name of the database. |
+| [`name`](#parameter-name) | string | The name of the database. |
**Conditional parameters**
-| Parameter Name | Type | Description |
+| Parameter | Type | Description |
| :-- | :-- | :-- |
-| `serverName` | string | The name of the parent SQL Server. Required if the template is used in a standalone deployment. |
+| [`serverName`](#parameter-servername) | string | The name of the parent SQL Server. Required if the template is used in a standalone deployment. |
**Optional parameters**
-| Parameter Name | Type | Default Value | Allowed Values | Description |
-| :-- | :-- | :-- | :-- | :-- |
-| `autoPauseDelay` | int | `0` | | Time in minutes after which database is automatically paused. A value of -1 means that automatic pause is disabled. |
-| `backupLongTermRetentionPolicy` | _[backupLongTermRetentionPolicy](backup-long-term-retention-policy/README.md)_ object | `{object}` | | The long term backup retention policy to create for the database. |
-| `backupShortTermRetentionPolicy` | _[backupShortTermRetentionPolicy](backup-short-term-retention-policy/README.md)_ object | `{object}` | | The short term backup retention policy to create for the database. |
-| `collation` | string | `'SQL_Latin1_General_CP1_CI_AS'` | | The collation of the database. |
-| `createMode` | string | `'Default'` | `[Copy, Default, OnlineSecondary, PointInTimeRestore, Recovery, Restore, RestoreLongTermRetentionBackup, Secondary]` | Specifies the mode of database creation. |
-| `diagnosticEventHubAuthorizationRuleId` | string | `''` | | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. |
-| `diagnosticEventHubName` | string | `''` | | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. |
-| `diagnosticLogCategoriesToEnable` | array | `[allLogs]` | `['', allLogs, AutomaticTuning, Blocks, DatabaseWaitStatistics, Deadlocks, DevOpsOperationsAudit, Errors, QueryStoreRuntimeStatistics, QueryStoreWaitStatistics, SQLInsights, SQLSecurityAuditEvents, Timeouts]` | The name of logs that will be streamed. "allLogs" includes all possible logs for the resource. Set to '' to disable log collection. |
-| `diagnosticMetricsToEnable` | array | `[Basic, InstanceAndAppAdvanced, WorkloadManagement]` | `[Basic, InstanceAndAppAdvanced, WorkloadManagement]` | The name of metrics that will be streamed. |
-| `diagnosticSettingsName` | string | `''` | | The name of the diagnostic setting, if deployed. If left empty, it defaults to "Example 1: Common
via Bicep module
```bicep
-module registry './container-registry/registry/main.bicep' = {
+module registry 'br:bicep/modules/container-registry.registry:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-crrcom'
params: {
// Required parameters
@@ -347,14 +279,14 @@ module registry './container-registry/registry/main.bicep' = {
Example 2: Encr
+### Example 2: _Encr_
via Bicep module
```bicep
-module registry './container-registry/registry/main.bicep' = {
+module registry 'br:bicep/modules/container-registry.registry:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-crrencr'
params: {
// Required parameters
@@ -432,14 +364,17 @@ module registry './container-registry/registry/main.bicep' = {
Example 3: Min
+### Example 3: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module registry './container-registry/registry/main.bicep' = {
+module registry 'br:bicep/modules/container-registry.registry:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-crrmin'
params: {
// Required parameters
@@ -477,14 +412,14 @@ module registry './container-registry/registry/main.bicep' = {
Example 4: Pe
+### Example 4: _Pe_
via Bicep module
```bicep
-module registry './container-registry/registry/main.bicep' = {
+module registry 'br:bicep/modules/container-registry.registry:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-crrpe'
params: {
// Required parameters
@@ -571,3 +506,374 @@ module registry './container-registry/registry/main.bicep' = {
Example 1: Azure
+### Example 1: _Azure_
via Bicep module
```bicep
-module managedCluster './container-service/managed-cluster/main.bicep' = {
+module managedCluster 'br:bicep/modules/container-service.managed-cluster:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-csmaz'
params: {
// Required parameters
@@ -624,14 +487,14 @@ module managedCluster './container-service/managed-cluster/main.bicep' = {
Example 2: Kubenet
+### Example 2: _Kubenet_
via Bicep module
```bicep
-module managedCluster './container-service/managed-cluster/main.bicep' = {
+module managedCluster 'br:bicep/modules/container-service.managed-cluster:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-csmkube'
params: {
// Required parameters
@@ -873,14 +736,17 @@ module managedCluster './container-service/managed-cluster/main.bicep' = {
Example 3: Min
+### Example 3: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module managedCluster './container-service/managed-cluster/main.bicep' = {
+module managedCluster 'br:bicep/modules/container-service.managed-cluster:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-csmmin'
params: {
// Required parameters
@@ -940,14 +806,14 @@ module managedCluster './container-service/managed-cluster/main.bicep' = {
Example 4: Priv
+### Example 4: _Priv_
via Bicep module
```bicep
-module managedCluster './container-service/managed-cluster/main.bicep' = {
+module managedCluster 'br:bicep/modules/container-service.managed-cluster:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-csmpriv'
params: {
// Required parameters
@@ -1194,6 +1060,857 @@ module managedCluster './container-service/managed-cluster/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module factory './data-factory/factory/main.bicep' = {
+module factory 'br:bicep/modules/data-factory.factory:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-dffcom'
params: {
// Required parameters
@@ -333,14 +270,17 @@ module factory './data-factory/factory/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module factory './data-factory/factory/main.bicep' = {
+module factory 'br:bicep/modules/data-factory.factory:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-dffmin'
params: {
// Required parameters
@@ -379,6 +319,317 @@ module factory './data-factory/factory/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module backupVault './data-protection/backup-vault/main.bicep' = {
+module backupVault 'br:bicep/modules/data-protection.backup-vault:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-dpbvcom'
params: {
// Required parameters
@@ -282,14 +249,17 @@ module backupVault './data-protection/backup-vault/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module backupVault './data-protection/backup-vault/main.bicep' = {
+module backupVault 'br:bicep/modules/data-protection.backup-vault:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-dpbvmin'
params: {
// Required parameters
@@ -328,6 +298,140 @@ module backupVault './data-protection/backup-vault/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module accessConnector './databricks/access-connector/main.bicep' = {
+module accessConnector 'br:bicep/modules/databricks.access-connector:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-daccom'
params: {
// Required parameters
@@ -156,14 +129,17 @@ module accessConnector './databricks/access-connector/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module accessConnector './databricks/access-connector/main.bicep' = {
+module accessConnector 'br:bicep/modules/databricks.access-connector:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-dacmin'
params: {
// Required parameters
@@ -200,3 +176,94 @@ module accessConnector './databricks/access-connector/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module workspace './databricks/workspace/main.bicep' = {
+module workspace 'br:bicep/modules/databricks.workspace:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-dwcom'
params: {
// Required parameters
@@ -341,14 +275,17 @@ module workspace './databricks/workspace/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module workspace './databricks/workspace/main.bicep' = {
+module workspace 'br:bicep/modules/databricks.workspace:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-dwmin'
params: {
// Required parameters
@@ -387,6 +324,349 @@ module workspace './databricks/workspace/main.bicep' = {
Example 1: Min
via Bicep module
```bicep
-module flexibleServer './db-for-my-sql/flexible-server/main.bicep' = {
+module flexibleServer 'br:bicep/modules/db-for-my-sql.flexible-server:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-dfmsfsmin'
params: {
// Required parameters
@@ -166,14 +98,14 @@ module flexibleServer './db-for-my-sql/flexible-server/main.bicep' = {
Example 2: Private
+### Example 2: _Private_
via Bicep module
```bicep
-module flexibleServer './db-for-my-sql/flexible-server/main.bicep' = {
+module flexibleServer 'br:bicep/modules/db-for-my-sql.flexible-server:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-dfmsfspvt'
params: {
// Required parameters
@@ -351,14 +283,14 @@ module flexibleServer './db-for-my-sql/flexible-server/main.bicep' = {
Example 3: Public
+### Example 3: _Public_
via Bicep module
```bicep
-module flexibleServer './db-for-my-sql/flexible-server/main.bicep' = {
+module flexibleServer 'br:bicep/modules/db-for-my-sql.flexible-server:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-dfmsfsp'
params: {
// Required parameters
@@ -595,3 +527,405 @@ module flexibleServer './db-for-my-sql/flexible-server/main.bicep' = {
Example 1: Min
via Bicep module
```bicep
-module flexibleServer './db-for-postgre-sql/flexible-server/main.bicep' = {
+module flexibleServer 'br:bicep/modules/db-for-postgre-sql.flexible-server:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-dfpsfsmin'
params: {
// Required parameters
@@ -163,14 +99,14 @@ module flexibleServer './db-for-postgre-sql/flexible-server/main.bicep' = {
Example 2: Private
+### Example 2: _Private_
via Bicep module
```bicep
-module flexibleServer './db-for-postgre-sql/flexible-server/main.bicep' = {
+module flexibleServer 'br:bicep/modules/db-for-postgre-sql.flexible-server:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-dfpsfspvt'
params: {
// Required parameters
@@ -312,14 +248,14 @@ module flexibleServer './db-for-postgre-sql/flexible-server/main.bicep' = {
Example 3: Public
+### Example 3: _Public_
via Bicep module
```bicep
-module flexibleServer './db-for-postgre-sql/flexible-server/main.bicep' = {
+module flexibleServer 'br:bicep/modules/db-for-postgre-sql.flexible-server:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-dfpsfsp'
params: {
// Required parameters
@@ -530,3 +466,372 @@ module flexibleServer './db-for-postgre-sql/flexible-server/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module applicationGroup './desktop-virtualization/application-group/main.bicep' = {
+module applicationGroup 'br:bicep/modules/desktop-virtualization.application-group:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-dvagcom'
params: {
// Required parameters
@@ -225,14 +189,17 @@ module applicationGroup './desktop-virtualization/application-group/main.bicep'
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module applicationGroup './desktop-virtualization/application-group/main.bicep' = {
+module applicationGroup 'br:bicep/modules/desktop-virtualization.application-group:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-dvagmin'
params: {
// Required parameters
@@ -277,3 +244,166 @@ module applicationGroup './desktop-virtualization/application-group/main.bicep'
Example 1: Common
via Bicep module
```bicep
-module hostPool './desktop-virtualization/host-pool/main.bicep' = {
+module hostPool 'br:bicep/modules/desktop-virtualization.host-pool:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-dvhpcom'
params: {
// Required parameters
@@ -292,14 +230,17 @@ module hostPool './desktop-virtualization/host-pool/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module hostPool './desktop-virtualization/host-pool/main.bicep' = {
+module hostPool 'br:bicep/modules/desktop-virtualization.host-pool:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-dvhpmin'
params: {
// Required parameters
@@ -336,3 +277,340 @@ module hostPool './desktop-virtualization/host-pool/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module scalingPlan './desktop-virtualization/scaling-plan/main.bicep' = {
+module scalingPlan 'br:bicep/modules/desktop-virtualization.scaling-plan:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-dvspcom'
params: {
// Required parameters
@@ -255,14 +219,17 @@ module scalingPlan './desktop-virtualization/scaling-plan/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module scalingPlan './desktop-virtualization/scaling-plan/main.bicep' = {
+module scalingPlan 'br:bicep/modules/desktop-virtualization.scaling-plan:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-dvspmin'
params: {
// Required parameters
@@ -299,3 +266,167 @@ module scalingPlan './desktop-virtualization/scaling-plan/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module workspace './desktop-virtualization/workspace/main.bicep' = {
+module workspace 'br:bicep/modules/desktop-virtualization.workspace:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-dvwcom'
params: {
// Required parameters
@@ -184,14 +150,17 @@ module workspace './desktop-virtualization/workspace/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module workspace './desktop-virtualization/workspace/main.bicep' = {
+module workspace 'br:bicep/modules/desktop-virtualization.workspace:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-dvwmin'
params: {
// Required parameters
@@ -228,3 +197,151 @@ module workspace './desktop-virtualization/workspace/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module lab './dev-test-lab/lab/main.bicep' = {
+module lab 'br:bicep/modules/dev-test-lab.lab:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-dtllcom'
params: {
// Required parameters
@@ -626,14 +571,17 @@ module lab './dev-test-lab/lab/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module lab './dev-test-lab/lab/main.bicep' = {
+module lab 'br:bicep/modules/dev-test-lab.lab:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-dtllmin'
params: {
// Required parameters
@@ -670,3 +618,275 @@ module lab './dev-test-lab/lab/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module digitalTwinsInstance './digital-twins/digital-twins-instance/main.bicep' = {
+module digitalTwinsInstance 'br:bicep/modules/digital-twins.digital-twins-instance:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-dtdticom'
params: {
// Required parameters
@@ -248,14 +204,17 @@ module digitalTwinsInstance './digital-twins/digital-twins-instance/main.bicep'
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module digitalTwinsInstance './digital-twins/digital-twins-instance/main.bicep' = {
+module digitalTwinsInstance 'br:bicep/modules/digital-twins.digital-twins-instance:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-dtdtimin'
params: {
// Required parameters
@@ -292,3 +251,198 @@ module digitalTwinsInstance './digital-twins/digital-twins-instance/main.bicep'
Example 1: Gremlindb
+### Example 1: _Gremlindb_
via Bicep module
```bicep
-module databaseAccount './document-db/database-account/main.bicep' = {
+module databaseAccount 'br:bicep/modules/document-db.database-account:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-dddagrm'
params: {
// Required parameters
@@ -331,14 +273,14 @@ module databaseAccount './document-db/database-account/main.bicep' = {
Example 2: Mongodb
+### Example 2: _Mongodb_
via Bicep module
```bicep
-module databaseAccount './document-db/database-account/main.bicep' = {
+module databaseAccount 'br:bicep/modules/document-db.database-account:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-dddamng'
params: {
// Required parameters
@@ -828,14 +770,14 @@ module databaseAccount './document-db/database-account/main.bicep' = {
Example 3: Plain
+### Example 3: _Plain_
via Bicep module
```bicep
-module databaseAccount './document-db/database-account/main.bicep' = {
+module databaseAccount 'br:bicep/modules/document-db.database-account:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-dddapln'
params: {
// Required parameters
@@ -951,14 +893,14 @@ module databaseAccount './document-db/database-account/main.bicep' = {
Example 4: Sqldb
+### Example 4: _Sqldb_
via Bicep module
```bicep
-module databaseAccount './document-db/database-account/main.bicep' = {
+module databaseAccount 'br:bicep/modules/document-db.database-account:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-dddasql'
params: {
// Required parameters
@@ -1269,3 +1211,307 @@ module databaseAccount './document-db/database-account/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module domain './event-grid/domain/main.bicep' = {
+module domain 'br:bicep/modules/event-grid.domain:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-egdcom'
params: {
// Required parameters
@@ -231,14 +190,17 @@ module domain './event-grid/domain/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module domain './event-grid/domain/main.bicep' = {
+module domain 'br:bicep/modules/event-grid.domain:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-egdmin'
params: {
// Required parameters
@@ -276,14 +238,14 @@ module domain './event-grid/domain/main.bicep' = {
Example 3: Pe
+### Example 3: _Pe_
via Bicep module
```bicep
-module domain './event-grid/domain/main.bicep' = {
+module domain 'br:bicep/modules/event-grid.domain:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-egdpe'
params: {
// Required parameters
@@ -366,3 +328,189 @@ module domain './event-grid/domain/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module systemTopic './event-grid/system-topic/main.bicep' = {
+module systemTopic 'br:bicep/modules/event-grid.system-topic:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-egstcom'
params: {
// Required parameters
@@ -227,14 +189,17 @@ module systemTopic './event-grid/system-topic/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module systemTopic './event-grid/system-topic/main.bicep' = {
+module systemTopic 'br:bicep/modules/event-grid.system-topic:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-egstmin'
params: {
// Required parameters
@@ -279,3 +244,175 @@ module systemTopic './event-grid/system-topic/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module topic './event-grid/topic/main.bicep' = {
+module topic 'br:bicep/modules/event-grid.topic:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-egtcom'
params: {
// Required parameters
@@ -271,14 +232,17 @@ module topic './event-grid/topic/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module topic './event-grid/topic/main.bicep' = {
+module topic 'br:bicep/modules/event-grid.topic:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-egtmin'
params: {
// Required parameters
@@ -316,14 +280,14 @@ module topic './event-grid/topic/main.bicep' = {
Example 3: Pe
+### Example 3: _Pe_
via Bicep module
```bicep
-module topic './event-grid/topic/main.bicep' = {
+module topic 'br:bicep/modules/event-grid.topic:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-egtpe'
params: {
// Required parameters
@@ -406,3 +370,173 @@ module topic './event-grid/topic/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module namespace './event-hub/namespace/main.bicep' = {
+module namespace 'br:bicep/modules/event-hub.namespace:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-ehncom'
params: {
// Required parameters
@@ -491,14 +430,14 @@ module namespace './event-hub/namespace/main.bicep' = {
Example 2: Encr
+### Example 2: _Encr_
via Bicep module
```bicep
-module namespace './event-hub/namespace/main.bicep' = {
+module namespace 'br:bicep/modules/event-hub.namespace:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-ehnenc'
params: {
// Required parameters
@@ -584,14 +523,17 @@ module namespace './event-hub/namespace/main.bicep' = {
Example 3: Min
+### Example 3: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module namespace './event-hub/namespace/main.bicep' = {
+module namespace 'br:bicep/modules/event-hub.namespace:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-ehnmin'
params: {
// Required parameters
@@ -629,14 +571,14 @@ module namespace './event-hub/namespace/main.bicep' = {
Example 4: Pe
+### Example 4: _Pe_
via Bicep module
```bicep
-module namespace './event-hub/namespace/main.bicep' = {
+module namespace 'br:bicep/modules/event-hub.namespace:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-ehnpe'
params: {
// Required parameters
@@ -731,3 +673,317 @@ module namespace './event-hub/namespace/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module healthBot './health-bot/health-bot/main.bicep' = {
+module healthBot 'br:bicep/modules/health-bot.health-bot:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-hbhbcom'
params: {
// Required parameters
@@ -152,14 +125,17 @@ module healthBot './health-bot/health-bot/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module healthBot './health-bot/health-bot/main.bicep' = {
+module healthBot 'br:bicep/modules/health-bot.health-bot:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-hbhbmin'
params: {
// Required parameters
@@ -200,3 +176,94 @@ module healthBot './health-bot/health-bot/main.bicep' = {
Parameter JSON format
-
-```json
-"fhirServices": {
- "value": [
- {
- "name": "[[namePrefix]]-az-fhir-x-001",
- "kind": "fhir-R4",
- "workspaceName": "[[namePrefix]]001",
- "corsOrigins": [ "*" ],
- "corsHeaders": [ "*" ],
- "corsMethods": [ "GET" ],
- "corsMaxAge": 600,
- "corsAllowCredentials": false,
- "location": "[[location]]",
- "diagnosticStorageAccountId": "[[storageAccountResourceId]]",
- "diagnosticWorkspaceId": "[[logAnalyticsWorkspaceResourceId]]",
- "diagnosticEventHubAuthorizationRuleId": "[[eventHubAuthorizationRuleId]]",
- "diagnosticEventHubName": "[[eventHubNamespaceEventHubName]]",
- "publicNetworkAccess": "Enabled",
- "resourceVersionPolicy": "versioned",
- "smartProxyEnabled": false,
- "enableDefaultTelemetry": false,
- "systemAssignedIdentity": true,
- "importEnabled": false,
- "initialImportMode": false,
- "userAssignedIdentities": {
- "[[managedIdentityResourceId]]": {}
- },
- "roleAssignments": [
- {
- "roleDefinitionIdOrName": "Role Name",
- "principalIds": [
- "managedIdentityPrincipalId"
- ],
- "principalType": "ServicePrincipal"
- }
- ]
- }
- ]
-}
-```
-
-Bicep format
-
-```bicep
-fhirServices: [
- {
- name: '[[namePrefix]]-az-fhir-x-001'
- kind: 'fhir-R4'
- workspaceName: '[[namePrefix]]001'
- corsOrigins: [ '*' ]
- corsHeaders: [ '*' ]
- corsMethods: [ 'GET' ]
- corsMaxAge: 600
- corsAllowCredentials: false
- location: location
- diagnosticStorageAccountId: diagnosticDependencies.outputs.storageAccountResourceId
- diagnosticWorkspaceId: diagnosticDependencies.outputs.logAnalyticsWorkspaceResourceId
- diagnosticEventHubAuthorizationRuleId: diagnosticDependencies.outputs.eventHubAuthorizationRuleId
- diagnosticEventHubName: diagnosticDependencies.outputs.eventHubNamespaceEventHubName
- publicNetworkAccess: 'Enabled'
- resourceVersionPolicy: 'versioned'
- smartProxyEnabled: false
- enableDefaultTelemetry: enableDefaultTelemetry
- systemAssignedIdentity: true
- importEnabled: false
- initialImportMode: false
- userAssignedIdentities: {
- '${resourceGroupResources.outputs.managedIdentityResourceId}': {}
- }
- roleAssignments: [
- {
- roleDefinitionIdOrName: resourceId('Microsoft.Authorization/roleDefinitions', '5a1fc7df-4bf1-4951-a576-89034ee01acd')
- principalIds: [
- resourceGroupResources.outputs.managedIdentityPrincipalId
- ]
- principalType: 'ServicePrincipal'
- }
- ]
- }
-]
-```
-
-Example 1: Common
via Bicep module
```bicep
-module workspace './healthcare-apis/workspace/main.bicep' = {
+module workspace 'br:bicep/modules/healthcare-apis.workspace:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-hawcom'
params: {
// Required parameters
@@ -378,14 +251,17 @@ module workspace './healthcare-apis/workspace/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module workspace './healthcare-apis/workspace/main.bicep' = {
+module workspace 'br:bicep/modules/healthcare-apis.workspace:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-hawmin'
params: {
// Required parameters
@@ -432,6 +308,113 @@ module workspace './healthcare-apis/workspace/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module actionGroup './insights/action-group/main.bicep' = {
+module actionGroup 'br:bicep/modules/insights.action-group:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-iagcom'
params: {
// Required parameters
@@ -189,14 +153,17 @@ module actionGroup './insights/action-group/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module actionGroup './insights/action-group/main.bicep' = {
+module actionGroup 'br:bicep/modules/insights.action-group:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-iagmin'
params: {
// Required parameters
@@ -239,6 +206,166 @@ module actionGroup './insights/action-group/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module activityLogAlert './insights/activity-log-alert/main.bicep' = {
+module activityLogAlert 'br:bicep/modules/insights.activity-log-alert:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-ialacom'
params: {
// Required parameters
@@ -222,3 +192,108 @@ module activityLogAlert './insights/activity-log-alert/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module component './insights/component/main.bicep' = {
+module component 'br:bicep/modules/insights.component:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-iccom'
params: {
// Required parameters
@@ -169,14 +129,17 @@ module component './insights/component/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module component './insights/component/main.bicep' = {
+module component 'br:bicep/modules/insights.component:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-icmin'
params: {
// Required parameters
@@ -217,3 +180,188 @@ module component './insights/component/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module dataCollectionEndpoint './insights/data-collection-endpoint/main.bicep' = {
+module dataCollectionEndpoint 'br:bicep/modules/insights.data-collection-endpoint:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-idcecom'
params: {
// Required parameters
@@ -148,14 +121,17 @@ module dataCollectionEndpoint './insights/data-collection-endpoint/main.bicep' =
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module dataCollectionEndpoint './insights/data-collection-endpoint/main.bicep' = {
+module dataCollectionEndpoint 'br:bicep/modules/insights.data-collection-endpoint:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-idcemin'
params: {
// Required parameters
@@ -192,3 +168,96 @@ module dataCollectionEndpoint './insights/data-collection-endpoint/main.bicep' =
Example 1: Customadv
+### Example 1: _Customadv_
via Bicep module
```bicep
-module dataCollectionRule './insights/data-collection-rule/main.bicep' = {
+module dataCollectionRule 'br:bicep/modules/insights.data-collection-rule:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-idcrcusadv'
params: {
// Required parameters
@@ -305,14 +274,14 @@ module dataCollectionRule './insights/data-collection-rule/main.bicep' = {
Example 2: Custombasic
+### Example 2: _Custombasic_
via Bicep module
```bicep
-module dataCollectionRule './insights/data-collection-rule/main.bicep' = {
+module dataCollectionRule 'br:bicep/modules/insights.data-collection-rule:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-idcrcusbas'
params: {
// Required parameters
@@ -514,14 +483,14 @@ module dataCollectionRule './insights/data-collection-rule/main.bicep' = {
Example 3: Customiis
+### Example 3: _Customiis_
via Bicep module
```bicep
-module dataCollectionRule './insights/data-collection-rule/main.bicep' = {
+module dataCollectionRule 'br:bicep/modules/insights.data-collection-rule:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-idcrcusiis'
params: {
// Required parameters
@@ -679,14 +648,14 @@ module dataCollectionRule './insights/data-collection-rule/main.bicep' = {
Example 4: Linux
+### Example 4: _Linux_
via Bicep module
```bicep
-module dataCollectionRule './insights/data-collection-rule/main.bicep' = {
+module dataCollectionRule 'br:bicep/modules/insights.data-collection-rule:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-idcrlin'
params: {
// Required parameters
@@ -1068,14 +1037,17 @@ module dataCollectionRule './insights/data-collection-rule/main.bicep' = {
Example 5: Min
+### Example 5: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module dataCollectionRule './insights/data-collection-rule/main.bicep' = {
+module dataCollectionRule 'br:bicep/modules/insights.data-collection-rule:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-idcrmin'
params: {
// Required parameters
@@ -1199,14 +1171,14 @@ module dataCollectionRule './insights/data-collection-rule/main.bicep' = {
Example 6: Windows
+### Example 6: _Windows_
via Bicep module
```bicep
-module dataCollectionRule './insights/data-collection-rule/main.bicep' = {
+module dataCollectionRule 'br:bicep/modules/insights.data-collection-rule:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-idcrwin'
params: {
// Required parameters
@@ -1495,3 +1467,132 @@ module dataCollectionRule './insights/data-collection-rule/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module diagnosticSetting './insights/diagnostic-setting/main.bicep' = {
+module diagnosticSetting 'br:bicep/modules/insights.diagnostic-setting:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-idscom'
params: {
diagnosticEventHubAuthorizationRuleId: 'Example 1: Common
via Bicep module
```bicep
-module metricAlert './insights/metric-alert/main.bicep' = {
+module metricAlert 'br:bicep/modules/insights.metric-alert:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-imacom'
params: {
// Required parameters
@@ -196,3 +154,173 @@ module metricAlert './insights/metric-alert/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module privateLinkScope './insights/private-link-scope/main.bicep' = {
name: '${uniqueString(deployment().name, location)}-test-iplscom'
params: {
// Required parameters
@@ -191,14 +159,16 @@ module privateLinkScope './insights/private-link-scope/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module privateLinkScope './insights/private-link-scope/main.bicep' = {
name: '${uniqueString(deployment().name, location)}-test-iplsmin'
params: {
// Required parameters
@@ -235,3 +205,98 @@ module privateLinkScope './insights/private-link-scope/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module scheduledQueryRule './insights/scheduled-query-rule/main.bicep' = {
+module scheduledQueryRule 'br:bicep/modules/insights.scheduled-query-rule:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-isqrcom'
params: {
// Required parameters
@@ -233,3 +194,181 @@ module scheduledQueryRule './insights/scheduled-query-rule/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module webtest './insights/webtest/main.bicep' = {
+module webtest 'br:bicep/modules/insights.webtest:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-iwtcom'
params: {
// Required parameters
@@ -158,14 +121,17 @@ module webtest './insights/webtest/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module webtest './insights/webtest/main.bicep' = {
+module webtest 'br:bicep/modules/insights.webtest:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-iwtmin'
params: {
// Required parameters
@@ -226,3 +192,172 @@ module webtest './insights/webtest/main.bicep' = {
Example 1: Accesspolicies
+### Example 1: _Accesspolicies_
via Bicep module
```bicep
-module vault './key-vault/vault/main.bicep' = {
+module vault 'br:bicep/modules/key-vault.vault:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-kvvap'
params: {
// Required parameters
@@ -263,14 +210,17 @@ module vault './key-vault/vault/main.bicep' = {
Example 2: Common
+### Example 2: _Using large parameter set_
+
+This instance deploys the module with most of its features enabled.
+
via Bicep module
```bicep
-module vault './key-vault/vault/main.bicep' = {
+module vault 'br:bicep/modules/key-vault.vault:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-kvvcom'
params: {
// Required parameters
@@ -558,14 +508,17 @@ module vault './key-vault/vault/main.bicep' = {
Example 3: Min
+### Example 3: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module vault './key-vault/vault/main.bicep' = {
+module vault 'br:bicep/modules/key-vault.vault:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-kvvmin'
params: {
// Required parameters
@@ -607,14 +560,14 @@ module vault './key-vault/vault/main.bicep' = {
Example 4: Pe
+### Example 4: _Pe_
via Bicep module
```bicep
-module vault './key-vault/vault/main.bicep' = {
+module vault 'br:bicep/modules/key-vault.vault:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-kvvpe'
params: {
// Required parameters
@@ -755,3 +708,263 @@ module vault './key-vault/vault/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module extension './kubernetes-configuration/extension/main.bicep' = {
+module extension 'br:bicep/modules/kubernetes-configuration.extension:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-kcecom'
params: {
// Required parameters
@@ -176,14 +142,17 @@ module extension './kubernetes-configuration/extension/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module extension './kubernetes-configuration/extension/main.bicep' = {
+module extension 'br:bicep/modules/kubernetes-configuration.extension:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-kcemin'
params: {
// Required parameters
@@ -236,3 +205,126 @@ module extension './kubernetes-configuration/extension/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module fluxConfiguration './kubernetes-configuration/flux-configuration/main.bicep' = {
+module fluxConfiguration 'br:bicep/modules/kubernetes-configuration.flux-configuration:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-kcfccom'
params: {
// Required parameters
@@ -160,14 +130,17 @@ module fluxConfiguration './kubernetes-configuration/flux-configuration/main.bic
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module fluxConfiguration './kubernetes-configuration/flux-configuration/main.bicep' = {
+module fluxConfiguration 'br:bicep/modules/kubernetes-configuration.flux-configuration:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-kcfcmin'
params: {
// Required parameters
@@ -238,6 +211,124 @@ module fluxConfiguration './kubernetes-configuration/flux-configuration/main.bic
Example 1: Common
via Bicep module
```bicep
-module workflow './logic/workflow/main.bicep' = {
+module workflow 'br:bicep/modules/logic.workflow:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-lwcom'
params: {
// Required parameters
@@ -256,6 +205,276 @@ module workflow './logic/workflow/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module workspace './machine-learning-services/workspace/main.bicep' = {
+module workspace 'br:bicep/modules/machine-learning-services.workspace:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-mlswcom'
params: {
// Required parameters
@@ -334,14 +271,14 @@ module workspace './machine-learning-services/workspace/main.bicep' = {
Example 2: Encr
+### Example 2: _Encr_
via Bicep module
```bicep
-module workspace './machine-learning-services/workspace/main.bicep' = {
+module workspace 'br:bicep/modules/machine-learning-services.workspace:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-mlswecr'
params: {
// Required parameters
@@ -469,14 +406,17 @@ module workspace './machine-learning-services/workspace/main.bicep' = {
Example 3: Min
+### Example 3: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module workspace './machine-learning-services/workspace/main.bicep' = {
+module workspace 'br:bicep/modules/machine-learning-services.workspace:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-mlswmin'
params: {
// Required parameters
@@ -535,6 +475,322 @@ module workspace './machine-learning-services/workspace/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module maintenanceConfiguration './maintenance/maintenance-configuration/main.bicep' = {
+module maintenanceConfiguration 'br:bicep/modules/maintenance.maintenance-configuration:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-mmccom'
params: {
// Required parameters
@@ -210,14 +179,17 @@ module maintenanceConfiguration './maintenance/maintenance-configuration/main.bi
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module maintenanceConfiguration './maintenance/maintenance-configuration/main.bicep' = {
+module maintenanceConfiguration 'br:bicep/modules/maintenance.maintenance-configuration:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-mmcmin'
params: {
// Required parameters
@@ -254,3 +226,128 @@ module maintenanceConfiguration './maintenance/maintenance-configuration/main.bi
Example 1: Common
via Bicep module
```bicep
-module userAssignedIdentity './managed-identity/user-assigned-identity/main.bicep' = {
+module userAssignedIdentity 'br:bicep/modules/managed-identity.user-assigned-identity:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-miuaicom'
params: {
enableDefaultTelemetry: 'Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module userAssignedIdentity './managed-identity/user-assigned-identity/main.bicep' = {
+module userAssignedIdentity 'br:bicep/modules/managed-identity.user-assigned-identity:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-miuaimin'
params: {
enableDefaultTelemetry: 'Example 1: Common
via Bicep module
```bicep
-module registrationDefinition './managed-services/registration-definition/main.bicep' = {
+module registrationDefinition 'br:bicep/modules/managed-services.registration-definition:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-msrdcom'
params: {
// Required parameters
@@ -151,14 +125,14 @@ module registrationDefinition './managed-services/registration-definition/main.b
Example 2: Rg
+### Example 2: _Rg_
via Bicep module
```bicep
-module registrationDefinition './managed-services/registration-definition/main.bicep' = {
+module registrationDefinition 'br:bicep/modules/managed-services.registration-definition:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-msrdrg'
params: {
// Required parameters
@@ -245,6 +219,84 @@ module registrationDefinition './managed-services/registration-definition/main.b
Example 1: Common
via Bicep module
```bicep
-module managementGroup './management/management-group/main.bicep' = {
+module managementGroup 'br:bicep/modules/management.management-group:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-mmgcom'
params: {
// Required parameters
@@ -110,14 +88,17 @@ module managementGroup './management/management-group/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module managementGroup './management/management-group/main.bicep' = {
+module managementGroup 'br:bicep/modules/management.management-group:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-mmgmin'
params: {
// Required parameters
@@ -156,6 +137,69 @@ module managementGroup './management/management-group/main.bicep' = {
Example 1: Min
via Bicep module
```bicep
-module netAppAccount './net-app/net-app-account/main.bicep' = {
+module netAppAccount 'br:bicep/modules/net-app.net-app-account:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nanaamin'
params: {
// Required parameters
@@ -112,14 +80,14 @@ module netAppAccount './net-app/net-app-account/main.bicep' = {
Example 2: Nfs3
+### Example 2: _Nfs3_
via Bicep module
```bicep
-module netAppAccount './net-app/net-app-account/main.bicep' = {
+module netAppAccount 'br:bicep/modules/net-app.net-app-account:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nanaanfs3'
params: {
// Required parameters
@@ -339,14 +307,14 @@ module netAppAccount './net-app/net-app-account/main.bicep' = {
Example 3: Nfs41
+### Example 3: _Nfs41_
via Bicep module
```bicep
-module netAppAccount './net-app/net-app-account/main.bicep' = {
+module netAppAccount 'br:bicep/modules/net-app.net-app-account:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nanaanfs41'
params: {
// Required parameters
@@ -589,3 +557,142 @@ module netAppAccount './net-app/net-app-account/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module applicationGatewayWebApplicationFirewallPolicy './network/application-gateway-web-application-firewall-policy/main.bicep' = {
+module applicationGatewayWebApplicationFirewallPolicy 'br:bicep/modules/network.application-gateway-web-application-firewall-policy:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nagwafpcom'
params: {
// Required parameters
@@ -154,3 +127,85 @@ module applicationGatewayWebApplicationFirewallPolicy './network/application-gat
Example 1: Common
via Bicep module
```bicep
-module applicationGateway './network/application-gateway/main.bicep' = {
+module applicationGateway 'br:bicep/modules/network.application-gateway:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nagcom'
params: {
// Required parameters
@@ -1024,3 +948,457 @@ module applicationGateway './network/application-gateway/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module applicationSecurityGroup './network/application-security-group/main.bicep' = {
+module applicationSecurityGroup 'br:bicep/modules/network.application-security-group:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nasgcom'
params: {
// Required parameters
@@ -137,3 +111,78 @@ module applicationSecurityGroup './network/application-security-group/main.bicep
Example 1: Addpip
+### Example 1: _Addpip_
via Bicep module
```bicep
-module azureFirewall './network/azure-firewall/main.bicep' = {
+module azureFirewall 'br:bicep/modules/network.azure-firewall:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nafaddpip'
params: {
// Required parameters
@@ -202,14 +140,17 @@ module azureFirewall './network/azure-firewall/main.bicep' = {
Example 2: Common
+### Example 2: _Using large parameter set_
+
+This instance deploys the module with most of its features enabled.
+
via Bicep module
```bicep
-module azureFirewall './network/azure-firewall/main.bicep' = {
+module azureFirewall 'br:bicep/modules/network.azure-firewall:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nafcom'
params: {
// Required parameters
@@ -485,14 +426,14 @@ module azureFirewall './network/azure-firewall/main.bicep' = {
Example 3: Custompip
+### Example 3: _Custompip_
via Bicep module
```bicep
-module azureFirewall './network/azure-firewall/main.bicep' = {
+module azureFirewall 'br:bicep/modules/network.azure-firewall:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nafcstpip'
params: {
// Required parameters
@@ -596,14 +537,14 @@ module azureFirewall './network/azure-firewall/main.bicep' = {
Example 4: Hubcommon
+### Example 4: _Hubcommon_
via Bicep module
```bicep
-module azureFirewall './network/azure-firewall/main.bicep' = {
+module azureFirewall 'br:bicep/modules/network.azure-firewall:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nafhubcom'
params: {
// Required parameters
@@ -673,14 +614,14 @@ module azureFirewall './network/azure-firewall/main.bicep' = {
Example 5: Hubmin
+### Example 5: _Hubmin_
via Bicep module
```bicep
-module azureFirewall './network/azure-firewall/main.bicep' = {
+module azureFirewall 'br:bicep/modules/network.azure-firewall:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nafhubmin'
params: {
// Required parameters
@@ -734,14 +675,17 @@ module azureFirewall './network/azure-firewall/main.bicep' = {
Example 6: Min
+### Example 6: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module azureFirewall './network/azure-firewall/main.bicep' = {
+module azureFirewall 'br:bicep/modules/network.azure-firewall:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nafmin'
params: {
// Required parameters
@@ -782,3 +726,280 @@ module azureFirewall './network/azure-firewall/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module bastionHost './network/bastion-host/main.bicep' = {
+module bastionHost 'br:bicep/modules/network.bastion-host:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nbhcom'
params: {
// Required parameters
@@ -210,14 +164,14 @@ module bastionHost './network/bastion-host/main.bicep' = {
Example 2: Custompip
+### Example 2: _Custompip_
via Bicep module
```bicep
-module bastionHost './network/bastion-host/main.bicep' = {
+module bastionHost 'br:bicep/modules/network.bastion-host:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nbhctmpip'
params: {
// Required parameters
@@ -331,14 +285,17 @@ module bastionHost './network/bastion-host/main.bicep' = {
Example 3: Min
+### Example 3: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module bastionHost './network/bastion-host/main.bicep' = {
+module bastionHost 'br:bicep/modules/network.bastion-host:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nbhmin'
params: {
// Required parameters
@@ -379,3 +336,220 @@ module bastionHost './network/bastion-host/main.bicep' = {
Example 1: Vnet2vnet
+### Example 1: _Vnet2vnet_
via Bicep module
```bicep
-module connection './network/connection/main.bicep' = {
+module connection 'br:bicep/modules/network.connection:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-ncvtv'
params: {
// Required parameters
@@ -163,6 +118,210 @@ module connection './network/connection/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module ddosProtectionPlan './network/ddos-protection-plan/main.bicep' = {
+module ddosProtectionPlan 'br:bicep/modules/network.ddos-protection-plan:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-ndppcom'
params: {
// Required parameters
@@ -138,14 +113,17 @@ module ddosProtectionPlan './network/ddos-protection-plan/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module ddosProtectionPlan './network/ddos-protection-plan/main.bicep' = {
+module ddosProtectionPlan 'br:bicep/modules/network.ddos-protection-plan:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-ndppmin'
params: {
// Required parameters
@@ -182,3 +160,78 @@ module ddosProtectionPlan './network/ddos-protection-plan/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module dnsForwardingRuleset './network/dns-forwarding-ruleset/main.bicep' = {
+module dnsForwardingRuleset 'br:bicep/modules/network.dns-forwarding-ruleset:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-ndfrscom'
params: {
// Required parameters
@@ -187,14 +159,17 @@ module dnsForwardingRuleset './network/dns-forwarding-ruleset/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module dnsForwardingRuleset './network/dns-forwarding-ruleset/main.bicep' = {
+module dnsForwardingRuleset 'br:bicep/modules/network.dns-forwarding-ruleset:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-ndfrsmin'
params: {
// Required parameters
@@ -239,3 +214,101 @@ module dnsForwardingRuleset './network/dns-forwarding-ruleset/main.bicep' = {
Example 1: Common
-
-via Bicep module
-
-```bicep
-module dnsForwardingRulesets './Microsoft.Network/dnsForwardingRulesets/deploy.bicep' = {
- name: '${uniqueString(deployment().name, location)}-test-ndfrscom'
- params: {
- // Required parameters
- dnsResolverOutboundEndpointId: 'via JSON Parameter file
-
-```json
-{
- "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
- "contentVersion": "1.0.0.0",
- "parameters": {
- // Required parameters
- "dnsResolverOutboundEndpointId": {
- "value": "Example 1: Common
via Bicep module
```bicep
-module dnsResolver './network/dns-resolver/main.bicep' = {
+module dnsResolver 'br:bicep/modules/network.dns-resolver:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-ndrcom'
params: {
// Required parameters
@@ -150,3 +121,101 @@ module dnsResolver './network/dns-resolver/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module dnsZone './network/dns-zone/main.bicep' = {
+module dnsZone 'br:bicep/modules/network.dns-zone:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-ndzcom'
params: {
// Required parameters
@@ -500,14 +465,17 @@ module dnsZone './network/dns-zone/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module dnsZone './network/dns-zone/main.bicep' = {
+module dnsZone 'br:bicep/modules/network.dns-zone:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-ndzmin'
params: {
// Required parameters
@@ -544,3 +512,158 @@ module dnsZone './network/dns-zone/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module expressRouteCircuit './network/express-route-circuit/main.bicep' = {
+module expressRouteCircuit 'br:bicep/modules/network.express-route-circuit:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nerccom'
params: {
// Required parameters
@@ -203,14 +154,17 @@ module expressRouteCircuit './network/express-route-circuit/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module expressRouteCircuit './network/express-route-circuit/main.bicep' = {
+module expressRouteCircuit 'br:bicep/modules/network.express-route-circuit:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nercmin'
params: {
// Required parameters
@@ -259,3 +213,265 @@ module expressRouteCircuit './network/express-route-circuit/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module expressRouteGateway './network/express-route-gateway/main.bicep' = {
+module expressRouteGateway 'br:bicep/modules/network.express-route-gateway:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nergcom'
params: {
// Required parameters
@@ -153,14 +123,17 @@ module expressRouteGateway './network/express-route-gateway/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module expressRouteGateway './network/express-route-gateway/main.bicep' = {
+module expressRouteGateway 'br:bicep/modules/network.express-route-gateway:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nergmin'
params: {
// Required parameters
@@ -201,3 +174,117 @@ module expressRouteGateway './network/express-route-gateway/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module firewallPolicy './network/firewall-policy/main.bicep' = {
+module firewallPolicy 'br:bicep/modules/network.firewall-policy:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nfpcom'
params: {
// Required parameters
@@ -218,14 +174,17 @@ module firewallPolicy './network/firewall-policy/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module firewallPolicy './network/firewall-policy/main.bicep' = {
+module firewallPolicy 'br:bicep/modules/network.firewall-policy:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nfpmin'
params: {
// Required parameters
@@ -262,3 +221,233 @@ module firewallPolicy './network/firewall-policy/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module frontDoorWebApplicationFirewallPolicy './network/front-door-web-application-firewall-policy/main.bicep' = {
+module frontDoorWebApplicationFirewallPolicy 'br:bicep/modules/network.front-door-web-application-firewall-policy:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nagwafpcom'
params: {
// Required parameters
@@ -276,14 +247,17 @@ module frontDoorWebApplicationFirewallPolicy './network/front-door-web-applicati
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module frontDoorWebApplicationFirewallPolicy './network/front-door-web-application-firewall-policy/main.bicep' = {
+module frontDoorWebApplicationFirewallPolicy 'br:bicep/modules/network.front-door-web-application-firewall-policy:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nagwafpmin'
params: {
// Required parameters
@@ -320,3 +294,111 @@ module frontDoorWebApplicationFirewallPolicy './network/front-door-web-applicati
Example 1: Common
via Bicep module
```bicep
-module frontDoor './network/front-door/main.bicep' = {
+module frontDoor 'br:bicep/modules/network.front-door:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nfdcom'
params: {
// Required parameters
@@ -345,14 +306,17 @@ module frontDoor './network/front-door/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module frontDoor './network/front-door/main.bicep' = {
+module frontDoor 'br:bicep/modules/network.front-door:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nfdmin'
params: {
// Required parameters
@@ -557,3 +521,194 @@ module frontDoor './network/front-door/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module ipGroup './network/ip-group/main.bicep' = {
+module ipGroup 'br:bicep/modules/network.ip-group:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nigcom'
params: {
// Required parameters
@@ -149,14 +123,17 @@ module ipGroup './network/ip-group/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module ipGroup './network/ip-group/main.bicep' = {
+module ipGroup 'br:bicep/modules/network.ip-group:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nigmin'
params: {
// Required parameters
@@ -193,3 +170,86 @@ module ipGroup './network/ip-group/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module loadBalancer './network/load-balancer/main.bicep' = {
+module loadBalancer 'br:bicep/modules/network.load-balancer:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nlbcom'
params: {
// Required parameters
@@ -344,14 +306,14 @@ module loadBalancer './network/load-balancer/main.bicep' = {
Example 2: Internal
+### Example 2: _Internal_
via Bicep module
```bicep
-module loadBalancer './network/load-balancer/main.bicep' = {
+module loadBalancer 'br:bicep/modules/network.load-balancer:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nlbint'
params: {
// Required parameters
@@ -559,14 +521,17 @@ module loadBalancer './network/load-balancer/main.bicep' = {
Example 3: Min
+### Example 3: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module loadBalancer './network/load-balancer/main.bicep' = {
+module loadBalancer 'br:bicep/modules/network.load-balancer:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nlbmin'
params: {
// Required parameters
@@ -619,6 +584,186 @@ module loadBalancer './network/load-balancer/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module localNetworkGateway './network/local-network-gateway/main.bicep' = {
+module localNetworkGateway 'br:bicep/modules/network.local-network-gateway:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nlngcom'
params: {
// Required parameters
@@ -164,14 +133,17 @@ module localNetworkGateway './network/local-network-gateway/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module localNetworkGateway './network/local-network-gateway/main.bicep' = {
+module localNetworkGateway 'br:bicep/modules/network.local-network-gateway:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nlngmin'
params: {
// Required parameters
@@ -220,3 +192,124 @@ module localNetworkGateway './network/local-network-gateway/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module natGateway './network/nat-gateway/main.bicep' = {
+module natGateway 'br:bicep/modules/network.nat-gateway:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nngcom'
params: {
// Required parameters
@@ -178,3 +133,204 @@ module natGateway './network/nat-gateway/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module networkInterface './network/network-interface/main.bicep' = {
+module networkInterface 'br:bicep/modules/network.network-interface:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nnicom'
params: {
// Required parameters
@@ -219,14 +180,17 @@ module networkInterface './network/network-interface/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module networkInterface './network/network-interface/main.bicep' = {
+module networkInterface 'br:bicep/modules/network.network-interface:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nnimin'
params: {
// Required parameters
@@ -277,3 +241,192 @@ module networkInterface './network/network-interface/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module networkManager './network/network-manager/main.bicep' = {
+module networkManager 'br:bicep/modules/network.network-manager:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nnmcom'
params: {
// Required parameters
@@ -523,6 +485,139 @@ module networkManager './network/network-manager/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module networkSecurityGroup './network/network-security-group/main.bicep' = {
+module networkSecurityGroup 'br:bicep/modules/network.network-security-group:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nnsgcom'
params: {
// Required parameters
@@ -294,14 +261,17 @@ module networkSecurityGroup './network/network-security-group/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module networkSecurityGroup './network/network-security-group/main.bicep' = {
+module networkSecurityGroup 'br:bicep/modules/network.network-security-group:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nnsgmin'
params: {
// Required parameters
@@ -338,3 +308,143 @@ module networkSecurityGroup './network/network-security-group/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module networkWatcher './network/network-watcher/main.bicep' = {
+module networkWatcher 'br:bicep/modules/network.network-watcher:1.0.0' = {
name: '${uniqueString(deployment().name, testLocation)}-test-nnwcom'
params: {
connectionMonitors: [
@@ -275,14 +253,17 @@ module networkWatcher './network/network-watcher/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module networkWatcher './network/network-watcher/main.bicep' = {
+module networkWatcher 'br:bicep/modules/network.network-watcher:1.0.0' = {
name: '${uniqueString(deployment().name, testLocation)}-test-nnwmin'
params: {
enableDefaultTelemetry: 'Example 1: Common
via Bicep module
```bicep
-module privateDnsZone './network/private-dns-zone/main.bicep' = {
+module privateDnsZone 'br:bicep/modules/network.private-dns-zone:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-npdzcom'
params: {
// Required parameters
@@ -504,14 +470,17 @@ module privateDnsZone './network/private-dns-zone/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module privateDnsZone './network/private-dns-zone/main.bicep' = {
+module privateDnsZone 'br:bicep/modules/network.private-dns-zone:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-npdzmin'
params: {
// Required parameters
@@ -548,3 +517,150 @@ module privateDnsZone './network/private-dns-zone/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module privateEndpoint './network/private-endpoint/main.bicep' = {
+module privateEndpoint 'br:bicep/modules/network.private-endpoint:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-npecom'
params: {
// Required parameters
@@ -214,14 +180,17 @@ module privateEndpoint './network/private-endpoint/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module privateEndpoint './network/private-endpoint/main.bicep' = {
+module privateEndpoint 'br:bicep/modules/network.private-endpoint:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-npemin'
params: {
// Required parameters
@@ -274,3 +243,147 @@ module privateEndpoint './network/private-endpoint/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module privateLinkService './network/private-link-service/main.bicep' = {
+module privateLinkService 'br:bicep/modules/network.private-link-service:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nplscom'
params: {
// Required parameters
@@ -220,14 +188,17 @@ module privateLinkService './network/private-link-service/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module privateLinkService './network/private-link-service/main.bicep' = {
+module privateLinkService 'br:bicep/modules/network.private-link-service:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nplsmin'
params: {
// Required parameters
@@ -300,6 +271,136 @@ module privateLinkService './network/private-link-service/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module publicIpAddress './network/public-ip-address/main.bicep' = {
+module publicIpAddress 'br:bicep/modules/network.public-ip-address:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-npiacom'
params: {
// Required parameters
@@ -193,14 +150,17 @@ module publicIpAddress './network/public-ip-address/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module publicIpAddress './network/public-ip-address/main.bicep' = {
+module publicIpAddress 'br:bicep/modules/network.public-ip-address:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-npiamin'
params: {
// Required parameters
@@ -237,3 +197,222 @@ module publicIpAddress './network/public-ip-address/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module publicIpPrefix './network/public-ip-prefix/main.bicep' = {
+module publicIpPrefix 'br:bicep/modules/network.public-ip-prefix:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-npipcom'
params: {
// Required parameters
@@ -144,14 +117,17 @@ module publicIpPrefix './network/public-ip-prefix/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module publicIpPrefix './network/public-ip-prefix/main.bicep' = {
+module publicIpPrefix 'br:bicep/modules/network.public-ip-prefix:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-npipmin'
params: {
// Required parameters
@@ -192,3 +168,93 @@ module publicIpPrefix './network/public-ip-prefix/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module routeTable './network/route-table/main.bicep' = {
+module routeTable 'br:bicep/modules/network.route-table:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nrtcom'
params: {
// Required parameters
@@ -162,14 +135,17 @@ module routeTable './network/route-table/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module routeTable './network/route-table/main.bicep' = {
+module routeTable 'br:bicep/modules/network.route-table:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nrtmin'
params: {
// Required parameters
@@ -206,3 +182,94 @@ module routeTable './network/route-table/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module serviceEndpointPolicy './network/service-endpoint-policy/main.bicep' = {
+module serviceEndpointPolicy 'br:bicep/modules/network.service-endpoint-policy:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nsnpcom'
params: {
// Required parameters
@@ -169,14 +141,17 @@ module serviceEndpointPolicy './network/service-endpoint-policy/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module serviceEndpointPolicy './network/service-endpoint-policy/main.bicep' = {
+module serviceEndpointPolicy 'br:bicep/modules/network.service-endpoint-policy:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nsnpmin'
params: {
// Required parameters
@@ -213,3 +188,102 @@ module serviceEndpointPolicy './network/service-endpoint-policy/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module trafficmanagerprofile './network/trafficmanagerprofile/main.bicep' = {
+module trafficmanagerprofile 'br:bicep/modules/network.trafficmanagerprofile:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-ntmpcom'
params: {
// Required parameters
@@ -173,14 +135,17 @@ module trafficmanagerprofile './network/trafficmanagerprofile/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module trafficmanagerprofile './network/trafficmanagerprofile/main.bicep' = {
+module trafficmanagerprofile 'br:bicep/modules/network.trafficmanagerprofile:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-ntmpmin'
params: {
// Required parameters
@@ -223,6 +188,195 @@ module trafficmanagerprofile './network/trafficmanagerprofile/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module virtualHub './network/virtual-hub/main.bicep' = {
+module virtualHub 'br:bicep/modules/network.virtual-hub:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nvhcom'
params: {
// Required parameters
@@ -199,14 +159,17 @@ module virtualHub './network/virtual-hub/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module virtualHub './network/virtual-hub/main.bicep' = {
+module virtualHub 'br:bicep/modules/network.virtual-hub:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nvhmin'
params: {
// Required parameters
@@ -251,3 +214,198 @@ module virtualHub './network/virtual-hub/main.bicep' = {
Example 1: Aadvpn
+### Example 1: _Aadvpn_
via Bicep module
```bicep
-module virtualNetworkGateway './network/virtual-network-gateway/main.bicep' = {
+module virtualNetworkGateway 'br:bicep/modules/network.virtual-network-gateway:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nvngavpn'
params: {
// Required parameters
@@ -260,14 +194,14 @@ module virtualNetworkGateway './network/virtual-network-gateway/main.bicep' = {
Example 2: Expressroute
+### Example 2: _Expressroute_
via Bicep module
```bicep
-module virtualNetworkGateway './network/virtual-network-gateway/main.bicep' = {
+module virtualNetworkGateway 'br:bicep/modules/network.virtual-network-gateway:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nvger'
params: {
// Required parameters
@@ -395,14 +329,14 @@ module virtualNetworkGateway './network/virtual-network-gateway/main.bicep' = {
Example 3: Vpn
+### Example 3: _Vpn_
via Bicep module
```bicep
-module virtualNetworkGateway './network/virtual-network-gateway/main.bicep' = {
+module virtualNetworkGateway 'br:bicep/modules/network.virtual-network-gateway:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nvgvpn'
params: {
// Required parameters
@@ -623,3 +557,359 @@ module virtualNetworkGateway './network/virtual-network-gateway/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module virtualNetwork './network/virtual-network/main.bicep' = {
+module virtualNetwork 'br:bicep/modules/network.virtual-network:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nvncom'
params: {
// Required parameters
@@ -294,14 +252,17 @@ module virtualNetwork './network/virtual-network/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module virtualNetwork './network/virtual-network/main.bicep' = {
+module virtualNetwork 'br:bicep/modules/network.virtual-network:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nvnmin'
params: {
// Required parameters
@@ -347,14 +308,14 @@ module virtualNetwork './network/virtual-network/main.bicep' = {
Example 3: Vnetpeering
+### Example 3: _Vnetpeering_
via Bicep module
```bicep
-module virtualNetwork './network/virtual-network/main.bicep' = {
+module virtualNetwork 'br:bicep/modules/network.virtual-network:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nvnpeer'
params: {
// Required parameters
@@ -455,6 +416,205 @@ module virtualNetwork './network/virtual-network/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module virtualWan './network/virtual-wan/main.bicep' = {
+module virtualWan 'br:bicep/modules/network.virtual-wan:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nvwcom'
params: {
// Required parameters
@@ -158,14 +129,17 @@ module virtualWan './network/virtual-wan/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module virtualWan './network/virtual-wan/main.bicep' = {
+module virtualWan 'br:bicep/modules/network.virtual-wan:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nvwmin'
params: {
// Required parameters
@@ -202,3 +176,111 @@ module virtualWan './network/virtual-wan/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module vpnGateway './network/vpn-gateway/main.bicep' = {
+module vpnGateway 'br:bicep/modules/network.vpn-gateway:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nvgcom'
params: {
// Required parameters
@@ -206,14 +175,17 @@ module vpnGateway './network/vpn-gateway/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module vpnGateway './network/vpn-gateway/main.bicep' = {
+module vpnGateway 'br:bicep/modules/network.vpn-gateway:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nvgmin'
params: {
// Required parameters
@@ -256,6 +228,127 @@ module vpnGateway './network/vpn-gateway/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module vpnSite './network/vpn-site/main.bicep' = {
+module vpnSite 'br:bicep/modules/network.vpn-site:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nvscom'
params: {
// Required parameters
@@ -242,14 +204,17 @@ module vpnSite './network/vpn-site/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module vpnSite './network/vpn-site/main.bicep' = {
+module vpnSite 'br:bicep/modules/network.vpn-site:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-nvsmin'
params: {
// Required parameters
@@ -304,6 +269,148 @@ module vpnSite './network/vpn-site/main.bicep' = {
Example 1: Adv
+### Example 1: _Adv_
via Bicep module
```bicep
-module workspace './operational-insights/workspace/main.bicep' = {
+module workspace 'br:bicep/modules/operational-insights.workspace:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-oiwadv'
params: {
// Required parameters
@@ -631,14 +568,17 @@ module workspace './operational-insights/workspace/main.bicep' = {
Example 2: Common
+### Example 2: _Using large parameter set_
+
+This instance deploys the module with most of its features enabled.
+
via Bicep module
```bicep
-module workspace './operational-insights/workspace/main.bicep' = {
+module workspace 'br:bicep/modules/operational-insights.workspace:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-oiwcom'
params: {
// Required parameters
@@ -1016,14 +956,17 @@ module workspace './operational-insights/workspace/main.bicep' = {
Example 3: Min
+### Example 3: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module workspace './operational-insights/workspace/main.bicep' = {
+module workspace 'br:bicep/modules/operational-insights.workspace:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-oiwmin'
params: {
// Required parameters
@@ -1060,3 +1003,294 @@ module workspace './operational-insights/workspace/main.bicep' = {
Example 1: Min
via Bicep module
```bicep
-module solution './operations-management/solution/main.bicep' = {
+module solution 'br:bicep/modules/operations-management.solution:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-omsmin'
params: {
// Required parameters
@@ -104,14 +80,14 @@ module solution './operations-management/solution/main.bicep' = {
Example 2: Ms
+### Example 2: _Ms_
via Bicep module
```bicep
-module solution './operations-management/solution/main.bicep' = {
+module solution 'br:bicep/modules/operations-management.solution:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-omsms'
params: {
// Required parameters
@@ -161,14 +137,14 @@ module solution './operations-management/solution/main.bicep' = {
Example 3: Nonms
+### Example 3: _Nonms_
via Bicep module
```bicep
-module solution './operations-management/solution/main.bicep' = {
+module solution 'br:bicep/modules/operations-management.solution:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-omsnonms'
params: {
// Required parameters
@@ -217,3 +193,76 @@ module solution './operations-management/solution/main.bicep' = {
Example 1: Mg.Common
+### Example 1: _Mg.Common_
via Bicep module
```bicep
-module remediation './policy-insights/remediation/main.bicep' = {
+module remediation 'br:bicep/modules/policy-insights.remediation:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-pirmgcom'
params: {
// Required parameters
@@ -143,14 +113,14 @@ module remediation './policy-insights/remediation/main.bicep' = {
Example 2: Mg.Min
+### Example 2: _Mg.Min_
via Bicep module
```bicep
-module remediation './policy-insights/remediation/main.bicep' = {
+module remediation 'br:bicep/modules/policy-insights.remediation:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-pirmgmin'
params: {
// Required parameters
@@ -192,14 +162,14 @@ module remediation './policy-insights/remediation/main.bicep' = {
Example 3: Rg.Common
+### Example 3: _Rg.Common_
via Bicep module
```bicep
-module remediation './policy-insights/remediation/main.bicep' = {
+module remediation 'br:bicep/modules/policy-insights.remediation:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-pirrgcom'
params: {
// Required parameters
@@ -273,14 +243,14 @@ module remediation './policy-insights/remediation/main.bicep' = {
Example 4: Rg.Min
+### Example 4: _Rg.Min_
via Bicep module
```bicep
-module remediation './policy-insights/remediation/main.bicep' = {
+module remediation 'br:bicep/modules/policy-insights.remediation:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-pirrgmin'
params: {
// Required parameters
@@ -322,14 +292,14 @@ module remediation './policy-insights/remediation/main.bicep' = {
Example 5: Sub.Common
+### Example 5: _Sub.Common_
via Bicep module
```bicep
-module remediation './policy-insights/remediation/main.bicep' = {
+module remediation 'br:bicep/modules/policy-insights.remediation:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-pirsubcom'
params: {
// Required parameters
@@ -403,14 +373,14 @@ module remediation './policy-insights/remediation/main.bicep' = {
Example 6: Sub.Min
+### Example 6: _Sub.Min_
via Bicep module
```bicep
-module remediation './policy-insights/remediation/main.bicep' = {
+module remediation 'br:bicep/modules/policy-insights.remediation:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-pirsubmin'
params: {
// Required parameters
@@ -453,6 +423,134 @@ module remediation './policy-insights/remediation/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module capacity './power-bi-dedicated/capacity/main.bicep' = {
+module capacity 'br:bicep/modules/power-bi-dedicated.capacity:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-pbdcapcom'
params: {
// Required parameters
@@ -155,14 +125,17 @@ module capacity './power-bi-dedicated/capacity/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module capacity './power-bi-dedicated/capacity/main.bicep' = {
+module capacity 'br:bicep/modules/power-bi-dedicated.capacity:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-pbdcapmin'
params: {
// Required parameters
@@ -211,3 +184,119 @@ module capacity './power-bi-dedicated/capacity/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module account './purview/account/main.bicep' = {
+module account 'br:bicep/modules/purview.account:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-pvacom'
params: {
// Required parameters
@@ -387,14 +338,17 @@ module account './purview/account/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module account './purview/account/main.bicep' = {
+module account 'br:bicep/modules/purview.account:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-pvamin'
params: {
// Required parameters
@@ -435,3 +389,210 @@ module account './purview/account/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module vault './recovery-services/vault/main.bicep' = {
+module vault 'br:bicep/modules/recovery-services.vault:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-rsvcom'
params: {
// Required parameters
@@ -754,14 +705,14 @@ module vault './recovery-services/vault/main.bicep' = {
Example 2: Dr
+### Example 2: _Dr_
via Bicep module
```bicep
-module vault './recovery-services/vault/main.bicep' = {
+module vault 'br:bicep/modules/recovery-services.vault:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-rsvdr'
params: {
// Required parameters
@@ -925,14 +876,17 @@ module vault './recovery-services/vault/main.bicep' = {
Example 3: Min
+### Example 3: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module vault './recovery-services/vault/main.bicep' = {
+module vault 'br:bicep/modules/recovery-services.vault:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-rsvmin'
params: {
// Required parameters
@@ -969,3 +923,246 @@ module vault './recovery-services/vault/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module namespace './relay/namespace/main.bicep' = {
+module namespace 'br:bicep/modules/relay.namespace:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-rncom'
params: {
// Required parameters
@@ -364,14 +323,17 @@ module namespace './relay/namespace/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module namespace './relay/namespace/main.bicep' = {
+module namespace 'br:bicep/modules/relay.namespace:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-rnmin'
params: {
// Required parameters
@@ -409,14 +371,14 @@ module namespace './relay/namespace/main.bicep' = {
Example 3: Pe
+### Example 3: _Pe_
via Bicep module
```bicep
-module namespace './relay/namespace/main.bicep' = {
+module namespace 'br:bicep/modules/relay.namespace:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-rnpe'
params: {
// Required parameters
@@ -503,3 +465,189 @@ module namespace './relay/namespace/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module query './resource-graph/query/main.bicep' = {
+module query 'br:bicep/modules/resource-graph.query:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-rgqcom'
params: {
// Required parameters
@@ -148,14 +121,17 @@ module query './resource-graph/query/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module query './resource-graph/query/main.bicep' = {
+module query 'br:bicep/modules/resource-graph.query:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-rgqmin'
params: {
// Required parameters
@@ -196,3 +172,93 @@ module query './resource-graph/query/main.bicep' = {
Example 1: Cli
+### Example 1: _Cli_
via Bicep module
```bicep
-module deploymentScript './resources/deployment-script/main.bicep' = {
+module deploymentScript 'br:bicep/modules/resources.deployment-script:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-rdscli'
params: {
// Required parameters
@@ -200,14 +151,14 @@ module deploymentScript './resources/deployment-script/main.bicep' = {
Example 2: Ps
+### Example 2: _Ps_
via Bicep module
```bicep
-module deploymentScript './resources/deployment-script/main.bicep' = {
+module deploymentScript 'br:bicep/modules/resources.deployment-script:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-rdsps'
params: {
// Required parameters
@@ -300,3 +251,206 @@ module deploymentScript './resources/deployment-script/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module resourceGroup './resources/resource-group/main.bicep' = {
+module resourceGroup 'br:bicep/modules/resources.resource-group:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-rrgcom'
params: {
// Required parameters
@@ -142,14 +113,17 @@ module resourceGroup './resources/resource-group/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module resourceGroup './resources/resource-group/main.bicep' = {
+module resourceGroup 'br:bicep/modules/resources.resource-group:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-rrgmin'
params: {
// Required parameters
@@ -186,3 +160,89 @@ module resourceGroup './resources/resource-group/main.bicep' = {
Example 1: Min
via Bicep module
```bicep
-module tags './resources/tags/main.bicep' = {
+module tags 'br:bicep/modules/resources.tags:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-rtmin'
params: {
enableDefaultTelemetry: 'Example 2: Rg
+### Example 2: _Rg_
via Bicep module
```bicep
-module tags './resources/tags/main.bicep' = {
+module tags 'br:bicep/modules/resources.tags:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-rtrg'
params: {
enableDefaultTelemetry: 'Example 3: Sub
+### Example 3: _Sub_
via Bicep module
```bicep
-module tags './resources/tags/main.bicep' = {
+module tags 'br:bicep/modules/resources.tags:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-rtsub'
params: {
enableDefaultTelemetry: 'Example 1: Common
via Bicep module
```bicep
-module searchService './search/search-service/main.bicep' = {
+module searchService 'br:bicep/modules/search.search-service:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-ssscom'
params: {
// Required parameters
@@ -257,14 +210,17 @@ module searchService './search/search-service/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module searchService './search/search-service/main.bicep' = {
+module searchService 'br:bicep/modules/search.search-service:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-sssmin'
params: {
// Required parameters
@@ -302,14 +258,14 @@ module searchService './search/search-service/main.bicep' = {
Example 3: Pe
+### Example 3: _Pe_
via Bicep module
```bicep
-module searchService './search/search-service/main.bicep' = {
+module searchService 'br:bicep/modules/search.search-service:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-ssspe'
params: {
// Required parameters
@@ -432,3 +388,240 @@ module searchService './search/search-service/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module azureSecurityCenter './security/azure-security-center/main.bicep' = {
+module azureSecurityCenter 'br:bicep/modules/security.azure-security-center:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-sasccom'
params: {
// Required parameters
@@ -131,3 +92,208 @@ module azureSecurityCenter './security/azure-security-center/main.bicep' = {
Example 1: Common
-
via Bicep module
```bicep
-module namespace './service-bus/namespace/main.bicep' = {
+module namespace 'br:bicep/modules/service-bus.namespace:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-sbncom'
params: {
// Required parameters
@@ -488,14 +426,14 @@ module namespace './service-bus/namespace/main.bicep' = {
Example 2: Encr
+### Example 2: _Encr_
via Bicep module
```bicep
-module namespace './service-bus/namespace/main.bicep' = {
+module namespace 'br:bicep/modules/service-bus.namespace:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-sbnencr'
params: {
// Required parameters
@@ -671,14 +609,17 @@ module namespace './service-bus/namespace/main.bicep' = {
Example 3: Min
+### Example 3: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module namespace './service-bus/namespace/main.bicep' = {
+module namespace 'br:bicep/modules/service-bus.namespace:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-sbnmin'
params: {
// Required parameters
@@ -716,14 +657,14 @@ module namespace './service-bus/namespace/main.bicep' = {
Example 4: Pe
+### Example 4: _Pe_
via Bicep module
```bicep
-module namespace './service-bus/namespace/main.bicep' = {
+module namespace 'br:bicep/modules/service-bus.namespace:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-sbnpe'
params: {
// Required parameters
@@ -814,3 +755,326 @@ module namespace './service-bus/namespace/main.bicep' = {
Example 1: Cert
+### Example 1: _Cert_
via Bicep module
```bicep
-module cluster './service-fabric/cluster/main.bicep' = {
+module cluster 'br:bicep/modules/service-fabric.cluster:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-sfccer'
params: {
// Required parameters
@@ -199,14 +143,17 @@ module cluster './service-fabric/cluster/main.bicep' = {
Example 2: Common
+### Example 2: _Using large parameter set_
+
+This instance deploys the module with most of its features enabled.
+
via Bicep module
```bicep
-module cluster './service-fabric/cluster/main.bicep' = {
+module cluster 'br:bicep/modules/service-fabric.cluster:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-sfccom'
params: {
// Required parameters
@@ -608,14 +555,17 @@ module cluster './service-fabric/cluster/main.bicep' = {
Example 3: Min
+### Example 3: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module cluster './service-fabric/cluster/main.bicep' = {
+module cluster 'br:bicep/modules/service-fabric.cluster:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-sfcmin'
params: {
// Required parameters
@@ -698,6 +648,308 @@ module cluster './service-fabric/cluster/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module signalR './signal-r-service/signal-r/main.bicep' = {
+module signalR 'br:bicep/modules/signal-r-service.signal-r:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-srssrcom'
params: {
// Required parameters
@@ -268,14 +225,17 @@ module signalR './signal-r-service/signal-r/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module signalR './signal-r-service/signal-r/main.bicep' = {
+module signalR 'br:bicep/modules/signal-r-service.signal-r:1.0.0' = {
name: '${uniqueString(deployment().name)}-test-srsdrmin'
params: {
// Required parameters
@@ -312,3 +272,199 @@ module signalR './signal-r-service/signal-r/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module webPubSub './signal-r-service/web-pub-sub/main.bicep' = {
+module webPubSub 'br:bicep/modules/signal-r-service.web-pub-sub:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-srswpscom'
params: {
// Required parameters
@@ -269,14 +226,17 @@ module webPubSub './signal-r-service/web-pub-sub/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module webPubSub './signal-r-service/web-pub-sub/main.bicep' = {
+module webPubSub 'br:bicep/modules/signal-r-service.web-pub-sub:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-srswpsmin'
params: {
// Required parameters
@@ -314,14 +274,14 @@ module webPubSub './signal-r-service/web-pub-sub/main.bicep' = {
Example 3: Pe
+### Example 3: _Pe_
via Bicep module
```bicep
-module webPubSub './signal-r-service/web-pub-sub/main.bicep' = {
+module webPubSub 'br:bicep/modules/signal-r-service.web-pub-sub:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-srswpspe'
params: {
// Required parameters
@@ -408,3 +368,177 @@ module webPubSub './signal-r-service/web-pub-sub/main.bicep' = {
Example 1: Common
via Bicep module
```bicep
-module managedInstance './sql/managed-instance/main.bicep' = {
+module managedInstance 'br:bicep/modules/sql.managed-instance:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-sqlmicom'
params: {
// Required parameters
@@ -362,14 +294,17 @@ module managedInstance './sql/managed-instance/main.bicep' = {
Example 2: Min
+### Example 2: _Using only defaults_
+
+This instance deploys the module with the minimum set of required parameters.
+
via Bicep module
```bicep
-module managedInstance './sql/managed-instance/main.bicep' = {
+module managedInstance 'br:bicep/modules/sql.managed-instance:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-sqlmimin'
params: {
// Required parameters
@@ -419,14 +354,14 @@ module managedInstance './sql/managed-instance/main.bicep' = {
Example 3: Vulnassm
+### Example 3: _Vulnassm_
via Bicep module
```bicep
-module managedInstance './sql/managed-instance/main.bicep' = {
+module managedInstance 'br:bicep/modules/sql.managed-instance:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-sqlmivln'
params: {
// Required parameters
@@ -529,6 +464,395 @@ module managedInstance './sql/managed-instance/main.bicep' = {
Example 1: Admin
+### Example 1: _Admin_
via Bicep module
```bicep
-module server './sql/server/main.bicep' = {
+module server 'br:bicep/modules/sql.server:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-sqlsadmin'
params: {
// Required parameters
@@ -160,14 +106,17 @@ module server './sql/server/main.bicep' = {
Example 2: Common
+### Example 2: _Using large parameter set_
+
+This instance deploys the module with most of its features enabled.
+
via Bicep module
```bicep
-module server './sql/server/main.bicep' = {
+module server 'br:bicep/modules/sql.server:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-sqlscom'
params: {
// Required parameters
@@ -465,14 +414,14 @@ module server './sql/server/main.bicep' = {
Example 3: Pe
+### Example 3: _Pe_
via Bicep module
```bicep
-module server './sql/server/main.bicep' = {
+module server 'br:bicep/modules/sql.server:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-sqlspe'
params: {
// Required parameters
@@ -564,14 +513,14 @@ module server './sql/server/main.bicep' = {
Example 4: Secondary
+### Example 4: _Secondary_
via Bicep module
```bicep
-module server './sql/server/main.bicep' = {
+module server 'br:bicep/modules/sql.server:1.0.0' = {
name: '${uniqueString(deployment().name, location)}-test-sqlsec'
params: {
// Required parameters
@@ -652,6 +601,237 @@ module server './sql/server/main.bicep' = {