From bdd03bcf7baa112a619600a7ad278ea6b03bf75a Mon Sep 17 00:00:00 2001 From: Ahmad Abdalla <28486158+ahmadabdalla@users.noreply.github.com> Date: Fri, 13 Oct 2023 08:56:57 +1100 Subject: [PATCH 01/15] Updated desktop virtualization host and scaling plan --- .../host-pool/README.md | 86 +------- .../host-pool/main.bicep | 2 +- .../host-pool/main.json | 10 +- .../scaling-plan/.test/common/main.test.bicep | 39 ++++ .../scaling-plan/README.md | 183 ++++++++---------- .../scaling-plan/main.json | 8 +- 6 files changed, 132 insertions(+), 196 deletions(-) diff --git a/modules/desktop-virtualization/host-pool/README.md b/modules/desktop-virtualization/host-pool/README.md index 95799c2de3..81a5599f0a 100644 --- a/modules/desktop-virtualization/host-pool/README.md +++ b/modules/desktop-virtualization/host-pool/README.md @@ -65,7 +65,7 @@ This module deploys an Azure Virtual Desktop (AVD) Host Pool. | `tokenValidityLength` | string | `'PT8H'` | | Host Pool token validity length. Usage: 'PT8H' - valid for 8 hours; 'P5D' - valid for 5 days; 'P1Y' - valid for 1 year. When not provided, the token will be valid for 8 hours. | | `type` | string | `'Pooled'` | `[Personal, Pooled]` | Set this parameter to Personal if you would like to enable Persistent Desktop experience. Defaults to Pooled. | | `validationEnvironment` | bool | `False` | | Validation host pools allows you to test service changes before they are deployed to production. When set to true, the Host Pool will be deployed in a validation 'ring' (environment) that receives all the new features (might be less stable). Defaults to false that stands for the stable, production-ready environment. | -| `vmTemplate` | object | `{object}` | | The necessary information for adding more VMs to this Host Pool. | +| `vmTemplate` | object | `{object}` | | The necessary information for adding more VMs to this Host Pool. The object is converted to an in-line string when handed over to the resource deployment, since that only takes strings. | **Generated parameters** @@ -133,90 +133,6 @@ roleAssignments: [
-### Parameter Usage: `vmTemplate`
-
-The below parameter object is converted to an in-line string when handed over to the resource deployment, since that only takes strings.
-
-Parameter JSON format
-
-```json
-"vmTemplate": {
- "value": {
- "domain": "Bicep format
-
-```bicep
-vmTemplate: {
- domain: '
-
-### Parameter Usage: `customRdpProperty`
-
-Parameter JSON format
-
-```json
-"customRdpProperty": {
- "value": "audiocapturemode:i:1;audiomode:i:0;drivestoredirect:s:;redirectclipboard:i:1;redirectcomports:i:1;redirectprinters:i:1;redirectsmartcards:i:1;screen mode ID:i:2;"
-}
-```
-
-Bicep format
-
-```bicep
-customRdpProperty: 'audiocapturemode:i:1;audiomode:i:0;drivestoredirect:s:;redirectclipboard:i:1;redirectcomports:i:1;redirectprinters:i:1;redirectsmartcards:i:1;screen mode ID:i:2;'
-```
-
-
-
### Parameter Usage: `tags`
Tag names and tag values can be provided as needed. A tag can be left without a value.
diff --git a/modules/desktop-virtualization/host-pool/main.bicep b/modules/desktop-virtualization/host-pool/main.bicep
index 483e0faa44..79ea1e7407 100644
--- a/modules/desktop-virtualization/host-pool/main.bicep
+++ b/modules/desktop-virtualization/host-pool/main.bicep
@@ -47,7 +47,7 @@ param customRdpProperty string = 'audiocapturemode:i:1;audiomode:i:0;drivestored
@sys.description('Optional. Validation host pools allows you to test service changes before they are deployed to production. When set to true, the Host Pool will be deployed in a validation \'ring\' (environment) that receives all the new features (might be less stable). Defaults to false that stands for the stable, production-ready environment.')
param validationEnvironment bool = false
-@sys.description('Optional. The necessary information for adding more VMs to this Host Pool.')
+@sys.description('Optional. The necessary information for adding more VMs to this Host Pool. The object is converted to an in-line string when handed over to the resource deployment, since that only takes strings.')
param vmTemplate object = {}
@sys.description('Optional. Host Pool token validity length. Usage: \'PT8H\' - valid for 8 hours; \'P5D\' - valid for 5 days; \'P1Y\' - valid for 1 year. When not provided, the token will be valid for 8 hours.')
diff --git a/modules/desktop-virtualization/host-pool/main.json b/modules/desktop-virtualization/host-pool/main.json
index c986ba58ae..9f61db2a23 100644
--- a/modules/desktop-virtualization/host-pool/main.json
+++ b/modules/desktop-virtualization/host-pool/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "14979820932920385091"
+ "version": "0.22.6.54827",
+ "templateHash": "15971169028304265471"
},
"name": "Azure Virtual Desktop (AVD) Host Pools",
"description": "This module deploys an Azure Virtual Desktop (AVD) Host Pool.",
@@ -100,7 +100,7 @@
"type": "object",
"defaultValue": {},
"metadata": {
- "description": "Optional. The necessary information for adding more VMs to this Host Pool."
+ "description": "Optional. The necessary information for adding more VMs to this Host Pool. The object is converted to an in-line string when handed over to the resource deployment, since that only takes strings."
}
},
"tokenValidityLength": {
@@ -465,8 +465,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "15758203474913146406"
+ "version": "0.22.6.54827",
+ "templateHash": "11172902539120316456"
}
},
"parameters": {
diff --git a/modules/desktop-virtualization/scaling-plan/.test/common/main.test.bicep b/modules/desktop-virtualization/scaling-plan/.test/common/main.test.bicep
index 0a6f49d2c5..5423566864 100644
--- a/modules/desktop-virtualization/scaling-plan/.test/common/main.test.bicep
+++ b/modules/desktop-virtualization/scaling-plan/.test/common/main.test.bicep
@@ -84,5 +84,44 @@ module testDeployment '../../main.bicep' = {
hostPoolType: 'Pooled'
friendlyName: 'My Scaling Plan'
description: 'My Scaling Plan Description'
+ schedules: [ {
+ rampUpStartTime: {
+ hour: 7
+ minute: 0
+ }
+ peakStartTime: {
+ hour: 9
+ minute: 0
+ }
+ rampDownStartTime: {
+ hour: 18
+ minute: 0
+ }
+ offPeakStartTime: {
+ hour: 20
+ minute: 0
+ }
+ name: 'weekdays_schedule'
+ daysOfWeek: [
+ 'Monday'
+ 'Tuesday'
+ 'Wednesday'
+ 'Thursday'
+ 'Friday'
+ ]
+ rampUpLoadBalancingAlgorithm: 'DepthFirst'
+ rampUpMinimumHostsPct: 20
+ rampUpCapacityThresholdPct: 60
+ peakLoadBalancingAlgorithm: 'DepthFirst'
+ rampDownLoadBalancingAlgorithm: 'DepthFirst'
+ rampDownMinimumHostsPct: 10
+ rampDownCapacityThresholdPct: 90
+ rampDownForceLogoffUsers: true
+ rampDownWaitTimeMinutes: 30
+ rampDownNotificationMessage: 'You will be logged off in 30 min. Make sure to save your work.'
+ rampDownStopHostsWhen: 'ZeroSessions'
+ offPeakLoadBalancingAlgorithm: 'DepthFirst'
+ }
+ ]
}
}
diff --git a/modules/desktop-virtualization/scaling-plan/README.md b/modules/desktop-virtualization/scaling-plan/README.md
index 93eb2d7557..25b485d144 100644
--- a/modules/desktop-virtualization/scaling-plan/README.md
+++ b/modules/desktop-virtualization/scaling-plan/README.md
@@ -48,107 +48,6 @@ This module deploys an Azure Virtual Desktop (AVD) Scaling Plan.
| `timeZone` | string | `'W. Europe Standard Time'` | | Timezone to be used for the scaling plan. |
-### Parameter Usage: `schedules`
-
-Multiple schedules can be provided as needed. If a schedule is not provided, a default schedule will be created.
-
-```json
-"schedules" : {
- "value": [
- {
- "rampUpStartTime": {
- "hour": 7,
- "minute": 0
- },
- "peakStartTime": {
- "hour": 9,
- "minute": 0
- },
- "rampDownStartTime": {
- "hour": 18,
- "minute": 0
- },
- "offPeakStartTime": {
- "hour": 20,
- "minute": 0
- },
- "name": "weekdays_schedule",
- "daysOfWeek": [
- "Monday",
- "Tuesday",
- "Wednesday",
- "Thursday",
- "Friday"
- ],
- "rampUpLoadBalancingAlgorithm": "DepthFirst",
- "rampUpMinimumHostsPct": 20,
- "rampUpCapacityThresholdPct": 60,
- "peakLoadBalancingAlgorithm": "DepthFirst",
- "rampDownLoadBalancingAlgorithm": "DepthFirst",
- "rampDownMinimumHostsPct": 10,
- "rampDownCapacityThresholdPct": 90,
- "rampDownForceLogoffUsers": true,
- "rampDownWaitTimeMinutes": 30,
- "rampDownNotificationMessage": "You will be logged off in 30 min. Make sure to save your work.",
- "rampDownStopHostsWhen": "ZeroSessions",
- "offPeakLoadBalancingAlgorithm": "DepthFirst"
- }
- ]
-}
-```
-
-
-
-Bicep format
-
-```bicep
-'schedules': [
- {
- rampUpStartTime: {
- hour: 7
- minute: 0
- }
- peakStartTime: {
- hour: 9
- minute: 0
- }
- rampDownStartTime: {
- hour: 18
- minute: 0
- }
- offPeakStartTime: {
- hour: 20
- minute: 0
- }
- name: 'weekdays_schedule'
- daysOfWeek: [
- 'Monday'
- 'Tuesday'
- 'Wednesday'
- 'Thursday'
- 'Friday'
- ]
- rampUpLoadBalancingAlgorithm: 'DepthFirst'
- rampUpMinimumHostsPct: 20
- rampUpCapacityThresholdPct: 60
- peakLoadBalancingAlgorithm: 'DepthFirst'
- rampDownLoadBalancingAlgorithm: 'DepthFirst'
- rampDownMinimumHostsPct: 10
- rampDownCapacityThresholdPct: 90
- rampDownForceLogoffUsers: true
- rampDownWaitTimeMinutes: 30
- rampDownNotificationMessage: 'You will be logged off in 30 min. Make sure to save your work.'
- rampDownStopHostsWhen: 'ZeroSessions'
- offPeakLoadBalancingAlgorithm: 'DepthFirst'
- }
-]
-```
-
-
- ### Parameter Usage: `tags` Tag names and tag values can be provided as needed. A tag can be left without a value. @@ -299,6 +198,46 @@ module scalingPlan './desktop-virtualization/scaling-plan/main.bicep' = { roleDefinitionIdOrName: 'Reader' } ] + schedules: [ + { + daysOfWeek: [ + 'Friday' + 'Monday' + 'Thursday' + 'Tuesday' + 'Wednesday' + ] + name: 'weekdays_schedule' + offPeakLoadBalancingAlgorithm: 'DepthFirst' + offPeakStartTime: { + hour: 20 + minute: 0 + } + peakLoadBalancingAlgorithm: 'DepthFirst' + peakStartTime: { + hour: 9 + minute: 0 + } + rampDownCapacityThresholdPct: 90 + rampDownForceLogoffUsers: true + rampDownLoadBalancingAlgorithm: 'DepthFirst' + rampDownMinimumHostsPct: 10 + rampDownNotificationMessage: 'You will be logged off in 30 min. Make sure to save your work.' + rampDownStartTime: { + hour: 18 + minute: 0 + } + rampDownStopHostsWhen: 'ZeroSessions' + rampDownWaitTimeMinutes: 30 + rampUpCapacityThresholdPct: 60 + rampUpLoadBalancingAlgorithm: 'DepthFirst' + rampUpMinimumHostsPct: 20 + rampUpStartTime: { + hour: 7 + minute: 0 + } + } + ] tags: { Environment: 'Non-Prod' 'hidden-title': 'This is visible in the resource name' @@ -360,6 +299,48 @@ module scalingPlan './desktop-virtualization/scaling-plan/main.bicep' = { } ] }, + "schedules": { + "value": [ + { + "daysOfWeek": [ + "Friday", + "Monday", + "Thursday", + "Tuesday", + "Wednesday" + ], + "name": "weekdays_schedule", + "offPeakLoadBalancingAlgorithm": "DepthFirst", + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "peakLoadBalancingAlgorithm": "DepthFirst", + "peakStartTime": { + "hour": 9, + "minute": 0 + }, + "rampDownCapacityThresholdPct": 90, + "rampDownForceLogoffUsers": true, + "rampDownLoadBalancingAlgorithm": "DepthFirst", + "rampDownMinimumHostsPct": 10, + "rampDownNotificationMessage": "You will be logged off in 30 min. Make sure to save your work.", + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownStopHostsWhen": "ZeroSessions", + "rampDownWaitTimeMinutes": 30, + "rampUpCapacityThresholdPct": 60, + "rampUpLoadBalancingAlgorithm": "DepthFirst", + "rampUpMinimumHostsPct": 20, + "rampUpStartTime": { + "hour": 7, + "minute": 0 + } + } + ] + }, "tags": { "value": { "Environment": "Non-Prod", diff --git a/modules/desktop-virtualization/scaling-plan/main.json b/modules/desktop-virtualization/scaling-plan/main.json index 0d39c715ee..ce7aa1ec9b 100644 --- a/modules/desktop-virtualization/scaling-plan/main.json +++ b/modules/desktop-virtualization/scaling-plan/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.21.1.54444", - "templateHash": "6944405808593930056" + "version": "0.22.6.54827", + "templateHash": "2358392324334042734" }, "name": "Azure Virtual Desktop (AVD) Scaling Plans", "description": "This module deploys an Azure Virtual Desktop (AVD) Scaling Plan.", @@ -276,8 +276,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.21.1.54444", - "templateHash": "5284850760210698082" + "version": "0.22.6.54827", + "templateHash": "919506430332723114" } }, "parameters": { From e9429b55b6c137d107ce1e4871b7067a95e86704 Mon Sep 17 00:00:00 2001 From: Ahmad Abdalla <28486158+ahmadabdalla@users.noreply.github.com> Date: Fri, 13 Oct 2023 09:45:33 +1100 Subject: [PATCH 02/15] Updated Digital Twins --- .../digital-twins-instance/README.md | 127 ------------------ .../endpoint--event-grid/main.json | 4 +- .../endpoint--event-hub/README.md | 4 +- .../endpoint--event-hub/main.bicep | 4 +- .../endpoint--event-hub/main.json | 8 +- .../endpoint--service-bus/README.md | 4 +- .../endpoint--service-bus/main.bicep | 4 +- .../endpoint--service-bus/main.json | 8 +- .../digital-twins-instance/main.json | 40 +++--- 9 files changed, 38 insertions(+), 165 deletions(-) diff --git a/modules/digital-twins/digital-twins-instance/README.md b/modules/digital-twins/digital-twins-instance/README.md index 4be6c79af6..512bd242ac 100644 --- a/modules/digital-twins/digital-twins-instance/README.md +++ b/modules/digital-twins/digital-twins-instance/README.md @@ -289,134 +289,7 @@ userAssignedIdentities: {
-### Parameter Usage: `eventhubEndpoint`
-
-Parameter JSON format
-
-```json
-"eventhubEndpoint": {
- "value": {
- "authenticationType": "IdentityBased", // IdentityBased or KeyBased
- "name": "
-
-Bicep format
-
-```bicep
-eventhubEndpoint: {
- authenticationType: 'IdentityBased' // IdentityBased or KeyBased
- name: '
-
-### Parameter Usage: `eventGridEndpoint`
-
-Parameter JSON format
-
-```json
-"eventGridEndpoint": {
- "value": {
- "name": "
-
-Bicep format
-
-```bicep
-eventGridEndpoint: {
- name: '
-
-### Parameter Usage: `serviceBusEndpoint`
-
-Parameter JSON format
-
-```json
-"serviceBusEndpoint": {
- "value": {
- "authenticationType": "IdentityBased", // IdentityBased or KeyBased
- "name": "
-
-Bicep format
-
-```bicep
-serviceBusEndpoint: {
- authenticationType: 'IdentityBased' // IdentityBased or KeyBased
- name: '
-
## Outputs
| Output Name | Type | Description |
diff --git a/modules/digital-twins/digital-twins-instance/endpoint--event-grid/main.json b/modules/digital-twins/digital-twins-instance/endpoint--event-grid/main.json
index a1978b3907..27b52f1b55 100644
--- a/modules/digital-twins/digital-twins-instance/endpoint--event-grid/main.json
+++ b/modules/digital-twins/digital-twins-instance/endpoint--event-grid/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "7115177198919820190"
+ "version": "0.22.6.54827",
+ "templateHash": "15429197908359098698"
},
"name": "Digital Twins Instance Event Grid Endpoints",
"description": "This module deploys a Digital Twins Instance Event Grid Endpoint.",
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 acdd791423..89cb8b96b9 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
@@ -29,11 +29,11 @@ This module deploys a Digital Twins Instance EventHub Endpoint.
| 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. |
+| `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://'. |
+| `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. |
diff --git a/modules/digital-twins/digital-twins-instance/endpoint--event-hub/main.bicep b/modules/digital-twins/digital-twins-instance/endpoint--event-hub/main.bicep
index bcb41b28e8..bde961d9e6 100644
--- a/modules/digital-twins/digital-twins-instance/endpoint--event-hub/main.bicep
+++ b/modules/digital-twins/digital-twins-instance/endpoint--event-hub/main.bicep
@@ -26,14 +26,14 @@ param deadLetterUri string = ''
@secure()
param connectionStringPrimaryKey string = ''
-@description('Optional. SecondaryConnectionString of the endpoint for key-based authentication. Will be obfuscated during read.')
+@description('Optional. SecondaryConnectionString of the endpoint for key-based authentication. Will be obfuscated during read. Only used if the `authenticationType` is "KeyBased".')
@secure()
param connectionStringSecondaryKey string = ''
@description('Optional. The EventHub name in the EventHub namespace for identity-based authentication.')
param entityPath string = ''
-@description('Optional. The URL of the EventHub namespace for identity-based authentication. It must include the protocol \'sb://\'.')
+@description('Optional. The URL of the EventHub namespace for identity-based authentication. It must include the protocol \'sb://\' (i.e. sb://xyz.servicebus.windows.net).')
param endpointUri string = ''
@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).')
diff --git a/modules/digital-twins/digital-twins-instance/endpoint--event-hub/main.json b/modules/digital-twins/digital-twins-instance/endpoint--event-hub/main.json
index a964a1f125..3ef4af7bb3 100644
--- a/modules/digital-twins/digital-twins-instance/endpoint--event-hub/main.json
+++ b/modules/digital-twins/digital-twins-instance/endpoint--event-hub/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "10898754622351027742"
+ "version": "0.22.6.54827",
+ "templateHash": "1200386987193874100"
},
"name": "Digital Twins Instance EventHub Endpoint",
"description": "This module deploys a Digital Twins Instance EventHub Endpoint.",
@@ -61,7 +61,7 @@
"type": "securestring",
"defaultValue": "",
"metadata": {
- "description": "Optional. SecondaryConnectionString of the endpoint for key-based authentication. Will be obfuscated during read."
+ "description": "Optional. SecondaryConnectionString of the endpoint for key-based authentication. Will be obfuscated during read. Only used if the `authenticationType` is \"KeyBased\"."
}
},
"entityPath": {
@@ -75,7 +75,7 @@
"type": "string",
"defaultValue": "",
"metadata": {
- "description": "Optional. The URL of the EventHub namespace for identity-based authentication. It must include the protocol 'sb://'."
+ "description": "Optional. The URL of the EventHub namespace for identity-based authentication. It must include the protocol 'sb://' (i.e. sb://xyz.servicebus.windows.net)."
}
},
"enableDefaultTelemetry": {
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 d782e9bca2..3f448d3791 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
@@ -32,10 +32,10 @@ This module deploys a Digital Twins Instance ServiceBus Endpoint.
| `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://'. |
+| `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. |
+| `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. |
diff --git a/modules/digital-twins/digital-twins-instance/endpoint--service-bus/main.bicep b/modules/digital-twins/digital-twins-instance/endpoint--service-bus/main.bicep
index 91050fff39..25e6eb0ae7 100644
--- a/modules/digital-twins/digital-twins-instance/endpoint--service-bus/main.bicep
+++ b/modules/digital-twins/digital-twins-instance/endpoint--service-bus/main.bicep
@@ -22,7 +22,7 @@ param deadLetterSecret string = ''
@description('Optional. Dead letter storage URL for identity-based authentication.')
param deadLetterUri string = ''
-@description('Optional. The URL of the ServiceBus namespace for identity-based authentication. It must include the protocol \'sb://\'.')
+@description('Optional. The URL of the ServiceBus namespace for identity-based authentication. It must include the protocol \'sb://\' (e.g. sb://xyz.servicebus.windows.net).')
param endpointUri string = ''
@description('Optional. The ServiceBus Topic name for identity-based authentication.')
@@ -32,7 +32,7 @@ param entityPath string = ''
@secure()
param primaryConnectionString string = ''
-@description('Optional. SecondaryConnectionString of the endpoint for key-based authentication. Will be obfuscated during read.')
+@description('Optional. SecondaryConnectionString of the endpoint for key-based authentication. Will be obfuscated during read. Only used if the `authenticationType` is "KeyBased".')
@secure()
param secondaryConnectionString string = ''
diff --git a/modules/digital-twins/digital-twins-instance/endpoint--service-bus/main.json b/modules/digital-twins/digital-twins-instance/endpoint--service-bus/main.json
index b1513fcf98..31056e282d 100644
--- a/modules/digital-twins/digital-twins-instance/endpoint--service-bus/main.json
+++ b/modules/digital-twins/digital-twins-instance/endpoint--service-bus/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.20.4.51522",
- "templateHash": "13127448885590640743"
+ "version": "0.22.6.54827",
+ "templateHash": "2168121049050485718"
},
"name": "Digital Twins Instance ServiceBus Endpoint",
"description": "This module deploys a Digital Twins Instance ServiceBus Endpoint.",
@@ -54,7 +54,7 @@
"type": "string",
"defaultValue": "",
"metadata": {
- "description": "Optional. The URL of the ServiceBus namespace for identity-based authentication. It must include the protocol 'sb://'."
+ "description": "Optional. The URL of the ServiceBus namespace for identity-based authentication. It must include the protocol 'sb://' (e.g. sb://xyz.servicebus.windows.net)."
}
},
"entityPath": {
@@ -75,7 +75,7 @@
"type": "securestring",
"defaultValue": "",
"metadata": {
- "description": "Optional. SecondaryConnectionString of the endpoint for key-based authentication. Will be obfuscated during read."
+ "description": "Optional. SecondaryConnectionString of the endpoint for key-based authentication. Will be obfuscated during read. Only used if the `authenticationType` is \"KeyBased\"."
}
},
"enableDefaultTelemetry": {
diff --git a/modules/digital-twins/digital-twins-instance/main.json b/modules/digital-twins/digital-twins-instance/main.json
index d4bae9acbc..5f9ecd3472 100644
--- a/modules/digital-twins/digital-twins-instance/main.json
+++ b/modules/digital-twins/digital-twins-instance/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "16548186733986998903"
+ "version": "0.22.6.54827",
+ "templateHash": "4594245496875399302"
},
"name": "Digital Twins Instances",
"description": "This module deploys an Azure Digital Twins Instance.",
@@ -298,8 +298,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "14898430327900380970"
+ "version": "0.22.6.54827",
+ "templateHash": "1200386987193874100"
},
"name": "Digital Twins Instance EventHub Endpoint",
"description": "This module deploys a Digital Twins Instance EventHub Endpoint.",
@@ -355,7 +355,7 @@
"type": "securestring",
"defaultValue": "",
"metadata": {
- "description": "Optional. SecondaryConnectionString of the endpoint for key-based authentication. Will be obfuscated during read."
+ "description": "Optional. SecondaryConnectionString of the endpoint for key-based authentication. Will be obfuscated during read. Only used if the `authenticationType` is \"KeyBased\"."
}
},
"entityPath": {
@@ -369,7 +369,7 @@
"type": "string",
"defaultValue": "",
"metadata": {
- "description": "Optional. The URL of the EventHub namespace for identity-based authentication. It must include the protocol 'sb://'."
+ "description": "Optional. The URL of the EventHub namespace for identity-based authentication. It must include the protocol 'sb://' (i.e. sb://xyz.servicebus.windows.net)."
}
},
"enableDefaultTelemetry": {
@@ -488,8 +488,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "5050137596110044755"
+ "version": "0.22.6.54827",
+ "templateHash": "15429197908359098698"
},
"name": "Digital Twins Instance Event Grid Endpoints",
"description": "This module deploys a Digital Twins Instance Event Grid Endpoint.",
@@ -636,8 +636,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "9533801539124134426"
+ "version": "0.22.6.54827",
+ "templateHash": "2168121049050485718"
},
"name": "Digital Twins Instance ServiceBus Endpoint",
"description": "This module deploys a Digital Twins Instance ServiceBus Endpoint.",
@@ -686,7 +686,7 @@
"type": "string",
"defaultValue": "",
"metadata": {
- "description": "Optional. The URL of the ServiceBus namespace for identity-based authentication. It must include the protocol 'sb://'."
+ "description": "Optional. The URL of the ServiceBus namespace for identity-based authentication. It must include the protocol 'sb://' (e.g. sb://xyz.servicebus.windows.net)."
}
},
"entityPath": {
@@ -707,7 +707,7 @@
"type": "securestring",
"defaultValue": "",
"metadata": {
- "description": "Optional. SecondaryConnectionString of the endpoint for key-based authentication. Will be obfuscated during read."
+ "description": "Optional. SecondaryConnectionString of the endpoint for key-based authentication. Will be obfuscated during read. Only used if the `authenticationType` is \"KeyBased\"."
}
},
"enableDefaultTelemetry": {
@@ -840,8 +840,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.",
@@ -1040,8 +1040,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.",
@@ -1178,8 +1178,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "13032708393704093995"
+ "version": "0.22.6.54827",
+ "templateHash": "14351187799927334028"
}
},
"parameters": {
@@ -1392,8 +1392,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "2921285895718977549"
+ "version": "0.22.6.54827",
+ "templateHash": "4249531612554442902"
}
},
"parameters": {
From cdad0afb714197f5b8b220f57353d37a373e58b5 Mon Sep 17 00:00:00 2001
From: Ahmad Abdalla <28486158+ahmadabdalla@users.noreply.github.com>
Date: Fri, 13 Oct 2023 09:55:09 +1100
Subject: [PATCH 03/15] Updated event grid
---
modules/event-grid/system-topic/README.md | 73 -----------------------
modules/event-grid/topic/README.md | 73 -----------------------
2 files changed, 146 deletions(-)
diff --git a/modules/event-grid/system-topic/README.md b/modules/event-grid/system-topic/README.md
index a6aa00839d..4d00048638 100644
--- a/modules/event-grid/system-topic/README.md
+++ b/modules/event-grid/system-topic/README.md
@@ -51,79 +51,6 @@ This module deploys an Event Grid System Topic.
| `userAssignedIdentities` | object | `{object}` | | The ID(s) to assign to the resource. |
-### Parameter Usage: `eventSubscriptions`
-
-You can specify multiple event subscriptions using the following format:
-
-Parameter JSON format
-
-```json
-"eventSubscriptions": {
- "value": [
- {
- "destination": {
- "endpointType": "StorageQueue",
- "properties": {
- "queueMessageTimeToLiveInSeconds": 86400,
- "queueName": "Bicep format
-
-```bicep
-eventSubscriptions: [
- {
- destination: {
- endpointType: 'StorageQueue'
- properties: {
- queueMessageTimeToLiveInSeconds: 86400
- queueName: '
-
### Parameter Usage: `roleAssignments`
Create a role assignment for the given resource. If you want to assign a service principal / managed identity that is created in the same deployment, make sure to also specify the `'principalType'` parameter and set it to `'ServicePrincipal'`. This will ensure the role assignment waits for the principal's propagation in Azure.
diff --git a/modules/event-grid/topic/README.md b/modules/event-grid/topic/README.md
index 4710dcd36a..8e5edbc4b1 100644
--- a/modules/event-grid/topic/README.md
+++ b/modules/event-grid/topic/README.md
@@ -52,79 +52,6 @@ This module deploys an Event Grid Topic.
| `tags` | object | `{object}` | | Tags of the resource. |
-### Parameter Usage: `eventSubscriptions`
-
-You can specify multiple event subscriptions using the following format:
-
-Parameter JSON format
-
-```json
-"eventSubscriptions": {
- "value": [
- {
- "destination": {
- "endpointType": "StorageQueue",
- "properties": {
- "queueMessageTimeToLiveInSeconds": 86400,
- "queueName": "Bicep format
-
-```bicep
-eventSubscriptions: [
- {
- destination: {
- endpointType: 'StorageQueue'
- properties: {
- queueMessageTimeToLiveInSeconds: 86400
- queueName: '
-
### Parameter Usage: `privateEndpoints`
To use Private Endpoint the following dependencies must be deployed:
From ce0fda8a04628d62b665db0c77bcfad07123d3ec Mon Sep 17 00:00:00 2001
From: Ahmad Abdalla <28486158+ahmadabdalla@users.noreply.github.com>
Date: Fri, 13 Oct 2023 10:19:32 +1100
Subject: [PATCH 04/15] Updated event hubs
---
modules/event-hub/namespace/main.json | 52 +++++++++----------
.../namespace/network-rule-set/README.md | 46 +---------------
.../namespace/network-rule-set/main.bicep | 4 +-
.../namespace/network-rule-set/main.json | 8 +--
4 files changed, 34 insertions(+), 76 deletions(-)
diff --git a/modules/event-hub/namespace/main.json b/modules/event-hub/namespace/main.json
index 7e9e3029bd..10bb99aa07 100644
--- a/modules/event-hub/namespace/main.json
+++ b/modules/event-hub/namespace/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "894531966017959267"
+ "version": "0.22.6.54827",
+ "templateHash": "16009659029865974325"
},
"name": "Event Hub Namespaces",
"description": "This module deploys an Event Hub Namespace.",
@@ -432,8 +432,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "16751252701811556931"
+ "version": "0.22.6.54827",
+ "templateHash": "3063860457313937367"
},
"name": "Event Hub Namespace Authorization Rule",
"description": "This module deploys an Event Hub Namespace Authorization Rule.",
@@ -553,8 +553,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "17596363769961747539"
+ "version": "0.22.6.54827",
+ "templateHash": "7624585689136088815"
},
"name": "Event Hub Namespace Disaster Recovery Configs",
"description": "This module deploys an Event Hub Namespace Disaster Recovery Config.",
@@ -690,8 +690,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "16089237218391136247"
+ "version": "0.22.6.54827",
+ "templateHash": "11568505658717744379"
},
"name": "Event Hub Namespace Event Hubs",
"description": "This module deploys an Event Hub Namespace Event Hub.",
@@ -999,8 +999,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "4574999956856176990"
+ "version": "0.22.6.54827",
+ "templateHash": "3522913919009222120"
},
"name": "Event Hub Namespace Event Hub Consumer Groups",
"description": "This module deploys an Event Hub Namespace Event Hub Consumer Group.",
@@ -1127,8 +1127,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "6269095332062865528"
+ "version": "0.22.6.54827",
+ "templateHash": "12245634232079362340"
},
"name": "Event Hub Namespace Event Hub Authorization Rules",
"description": "This module deploys an Event Hub Namespace Event Hub Authorization Rule.",
@@ -1260,8 +1260,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "13315777836788317981"
+ "version": "0.22.6.54827",
+ "templateHash": "5794309156960386834"
}
},
"parameters": {
@@ -1445,8 +1445,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "7109134385195243655"
+ "version": "0.22.6.54827",
+ "templateHash": "17411238681152908216"
},
"name": "Event Hub Namespace Network Rule Sets",
"description": "This module deploys an Event Hub Namespace Network Rule Set.",
@@ -1492,14 +1492,14 @@
"type": "array",
"defaultValue": [],
"metadata": {
- "description": "Optional. List virtual network rules. It will not be set if publicNetworkAccess is \"Disabled\". Otherwise, when used, defaultAction will be set to \"Deny\"."
+ "description": "Optional. Contains an array of objects of subnet resource IDs that this Event Hub Namespace is exposed to via Service Endpoints. You can enable the `ignoreMissingVnetServiceEndpoint` if you wish to add this virtual network to Event Hub Namespace but do not have an existing service endpoint. It will not be set if publicNetworkAccess is \"Disabled\". Otherwise, when used, defaultAction will be set to \"Deny\"."
}
},
"ipRules": {
"type": "array",
"defaultValue": [],
"metadata": {
- "description": "Optional. List of IpRules. It will not be set if publicNetworkAccess is \"Disabled\". Otherwise, when used, defaultAction will be set to \"Deny\"."
+ "description": "Optional. Contains an array of objects for the public IP ranges you want to allow via the Event Hub Namespace firewall. Supports IPv4 address or CIDR. It will not be set if publicNetworkAccess is \"Disabled\". Otherwise, when used, defaultAction will be set to \"Deny\"."
}
},
"enableDefaultTelemetry": {
@@ -1625,8 +1625,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.",
@@ -1825,8 +1825,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.",
@@ -1963,8 +1963,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "13032708393704093995"
+ "version": "0.22.6.54827",
+ "templateHash": "14351187799927334028"
}
},
"parameters": {
@@ -2177,8 +2177,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "1887246320785357809"
+ "version": "0.22.6.54827",
+ "templateHash": "3195673782424292860"
}
},
"parameters": {
diff --git a/modules/event-hub/namespace/network-rule-set/README.md b/modules/event-hub/namespace/network-rule-set/README.md
index 4be4872512..4606318994 100644
--- a/modules/event-hub/namespace/network-rule-set/README.md
+++ b/modules/event-hub/namespace/network-rule-set/README.md
@@ -29,54 +29,12 @@ This module deploys an Event Hub Namespace Network Rule Set.
| :-- | :-- | :-- | :-- | :-- |
| `defaultAction` | string | `'Allow'` | `[Allow, Deny]` | Default Action for Network Rule Set. Default is "Allow". It will not be set if publicNetworkAccess is "Disabled". Otherwise, it will be set to "Deny" if ipRules or virtualNetworkRules are being used. |
| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via a Globally Unique Identifier (GUID). |
-| `ipRules` | array | `[]` | | List of IpRules. It will not be set if publicNetworkAccess is "Disabled". Otherwise, when used, defaultAction will be set to "Deny". |
+| `ipRules` | array | `[]` | | Contains an array of objects for the public IP ranges you want to allow via the Event Hub Namespace firewall. Supports IPv4 address or CIDR. It will not be set if publicNetworkAccess is "Disabled". Otherwise, when used, defaultAction will be set to "Deny". |
| `publicNetworkAccess` | string | `'Enabled'` | `[Disabled, Enabled]` | This determines if traffic is allowed over public network. Default is "Enabled". If set to "Disabled", traffic to this namespace will be restricted over Private Endpoints only and network rules will not be applied. |
| `trustedServiceAccessEnabled` | bool | `True` | | Value that indicates whether Trusted Service Access is enabled or not. Default is "true". It will not be set if publicNetworkAccess is "Disabled". |
-| `virtualNetworkRules` | array | `[]` | | List virtual network rules. It will not be set if publicNetworkAccess is "Disabled". Otherwise, when used, defaultAction will be set to "Deny". |
+| `virtualNetworkRules` | array | `[]` | | Contains an array of objects of subnet resource IDs that this Event Hub Namespace is exposed to via Service Endpoints. You can enable the `ignoreMissingVnetServiceEndpoint` if you wish to add this virtual network to Event Hub Namespace but do not have an existing service endpoint. It will not be set if publicNetworkAccess is "Disabled". Otherwise, when used, defaultAction will be set to "Deny". |
-### Parameter Usage: `
-### Parameter Usage: `dicomservices`
-
-Create a DICOM service with the workspace.
-
-
-
-### Parameter Usage: `iotconnectors`
-
-Create an IOT Connector (MedTech) service with the workspace.
-
-
-
### Parameter Usage: `roleAssignments`
Create a role assignment for the given resource. If you want to assign a service principal / managed identity that is created in the same deployment, make sure to also specify the `'principalType'` parameter and set it to `'ServicePrincipal'`. This will ensure the role assignment waits for the principal's propagation in Azure.
@@ -678,3 +529,87 @@ module workspace './healthcare-apis/workspace/main.bicep' = {
+
+
+## Notes
+
+### Parameter Usage: `iotconnectors`
+
+Create an IOT Connector (MedTech) service with the workspace.
+
+
From 886451b9e33d0ae95b406994331f53ec01865129 Mon Sep 17 00:00:00 2001
From: Ahmad Abdalla <28486158+ahmadabdalla@users.noreply.github.com>
Date: Fri, 13 Oct 2023 10:35:05 +1100
Subject: [PATCH 06/15] Updated healthcare APIs
---
.../workspace/fhirservice/README.md | 83 ++++----
.../workspace/iotconnector/README.md | 181 +++++++++---------
.../iotconnector/fhirdestination/README.md | 31 +--
3 files changed, 152 insertions(+), 143 deletions(-)
diff --git a/modules/healthcare-apis/workspace/fhirservice/README.md b/modules/healthcare-apis/workspace/fhirservice/README.md
index 894e8c400c..511faf3271 100644
--- a/modules/healthcare-apis/workspace/fhirservice/README.md
+++ b/modules/healthcare-apis/workspace/fhirservice/README.md
@@ -8,6 +8,7 @@ This module deploys a Healthcare API Workspace FHIR Service.
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
+- [Notes](#Notes)
## Resource Types
@@ -71,46 +72,6 @@ This module deploys a Healthcare API Workspace FHIR Service.
| `userAssignedIdentities` | object | `{object}` | | The ID(s) to assign to the resource. |
-### Parameter Usage: `acrOciArtifacts`
-
-You can specify multiple Azure Container OCI artifacts using the following format:
-
-
-
### Parameter Usage: `userAssignedIdentities`
You can specify multiple user assigned identities to a resource by providing additional resource IDs using the following format:
@@ -291,3 +252,45 @@ userAssignedIdentities: {
## Cross-referenced modules
_None_
+
+## Notes
+
+### Parameter Usage: `acrOciArtifacts`
+
+You can specify multiple Azure Container OCI artifacts using the following format:
+
+
diff --git a/modules/healthcare-apis/workspace/iotconnector/README.md b/modules/healthcare-apis/workspace/iotconnector/README.md
index 81f646817d..2537a702dc 100644
--- a/modules/healthcare-apis/workspace/iotconnector/README.md
+++ b/modules/healthcare-apis/workspace/iotconnector/README.md
@@ -8,6 +8,7 @@ This module deploys a Healthcare API Workspace IoT Connector.
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
+- [Notes](#Notes)
## Resource Types
@@ -56,6 +57,97 @@ This module deploys a Healthcare API Workspace IoT Connector.
| `userAssignedIdentities` | object | `{object}` | | The ID(s) to assign to the resource. |
+### Parameter Usage: `tags`
+
+Tag names and tag values can be provided as needed. A tag can be left without a value.
+
+
+
+### Parameter Usage: `userAssignedIdentities`
+
+You can specify multiple user assigned identities to a resource by providing additional resource IDs using the following format:
+
+
+
+## Outputs
+
+| Output Name | Type | Description |
+| :-- | :-- | :-- |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The name of the medtech service. |
+| `resourceGroupName` | string | The resource group where the namespace is deployed. |
+| `resourceId` | string | The resource ID of the medtech service. |
+| `systemAssignedPrincipalId` | string | The principal ID of the system assigned identity. |
+| `workspaceName` | string | The name of the medtech workspace. |
+
+## Cross-referenced modules
+
+_None_
+
+## Notes
+
### Parameter Usage: `deviceMapping`
You can specify a collection of device mapping using the following format:
@@ -192,92 +284,3 @@ destinationMapping: {
-
-### Parameter Usage: `tags`
-
-Tag names and tag values can be provided as needed. A tag can be left without a value.
-
-
-
-### Parameter Usage: `userAssignedIdentities`
-
-You can specify multiple user assigned identities to a resource by providing additional resource IDs using the following format:
-
-
-
-## Outputs
-
-| Output Name | Type | Description |
-| :-- | :-- | :-- |
-| `location` | string | The location the resource was deployed into. |
-| `name` | string | The name of the medtech service. |
-| `resourceGroupName` | string | The resource group where the namespace is deployed. |
-| `resourceId` | string | The resource ID of the medtech service. |
-| `systemAssignedPrincipalId` | string | The principal ID of the system assigned identity. |
-| `workspaceName` | string | The name of the medtech workspace. |
-
-## Cross-referenced modules
-
-_None_
diff --git a/modules/healthcare-apis/workspace/iotconnector/fhirdestination/README.md b/modules/healthcare-apis/workspace/iotconnector/fhirdestination/README.md
index 7064bfd1b7..9a81a65c63 100644
--- a/modules/healthcare-apis/workspace/iotconnector/fhirdestination/README.md
+++ b/modules/healthcare-apis/workspace/iotconnector/fhirdestination/README.md
@@ -8,6 +8,7 @@ This module deploys a Healthcare API Workspace IoT Connector FHIR Destination.
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
+- [Notes](#Notes)
## Resource Types
@@ -41,6 +42,22 @@ This module deploys a Healthcare API Workspace IoT Connector FHIR Destination.
| `resourceIdentityResolutionType` | string | `'Lookup'` | `[Create, Lookup]` | Determines how resource identity is resolved on the destination. |
+## Outputs
+
+| Output Name | Type | Description |
+| :-- | :-- | :-- |
+| `iotConnectorName` | string | The name of the medtech service. |
+| `location` | string | The location the resource was deployed into. |
+| `name` | string | The name of the FHIR destination. |
+| `resourceGroupName` | string | The resource group where the namespace is deployed. |
+| `resourceId` | string | The resource ID of the FHIR destination. |
+
+## Cross-referenced modules
+
+_None_
+
+## Notes
+
### Parameter Usage: `destinationMapping`
You can specify a collection of destination mapping using the following format:
@@ -106,17 +123,3 @@ destinationMapping: {
```
-
-## Outputs
-
-| Output Name | Type | Description |
-| :-- | :-- | :-- |
-| `iotConnectorName` | string | The name of the medtech service. |
-| `location` | string | The location the resource was deployed into. |
-| `name` | string | The name of the FHIR destination. |
-| `resourceGroupName` | string | The resource group where the namespace is deployed. |
-| `resourceId` | string | The resource ID of the FHIR destination. |
-
-## Cross-referenced modules
-
-_None_
From 550a27f61110cfa4adc045983364a2a79424db2a Mon Sep 17 00:00:00 2001
From: Ahmad Abdalla <28486158+ahmadabdalla@users.noreply.github.com>
Date: Fri, 13 Oct 2023 10:50:19 +1100
Subject: [PATCH 07/15] updated action groups
---
.../action-group/.test/common/main.test.bicep | 14 +--
modules/insights/action-group/README.md | 94 ++++---------------
modules/insights/action-group/main.json | 8 +-
3 files changed, 28 insertions(+), 88 deletions(-)
diff --git a/modules/insights/action-group/.test/common/main.test.bicep b/modules/insights/action-group/.test/common/main.test.bicep
index e9130942bf..cbc7e3e4f2 100644
--- a/modules/insights/action-group/.test/common/main.test.bicep
+++ b/modules/insights/action-group/.test/common/main.test.bicep
@@ -62,6 +62,13 @@ module testDeployment '../../main.bicep' = {
useCommonAlertSchema: true
}
]
+ smsReceivers: [
+ {
+ countryCode: '1'
+ name: 'TestUser_-SMSAction-'
+ phoneNumber: '2345678901'
+ }
+ ]
roleAssignments: [
{
principalIds: [
@@ -70,13 +77,6 @@ module testDeployment '../../main.bicep' = {
roleDefinitionIdOrName: 'Reader'
}
]
- smsReceivers: [
- {
- countryCode: '1'
- name: 'TestUser_-SMSAction-'
- phoneNumber: '2345678901'
- }
- ]
tags: {
'hidden-title': 'This is visible in the resource name'
Environment: 'Non-Prod'
diff --git a/modules/insights/action-group/README.md b/modules/insights/action-group/README.md
index 0d64d6ac5e..1d1dadea2f 100644
--- a/modules/insights/action-group/README.md
+++ b/modules/insights/action-group/README.md
@@ -9,6 +9,7 @@ This module deploys an Action Group.
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
- [Deployment examples](#Deployment-examples)
+- [Notes](#Notes)
## Resource Types
@@ -47,71 +48,6 @@ This module deploys an Action Group.
| `webhookReceivers` | array | `[]` | The list of webhook receivers that are part of this action group. |
-### Parameter Usage: receivers
-
-See [Documentation](https://learn.microsoft.com/en-us/azure/templates/Microsoft.Insights/2019-06-01/actiongroups) for description of parameters usage and syntax.
-
-
-
### Parameter Usage: `roleAssignments`
Create a role assignment for the given resource. If you want to assign a service principal / managed identity that is created in the same deployment, make sure to also specify the `'principalType'` parameter and set it to `'ServicePrincipal'`. This will ensure the role assignment waits for the principal's propagation in Azure.
@@ -212,18 +148,6 @@ tags: {
-### Additional notes on parameters
-
-- Receiver name must be unique across the ActionGroup
-- Email, SMS, Azure App push and Voice can be grouped in the same Action. To do so, the `name` field of the receivers must be in the `RecName_-ActionType-` format where:
- - _RecName_ is the name you want to give to the Action
- - _ActionType_ is one of the action types that can be grouped together. Possible values are:
- - EmailAction
- - SMSAction
- - AzureAppAction
- - VoiceAction
-- To understand the impact of the `useCommonAlertSchema` field, see [here](https://learn.microsoft.com/en-us/azure/azure-monitor/platform/alerts-common-schema)
-
## Outputs
| Output Name | Type | Description |
@@ -413,3 +337,19 @@ module actionGroup './insights/action-group/main.bicep' = {
+
+
+## Notes
+
+### Module Usage Considerations
+
+- Receiver name must be unique across the ActionGroup.
+- Email, SMS, Azure App push and Voice can be grouped in the same Action. To do so, the `name` field of the receivers must be in the `RecName_-ActionType-` format where:
+ - _RecName_ is the name you want to give to the Action
+ - _ActionType_ is one of the action types that can be grouped together. Possible values are:
+ - EmailAction
+ - SMSAction
+ - AzureAppAction
+ - VoiceAction
+
+- To understand the impact of the `useCommonAlertSchema` field, see [documentation](https://learn.microsoft.com/en-us/azure/azure-monitor/platform/alerts-common-schema).
diff --git a/modules/insights/action-group/main.json b/modules/insights/action-group/main.json
index 172be30385..2a88b67d97 100644
--- a/modules/insights/action-group/main.json
+++ b/modules/insights/action-group/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "13796806533868847082"
+ "version": "0.22.6.54827",
+ "templateHash": "11117499491590178682"
},
"name": "Action Groups",
"description": "This module deploys an Action Group.",
@@ -200,8 +200,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "2628891413283540922"
+ "version": "0.22.6.54827",
+ "templateHash": "3593800460322974765"
}
},
"parameters": {
From 24fb81ac81f44703e4bea616d52de65ff3e65ef5 Mon Sep 17 00:00:00 2001
From: Ahmad Abdalla <28486158+ahmadabdalla@users.noreply.github.com>
Date: Fri, 13 Oct 2023 11:44:14 +1100
Subject: [PATCH 08/15] activity log alert
---
.../.test/common/main.test.bicep | 31 +-
modules/insights/activity-log-alert/README.md | 308 ++++--------------
.../insights/activity-log-alert/main.bicep | 2 +-
modules/insights/activity-log-alert/main.json | 10 +-
4 files changed, 97 insertions(+), 254 deletions(-)
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 f61430c448..30b5ed9550 100644
--- a/modules/insights/activity-log-alert/.test/common/main.test.bicep
+++ b/modules/insights/activity-log-alert/.test/common/main.test.bicep
@@ -50,7 +50,6 @@ module testDeployment '../../main.bicep' = {
params: {
enableDefaultTelemetry: enableDefaultTelemetry
name: '${namePrefix}${serviceShort}001'
-
conditions: [
{
equals: 'Administrative'
@@ -64,6 +63,36 @@ module testDeployment '../../main.bicep' = {
equals: 'Microsoft.Compute/virtualMachines/performMaintenance/action'
field: 'operationName'
}
+ {
+ field: 'category'
+ equals: 'ServiceHealth'
+ }
+ {
+ anyOf: [
+ {
+ field: 'properties.incidentType'
+ equals: 'Incident'
+ }
+ {
+ field: 'properties.incidentType'
+ equals: 'Maintenance'
+ }
+ ]
+ }
+ {
+ field: 'properties.impactedServices[*].ServiceName'
+ containsAny: [
+ 'Action Groups'
+ 'Activity Logs & Alerts'
+ ]
+ }
+ {
+ field: 'properties.impactedServices[*].ImpactedRegions[*].RegionName'
+ containsAny: [
+ 'West Europe'
+ 'Global'
+ ]
+ }
]
actions: [
{
diff --git a/modules/insights/activity-log-alert/README.md b/modules/insights/activity-log-alert/README.md
index 46d8a409c5..a70ea9259e 100644
--- a/modules/insights/activity-log-alert/README.md
+++ b/modules/insights/activity-log-alert/README.md
@@ -23,7 +23,7 @@ This module deploys an Activity Log Alert.
| Parameter Name | Type | Description |
| :-- | :-- | :-- |
-| `conditions` | array | The condition that will cause this alert to activate. Array of objects. |
+| `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`. |
| `name` | string | The name of the alert. |
**Optional parameters**
@@ -40,252 +40,6 @@ This module deploys an Activity Log Alert.
| `tags` | object | `{object}` | Tags of the resource. |
-### Parameter Usage: actions
-
-
-
-`webhookProperties` is optional.
-
-If you do only want to provide actionGroupIds, a shorthand use of the parameter is available.
-
-
-
-### Parameter Usage: conditions
-
-**Conditions can also be combined with logical operators `allOf` and `anyOf`**
-
-
-
-
-**Sample 2**
-
-
-
### Parameter Usage: `roleAssignments`
Create a role assignment for the given resource. If you want to assign a service principal / managed identity that is created in the same deployment, make sure to also specify the `'principalType'` parameter and set it to `'ServicePrincipal'`. This will ensure the role assignment waits for the principal's propagation in Azure.
@@ -430,6 +184,36 @@ module activityLogAlert './insights/activity-log-alert/main.bicep' = {
equals: 'Microsoft.Compute/virtualMachines/performMaintenance/action'
field: 'operationName'
}
+ {
+ equals: 'ServiceHealth'
+ field: 'category'
+ }
+ {
+ anyOf: [
+ {
+ equals: 'Incident'
+ field: 'properties.incidentType'
+ }
+ {
+ equals: 'Maintenance'
+ field: 'properties.incidentType'
+ }
+ ]
+ }
+ {
+ containsAny: [
+ 'Action Groups'
+ 'Activity Logs & Alerts'
+ ]
+ field: 'properties.impactedServices[*].ServiceName'
+ }
+ {
+ containsAny: [
+ 'Global'
+ 'West Europe'
+ ]
+ field: 'properties.impactedServices[*].ImpactedRegions[*].RegionName'
+ }
]
name: 'ialacom001'
// Non-required parameters
@@ -486,6 +270,36 @@ module activityLogAlert './insights/activity-log-alert/main.bicep' = {
{
"equals": "Microsoft.Compute/virtualMachines/performMaintenance/action",
"field": "operationName"
+ },
+ {
+ "equals": "ServiceHealth",
+ "field": "category"
+ },
+ {
+ "anyOf": [
+ {
+ "equals": "Incident",
+ "field": "properties.incidentType"
+ },
+ {
+ "equals": "Maintenance",
+ "field": "properties.incidentType"
+ }
+ ]
+ },
+ {
+ "containsAny": [
+ "Action Groups",
+ "Activity Logs & Alerts"
+ ],
+ "field": "properties.impactedServices[*].ServiceName"
+ },
+ {
+ "containsAny": [
+ "Global",
+ "West Europe"
+ ],
+ "field": "properties.impactedServices[*].ImpactedRegions[*].RegionName"
}
]
},
diff --git a/modules/insights/activity-log-alert/main.bicep b/modules/insights/activity-log-alert/main.bicep
index c9aa792869..6db61f48a8 100644
--- a/modules/insights/activity-log-alert/main.bicep
+++ b/modules/insights/activity-log-alert/main.bicep
@@ -22,7 +22,7 @@ param scopes array = [
@description('Optional. The list of actions to take when alert triggers.')
param actions array = []
-@description('Required. The condition that will cause this alert to activate. Array of objects.')
+@description('Required. 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`.')
param conditions array
@description('Optional. 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\'.')
diff --git a/modules/insights/activity-log-alert/main.json b/modules/insights/activity-log-alert/main.json
index 3ad64ea733..20f72cbdd4 100644
--- a/modules/insights/activity-log-alert/main.json
+++ b/modules/insights/activity-log-alert/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "16456832175233219235"
+ "version": "0.22.6.54827",
+ "templateHash": "6141865158346498118"
},
"name": "Activity Log Alerts",
"description": "This module deploys an Activity Log Alert.",
@@ -58,7 +58,7 @@
"conditions": {
"type": "array",
"metadata": {
- "description": "Required. The condition that will cause this alert to activate. Array of objects."
+ "description": "Required. 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`."
}
},
"roleAssignments": {
@@ -162,8 +162,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "441111163887526316"
+ "version": "0.22.6.54827",
+ "templateHash": "9472664752100118667"
}
},
"parameters": {
From 7118bc96f1e4f8922ced79f993cbb3b90afeeff4 Mon Sep 17 00:00:00 2001
From: Ahmad Abdalla <28486158+ahmadabdalla@users.noreply.github.com>
Date: Fri, 13 Oct 2023 12:00:47 +1100
Subject: [PATCH 09/15] insights activity log attempt v2
---
.../.test/common/main.test.bicep | 12 ---------
modules/insights/activity-log-alert/README.md | 26 +------------------
.../insights/activity-log-alert/main.bicep | 2 +-
modules/insights/activity-log-alert/main.json | 4 +--
4 files changed, 4 insertions(+), 40 deletions(-)
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 30b5ed9550..f95e1529af 100644
--- a/modules/insights/activity-log-alert/.test/common/main.test.bicep
+++ b/modules/insights/activity-log-alert/.test/common/main.test.bicep
@@ -51,18 +51,6 @@ module testDeployment '../../main.bicep' = {
enableDefaultTelemetry: enableDefaultTelemetry
name: '${namePrefix}${serviceShort}001'
conditions: [
- {
- equals: 'Administrative'
- field: 'category'
- }
- {
- equals: 'microsoft.compute/virtualmachines'
- field: 'resourceType'
- }
- {
- equals: 'Microsoft.Compute/virtualMachines/performMaintenance/action'
- field: 'operationName'
- }
{
field: 'category'
equals: 'ServiceHealth'
diff --git a/modules/insights/activity-log-alert/README.md b/modules/insights/activity-log-alert/README.md
index a70ea9259e..caa33005cc 100644
--- a/modules/insights/activity-log-alert/README.md
+++ b/modules/insights/activity-log-alert/README.md
@@ -23,7 +23,7 @@ This module deploys an Activity Log Alert.
| 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`. |
+| `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**
@@ -172,18 +172,6 @@ module activityLogAlert './insights/activity-log-alert/main.bicep' = {
params: {
// Required parameters
conditions: [
- {
- equals: 'Administrative'
- field: 'category'
- }
- {
- equals: 'microsoft.compute/virtualmachines'
- field: 'resourceType'
- }
- {
- equals: 'Microsoft.Compute/virtualMachines/performMaintenance/action'
- field: 'operationName'
- }
{
equals: 'ServiceHealth'
field: 'category'
@@ -259,18 +247,6 @@ module activityLogAlert './insights/activity-log-alert/main.bicep' = {
// Required parameters
"conditions": {
"value": [
- {
- "equals": "Administrative",
- "field": "category"
- },
- {
- "equals": "microsoft.compute/virtualmachines",
- "field": "resourceType"
- },
- {
- "equals": "Microsoft.Compute/virtualMachines/performMaintenance/action",
- "field": "operationName"
- },
{
"equals": "ServiceHealth",
"field": "category"
diff --git a/modules/insights/activity-log-alert/main.bicep b/modules/insights/activity-log-alert/main.bicep
index 6db61f48a8..b31bb74665 100644
--- a/modules/insights/activity-log-alert/main.bicep
+++ b/modules/insights/activity-log-alert/main.bicep
@@ -22,7 +22,7 @@ param scopes array = [
@description('Optional. The list of actions to take when alert triggers.')
param actions array = []
-@description('Required. 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`.')
+@description('Required. 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).')
param conditions array
@description('Optional. 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\'.')
diff --git a/modules/insights/activity-log-alert/main.json b/modules/insights/activity-log-alert/main.json
index 20f72cbdd4..b3d35d5ff4 100644
--- a/modules/insights/activity-log-alert/main.json
+++ b/modules/insights/activity-log-alert/main.json
@@ -5,7 +5,7 @@
"_generator": {
"name": "bicep",
"version": "0.22.6.54827",
- "templateHash": "6141865158346498118"
+ "templateHash": "7845044983132371204"
},
"name": "Activity Log Alerts",
"description": "This module deploys an Activity Log Alert.",
@@ -58,7 +58,7 @@
"conditions": {
"type": "array",
"metadata": {
- "description": "Required. 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`."
+ "description": "Required. 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)."
}
},
"roleAssignments": {
From 4fcf32431f9325dd3218024fd8c12c77757b2dd1 Mon Sep 17 00:00:00 2001
From: Ahmad Abdalla <28486158+ahmadabdalla@users.noreply.github.com>
Date: Fri, 13 Oct 2023 12:07:40 +1100
Subject: [PATCH 10/15] Updated metric Alert
---
modules/insights/metric-alert/README.md | 218 +----------------------
modules/insights/metric-alert/main.bicep | 2 +-
modules/insights/metric-alert/main.json | 10 +-
3 files changed, 7 insertions(+), 223 deletions(-)
diff --git a/modules/insights/metric-alert/README.md b/modules/insights/metric-alert/README.md
index 505b63e93f..47d2e0958f 100644
--- a/modules/insights/metric-alert/README.md
+++ b/modules/insights/metric-alert/README.md
@@ -23,7 +23,7 @@ This module deploys a Metric Alert.
| Parameter Name | Type | Description |
| :-- | :-- | :-- |
-| `criterias` | array | Criterias to trigger the alert. Array of 'Microsoft.Azure.Monitor.SingleResourceMultipleMetricCriteria' or 'Microsoft.Azure.Monitor.MultipleResourceMultipleMetricCriteria' objects. |
+| `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**
@@ -52,216 +52,6 @@ This module deploys a Metric Alert.
| `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. |
-### Parameter Usage: actions
-
-
-
-`webhookProperties` is optional.
-
-If you do only want to provide actionGroupIds, a shorthand use of the parameter is available.
-
-
-
-**MultipleResourceMultipleMetricCriteria**
-
-
-
-**Sample**
-The following sample can be use both for Single and Multiple criteria. The other parameters are optional.
-
-
-
### Parameter Usage: `roleAssignments`
Create a role assignment for the given resource. If you want to assign a service principal / managed identity that is created in the same deployment, make sure to also specify the `'principalType'` parameter and set it to `'ServicePrincipal'`. This will ensure the role assignment waits for the principal's propagation in Azure.
@@ -362,12 +152,6 @@ tags: {
-### Additional notes on parameters
-
-- When using MultipleResourceMultipleMetricCriteria criteria type, some parameters becomes mandatory (see above)
-- MultipleResourceMultipleMetricCriteria is suggested, as additional scopes can be added later
-- It's not possible to convert from SingleResourceMultipleMetricCriteria to MultipleResourceMultipleMetricCriteria. Delete and re-create the alert.
-
## Outputs
| Output Name | Type | Description |
diff --git a/modules/insights/metric-alert/main.bicep b/modules/insights/metric-alert/main.bicep
index 2cf20873d3..978e41e69e 100644
--- a/modules/insights/metric-alert/main.bicep
+++ b/modules/insights/metric-alert/main.bicep
@@ -72,7 +72,7 @@ param actions array = []
])
param alertCriteriaType string = 'Microsoft.Azure.Monitor.MultipleResourceMultipleMetricCriteria'
-@description('Required. Criterias to trigger the alert. Array of \'Microsoft.Azure.Monitor.SingleResourceMultipleMetricCriteria\' or \'Microsoft.Azure.Monitor.MultipleResourceMultipleMetricCriteria\' objects.')
+@description('Required. 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.')
param criterias array
@description('Optional. 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\'.')
diff --git a/modules/insights/metric-alert/main.json b/modules/insights/metric-alert/main.json
index bb45999b4b..dd0d30a3f6 100644
--- a/modules/insights/metric-alert/main.json
+++ b/modules/insights/metric-alert/main.json
@@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "13551710672251370699"
+ "version": "0.22.6.54827",
+ "templateHash": "15731967065620351074"
},
"name": "Metric Alerts",
"description": "This module deploys a Metric Alert.",
@@ -136,7 +136,7 @@
"criterias": {
"type": "array",
"metadata": {
- "description": "Required. Criterias to trigger the alert. Array of 'Microsoft.Azure.Monitor.SingleResourceMultipleMetricCriteria' or 'Microsoft.Azure.Monitor.MultipleResourceMultipleMetricCriteria' objects."
+ "description": "Required. 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."
}
},
"roleAssignments": {
@@ -245,8 +245,8 @@
"metadata": {
"_generator": {
"name": "bicep",
- "version": "0.21.1.54444",
- "templateHash": "8947238026152055709"
+ "version": "0.22.6.54827",
+ "templateHash": "14564060617945907933"
}
},
"parameters": {
From 9be454e62898eee6a75cc509498c51eaac751ca7 Mon Sep 17 00:00:00 2001
From: Ahmad Abdalla <28486158+ahmadabdalla@users.noreply.github.com>
Date: Fri, 13 Oct 2023 12:22:04 +1100
Subject: [PATCH 11/15] document db 1
---
.../document-db/database-account/README.md | 208 ------------------
.../gremlin-database/README.md | 115 +++++-----
.../gremlin-database/graph/README.md | 26 ++-
.../mongodb-database/README.md | 4 -
.../mongodb-database/collection/README.md | 25 ++-
.../sql-database/container/README.md | 28 +--
6 files changed, 100 insertions(+), 306 deletions(-)
diff --git a/modules/document-db/database-account/README.md b/modules/document-db/database-account/README.md
index ee70f0bac0..a625a163da 100644
--- a/modules/document-db/database-account/README.md
+++ b/modules/document-db/database-account/README.md
@@ -72,7 +72,6 @@ This module deploys a DocumentDB Database Account.
| `tags` | object | `{object}` | | Tags of the Database Account resource. |
| `userAssignedIdentities` | object | `{object}` | | The ID(s) to assign to the resource. |
-
### Parameter Usage: `roleAssignments`
Create a role assignment for the given resource. If you want to assign a service principal / managed identity that is created in the same deployment, make sure to also specify the `'principalType'` parameter and set it to `'ServicePrincipal'`. This will ensure the role assignment waits for the principal's propagation in Azure.
@@ -173,213 +172,6 @@ tags: {
-### Parameter Usage: `locations`
-
-
-
-### Parameter Usage: `sqlDatabases`
-
-
-
-### Parameter Usage: `mongodbDatabases`
-
-
-
-Please reference the documentation for [mongodbDatabase](./mongodb-database/README.md)
-
-### Parameter Usage: `gremlinDatabases`
-
-
-
-Please reference the documentation for [gremlinDatabase](./gremlin-database/README.md)
### Parameter Usage: `roleAssignments`
diff --git a/modules/document-db/database-account/gremlin-database/README.md b/modules/document-db/database-account/gremlin-database/README.md
index 4e531443bb..06217c7dac 100644
--- a/modules/document-db/database-account/gremlin-database/README.md
+++ b/modules/document-db/database-account/gremlin-database/README.md
@@ -42,63 +42,6 @@ This module deploys a Gremlin Database within a CosmosDB Account.
| `throughput` | int | `-1` | Request Units per second (for example 10000). Cannot be set together with `maxThroughput`. |
| `userAssignedIdentities` | object | `{object}` | The ID(s) to assign to the resource. |
-
-### Parameter Usage: `graphs`
-
-List of graph databaseAccounts
-
-
+## Outputs
+
+| Output Name | Type | Description |
+| :-- | :-- | :-- |
+| `name` | string | The name of the graph. |
+| `resourceGroupName` | string | The name of the resource group the graph was created in. |
+| `resourceId` | string | The resource ID of the graph. |
+
+## Cross-referenced modules
+
+_None_
+
+## Notes
+
### Parameter Usage: `partitionKeyPaths`, `uniqueKeyPaths`
Different kinds of paths can be provided as array of strings:
@@ -111,15 +125,3 @@ graphs: [
-
-## Outputs
-
-| Output Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | The name of the graph. |
-| `resourceGroupName` | string | The name of the resource group the graph was created in. |
-| `resourceId` | string | The resource ID of the graph. |
-
-## Cross-referenced modules
-
-_None_
diff --git a/modules/document-db/database-account/mongodb-database/README.md b/modules/document-db/database-account/mongodb-database/README.md
index db3dbf1e40..3804d078f4 100644
--- a/modules/document-db/database-account/mongodb-database/README.md
+++ b/modules/document-db/database-account/mongodb-database/README.md
@@ -39,7 +39,6 @@ This module deploys a MongoDB Database within a CosmosDB Account.
| `tags` | object | `{object}` | Tags of the resource. |
| `throughput` | int | `400` | Name of the mongodb database. |
-
### Parameter Usage: `tags`
Tag names and tag values can be provided as needed. A tag can be left without a value.
@@ -81,9 +80,6 @@ tags: {
-### Parameter Usage: `collections`
-
-Please reference the documentation for [collection](./collection/README.md)
## Outputs
diff --git a/modules/document-db/database-account/mongodb-database/collection/README.md b/modules/document-db/database-account/mongodb-database/collection/README.md
index 4092da7d8d..d3668514cb 100644
--- a/modules/document-db/database-account/mongodb-database/collection/README.md
+++ b/modules/document-db/database-account/mongodb-database/collection/README.md
@@ -39,6 +39,19 @@ This module deploys a MongoDB Database Collection.
| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
| `throughput` | int | `400` | Name of the mongodb database. |
+## Outputs
+
+| Output Name | Type | Description |
+| :-- | :-- | :-- |
+| `name` | string | The name of the mongodb database. |
+| `resourceGroupName` | string | The name of the resource group the mongodb database was created in. |
+| `resourceId` | string | The resource ID of the mongodb database. |
+
+## Cross-referenced modules
+
+_None_
+
+## Notes
### Parameter Usage: `indexes`
@@ -169,15 +182,3 @@ shardKey: {
-
-## Outputs
-
-| Output Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | The name of the mongodb database. |
-| `resourceGroupName` | string | The name of the resource group the mongodb database was created in. |
-| `resourceId` | string | The resource ID of the mongodb database. |
-
-## Cross-referenced modules
-
-_None_
diff --git a/modules/document-db/database-account/sql-database/container/README.md b/modules/document-db/database-account/sql-database/container/README.md
index c30d0050f1..9a2af36e6a 100644
--- a/modules/document-db/database-account/sql-database/container/README.md
+++ b/modules/document-db/database-account/sql-database/container/README.md
@@ -46,7 +46,6 @@ This module deploys a SQL Database Container in a CosmosDB Account.
| `throughput` | int | `400` | | Request Units per second. Will be set to null if autoscaleSettingsMaxThroughput is used. |
| `uniqueKeyPolicyKeys` | array | `[]` | | The unique key policy configuration containing a list of unique keys that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service. |
-
### Parameter Usage: `tags`
Tag names and tag values can be provided as needed. A tag can be left without a value.
@@ -88,6 +87,21 @@ tags: {
+
+## Outputs
+
+| Output Name | Type | Description |
+| :-- | :-- | :-- |
+| `name` | string | The name of the container. |
+| `resourceGroupName` | string | The name of the resource group the container was created in. |
+| `resourceId` | string | The resource ID of the container. |
+
+## Cross-referenced modules
+
+_None_
+
+## Notes
+
### Parameter Usage: `indexingPolicy`
Tag names and tag values can be provided as needed. A tag can be left without a value.
@@ -129,15 +143,3 @@ indexingPolicy: {
-
-## Outputs
-
-| Output Name | Type | Description |
-| :-- | :-- | :-- |
-| `name` | string | The name of the container. |
-| `resourceGroupName` | string | The name of the resource group the container was created in. |
-| `resourceId` | string | The resource ID of the container. |
-
-## Cross-referenced modules
-
-_None_
From 2dec434ae398bc70dee6662dd48d5df5bafc856d Mon Sep 17 00:00:00 2001
From: Ahmad Abdalla <28486158+ahmadabdalla@users.noreply.github.com>
Date: Fri, 13 Oct 2023 12:24:16 +1100
Subject: [PATCH 12/15] Updated cosmos db
---
modules/document-db/database-account/README.md | 2 +-
.../document-db/database-account/gremlin-database/README.md | 2 ++
.../database-account/gremlin-database/graph/README.md | 1 +
.../document-db/database-account/mongodb-database/README.md | 2 +-
.../database-account/mongodb-database/collection/README.md | 2 ++
.../database-account/sql-database/container/README.md | 3 ++-
6 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/modules/document-db/database-account/README.md b/modules/document-db/database-account/README.md
index a625a163da..a1b836499f 100644
--- a/modules/document-db/database-account/README.md
+++ b/modules/document-db/database-account/README.md
@@ -72,6 +72,7 @@ This module deploys a DocumentDB Database Account.
| `tags` | object | `{object}` | | Tags of the Database Account resource. |
| `userAssignedIdentities` | object | `{object}` | | The ID(s) to assign to the resource. |
+
### Parameter Usage: `roleAssignments`
Create a role assignment for the given resource. If you want to assign a service principal / managed identity that is created in the same deployment, make sure to also specify the `'principalType'` parameter and set it to `'ServicePrincipal'`. This will ensure the role assignment waits for the principal's propagation in Azure.
@@ -172,7 +173,6 @@ tags: {
-
### Parameter Usage: `roleAssignments`
Create a role assignment for the given resource. If you want to assign a service principal / managed identity that is created in the same deployment, make sure to also specify the `'principalType'` parameter and set it to 'ServicePrincipal'. This will ensure the role assignment waits for the principal's propagation in Azure.
diff --git a/modules/document-db/database-account/gremlin-database/README.md b/modules/document-db/database-account/gremlin-database/README.md
index 06217c7dac..cd4b13532a 100644
--- a/modules/document-db/database-account/gremlin-database/README.md
+++ b/modules/document-db/database-account/gremlin-database/README.md
@@ -8,6 +8,7 @@ This module deploys a Gremlin Database within a CosmosDB Account.
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
+- [Notes](#Notes)
## Resource Types
@@ -42,6 +43,7 @@ This module deploys a Gremlin Database within a CosmosDB Account.
| `throughput` | int | `-1` | Request Units per second (for example 10000). Cannot be set together with `maxThroughput`. |
| `userAssignedIdentities` | object | `{object}` | The ID(s) to assign to the resource. |
+
### Parameter Usage: `tags`
Tag names and tag values can be provided as needed. A tag can be left without a value.
diff --git a/modules/document-db/database-account/gremlin-database/graph/README.md b/modules/document-db/database-account/gremlin-database/graph/README.md
index 0ec0780597..46669ea63c 100644
--- a/modules/document-db/database-account/gremlin-database/graph/README.md
+++ b/modules/document-db/database-account/gremlin-database/graph/README.md
@@ -8,6 +8,7 @@ This module deploys a DocumentDB Database Accounts Gremlin Database Graph.
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
+- [Notes](#Notes)
## Resource Types
diff --git a/modules/document-db/database-account/mongodb-database/README.md b/modules/document-db/database-account/mongodb-database/README.md
index 3804d078f4..21d0be5f7e 100644
--- a/modules/document-db/database-account/mongodb-database/README.md
+++ b/modules/document-db/database-account/mongodb-database/README.md
@@ -39,6 +39,7 @@ This module deploys a MongoDB Database within a CosmosDB Account.
| `tags` | object | `{object}` | Tags of the resource. |
| `throughput` | int | `400` | Name of the mongodb database. |
+
### Parameter Usage: `tags`
Tag names and tag values can be provided as needed. A tag can be left without a value.
@@ -80,7 +81,6 @@ tags: {
-
## Outputs
| Output Name | Type | Description |
diff --git a/modules/document-db/database-account/mongodb-database/collection/README.md b/modules/document-db/database-account/mongodb-database/collection/README.md
index d3668514cb..c29b48e614 100644
--- a/modules/document-db/database-account/mongodb-database/collection/README.md
+++ b/modules/document-db/database-account/mongodb-database/collection/README.md
@@ -8,6 +8,7 @@ This module deploys a MongoDB Database Collection.
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
+- [Notes](#Notes)
## Resource Types
@@ -39,6 +40,7 @@ This module deploys a MongoDB Database Collection.
| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via a Globally Unique Identifier (GUID). |
| `throughput` | int | `400` | Name of the mongodb database. |
+
## Outputs
| Output Name | Type | Description |
diff --git a/modules/document-db/database-account/sql-database/container/README.md b/modules/document-db/database-account/sql-database/container/README.md
index 9a2af36e6a..d1f36ece5d 100644
--- a/modules/document-db/database-account/sql-database/container/README.md
+++ b/modules/document-db/database-account/sql-database/container/README.md
@@ -8,6 +8,7 @@ This module deploys a SQL Database Container in a CosmosDB Account.
- [Parameters](#Parameters)
- [Outputs](#Outputs)
- [Cross-referenced modules](#Cross-referenced-modules)
+- [Notes](#Notes)
## Resource Types
@@ -46,6 +47,7 @@ This module deploys a SQL Database Container in a CosmosDB Account.
| `throughput` | int | `400` | | Request Units per second. Will be set to null if autoscaleSettingsMaxThroughput is used. |
| `uniqueKeyPolicyKeys` | array | `[]` | | The unique key policy configuration containing a list of unique keys that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service. |
+
### Parameter Usage: `tags`
Tag names and tag values can be provided as needed. A tag can be left without a value.
@@ -87,7 +89,6 @@ tags: {
-
## Outputs
| Output Name | Type | Description |
From 8f3a448d6306adc92b896cba550f9c51c1f0280c Mon Sep 17 00:00:00 2001
From: Ahmad Abdalla <28486158+ahmadabdalla@users.noreply.github.com>
Date: Sat, 14 Oct 2023 07:01:22 +1100
Subject: [PATCH 13/15] Update
modules/event-hub/namespace/network-rule-set/main.bicep
Co-authored-by: Alexander Sehr Parameter JSON format
-
-```json
-"dicomServices": {
- "value": [
- {
- "name": "[[namePrefix]]-az-dicom-x-001",
- "workspaceName": "[[namePrefix]]001",
- "corsOrigins": [ "*" ],
- "corsHeaders": [ "*" ],
- "corsMethods": [ "GET" ],
- "corsMaxAge": 600,
- "corsAllowCredentials": false,
- "location": "[[location]]",
- "diagnosticStorageAccountId": "[[storageAccountResourceId]]",
- "diagnosticWorkspaceId": "[[logAnalyticsWorkspaceResourceId]]",
- "diagnosticEventHubAuthorizationRuleId": "[[eventHubAuthorizationRuleId]]",
- "diagnosticEventHubName": "[[eventHubNamespaceEventHubName]]",
- "publicNetworkAccess": "Enabled",
- "enableDefaultTelemetry": false,
- "systemAssignedIdentity": true,
- "userAssignedIdentities": {
- "[[managedIdentityResourceId]]": {}
- }
- }
- ]
-}
-```
-
-Bicep format
-
-```bicep
-dicomServices: [
- {
- name: '[[namePrefix]]-az-dicom-x-001'
- 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'
- enableDefaultTelemetry: enableDefaultTelemetry
- systemAssignedIdentity: true
- userAssignedIdentities: {
- '${resourceGroupResources.outputs.managedIdentityResourceId}': {}
- }
- }
-]
-```
-
-Parameter JSON format
-
-```json
-"iotConnectors": {
- "value": [
- {
- "name": "[[namePrefix]]-az-iomt-x-001",
- "workspaceName": "[[namePrefix]]001",
- "corsOrigins": [ "*" ],
- "corsHeaders": [ "*" ],
- "corsMethods": [ "GET" ],
- "corsMaxAge": 600,
- "corsAllowCredentials": false,
- "location": "[[location]]",
- "diagnosticStorageAccountId": "[[storageAccountResourceId]]",
- "diagnosticWorkspaceId": "[[logAnalyticsWorkspaceResourceId]]",
- "diagnosticEventHubAuthorizationRuleId": "[[eventHubAuthorizationRuleId]]",
- "diagnosticEventHubName": "[[eventHubNamespaceEventHubName]]",
- "publicNetworkAccess": "Enabled",
- "enableDefaultTelemetry": false,
- "systemAssignedIdentity": true,
- "userAssignedIdentities": {
- "[[managedIdentityResourceId]]": {}
- },
- "eventHubName": "[[eventHubName]]",
- "consumerGroup": "[[consumerGroup]]",
- "eventHubNamespaceName": "[[eventHubNamespaceName]]",
- "deviceMapping": "[[deviceMapping]]",
- "destinationMapping": "[[destinationMapping]]",
- "fhirServiceResourceId": "[[fhirServiceResourceId]]",
- }
- ]
-}
-```
-
-Bicep format
-
-```bicep
-iotConnectors: [
- {
- name: '[[namePrefix]]-az-iomt-x-001'
- 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'
- enableDefaultTelemetry: enableDefaultTelemetry
- systemAssignedIdentity: true
- userAssignedIdentities: {
- '${resourceGroupResources.outputs.managedIdentityResourceId}': {}
- }
- eventHubName: '[[eventHubName]]'
- consumerGroup: '[[consumerGroup]]'
- eventHubNamespaceName: '[[eventHubNamespaceName]]'
- deviceMapping: '[[deviceMapping]]'
- destinationMapping: '[[destinationMapping]]'
- fhirServiceResourceId: '[[fhirServiceResourceId]]'
- }
-]
-```
-
-Parameter JSON format
+
+```json
+"iotConnectors": {
+ "value": [
+ {
+ "name": "[[namePrefix]]-az-iomt-x-001",
+ "workspaceName": "[[namePrefix]]001",
+ "corsOrigins": [ "*" ],
+ "corsHeaders": [ "*" ],
+ "corsMethods": [ "GET" ],
+ "corsMaxAge": 600,
+ "corsAllowCredentials": false,
+ "location": "[[location]]",
+ "diagnosticStorageAccountId": "[[storageAccountResourceId]]",
+ "diagnosticWorkspaceId": "[[logAnalyticsWorkspaceResourceId]]",
+ "diagnosticEventHubAuthorizationRuleId": "[[eventHubAuthorizationRuleId]]",
+ "diagnosticEventHubName": "[[eventHubNamespaceEventHubName]]",
+ "publicNetworkAccess": "Enabled",
+ "enableDefaultTelemetry": false,
+ "systemAssignedIdentity": true,
+ "userAssignedIdentities": {
+ "[[managedIdentityResourceId]]": {}
+ },
+ "eventHubName": "[[eventHubName]]",
+ "consumerGroup": "[[consumerGroup]]",
+ "eventHubNamespaceName": "[[eventHubNamespaceName]]",
+ "deviceMapping": "[[deviceMapping]]",
+ "destinationMapping": "[[destinationMapping]]",
+ "fhirServiceResourceId": "[[fhirServiceResourceId]]",
+ }
+ ]
+}
+```
+
+Bicep format
+
+```bicep
+iotConnectors: [
+ {
+ name: '[[namePrefix]]-az-iomt-x-001'
+ 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'
+ enableDefaultTelemetry: enableDefaultTelemetry
+ systemAssignedIdentity: true
+ userAssignedIdentities: {
+ '${resourceGroupResources.outputs.managedIdentityResourceId}': {}
+ }
+ eventHubName: '[[eventHubName]]'
+ consumerGroup: '[[consumerGroup]]'
+ eventHubNamespaceName: '[[eventHubNamespaceName]]'
+ deviceMapping: '[[deviceMapping]]'
+ destinationMapping: '[[destinationMapping]]'
+ fhirServiceResourceId: '[[fhirServiceResourceId]]'
+ }
+]
+```
+
+Parameter JSON format
-
-```json
-"acrOciArtifacts": {
- "value": {
- [{
- "digest": "sha256:0a2e01852872580b2c2fea9380ff8d7b637d3928783c55beb3f21a6e58d5d108",
- "imageName": "myimage:v1",
- "loginServer": "myregistry.azurecr.io"
- }]
- }
-}
-```
-
-Bicep format
-
-```bicep
-acrOciArtifacts: [
- {
- digest: 'sha256:0a2e01852872580b2c2fea9380ff8d7b637d3928783c55beb3f21a6e58d5d108'
- imageName: 'myimage:v1'
- loginServer: 'myregistry.azurecr.io'
- }
-]
-```
-
-Parameter JSON format
+
+```json
+"acrOciArtifacts": {
+ "value": {
+ [{
+ "digest": "sha256:0a2e01852872580b2c2fea9380ff8d7b637d3928783c55beb3f21a6e58d5d108",
+ "imageName": "myimage:v1",
+ "loginServer": "myregistry.azurecr.io"
+ }]
+ }
+}
+```
+
+Bicep format
+
+```bicep
+acrOciArtifacts: [
+ {
+ digest: 'sha256:0a2e01852872580b2c2fea9380ff8d7b637d3928783c55beb3f21a6e58d5d108'
+ imageName: 'myimage:v1'
+ loginServer: 'myregistry.azurecr.io'
+ }
+]
+```
+
+Parameter JSON format
+
+```json
+"tags": {
+ "value": {
+ "Environment": "Non-Prod",
+ "Contact": "test.user@testcompany.com",
+ "PurchaseOrder": "1234",
+ "CostCenter": "7890",
+ "ServiceName": "DeploymentValidation",
+ "Role": "DeploymentValidation"
+ }
+}
+```
+
+Bicep format
+
+```bicep
+tags: {
+ Environment: 'Non-Prod'
+ Contact: 'test.user@testcompany.com'
+ PurchaseOrder: '1234'
+ CostCenter: '7890'
+ ServiceName: 'DeploymentValidation'
+ Role: 'DeploymentValidation'
+}
+```
+
+Parameter JSON format
+
+```json
+"userAssignedIdentities": {
+ "value": {
+ "/subscriptions/[[subscriptionId]]/resourcegroups/validation-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adp-sxx-az-msi-x-001": {},
+ "/subscriptions/[[subscriptionId]]/resourcegroups/validation-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adp-sxx-az-msi-x-002": {}
+ }
+}
+```
+
+Bicep format
+
+```bicep
+userAssignedIdentities: {
+ '/subscriptions/[[subscriptionId]]/resourcegroups/validation-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adp-sxx-az-msi-x-001': {}
+ '/subscriptions/[[subscriptionId]]/resourcegroups/validation-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adp-sxx-az-msi-x-002': {}
+}
+```
+
+Parameter JSON format
-
-```json
-"tags": {
- "value": {
- "Environment": "Non-Prod",
- "Contact": "test.user@testcompany.com",
- "PurchaseOrder": "1234",
- "CostCenter": "7890",
- "ServiceName": "DeploymentValidation",
- "Role": "DeploymentValidation"
- }
-}
-```
-
-Bicep format
-
-```bicep
-tags: {
- Environment: 'Non-Prod'
- Contact: 'test.user@testcompany.com'
- PurchaseOrder: '1234'
- CostCenter: '7890'
- ServiceName: 'DeploymentValidation'
- Role: 'DeploymentValidation'
-}
-```
-
-Parameter JSON format
-
-```json
-"userAssignedIdentities": {
- "value": {
- "/subscriptions/[[subscriptionId]]/resourcegroups/validation-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adp-sxx-az-msi-x-001": {},
- "/subscriptions/[[subscriptionId]]/resourcegroups/validation-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adp-sxx-az-msi-x-002": {}
- }
-}
-```
-
-Bicep format
-
-```bicep
-userAssignedIdentities: {
- '/subscriptions/[[subscriptionId]]/resourcegroups/validation-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adp-sxx-az-msi-x-001': {}
- '/subscriptions/[[subscriptionId]]/resourcegroups/validation-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adp-sxx-az-msi-x-002': {}
-}
-```
-
-Parameter JSON file
-
-```json
-"emailReceivers": {
- "value": [
- {
- "name": "TestUser_-EmailAction-",
- "emailAddress": "test.user@testcompany.com",
- "useCommonAlertSchema": true
- },
- {
- "name": "TestUser2",
- "emailAddress": "test.user2@testcompany.com",
- "useCommonAlertSchema": true
- }
- ]
-},
-"smsReceivers": {
- "value": [
- {
- "name": "TestUser_-SMSAction-",
- "countryCode": "1",
- "phoneNumber": "2345678901"
- }
- ]
-}
-```
-
-Bicep format
-
-```bicep
-emailReceivers: [
- {
- name: 'TestUser_-EmailAction-'
- emailAddress: 'test.user@testcompany.com'
- useCommonAlertSchema: true
- }
- {
- name: 'TestUser2'
- emailAddress: 'test.user2@testcompany.com'
- useCommonAlertSchema: true
- }
-]
-smsReceivers: [
- {
- name: 'TestUser_-SMSAction-'
- countryCode: '1'
- phoneNumber: '2345678901'
- }
-]
-```
-
-Parameter JSON format
-
-```json
-"actions": {
- "value": [
- {
- "actionGroupId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/rgName/providers/Microsoft.Insights/actiongroups/actionGroupName",
- "webhookProperties": {}
- }
- ]
-}
-```
-
-Bicep format
-
-```bicep
-actions: [
- {
- actionGroupId: '/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/rgName/providers/Microsoft.Insights/actiongroups/actionGroupName'
- webhookProperties: {}
- }
-]
-```
-
-Parameter JSON format
-
-```json
-"actions": {
- "value": [
- "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/rgName/providers/Microsoft.Insights/actiongroups/actionGroupName"
- ]
-}
-```
-
-Bicep format
-
-```bicep
-actions: [
- '/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/rgName/providers/Microsoft.Insights/actiongroups/actionGroupName'
-]
-```
-
-Parameter JSON format
-
-```json
-{
- "field": "string",
- "equals": "string",
- "containsAny": "array"
-}
-```
-
-Bicep format
-
-```bicep
-{
- field: 'string'
- equals: 'string'
- containsAny: 'array'
-}
-```
-
-
`category`,
`caller`,
`level`,
`operationName`,
`resourceGroup`,
`resourceProvider`,
`status`,
`subStatus`,
`resourceType`,
or anything beginning with `properties.` | Required. The name of the field that this condition will examine. |
-| `equals` | string | | Optional (Alternative to `containsAny`). The value to confront with. |
-| `containsAny` | array of strings | | Optional (Alternative to `equals`). Condition will be satisfied if value of the field in the event is within one of the specified here. |
-
-**Sample**
-
-Parameter JSON format
-
-```json
-"conditions": {
- "value": [
- {
- "field": "category",
- "equals": "Administrative"
- },
- {
- "field": "resourceType",
- "equals": "microsoft.compute/virtualmachines"
- },
- {
- "field": "operationName",
- "equals": "Microsoft.Compute/virtualMachines/performMaintenance/action"
- }
- ]
-}
-```
-
-Bicep format
-
-```bicep
-conditions: [
- {
- field: 'category'
- equals: 'Administrative'
- }
- {
- field: 'resourceType'
- equals: 'microsoft.compute/virtualmachines'
- }
- {
- field: 'operationName'
- equals: 'Microsoft.Compute/virtualMachines/performMaintenance/action'
- }
-]
-```
-
-Parameter JSON format
-
-```json
-"conditions":{
- "value": [
- {
- "field": "category",
- "equals": "ServiceHealth"
- },
- {
- "anyOf": [
- {
- "field": "properties.incidentType",
- "equals": "Incident"
- },
- {
- "field": "properties.incidentType",
- "equals": "Maintenance"
- }
- ]
- },
- {
- "field": "properties.impactedServices[*].ServiceName",
- "containsAny": [
- "Action Groups",
- "Activity Logs & Alerts"
- ]
- },
- {
- "field": "properties.impactedServices[*].ImpactedRegions[*].RegionName",
- "containsAny": [
- "West Europe",
- "Global"
- ]
- }
- ]
-}
-```
-
-Bicep format
-
-```bicep
-conditions: [
- {
- field: 'category'
- equals: 'ServiceHealth'
- }
- {
- anyOf: [
- {
- field: 'properties.incidentType'
- equals: 'Incident'
- }
- {
- field: 'properties.incidentType'
- equals: 'Maintenance'
- }
- ]
- }
- {
- field: 'properties.impactedServices[*].ServiceName'
- containsAny: [
- 'Action Groups'
- 'Activity Logs & Alerts'
- ]
- }
- {
- field: 'properties.impactedServices[*].ImpactedRegions[*].RegionName'
- containsAny: [
- 'West Europe'
- 'Global'
- ]
- }
-]
-```
-
-Parameter JSON format
-
-```json
-"actions": {
- "value": [
- {
- "actionGroupId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/rgName/providers/Microsoft.Insights/actiongroups/ActionGroupName",
- "webhookProperties": {}
- }
- ]
-}
-```
-
-Bicep format
-
-```bicep
-actions: [
- {
- actionGroupId: '/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/rgName/providers/Microsoft.Insights/actiongroups/ActionGroupName'
- webhookProperties: {}
- }
-]
-```
-
-Parameter JSON format
-
-```json
-"actions": {
- "value": [
- "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/rgName/providers/Microsoft.Insights/actiongroups/actionGroupName"
- ]
-}
-```
-
-Bicep format
-
-```bicep
-
-
-```
-
-Parameter JSON format
-
-```json
-{
- "criterionType": "string",
- "dimensions": [],
- "metricName": "string",
- "metricNamespace": "string",
- "name": "string",
- "operator": "string",
- "threshold": "integer",
- "timeAggregation": "string"
-}
-```
-
-Bicep format
-
-```bicep
-{
- criterionType: 'string'
- dimensions: []
- metricName: 'string'
- metricNamespace: 'string'
- name: 'string'
- operator: 'string'
- threshold: 'integer'
- timeAggregation: 'string'
-}
-```
-
-Parameter JSON format
-
-```json
-{
- "criterionType": "string",
- "dimensions": [],
- "metricName": "string",
- "metricNamespace": "string",
- "name": "string",
- "operator": "string",
- "threshold": "integer",
- "timeAggregation": "string",
- "alertSensitivity": "string",
- "failingPeriods": {
- "minFailingPeriodsToAlert": "integer",
- "numberOfEvaluationPeriods": "integer"
- },
- "ignoreDataBefore": "string"
-}
-```
-
-Bicep format
-
-```bicep
-{
- criterionType: 'string'
- dimensions: []
- metricName: 'string'
- metricNamespace: 'string'
- name: 'string'
- operator: 'string'
- threshold: 'integer'
- timeAggregation: 'string'
- alertSensitivity: 'string'
- failingPeriods: {
- minFailingPeriodsToAlert: 'integer'
- numberOfEvaluationPeriods: 'integer'
- }
- ignoreDataBefore: 'string'
-}
-```
-
-Parameter JSON format
-
-```json
-"criterias":{
- "value": [
- {
- "criterionType": "StaticThresholdCriterion",
- "metricName": "Percentage CPU",
- "metricNamespace": "microsoft.compute/virtualmachines",
- "name": "HighCPU",
- "operator": "GreaterThan",
- "threshold": "90",
- "timeAggregation": "Average"
- }
- ]
-}
-```
-
-Bicep format
-
-```bicep
-criterias: [
- {
- criterionType: 'StaticThresholdCriterion'
- metricName: 'Percentage CPU'
- metricNamespace: 'microsoft.compute/virtualmachines'
- name: 'HighCPU'
- operator: 'GreaterThan'
- threshold: '90'
- timeAggregation: 'Average'
- }
-]
-```
-
-Parameter JSON format
-
-```json
-"locations": {
- "value": [
- {
- "failoverPriority": 1,
- "locationName": "East US",
- "isZoneRedundant": false
- }
- ]
-}
-```
-
-Bicep format
-
-```bicep
-locations: [
- {
- failoverPriority: 1
- locationName: 'East US'
- isZoneRedundant: false
- }
-]
-```
-
-Parameter JSON format
-
-```json
-"sqlDatabases": {
- "value": [
- {
- "name": "sxx-az-sql-x-001",
- "containers": [
- "container-001",
- "container-002"
- ]
- },
- {
- "name": "sxx-az-sql-x-002",
- "containers": []
- }
- ]
-}
-```
-
-Bicep format
-
-```bicep
-sqlDatabases: {
- value: [
- {
- name: 'sxx-az-sql-x-001'
- containers: [
- 'container-001'
- 'container-002'
- ]
- }
- {
- name: 'sxx-az-sql-x-002'
- containers: []
- }
- ]
-}
-```
-
-Parameter JSON format
-
-```json
-"mongodbDatabases": {
- "value": [
- {
- "name": "sxx-az-mdb-x-001",
- "collections": [
- <...>
- ]
- },
- {
- "name": "sxx-az-mdb-x-002",
- "collections": [
- <...>
- ]
- }
- ]
-}
-```
-
-Bicep format
-
-```bicep
-mongodbDatabases: [
- {
- name: 'sxx-az-mdb-x-001'
- collections: [
- <...>
- ]
- }
- {
- name: 'sxx-az-mdb-x-002'
- collections: [
- <...>
- ]
- }
-]
-```
-
-Parameter JSON format
-
-```json
-"mongodbDatabases": {
- "value": [
- {
- "name": "graphDb01",
- "graphs": [
- {
- "name": "graph01",
- "automaticIndexing": true,
- "partitionKeyPaths": [
- "/name"
- ]
- },
- {
- "name": "graph02",
- "automaticIndexing": true,
- "partitionKeyPaths": [
- "/name"
- ]
- }
- ]
- }
- ]
-}
-```
-
-Bicep format
-
-```bicep
-gremlinDatabases: [
- {
- name: 'graphDb01'
- graphs: [
- {
- name: 'graph01'
- automaticIndexing: true
- partitionKeyPaths: [
- '/name'
- ]
- }
- {
- name: 'graph02'
- automaticIndexing: true
- partitionKeyPaths: [
- '/name'
- ]
- }
- ]
- }
-]
-```
-
-Parameter JSON format
-
-```json
-"graphs": {
- "value": [
- {
- "name": "graph01",
- "automaticIndexing": true,
- "partitionKeyPaths": [
- "/name"
- ]
- },
- {
- "name": "graph02",
- "automaticIndexing": true,
- "partitionKeyPaths": [
- "/name"
- ]
- }
- ]
-}
-```
-
-Bicep format
-
-```bicep
-graphs: [
- {
- name: 'graph01'
- automaticIndexing: true
- partitionKeyPaths: [
- '/name'
- ]
- }
- {
- name: 'graph02'
- automaticIndexing: true
- partitionKeyPaths: [
- '/name'
- ]
- }
-]
-```
-
-Parameter JSON format
+
+```json
+"graphs": {
+ "value": [
+ {
+ "name": "graph01",
+ "automaticIndexing": true,
+ "partitionKeyPaths": [
+ "/name"
+ ]
+ },
+ {
+ "name": "graph02",
+ "automaticIndexing": true,
+ "partitionKeyPaths": [
+ "/name"
+ ]
+ }
+ ]
+}
+```
+
+Bicep format
+
+```bicep
+graphs: [
+ {
+ name: 'graph01'
+ automaticIndexing: true
+ partitionKeyPaths: [
+ '/name'
+ ]
+ }
+ {
+ name: 'graph02'
+ automaticIndexing: true
+ partitionKeyPaths: [
+ '/name'
+ ]
+ }
+]
+```
+
+